@skeletonlabs/skeleton-svelte 4.5.3 → 4.6.0

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 (44) hide show
  1. package/dist/components/file-upload/anatomy/clear-trigger.svelte +36 -0
  2. package/dist/components/file-upload/anatomy/clear-trigger.svelte.d.ts +7 -0
  3. package/dist/components/file-upload/index.d.ts +1 -0
  4. package/dist/components/file-upload/modules/anatomy.d.ts +1 -0
  5. package/dist/components/file-upload/modules/anatomy.js +2 -0
  6. package/dist/components/floating-panel/anatomy/body.svelte +36 -0
  7. package/dist/components/floating-panel/anatomy/body.svelte.d.ts +7 -0
  8. package/dist/components/floating-panel/anatomy/close-trigger.svelte +36 -0
  9. package/dist/components/floating-panel/anatomy/close-trigger.svelte.d.ts +7 -0
  10. package/dist/components/floating-panel/anatomy/content.svelte +36 -0
  11. package/dist/components/floating-panel/anatomy/content.svelte.d.ts +7 -0
  12. package/dist/components/floating-panel/anatomy/control.svelte +36 -0
  13. package/dist/components/floating-panel/anatomy/control.svelte.d.ts +7 -0
  14. package/dist/components/floating-panel/anatomy/drag-trigger.svelte +36 -0
  15. package/dist/components/floating-panel/anatomy/drag-trigger.svelte.d.ts +7 -0
  16. package/dist/components/floating-panel/anatomy/header.svelte +36 -0
  17. package/dist/components/floating-panel/anatomy/header.svelte.d.ts +7 -0
  18. package/dist/components/floating-panel/anatomy/positioner.svelte +36 -0
  19. package/dist/components/floating-panel/anatomy/positioner.svelte.d.ts +7 -0
  20. package/dist/components/floating-panel/anatomy/resize-trigger.svelte +40 -0
  21. package/dist/components/floating-panel/anatomy/resize-trigger.svelte.d.ts +8 -0
  22. package/dist/components/floating-panel/anatomy/root-context.svelte +20 -0
  23. package/dist/components/floating-panel/anatomy/root-context.svelte.d.ts +9 -0
  24. package/dist/components/floating-panel/anatomy/root-provider.svelte +20 -0
  25. package/dist/components/floating-panel/anatomy/root-provider.svelte.d.ts +8 -0
  26. package/dist/components/floating-panel/anatomy/root.svelte +27 -0
  27. package/dist/components/floating-panel/anatomy/root.svelte.d.ts +7 -0
  28. package/dist/components/floating-panel/anatomy/stage-trigger.svelte +37 -0
  29. package/dist/components/floating-panel/anatomy/stage-trigger.svelte.d.ts +8 -0
  30. package/dist/components/floating-panel/anatomy/title.svelte +36 -0
  31. package/dist/components/floating-panel/anatomy/title.svelte.d.ts +7 -0
  32. package/dist/components/floating-panel/anatomy/trigger.svelte +36 -0
  33. package/dist/components/floating-panel/anatomy/trigger.svelte.d.ts +7 -0
  34. package/dist/components/floating-panel/index.d.ts +16 -0
  35. package/dist/components/floating-panel/index.js +2 -0
  36. package/dist/components/floating-panel/modules/anatomy.d.ts +15 -0
  37. package/dist/components/floating-panel/modules/anatomy.js +29 -0
  38. package/dist/components/floating-panel/modules/provider.svelte.d.ts +3 -0
  39. package/dist/components/floating-panel/modules/provider.svelte.js +7 -0
  40. package/dist/components/floating-panel/modules/root-context.d.ts +5 -0
  41. package/dist/components/floating-panel/modules/root-context.js +2 -0
  42. package/dist/index.d.ts +1 -0
  43. package/dist/index.js +1 -0
  44. package/package.json +3 -2
@@ -0,0 +1,36 @@
1
+ <script lang="ts" module>
2
+ import type { HTMLAttributes } from '../../../internal/html-attributes.js';
3
+ import type { PropsWithElement } from '../../../internal/props-with-element.js';
4
+
5
+ export interface FileUploadClearTriggerProps extends PropsWithElement<'button'>, HTMLAttributes<'button'> {}
6
+ </script>
7
+
8
+ <script lang="ts">
9
+ import { RootContext } from '../modules/root-context.js';
10
+ import { classesFileUpload } from '@skeletonlabs/skeleton-common';
11
+ import { mergeProps } from '@zag-js/svelte';
12
+
13
+ const props: FileUploadClearTriggerProps = $props();
14
+
15
+ const fileUpload = RootContext.consume();
16
+
17
+ const { element, children, ...rest } = $derived(props);
18
+
19
+ const attributes = $derived(
20
+ mergeProps(
21
+ fileUpload().getClearTriggerProps(),
22
+ {
23
+ class: classesFileUpload.clearTrigger,
24
+ },
25
+ rest,
26
+ ),
27
+ );
28
+ </script>
29
+
30
+ {#if element}
31
+ {@render element(attributes)}
32
+ {:else}
33
+ <button {...attributes}>
34
+ {@render children?.()}
35
+ </button>
36
+ {/if}
@@ -0,0 +1,7 @@
1
+ import type { HTMLAttributes } from '../../../internal/html-attributes.js';
2
+ import type { PropsWithElement } from '../../../internal/props-with-element.js';
3
+ export interface FileUploadClearTriggerProps extends PropsWithElement<'button'>, HTMLAttributes<'button'> {
4
+ }
5
+ declare const ClearTrigger: import("svelte").Component<FileUploadClearTriggerProps, {}, "">;
6
+ type ClearTrigger = ReturnType<typeof ClearTrigger>;
7
+ export default ClearTrigger;
@@ -1,3 +1,4 @@
1
+ export type { FileUploadClearTriggerProps } from './anatomy/clear-trigger.svelte';
1
2
  export type { FileUploadDropzoneProps } from './anatomy/dropzone.svelte';
2
3
  export type { FileUploadHiddenInputProps } from './anatomy/hidden-input.svelte';
3
4
  export type { FileUploadItemProps } from './anatomy/item.svelte';
@@ -4,6 +4,7 @@ export declare const FileUpload: import("svelte").Component<import("../anatomy/r
4
4
  Label: import("svelte").Component<import("../anatomy/label.svelte").FileUploadLabelProps, {}, "">;
5
5
  Dropzone: import("svelte").Component<import("../anatomy/dropzone.svelte").FileUploadDropzoneProps, {}, "">;
6
6
  Trigger: import("svelte").Component<import("../anatomy/trigger.svelte").FileUploadTriggerProps, {}, "">;
7
+ ClearTrigger: import("svelte").Component<import("../anatomy/clear-trigger.svelte").FileUploadClearTriggerProps, {}, "">;
7
8
  HiddenInput: import("svelte").Component<import("../anatomy/hidden-input.svelte").FileUploadHiddenInputProps, {}, "">;
8
9
  ItemGroup: import("svelte").Component<import("../anatomy/item-group.svelte").FileUploadItemGroupProps, {}, "">;
9
10
  Item: import("svelte").Component<import("../anatomy/item.svelte").FileUploadItemProps, {}, "">;
@@ -1,3 +1,4 @@
1
+ import ClearTrigger from '../anatomy/clear-trigger.svelte';
1
2
  import Dropzone from '../anatomy/dropzone.svelte';
2
3
  import HiddenInput from '../anatomy/hidden-input.svelte';
3
4
  import ItemDeleteTrigger from '../anatomy/item-delete-trigger.svelte';
@@ -16,6 +17,7 @@ export const FileUpload = Object.assign(Root, {
16
17
  Label: Label,
17
18
  Dropzone: Dropzone,
18
19
  Trigger: Trigger,
20
+ ClearTrigger: ClearTrigger,
19
21
  HiddenInput: HiddenInput,
20
22
  ItemGroup: ItemGroup,
21
23
  Item: Item,
@@ -0,0 +1,36 @@
1
+ <script lang="ts" module>
2
+ import type { HTMLAttributes } from '../../../internal/html-attributes.js';
3
+ import type { PropsWithElement } from '../../../internal/props-with-element.js';
4
+
5
+ export interface FloatingPanelBodyProps extends PropsWithElement<'div'>, HTMLAttributes<'div'> {}
6
+ </script>
7
+
8
+ <script lang="ts">
9
+ import { RootContext } from '../modules/root-context.js';
10
+ import { classesFloatingPanel } from '@skeletonlabs/skeleton-common';
11
+ import { mergeProps } from '@zag-js/svelte';
12
+
13
+ const props: FloatingPanelBodyProps = $props();
14
+
15
+ const floatingPanel = RootContext.consume();
16
+
17
+ const { element, children, ...rest } = $derived(props);
18
+
19
+ const attributes = $derived(
20
+ mergeProps(
21
+ floatingPanel().getBodyProps(),
22
+ {
23
+ class: classesFloatingPanel.body,
24
+ },
25
+ rest,
26
+ ),
27
+ );
28
+ </script>
29
+
30
+ {#if element}
31
+ {@render element(attributes)}
32
+ {:else}
33
+ <div {...attributes}>
34
+ {@render children?.()}
35
+ </div>
36
+ {/if}
@@ -0,0 +1,7 @@
1
+ import type { HTMLAttributes } from '../../../internal/html-attributes.js';
2
+ import type { PropsWithElement } from '../../../internal/props-with-element.js';
3
+ export interface FloatingPanelBodyProps extends PropsWithElement<'div'>, HTMLAttributes<'div'> {
4
+ }
5
+ declare const Body: import("svelte").Component<FloatingPanelBodyProps, {}, "">;
6
+ type Body = ReturnType<typeof Body>;
7
+ export default Body;
@@ -0,0 +1,36 @@
1
+ <script lang="ts" module>
2
+ import type { HTMLAttributes } from '../../../internal/html-attributes.js';
3
+ import type { PropsWithElement } from '../../../internal/props-with-element.js';
4
+
5
+ export interface FloatingPanelCloseTriggerProps extends PropsWithElement<'button'>, HTMLAttributes<'button'> {}
6
+ </script>
7
+
8
+ <script lang="ts">
9
+ import { RootContext } from '../modules/root-context.js';
10
+ import { classesFloatingPanel } from '@skeletonlabs/skeleton-common';
11
+ import { mergeProps } from '@zag-js/svelte';
12
+
13
+ const props: FloatingPanelCloseTriggerProps = $props();
14
+
15
+ const floatingPanel = RootContext.consume();
16
+
17
+ const { element, children, ...rest } = $derived(props);
18
+
19
+ const attributes = $derived(
20
+ mergeProps(
21
+ floatingPanel().getCloseTriggerProps(),
22
+ {
23
+ class: classesFloatingPanel.closeTrigger,
24
+ },
25
+ rest,
26
+ ),
27
+ );
28
+ </script>
29
+
30
+ {#if element}
31
+ {@render element(attributes)}
32
+ {:else}
33
+ <button {...attributes}>
34
+ {@render children?.()}
35
+ </button>
36
+ {/if}
@@ -0,0 +1,7 @@
1
+ import type { HTMLAttributes } from '../../../internal/html-attributes.js';
2
+ import type { PropsWithElement } from '../../../internal/props-with-element.js';
3
+ export interface FloatingPanelCloseTriggerProps extends PropsWithElement<'button'>, HTMLAttributes<'button'> {
4
+ }
5
+ declare const CloseTrigger: import("svelte").Component<FloatingPanelCloseTriggerProps, {}, "">;
6
+ type CloseTrigger = ReturnType<typeof CloseTrigger>;
7
+ export default CloseTrigger;
@@ -0,0 +1,36 @@
1
+ <script lang="ts" module>
2
+ import type { HTMLAttributes } from '../../../internal/html-attributes.js';
3
+ import type { PropsWithElement } from '../../../internal/props-with-element.js';
4
+
5
+ export interface FloatingPanelContentProps extends PropsWithElement<'div'>, HTMLAttributes<'div'> {}
6
+ </script>
7
+
8
+ <script lang="ts">
9
+ import { RootContext } from '../modules/root-context.js';
10
+ import { classesFloatingPanel } from '@skeletonlabs/skeleton-common';
11
+ import { mergeProps } from '@zag-js/svelte';
12
+
13
+ const props: FloatingPanelContentProps = $props();
14
+
15
+ const floatingPanel = RootContext.consume();
16
+
17
+ const { element, children, ...rest } = $derived(props);
18
+
19
+ const attributes = $derived(
20
+ mergeProps(
21
+ floatingPanel().getContentProps(),
22
+ {
23
+ class: classesFloatingPanel.content,
24
+ },
25
+ rest,
26
+ ),
27
+ );
28
+ </script>
29
+
30
+ {#if element}
31
+ {@render element(attributes)}
32
+ {:else}
33
+ <div {...attributes}>
34
+ {@render children?.()}
35
+ </div>
36
+ {/if}
@@ -0,0 +1,7 @@
1
+ import type { HTMLAttributes } from '../../../internal/html-attributes.js';
2
+ import type { PropsWithElement } from '../../../internal/props-with-element.js';
3
+ export interface FloatingPanelContentProps extends PropsWithElement<'div'>, HTMLAttributes<'div'> {
4
+ }
5
+ declare const Content: import("svelte").Component<FloatingPanelContentProps, {}, "">;
6
+ type Content = ReturnType<typeof Content>;
7
+ export default Content;
@@ -0,0 +1,36 @@
1
+ <script lang="ts" module>
2
+ import type { HTMLAttributes } from '../../../internal/html-attributes.js';
3
+ import type { PropsWithElement } from '../../../internal/props-with-element.js';
4
+
5
+ export interface FloatingPanelControlProps extends PropsWithElement<'div'>, HTMLAttributes<'div'> {}
6
+ </script>
7
+
8
+ <script lang="ts">
9
+ import { RootContext } from '../modules/root-context.js';
10
+ import { classesFloatingPanel } from '@skeletonlabs/skeleton-common';
11
+ import { mergeProps } from '@zag-js/svelte';
12
+
13
+ const props: FloatingPanelControlProps = $props();
14
+
15
+ const floatingPanel = RootContext.consume();
16
+
17
+ const { element, children, ...rest } = $derived(props);
18
+
19
+ const attributes = $derived(
20
+ mergeProps(
21
+ floatingPanel().getControlProps(),
22
+ {
23
+ class: classesFloatingPanel.control,
24
+ },
25
+ rest,
26
+ ),
27
+ );
28
+ </script>
29
+
30
+ {#if element}
31
+ {@render element(attributes)}
32
+ {:else}
33
+ <div {...attributes}>
34
+ {@render children?.()}
35
+ </div>
36
+ {/if}
@@ -0,0 +1,7 @@
1
+ import type { HTMLAttributes } from '../../../internal/html-attributes.js';
2
+ import type { PropsWithElement } from '../../../internal/props-with-element.js';
3
+ export interface FloatingPanelControlProps extends PropsWithElement<'div'>, HTMLAttributes<'div'> {
4
+ }
5
+ declare const Control: import("svelte").Component<FloatingPanelControlProps, {}, "">;
6
+ type Control = ReturnType<typeof Control>;
7
+ export default Control;
@@ -0,0 +1,36 @@
1
+ <script lang="ts" module>
2
+ import type { HTMLAttributes } from '../../../internal/html-attributes.js';
3
+ import type { PropsWithElement } from '../../../internal/props-with-element.js';
4
+
5
+ export interface FloatingPanelDragTriggerProps extends PropsWithElement<'div'>, HTMLAttributes<'div'> {}
6
+ </script>
7
+
8
+ <script lang="ts">
9
+ import { RootContext } from '../modules/root-context.js';
10
+ import { classesFloatingPanel } from '@skeletonlabs/skeleton-common';
11
+ import { mergeProps } from '@zag-js/svelte';
12
+
13
+ const props: FloatingPanelDragTriggerProps = $props();
14
+
15
+ const floatingPanel = RootContext.consume();
16
+
17
+ const { element, children, ...rest } = $derived(props);
18
+
19
+ const attributes = $derived(
20
+ mergeProps(
21
+ floatingPanel().getDragTriggerProps(),
22
+ {
23
+ class: classesFloatingPanel.dragTrigger,
24
+ },
25
+ rest,
26
+ ),
27
+ );
28
+ </script>
29
+
30
+ {#if element}
31
+ {@render element(attributes)}
32
+ {:else}
33
+ <div {...attributes}>
34
+ {@render children?.()}
35
+ </div>
36
+ {/if}
@@ -0,0 +1,7 @@
1
+ import type { HTMLAttributes } from '../../../internal/html-attributes.js';
2
+ import type { PropsWithElement } from '../../../internal/props-with-element.js';
3
+ export interface FloatingPanelDragTriggerProps extends PropsWithElement<'div'>, HTMLAttributes<'div'> {
4
+ }
5
+ declare const DragTrigger: import("svelte").Component<FloatingPanelDragTriggerProps, {}, "">;
6
+ type DragTrigger = ReturnType<typeof DragTrigger>;
7
+ export default DragTrigger;
@@ -0,0 +1,36 @@
1
+ <script lang="ts" module>
2
+ import type { HTMLAttributes } from '../../../internal/html-attributes.js';
3
+ import type { PropsWithElement } from '../../../internal/props-with-element.js';
4
+
5
+ export interface FloatingPanelHeaderProps extends PropsWithElement<'div'>, HTMLAttributes<'div'> {}
6
+ </script>
7
+
8
+ <script lang="ts">
9
+ import { RootContext } from '../modules/root-context.js';
10
+ import { classesFloatingPanel } from '@skeletonlabs/skeleton-common';
11
+ import { mergeProps } from '@zag-js/svelte';
12
+
13
+ const props: FloatingPanelHeaderProps = $props();
14
+
15
+ const floatingPanel = RootContext.consume();
16
+
17
+ const { element, children, ...rest } = $derived(props);
18
+
19
+ const attributes = $derived(
20
+ mergeProps(
21
+ floatingPanel().getHeaderProps(),
22
+ {
23
+ class: classesFloatingPanel.header,
24
+ },
25
+ rest,
26
+ ),
27
+ );
28
+ </script>
29
+
30
+ {#if element}
31
+ {@render element(attributes)}
32
+ {:else}
33
+ <div {...attributes}>
34
+ {@render children?.()}
35
+ </div>
36
+ {/if}
@@ -0,0 +1,7 @@
1
+ import type { HTMLAttributes } from '../../../internal/html-attributes.js';
2
+ import type { PropsWithElement } from '../../../internal/props-with-element.js';
3
+ export interface FloatingPanelHeaderProps extends PropsWithElement<'div'>, HTMLAttributes<'div'> {
4
+ }
5
+ declare const Header: import("svelte").Component<FloatingPanelHeaderProps, {}, "">;
6
+ type Header = ReturnType<typeof Header>;
7
+ export default Header;
@@ -0,0 +1,36 @@
1
+ <script lang="ts" module>
2
+ import type { HTMLAttributes } from '../../../internal/html-attributes.js';
3
+ import type { PropsWithElement } from '../../../internal/props-with-element.js';
4
+
5
+ export interface FloatingPanelPositionerProps extends PropsWithElement<'div'>, HTMLAttributes<'div'> {}
6
+ </script>
7
+
8
+ <script lang="ts">
9
+ import { RootContext } from '../modules/root-context.js';
10
+ import { classesFloatingPanel } from '@skeletonlabs/skeleton-common';
11
+ import { mergeProps } from '@zag-js/svelte';
12
+
13
+ const props: FloatingPanelPositionerProps = $props();
14
+
15
+ const floatingPanel = RootContext.consume();
16
+
17
+ const { element, children, ...rest } = $derived(props);
18
+
19
+ const attributes = $derived(
20
+ mergeProps(
21
+ floatingPanel().getPositionerProps(),
22
+ {
23
+ class: classesFloatingPanel.positioner,
24
+ },
25
+ rest,
26
+ ),
27
+ );
28
+ </script>
29
+
30
+ {#if element}
31
+ {@render element(attributes)}
32
+ {:else}
33
+ <div {...attributes}>
34
+ {@render children?.()}
35
+ </div>
36
+ {/if}
@@ -0,0 +1,7 @@
1
+ import type { HTMLAttributes } from '../../../internal/html-attributes.js';
2
+ import type { PropsWithElement } from '../../../internal/props-with-element.js';
3
+ export interface FloatingPanelPositionerProps extends PropsWithElement<'div'>, HTMLAttributes<'div'> {
4
+ }
5
+ declare const Positioner: import("svelte").Component<FloatingPanelPositionerProps, {}, "">;
6
+ type Positioner = ReturnType<typeof Positioner>;
7
+ export default Positioner;
@@ -0,0 +1,40 @@
1
+ <script lang="ts" module>
2
+ import type { HTMLAttributes } from '../../../internal/html-attributes.js';
3
+ import type { PropsWithElement } from '../../../internal/props-with-element.js';
4
+ import type { ResizeTriggerProps } from '@zag-js/floating-panel';
5
+
6
+ export interface FloatingPanelResizeTriggerProps extends PropsWithElement<'div'>, HTMLAttributes<'div'>, ResizeTriggerProps {}
7
+ </script>
8
+
9
+ <script lang="ts">
10
+ import { RootContext } from '../modules/root-context.js';
11
+ import { classesFloatingPanel } from '@skeletonlabs/skeleton-common';
12
+ import { splitResizeTriggerProps } from '@zag-js/floating-panel';
13
+ import type { ResizeTriggerProps as ZagResizeTriggerProps } from '@zag-js/floating-panel';
14
+ import { mergeProps } from '@zag-js/svelte';
15
+
16
+ const props: FloatingPanelResizeTriggerProps = $props();
17
+
18
+ const floatingPanel = RootContext.consume();
19
+
20
+ const [resizeTriggerProps, componentProps] = $derived(splitResizeTriggerProps(props));
21
+ const { element, children, ...rest } = $derived(componentProps);
22
+
23
+ const attributes = $derived(
24
+ mergeProps(
25
+ floatingPanel().getResizeTriggerProps(resizeTriggerProps as ZagResizeTriggerProps),
26
+ {
27
+ class: classesFloatingPanel.resizeTrigger,
28
+ },
29
+ rest,
30
+ ),
31
+ );
32
+ </script>
33
+
34
+ {#if element}
35
+ {@render element(attributes)}
36
+ {:else}
37
+ <div {...attributes}>
38
+ {@render children?.()}
39
+ </div>
40
+ {/if}
@@ -0,0 +1,8 @@
1
+ import type { HTMLAttributes } from '../../../internal/html-attributes.js';
2
+ import type { PropsWithElement } from '../../../internal/props-with-element.js';
3
+ import type { ResizeTriggerProps } from '@zag-js/floating-panel';
4
+ export interface FloatingPanelResizeTriggerProps extends PropsWithElement<'div'>, HTMLAttributes<'div'>, ResizeTriggerProps {
5
+ }
6
+ declare const ResizeTrigger: import("svelte").Component<FloatingPanelResizeTriggerProps, {}, "">;
7
+ type ResizeTrigger = ReturnType<typeof ResizeTrigger>;
8
+ export default ResizeTrigger;
@@ -0,0 +1,20 @@
1
+ <script lang="ts" module>
2
+ import type { useFloatingPanel } from '../modules/provider.svelte';
3
+ import type { Snippet } from 'svelte';
4
+
5
+ export interface FloatingPanelRootContextProps {
6
+ children: Snippet<[ReturnType<typeof useFloatingPanel>]>;
7
+ }
8
+ </script>
9
+
10
+ <script lang="ts">
11
+ import { RootContext } from '../modules/root-context.js';
12
+
13
+ const props: FloatingPanelRootContextProps = $props();
14
+
15
+ const floatingPanel = RootContext.consume();
16
+
17
+ const { children } = $derived(props);
18
+ </script>
19
+
20
+ {@render children(floatingPanel)}
@@ -0,0 +1,9 @@
1
+ import type { useFloatingPanel } from '../modules/provider.svelte';
2
+ import type { Snippet } from 'svelte';
3
+ export interface FloatingPanelRootContextProps {
4
+ children: Snippet<[ReturnType<typeof useFloatingPanel>]>;
5
+ }
6
+ import { RootContext } from '../modules/root-context.js';
7
+ declare const RootContext: import("svelte").Component<FloatingPanelRootContextProps, {}, "">;
8
+ type RootContext = ReturnType<typeof RootContext>;
9
+ export default RootContext;
@@ -0,0 +1,20 @@
1
+ <script lang="ts" module>
2
+ import type { PropsWithChildren } from '../../../internal/props-with-children.js';
3
+ import type { useFloatingPanel } from '../modules/provider.svelte';
4
+
5
+ export interface FloatingPanelRootProviderProps extends PropsWithChildren {
6
+ value: ReturnType<typeof useFloatingPanel>;
7
+ }
8
+ </script>
9
+
10
+ <script lang="ts">
11
+ import { RootContext } from '../modules/root-context.js';
12
+
13
+ const props: FloatingPanelRootProviderProps = $props();
14
+
15
+ const { children, value: floatingPanel } = $derived(props);
16
+
17
+ RootContext.provide(() => floatingPanel());
18
+ </script>
19
+
20
+ {@render children?.()}
@@ -0,0 +1,8 @@
1
+ import type { PropsWithChildren } from '../../../internal/props-with-children.js';
2
+ import type { useFloatingPanel } from '../modules/provider.svelte';
3
+ export interface FloatingPanelRootProviderProps extends PropsWithChildren {
4
+ value: ReturnType<typeof useFloatingPanel>;
5
+ }
6
+ declare const RootProvider: import("svelte").Component<FloatingPanelRootProviderProps, {}, "">;
7
+ type RootProvider = ReturnType<typeof RootProvider>;
8
+ export default RootProvider;
@@ -0,0 +1,27 @@
1
+ <script lang="ts" module>
2
+ import type { PropsWithChildren } from '../../../internal/props-with-children.js';
3
+ import type { Props } from '@zag-js/floating-panel';
4
+
5
+ export interface FloatingPanelRootProps extends Omit<Props, 'id'>, PropsWithChildren {}
6
+ </script>
7
+
8
+ <script lang="ts">
9
+ import { useFloatingPanel } from '../modules/provider.svelte';
10
+ import { RootContext } from '../modules/root-context.js';
11
+ import { splitProps } from '@zag-js/floating-panel';
12
+
13
+ const props: FloatingPanelRootProps = $props();
14
+
15
+ const [floatingPanelProps, componentProps] = $derived(splitProps(props));
16
+ const { children } = $derived(componentProps);
17
+
18
+ const id = $props.id();
19
+ const floatingPanel = useFloatingPanel(() => ({
20
+ ...floatingPanelProps,
21
+ id: id,
22
+ }));
23
+
24
+ RootContext.provide(() => floatingPanel());
25
+ </script>
26
+
27
+ {@render children?.()}
@@ -0,0 +1,7 @@
1
+ import type { PropsWithChildren } from '../../../internal/props-with-children.js';
2
+ import type { Props } from '@zag-js/floating-panel';
3
+ export interface FloatingPanelRootProps extends Omit<Props, 'id'>, PropsWithChildren {
4
+ }
5
+ declare const Root: import("svelte").Component<FloatingPanelRootProps, {}, "">;
6
+ type Root = ReturnType<typeof Root>;
7
+ export default Root;
@@ -0,0 +1,37 @@
1
+ <script lang="ts" module>
2
+ import type { HTMLAttributes } from '../../../internal/html-attributes.js';
3
+ import type { PropsWithElement } from '../../../internal/props-with-element.js';
4
+ import type { StageTriggerProps } from '@zag-js/floating-panel';
5
+
6
+ export interface FloatingPanelStageTriggerProps extends PropsWithElement<'button'>, HTMLAttributes<'button'>, StageTriggerProps {}
7
+ </script>
8
+
9
+ <script lang="ts">
10
+ import { RootContext } from '../modules/root-context.js';
11
+ import { classesFloatingPanel } from '@skeletonlabs/skeleton-common';
12
+ import { mergeProps } from '@zag-js/svelte';
13
+
14
+ const props: FloatingPanelStageTriggerProps = $props();
15
+
16
+ const floatingPanel = RootContext.consume();
17
+
18
+ const { element, children, stage, ...rest } = $derived(props);
19
+
20
+ const attributes = $derived(
21
+ mergeProps(
22
+ floatingPanel().getStageTriggerProps({ stage }),
23
+ {
24
+ class: classesFloatingPanel.stageTrigger,
25
+ },
26
+ rest,
27
+ ),
28
+ );
29
+ </script>
30
+
31
+ {#if element}
32
+ {@render element(attributes)}
33
+ {:else}
34
+ <button {...attributes}>
35
+ {@render children?.()}
36
+ </button>
37
+ {/if}
@@ -0,0 +1,8 @@
1
+ import type { HTMLAttributes } from '../../../internal/html-attributes.js';
2
+ import type { PropsWithElement } from '../../../internal/props-with-element.js';
3
+ import type { StageTriggerProps } from '@zag-js/floating-panel';
4
+ export interface FloatingPanelStageTriggerProps extends PropsWithElement<'button'>, HTMLAttributes<'button'>, StageTriggerProps {
5
+ }
6
+ declare const StageTrigger: import("svelte").Component<FloatingPanelStageTriggerProps, {}, "">;
7
+ type StageTrigger = ReturnType<typeof StageTrigger>;
8
+ export default StageTrigger;
@@ -0,0 +1,36 @@
1
+ <script lang="ts" module>
2
+ import type { HTMLAttributes } from '../../../internal/html-attributes.js';
3
+ import type { PropsWithElement } from '../../../internal/props-with-element.js';
4
+
5
+ export interface FloatingPanelTitleProps extends PropsWithElement<'div'>, HTMLAttributes<'div'> {}
6
+ </script>
7
+
8
+ <script lang="ts">
9
+ import { RootContext } from '../modules/root-context.js';
10
+ import { classesFloatingPanel } from '@skeletonlabs/skeleton-common';
11
+ import { mergeProps } from '@zag-js/svelte';
12
+
13
+ const props: FloatingPanelTitleProps = $props();
14
+
15
+ const floatingPanel = RootContext.consume();
16
+
17
+ const { element, children, ...rest } = $derived(props);
18
+
19
+ const attributes = $derived(
20
+ mergeProps(
21
+ floatingPanel().getTitleProps(),
22
+ {
23
+ class: classesFloatingPanel.title,
24
+ },
25
+ rest,
26
+ ),
27
+ );
28
+ </script>
29
+
30
+ {#if element}
31
+ {@render element(attributes)}
32
+ {:else}
33
+ <div {...attributes}>
34
+ {@render children?.()}
35
+ </div>
36
+ {/if}
@@ -0,0 +1,7 @@
1
+ import type { HTMLAttributes } from '../../../internal/html-attributes.js';
2
+ import type { PropsWithElement } from '../../../internal/props-with-element.js';
3
+ export interface FloatingPanelTitleProps extends PropsWithElement<'div'>, HTMLAttributes<'div'> {
4
+ }
5
+ declare const Title: import("svelte").Component<FloatingPanelTitleProps, {}, "">;
6
+ type Title = ReturnType<typeof Title>;
7
+ export default Title;
@@ -0,0 +1,36 @@
1
+ <script lang="ts" module>
2
+ import type { HTMLAttributes } from '../../../internal/html-attributes.js';
3
+ import type { PropsWithElement } from '../../../internal/props-with-element.js';
4
+
5
+ export interface FloatingPanelTriggerProps extends PropsWithElement<'button'>, HTMLAttributes<'button'> {}
6
+ </script>
7
+
8
+ <script lang="ts">
9
+ import { RootContext } from '../modules/root-context.js';
10
+ import { classesFloatingPanel } from '@skeletonlabs/skeleton-common';
11
+ import { mergeProps } from '@zag-js/svelte';
12
+
13
+ const props: FloatingPanelTriggerProps = $props();
14
+
15
+ const floatingPanel = RootContext.consume();
16
+
17
+ const { element, children, ...rest } = $derived(props);
18
+
19
+ const attributes = $derived(
20
+ mergeProps(
21
+ floatingPanel().getTriggerProps(),
22
+ {
23
+ class: classesFloatingPanel.trigger,
24
+ },
25
+ rest,
26
+ ),
27
+ );
28
+ </script>
29
+
30
+ {#if element}
31
+ {@render element(attributes)}
32
+ {:else}
33
+ <button {...attributes}>
34
+ {@render children?.()}
35
+ </button>
36
+ {/if}
@@ -0,0 +1,7 @@
1
+ import type { HTMLAttributes } from '../../../internal/html-attributes.js';
2
+ import type { PropsWithElement } from '../../../internal/props-with-element.js';
3
+ export interface FloatingPanelTriggerProps extends PropsWithElement<'button'>, HTMLAttributes<'button'> {
4
+ }
5
+ declare const Trigger: import("svelte").Component<FloatingPanelTriggerProps, {}, "">;
6
+ type Trigger = ReturnType<typeof Trigger>;
7
+ export default Trigger;
@@ -0,0 +1,16 @@
1
+ export type { FloatingPanelBodyProps } from './anatomy/body.svelte';
2
+ export type { FloatingPanelCloseTriggerProps } from './anatomy/close-trigger.svelte';
3
+ export type { FloatingPanelContentProps } from './anatomy/content.svelte';
4
+ export type { FloatingPanelControlProps } from './anatomy/control.svelte';
5
+ export type { FloatingPanelDragTriggerProps } from './anatomy/drag-trigger.svelte';
6
+ export type { FloatingPanelHeaderProps } from './anatomy/header.svelte';
7
+ export type { FloatingPanelPositionerProps } from './anatomy/positioner.svelte';
8
+ export type { FloatingPanelResizeTriggerProps } from './anatomy/resize-trigger.svelte';
9
+ export type { FloatingPanelRootProps } from './anatomy/root.svelte';
10
+ export type { FloatingPanelRootContextProps } from './anatomy/root-context.svelte';
11
+ export type { FloatingPanelRootProviderProps } from './anatomy/root-provider.svelte';
12
+ export type { FloatingPanelStageTriggerProps } from './anatomy/stage-trigger.svelte';
13
+ export type { FloatingPanelTitleProps } from './anatomy/title.svelte';
14
+ export type { FloatingPanelTriggerProps } from './anatomy/trigger.svelte';
15
+ export { FloatingPanel } from './modules/anatomy.js';
16
+ export { useFloatingPanel } from './modules/provider.svelte.js';
@@ -0,0 +1,2 @@
1
+ export { FloatingPanel } from './modules/anatomy.js';
2
+ export { useFloatingPanel } from './modules/provider.svelte.js';
@@ -0,0 +1,15 @@
1
+ export declare const FloatingPanel: import("svelte").Component<import("../anatomy/root.svelte").FloatingPanelRootProps, {}, ""> & {
2
+ Provider: import("svelte").Component<import("../anatomy/root-provider.svelte").FloatingPanelRootProviderProps, {}, "">;
3
+ Context: import("svelte").Component<import("../anatomy/root-context.svelte").FloatingPanelRootContextProps, {}, "">;
4
+ Trigger: import("svelte").Component<import("../anatomy/trigger.svelte").FloatingPanelTriggerProps, {}, "">;
5
+ Positioner: import("svelte").Component<import("../anatomy/positioner.svelte").FloatingPanelPositionerProps, {}, "">;
6
+ Content: import("svelte").Component<import("../anatomy/content.svelte").FloatingPanelContentProps, {}, "">;
7
+ DragTrigger: import("svelte").Component<import("../anatomy/drag-trigger.svelte").FloatingPanelDragTriggerProps, {}, "">;
8
+ Header: import("svelte").Component<import("../anatomy/header.svelte").FloatingPanelHeaderProps, {}, "">;
9
+ Title: import("svelte").Component<import("../anatomy/title.svelte").FloatingPanelTitleProps, {}, "">;
10
+ Control: import("svelte").Component<import("../anatomy/control.svelte").FloatingPanelControlProps, {}, "">;
11
+ StageTrigger: import("svelte").Component<import("../anatomy/stage-trigger.svelte").FloatingPanelStageTriggerProps, {}, "">;
12
+ CloseTrigger: import("svelte").Component<import("../anatomy/close-trigger.svelte").FloatingPanelCloseTriggerProps, {}, "">;
13
+ Body: import("svelte").Component<import("../anatomy/body.svelte").FloatingPanelBodyProps, {}, "">;
14
+ ResizeTrigger: import("svelte").Component<import("../anatomy/resize-trigger.svelte").FloatingPanelResizeTriggerProps, {}, "">;
15
+ };
@@ -0,0 +1,29 @@
1
+ import Body from '../anatomy/body.svelte';
2
+ import CloseTrigger from '../anatomy/close-trigger.svelte';
3
+ import Content from '../anatomy/content.svelte';
4
+ import Control from '../anatomy/control.svelte';
5
+ import DragTrigger from '../anatomy/drag-trigger.svelte';
6
+ import Header from '../anatomy/header.svelte';
7
+ import Positioner from '../anatomy/positioner.svelte';
8
+ import ResizeTrigger from '../anatomy/resize-trigger.svelte';
9
+ import RootContext from '../anatomy/root-context.svelte';
10
+ import RootProvider from '../anatomy/root-provider.svelte';
11
+ import Root from '../anatomy/root.svelte';
12
+ import StageTrigger from '../anatomy/stage-trigger.svelte';
13
+ import Title from '../anatomy/title.svelte';
14
+ import Trigger from '../anatomy/trigger.svelte';
15
+ export const FloatingPanel = Object.assign(Root, {
16
+ Provider: RootProvider,
17
+ Context: RootContext,
18
+ Trigger: Trigger,
19
+ Positioner: Positioner,
20
+ Content: Content,
21
+ DragTrigger: DragTrigger,
22
+ Header: Header,
23
+ Title: Title,
24
+ Control: Control,
25
+ StageTrigger: StageTrigger,
26
+ CloseTrigger: CloseTrigger,
27
+ Body: Body,
28
+ ResizeTrigger: ResizeTrigger,
29
+ });
@@ -0,0 +1,3 @@
1
+ import { type Api, type Props } from '@zag-js/floating-panel';
2
+ import { type PropTypes } from '@zag-js/svelte';
3
+ export declare function useFloatingPanel(props: Props | (() => Props)): () => Api<PropTypes>;
@@ -0,0 +1,7 @@
1
+ import { connect, machine } from '@zag-js/floating-panel';
2
+ import { normalizeProps, useMachine } from '@zag-js/svelte';
3
+ export function useFloatingPanel(props) {
4
+ const service = useMachine(machine, props);
5
+ const floatingPanel = $derived(connect(service, normalizeProps));
6
+ return () => floatingPanel;
7
+ }
@@ -0,0 +1,5 @@
1
+ export declare const RootContext: {
2
+ key: symbol;
3
+ consume(): () => import("@zag-js/floating-panel", { with: { "resolution-mode": "require" } }).Api<import("@zag-js/svelte").PropTypes>;
4
+ provide(value: () => import("@zag-js/floating-panel", { with: { "resolution-mode": "require" } }).Api<import("@zag-js/svelte").PropTypes>): () => import("@zag-js/floating-panel", { with: { "resolution-mode": "require" } }).Api<import("@zag-js/svelte").PropTypes>;
5
+ };
@@ -0,0 +1,2 @@
1
+ import { createContext } from '../../../internal/create-context.js';
2
+ export const RootContext = createContext();
package/dist/index.d.ts CHANGED
@@ -6,6 +6,7 @@ export * from './components/combobox/index.js';
6
6
  export * from './components/date-picker/index.js';
7
7
  export * from './components/dialog/index.js';
8
8
  export * from './components/file-upload/index.js';
9
+ export * from './components/floating-panel/index.js';
9
10
  export * from './components/listbox/index.js';
10
11
  export * from './components/menu/index.js';
11
12
  export * from './components/navigation/index.js';
package/dist/index.js CHANGED
@@ -6,6 +6,7 @@ export * from './components/combobox/index.js';
6
6
  export * from './components/date-picker/index.js';
7
7
  export * from './components/dialog/index.js';
8
8
  export * from './components/file-upload/index.js';
9
+ export * from './components/floating-panel/index.js';
9
10
  export * from './components/listbox/index.js';
10
11
  export * from './components/menu/index.js';
11
12
  export * from './components/navigation/index.js';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@skeletonlabs/skeleton-svelte",
3
- "version": "4.5.3",
3
+ "version": "4.6.0",
4
4
  "description": "The Svelte package for Skeleton.",
5
5
  "author": "endigo9740 <chris@skeletonlabs.dev>",
6
6
  "repository": {
@@ -30,6 +30,7 @@
30
30
  "@zag-js/date-picker": "1.29.1",
31
31
  "@zag-js/dialog": "1.29.1",
32
32
  "@zag-js/file-upload": "1.29.1",
33
+ "@zag-js/floating-panel": "1.29.1",
33
34
  "@zag-js/listbox": "1.29.1",
34
35
  "@zag-js/menu": "1.29.1",
35
36
  "@zag-js/pagination": "1.29.1",
@@ -46,7 +47,7 @@
46
47
  "@zag-js/toggle-group": "1.29.1",
47
48
  "@zag-js/tooltip": "1.29.1",
48
49
  "@zag-js/tree-view": "1.29.1",
49
- "@skeletonlabs/skeleton-common": "4.5.3"
50
+ "@skeletonlabs/skeleton-common": "4.6.0"
50
51
  },
51
52
  "peerDependencies": {
52
53
  "svelte": "^5.29.0"