@sprawlify/svelte 0.0.109 → 0.0.111

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 (81) hide show
  1. package/dist/components/alert-dialog/alert-dialog-anatomy.d.ts +2 -2
  2. package/dist/components/anatomy.d.ts +1 -1
  3. package/dist/components/anatomy.js +1 -1
  4. package/dist/components/carousel/carousel-anatomy.d.ts +1 -1
  5. package/dist/components/checkbox/checkbox-anatomy.d.ts +1 -1
  6. package/dist/components/color-picker/color-picker-anatomy.d.ts +1 -1
  7. package/dist/components/combobox/combobox-anatomy.d.ts +1 -1
  8. package/dist/components/date-picker/date-picker-anatomy.d.ts +1 -1
  9. package/dist/components/drawer/drawer-anatomy.d.ts +1 -0
  10. package/dist/components/drawer/drawer-anatomy.js +1 -0
  11. package/dist/components/{bottom-sheet/bottom-sheet-backdrop.svelte → drawer/drawer-backdrop.svelte} +7 -7
  12. package/dist/components/drawer/drawer-backdrop.svelte.d.ts +9 -0
  13. package/dist/components/drawer/drawer-close-trigger.svelte +19 -0
  14. package/dist/components/drawer/drawer-close-trigger.svelte.d.ts +8 -0
  15. package/dist/components/{bottom-sheet/bottom-sheet-content.svelte → drawer/drawer-content.svelte} +7 -8
  16. package/dist/components/drawer/drawer-content.svelte.d.ts +10 -0
  17. package/dist/components/drawer/drawer-context.svelte +18 -0
  18. package/dist/components/drawer/drawer-context.svelte.d.ts +8 -0
  19. package/dist/components/drawer/drawer-description.svelte +19 -0
  20. package/dist/components/drawer/drawer-description.svelte.d.ts +8 -0
  21. package/dist/components/drawer/drawer-grabber-indicator.svelte +19 -0
  22. package/dist/components/drawer/drawer-grabber-indicator.svelte.d.ts +8 -0
  23. package/dist/components/drawer/drawer-grabber.svelte +19 -0
  24. package/dist/components/drawer/drawer-grabber.svelte.d.ts +8 -0
  25. package/dist/components/drawer/drawer-indent-background.svelte +19 -0
  26. package/dist/components/drawer/drawer-indent-background.svelte.d.ts +8 -0
  27. package/dist/components/drawer/drawer-indent.svelte +19 -0
  28. package/dist/components/drawer/drawer-indent.svelte.d.ts +8 -0
  29. package/dist/components/drawer/drawer-positioner.svelte +23 -0
  30. package/dist/components/drawer/drawer-positioner.svelte.d.ts +8 -0
  31. package/dist/components/{bottom-sheet/bottom-sheet-root-provider.svelte → drawer/drawer-root-provider.svelte} +7 -7
  32. package/dist/components/drawer/drawer-root-provider.svelte.d.ts +11 -0
  33. package/dist/components/{bottom-sheet/bottom-sheet-root.svelte → drawer/drawer-root.svelte} +10 -10
  34. package/dist/components/drawer/drawer-root.svelte.d.ts +11 -0
  35. package/dist/components/drawer/drawer-stack.svelte +29 -0
  36. package/dist/components/drawer/drawer-stack.svelte.d.ts +6 -0
  37. package/dist/components/drawer/drawer-swipe-area.svelte +19 -0
  38. package/dist/components/drawer/drawer-swipe-area.svelte.d.ts +8 -0
  39. package/dist/components/drawer/drawer-title.svelte +19 -0
  40. package/dist/components/drawer/drawer-title.svelte.d.ts +8 -0
  41. package/dist/components/drawer/drawer-trigger.svelte +29 -0
  42. package/dist/components/drawer/drawer-trigger.svelte.d.ts +8 -0
  43. package/dist/components/drawer/drawer.d.ts +17 -0
  44. package/dist/components/drawer/drawer.js +16 -0
  45. package/dist/components/drawer/index.d.ts +22 -0
  46. package/dist/components/drawer/index.js +21 -0
  47. package/dist/components/drawer/use-drawer-context.d.ts +4 -0
  48. package/dist/components/drawer/use-drawer-context.js +4 -0
  49. package/dist/components/drawer/use-drawer-stack-context.d.ts +6 -0
  50. package/dist/components/drawer/use-drawer-stack-context.js +6 -0
  51. package/dist/components/drawer/use-drawer-stack-store.d.ts +3 -0
  52. package/dist/components/drawer/use-drawer-stack-store.js +4 -0
  53. package/dist/components/drawer/use-drawer.svelte.d.ts +10 -0
  54. package/dist/components/{bottom-sheet/use-bottom-sheet.svelte.js → drawer/use-drawer.svelte.js} +7 -4
  55. package/dist/components/tour/tour-anatomy.d.ts +1 -1
  56. package/package.json +7 -7
  57. package/dist/components/bottom-sheet/bottom-sheet-anatomy.d.ts +0 -1
  58. package/dist/components/bottom-sheet/bottom-sheet-anatomy.js +0 -1
  59. package/dist/components/bottom-sheet/bottom-sheet-backdrop.svelte.d.ts +0 -9
  60. package/dist/components/bottom-sheet/bottom-sheet-close-trigger.svelte +0 -19
  61. package/dist/components/bottom-sheet/bottom-sheet-close-trigger.svelte.d.ts +0 -8
  62. package/dist/components/bottom-sheet/bottom-sheet-content.svelte.d.ts +0 -10
  63. package/dist/components/bottom-sheet/bottom-sheet-context.svelte +0 -18
  64. package/dist/components/bottom-sheet/bottom-sheet-context.svelte.d.ts +0 -8
  65. package/dist/components/bottom-sheet/bottom-sheet-grabber-indicator.svelte +0 -20
  66. package/dist/components/bottom-sheet/bottom-sheet-grabber-indicator.svelte.d.ts +0 -8
  67. package/dist/components/bottom-sheet/bottom-sheet-grabber.svelte +0 -19
  68. package/dist/components/bottom-sheet/bottom-sheet-grabber.svelte.d.ts +0 -8
  69. package/dist/components/bottom-sheet/bottom-sheet-root-provider.svelte.d.ts +0 -11
  70. package/dist/components/bottom-sheet/bottom-sheet-root.svelte.d.ts +0 -11
  71. package/dist/components/bottom-sheet/bottom-sheet-title.svelte +0 -19
  72. package/dist/components/bottom-sheet/bottom-sheet-title.svelte.d.ts +0 -8
  73. package/dist/components/bottom-sheet/bottom-sheet-trigger.svelte +0 -29
  74. package/dist/components/bottom-sheet/bottom-sheet-trigger.svelte.d.ts +0 -8
  75. package/dist/components/bottom-sheet/bottom-sheet.d.ts +0 -11
  76. package/dist/components/bottom-sheet/bottom-sheet.js +0 -10
  77. package/dist/components/bottom-sheet/index.d.ts +0 -15
  78. package/dist/components/bottom-sheet/index.js +0 -14
  79. package/dist/components/bottom-sheet/use-bottom-sheet-context.d.ts +0 -4
  80. package/dist/components/bottom-sheet/use-bottom-sheet-context.js +0 -4
  81. package/dist/components/bottom-sheet/use-bottom-sheet.svelte.d.ts +0 -9
@@ -1,2 +1,2 @@
1
- export declare const alertDialogAnatomy: import("@sprawlify/primitives/anatomy").Anatomy<"description" | "title" | "content" | "trigger" | "backdrop" | "positioner" | "closeTrigger">;
2
- export declare const parts: Record<"description" | "title" | "content" | "trigger" | "backdrop" | "positioner" | "closeTrigger", import("@sprawlify/primitives/anatomy").AnatomyPart>;
1
+ export declare const alertDialogAnatomy: import("@sprawlify/primitives/anatomy").Anatomy<"description" | "title" | "trigger" | "content" | "positioner" | "backdrop" | "closeTrigger">;
2
+ export declare const parts: Record<"description" | "title" | "trigger" | "content" | "positioner" | "backdrop" | "closeTrigger", import("@sprawlify/primitives/anatomy").AnatomyPart>;
@@ -4,7 +4,7 @@ export { alertDialogAnatomy } from "./alert-dialog/alert-dialog-anatomy";
4
4
  export { angleSliderAnatomy } from "./angle-slider/angle-slider-anatomy";
5
5
  export { aspectRatioAnatomy } from "./aspect-ratio/aspect-ratio-anatomy";
6
6
  export { avatarAnatomy } from "./avatar/avatar-anatomy";
7
- export { bottomSheetAnatomy } from "./bottom-sheet/bottom-sheet-anatomy";
7
+ export { drawerAnatomy } from "./drawer/drawer-anatomy";
8
8
  export { carouselAnatomy } from "./carousel/carousel-anatomy";
9
9
  export { checkboxAnatomy } from "./checkbox/checkbox-anatomy";
10
10
  export { clipboardAnatomy } from "./clipboard/clipboard-anatomy";
@@ -4,7 +4,7 @@ export { alertDialogAnatomy } from "./alert-dialog/alert-dialog-anatomy";
4
4
  export { angleSliderAnatomy } from "./angle-slider/angle-slider-anatomy";
5
5
  export { aspectRatioAnatomy } from "./aspect-ratio/aspect-ratio-anatomy";
6
6
  export { avatarAnatomy } from "./avatar/avatar-anatomy";
7
- export { bottomSheetAnatomy } from "./bottom-sheet/bottom-sheet-anatomy";
7
+ export { drawerAnatomy } from "./drawer/drawer-anatomy";
8
8
  export { carouselAnatomy } from "./carousel/carousel-anatomy";
9
9
  export { checkboxAnatomy } from "./checkbox/checkbox-anatomy";
10
10
  export { clipboardAnatomy } from "./clipboard/clipboard-anatomy";
@@ -1 +1 @@
1
- export declare const carouselAnatomy: import("@sprawlify/primitives/anatomy").AnatomyInstance<"root" | "indicator" | "control" | "item" | "itemGroup" | "progressText" | "nextTrigger" | "prevTrigger" | "indicatorGroup" | "autoplayTrigger" | "autoplayIndicator">;
1
+ export declare const carouselAnatomy: import("@sprawlify/primitives/anatomy").AnatomyInstance<"root" | "control" | "indicator" | "item" | "itemGroup" | "nextTrigger" | "prevTrigger" | "indicatorGroup" | "autoplayTrigger" | "progressText" | "autoplayIndicator">;
@@ -1 +1 @@
1
- export declare const checkboxAnatomy: import("@sprawlify/primitives/anatomy").AnatomyInstance<"label" | "root" | "indicator" | "control" | "group">;
1
+ export declare const checkboxAnatomy: import("@sprawlify/primitives/anatomy").AnatomyInstance<"label" | "root" | "control" | "indicator" | "group">;
@@ -1 +1 @@
1
- export declare const colorPickerAnatomy: import("@sprawlify/primitives/anatomy").AnatomyInstance<"label" | "area" | "view" | "content" | "trigger" | "positioner" | "root" | "control" | "valueText" | "formatSelect" | "areaThumb" | "channelInput" | "channelSliderTrack" | "channelSliderThumb" | "areaBackground" | "channelSlider" | "channelSliderLabel" | "channelSliderValueText" | "transparencyGrid" | "swatchGroup" | "swatchTrigger" | "swatchIndicator" | "swatch" | "eyeDropperTrigger" | "formatTrigger">;
1
+ export declare const colorPickerAnatomy: import("@sprawlify/primitives/anatomy").AnatomyInstance<"label" | "area" | "view" | "trigger" | "content" | "positioner" | "root" | "control" | "valueText" | "areaThumb" | "areaBackground" | "channelSlider" | "channelSliderLabel" | "channelSliderTrack" | "channelSliderThumb" | "channelSliderValueText" | "channelInput" | "transparencyGrid" | "swatchGroup" | "swatchTrigger" | "swatchIndicator" | "swatch" | "eyeDropperTrigger" | "formatTrigger" | "formatSelect">;
@@ -1 +1 @@
1
- export declare const comboboxAnatomy: import("@sprawlify/primitives/anatomy").AnatomyInstance<"label" | "input" | "content" | "trigger" | "positioner" | "root" | "control" | "item" | "itemGroup" | "itemIndicator" | "clearTrigger" | "itemText" | "itemGroupLabel" | "list" | "empty">;
1
+ export declare const comboboxAnatomy: import("@sprawlify/primitives/anatomy").AnatomyInstance<"label" | "input" | "trigger" | "content" | "positioner" | "root" | "control" | "item" | "itemGroup" | "itemIndicator" | "itemText" | "list" | "clearTrigger" | "itemGroupLabel" | "empty">;
@@ -1 +1 @@
1
- export declare const datePickerAnatomy: import("@sprawlify/primitives/anatomy").AnatomyInstance<"label" | "input" | "table" | "view" | "content" | "trigger" | "positioner" | "root" | "control" | "nextTrigger" | "prevTrigger" | "valueText" | "clearTrigger" | "monthSelect" | "presetTrigger" | "rangeText" | "tableBody" | "tableCell" | "tableCellTrigger" | "tableHead" | "tableHeader" | "tableRow" | "viewControl" | "viewTrigger" | "yearSelect">;
1
+ export declare const datePickerAnatomy: import("@sprawlify/primitives/anatomy").AnatomyInstance<"label" | "input" | "table" | "view" | "trigger" | "content" | "positioner" | "root" | "control" | "nextTrigger" | "prevTrigger" | "valueText" | "clearTrigger" | "monthSelect" | "presetTrigger" | "rangeText" | "tableBody" | "tableCell" | "tableCellTrigger" | "tableHead" | "tableHeader" | "tableRow" | "viewControl" | "viewTrigger" | "yearSelect">;
@@ -0,0 +1 @@
1
+ export { anatomy as drawerAnatomy } from "@sprawlify/primitives/machines/drawer";
@@ -0,0 +1 @@
1
+ export { anatomy as drawerAnatomy } from "@sprawlify/primitives/machines/drawer";
@@ -1,10 +1,10 @@
1
1
  <script module lang="ts">
2
2
  import type { Assign, HTMLProps, PolymorphicProps, RefAttribute } from '../../types'
3
3
 
4
- export interface BottomSheetBackdropBaseProps extends PolymorphicProps<'div'>, RefAttribute {
4
+ export interface DrawerBackdropBaseProps extends PolymorphicProps<'div'>, RefAttribute {
5
5
  ref?: Element | null
6
6
  }
7
- export interface BottomSheetBackdropProps extends Assign<HTMLProps<'div'>, BottomSheetBackdropBaseProps> {}
7
+ export interface DrawerBackdropProps extends Assign<HTMLProps<'div'>, DrawerBackdropBaseProps> {}
8
8
  </script>
9
9
 
10
10
  <script lang="ts">
@@ -12,15 +12,15 @@
12
12
  import { mergeProps } from '../../core'
13
13
  import { Sprawlify } from '../factory'
14
14
  import { usePresence } from '../presence'
15
- import { useBottomSheetContext } from './use-bottom-sheet-context'
15
+ import { useDrawerContext } from './use-drawer-context'
16
16
 
17
- let { ref = $bindable(null), ...props }: BottomSheetBackdropProps = $props()
17
+ let { ref = $bindable(null), ...props }: DrawerBackdropProps = $props()
18
18
 
19
- const bottomSheet = useBottomSheetContext()
19
+ const drawer = useDrawerContext()
20
20
  const renderStrategyProps = useRenderStrategyPropsContext()
21
21
 
22
- const presence = usePresence(() => ({ ...renderStrategyProps, present: bottomSheet().open }))
23
- const mergedProps = $derived(mergeProps(bottomSheet().getBackdropProps(), presence().getPresenceProps(), props))
22
+ const presence = usePresence(() => ({ ...renderStrategyProps, present: drawer().open }))
23
+ const mergedProps = $derived(mergeProps(drawer().getBackdropProps(), presence().getPresenceProps(), props))
24
24
 
25
25
  function setNode(node: Element | null) {
26
26
  presence().setNode(node)
@@ -0,0 +1,9 @@
1
+ import type { Assign, HTMLProps, PolymorphicProps, RefAttribute } from '../../types';
2
+ export interface DrawerBackdropBaseProps extends PolymorphicProps<'div'>, RefAttribute {
3
+ ref?: Element | null;
4
+ }
5
+ export interface DrawerBackdropProps extends Assign<HTMLProps<'div'>, DrawerBackdropBaseProps> {
6
+ }
7
+ declare const DrawerBackdrop: import("svelte").Component<DrawerBackdropProps, {}, "ref">;
8
+ type DrawerBackdrop = ReturnType<typeof DrawerBackdrop>;
9
+ export default DrawerBackdrop;
@@ -0,0 +1,19 @@
1
+ <script module lang="ts">
2
+ import type { Assign, HTMLProps, PolymorphicProps, RefAttribute } from '../../types'
3
+
4
+ export interface DrawerCloseTriggerBaseProps extends PolymorphicProps<'button'>, RefAttribute {}
5
+ export interface DrawerCloseTriggerProps extends Assign<HTMLProps<'button'>, DrawerCloseTriggerBaseProps> {}
6
+ </script>
7
+
8
+ <script lang="ts">
9
+ import { mergeProps } from '../../core'
10
+ import { Sprawlify } from '../factory'
11
+ import { useDrawerContext } from './use-drawer-context'
12
+
13
+ let { ref = $bindable(null), ...props }: DrawerCloseTriggerProps = $props()
14
+
15
+ const drawer = useDrawerContext()
16
+ const mergedProps = $derived(mergeProps(drawer().getCloseTriggerProps(), props))
17
+ </script>
18
+
19
+ <Sprawlify as="button" bind:ref {...mergedProps} />
@@ -0,0 +1,8 @@
1
+ import type { Assign, HTMLProps, PolymorphicProps, RefAttribute } from '../../types';
2
+ export interface DrawerCloseTriggerBaseProps extends PolymorphicProps<'button'>, RefAttribute {
3
+ }
4
+ export interface DrawerCloseTriggerProps extends Assign<HTMLProps<'button'>, DrawerCloseTriggerBaseProps> {
5
+ }
6
+ declare const DrawerCloseTrigger: import("svelte").Component<DrawerCloseTriggerProps, {}, "ref">;
7
+ type DrawerCloseTrigger = ReturnType<typeof DrawerCloseTrigger>;
8
+ export default DrawerCloseTrigger;
@@ -1,12 +1,11 @@
1
1
  <script module lang="ts">
2
2
  import type { Assign, HTMLProps, PolymorphicProps, RefAttribute } from '../../types'
3
- import type { ContentProps } from '@sprawlify/primitives/machines/bottom-sheet'
3
+ import type { ContentProps } from '@sprawlify/primitives/machines/drawer'
4
4
 
5
- export interface BottomSheetContentBaseProps extends PolymorphicProps<'div'>, ContentProps, RefAttribute {
5
+ export interface DrawerContentBaseProps extends PolymorphicProps<'div'>, ContentProps, RefAttribute {
6
6
  ref?: Element | null
7
7
  }
8
- export interface BottomSheetContentProps
9
- extends Assign<Omit<HTMLProps<'div'>, 'draggable'>, BottomSheetContentBaseProps> {}
8
+ export interface DrawerContentProps extends Assign<Omit<HTMLProps<'div'>, 'draggable'>, DrawerContentBaseProps> {}
10
9
  </script>
11
10
 
12
11
  <script lang="ts">
@@ -14,16 +13,16 @@
14
13
  import { Sprawlify } from '../factory'
15
14
  import { usePresenceContext } from '../presence'
16
15
  import { createSplitProps } from '../../utils/create-split-props'
17
- import { useBottomSheetContext } from './use-bottom-sheet-context'
16
+ import { useDrawerContext } from './use-drawer-context'
18
17
 
19
- let { ref = $bindable(null), ...props }: BottomSheetContentProps = $props()
18
+ let { ref = $bindable(null), ...props }: DrawerContentProps = $props()
20
19
 
21
20
  const [contentProps, localProps] = $derived(createSplitProps<ContentProps>()(props, ['draggable']))
22
- const bottomSheet = useBottomSheetContext()
21
+ const drawer = useDrawerContext()
23
22
  const presence = usePresenceContext()
24
23
  const mergedProps = $derived(
25
24
  mergeProps(
26
- bottomSheet().getContentProps({ draggable: true, ...contentProps }),
25
+ drawer().getContentProps({ draggable: true, ...contentProps }),
27
26
  presence().getPresenceProps(),
28
27
  localProps,
29
28
  ),
@@ -0,0 +1,10 @@
1
+ import type { Assign, HTMLProps, PolymorphicProps, RefAttribute } from '../../types';
2
+ import type { ContentProps } from '@sprawlify/primitives/machines/drawer';
3
+ export interface DrawerContentBaseProps extends PolymorphicProps<'div'>, ContentProps, RefAttribute {
4
+ ref?: Element | null;
5
+ }
6
+ export interface DrawerContentProps extends Assign<Omit<HTMLProps<'div'>, 'draggable'>, DrawerContentBaseProps> {
7
+ }
8
+ declare const DrawerContent: import("svelte").Component<DrawerContentProps, {}, "ref">;
9
+ type DrawerContent = ReturnType<typeof DrawerContent>;
10
+ export default DrawerContent;
@@ -0,0 +1,18 @@
1
+ <script module lang="ts">
2
+ import type { Snippet } from 'svelte'
3
+ import type { UseDrawerContext } from './use-drawer-context'
4
+
5
+ export interface DrawerContextProps {
6
+ children: Snippet<[UseDrawerContext]>
7
+ }
8
+ </script>
9
+
10
+ <script lang="ts">
11
+ import { useDrawerContext } from './use-drawer-context'
12
+
13
+ const { children }: DrawerContextProps = $props()
14
+
15
+ const drawer = useDrawerContext()
16
+ </script>
17
+
18
+ {@render children(drawer)}
@@ -0,0 +1,8 @@
1
+ import type { Snippet } from 'svelte';
2
+ import type { UseDrawerContext } from './use-drawer-context';
3
+ export interface DrawerContextProps {
4
+ children: Snippet<[UseDrawerContext]>;
5
+ }
6
+ declare const DrawerContext: import("svelte").Component<DrawerContextProps, {}, "">;
7
+ type DrawerContext = ReturnType<typeof DrawerContext>;
8
+ export default DrawerContext;
@@ -0,0 +1,19 @@
1
+ <script module lang="ts">
2
+ import type { Assign, HTMLProps, PolymorphicProps, RefAttribute } from '../../types'
3
+
4
+ export interface DrawerDescriptionBaseProps extends PolymorphicProps<'div'>, RefAttribute {}
5
+ export interface DrawerDescriptionProps extends Assign<HTMLProps<'div'>, DrawerDescriptionBaseProps> {}
6
+ </script>
7
+
8
+ <script lang="ts">
9
+ import { mergeProps } from '../../core'
10
+ import { Sprawlify } from '../factory'
11
+ import { useDrawerContext } from './use-drawer-context'
12
+
13
+ let { ref = $bindable(null), ...props }: DrawerDescriptionProps = $props()
14
+
15
+ const drawer = useDrawerContext()
16
+ const mergedProps = $derived(mergeProps(drawer().getDescriptionProps(), props))
17
+ </script>
18
+
19
+ <Sprawlify as="div" bind:ref {...mergedProps} />
@@ -0,0 +1,8 @@
1
+ import type { Assign, HTMLProps, PolymorphicProps, RefAttribute } from '../../types';
2
+ export interface DrawerDescriptionBaseProps extends PolymorphicProps<'div'>, RefAttribute {
3
+ }
4
+ export interface DrawerDescriptionProps extends Assign<HTMLProps<'div'>, DrawerDescriptionBaseProps> {
5
+ }
6
+ declare const DrawerDescription: import("svelte").Component<DrawerDescriptionProps, {}, "ref">;
7
+ type DrawerDescription = ReturnType<typeof DrawerDescription>;
8
+ export default DrawerDescription;
@@ -0,0 +1,19 @@
1
+ <script module lang="ts">
2
+ import type { Assign, HTMLProps, PolymorphicProps, RefAttribute } from '../../types'
3
+
4
+ export interface DrawerGrabberIndicatorBaseProps extends PolymorphicProps<'div'>, RefAttribute {}
5
+ export interface DrawerGrabberIndicatorProps extends Assign<HTMLProps<'div'>, DrawerGrabberIndicatorBaseProps> {}
6
+ </script>
7
+
8
+ <script lang="ts">
9
+ import { mergeProps } from '../../core'
10
+ import { Sprawlify } from '../factory'
11
+ import { useDrawerContext } from './use-drawer-context'
12
+
13
+ let { ref = $bindable(null), ...props }: DrawerGrabberIndicatorProps = $props()
14
+
15
+ const drawer = useDrawerContext()
16
+ const mergedProps = $derived(mergeProps(drawer().getGrabberIndicatorProps(), props))
17
+ </script>
18
+
19
+ <Sprawlify as="div" bind:ref {...mergedProps} />
@@ -0,0 +1,8 @@
1
+ import type { Assign, HTMLProps, PolymorphicProps, RefAttribute } from '../../types';
2
+ export interface DrawerGrabberIndicatorBaseProps extends PolymorphicProps<'div'>, RefAttribute {
3
+ }
4
+ export interface DrawerGrabberIndicatorProps extends Assign<HTMLProps<'div'>, DrawerGrabberIndicatorBaseProps> {
5
+ }
6
+ declare const DrawerGrabberIndicator: import("svelte").Component<DrawerGrabberIndicatorProps, {}, "ref">;
7
+ type DrawerGrabberIndicator = ReturnType<typeof DrawerGrabberIndicator>;
8
+ export default DrawerGrabberIndicator;
@@ -0,0 +1,19 @@
1
+ <script module lang="ts">
2
+ import type { Assign, HTMLProps, PolymorphicProps, RefAttribute } from '../../types'
3
+
4
+ export interface DrawerGrabberBaseProps extends PolymorphicProps<'div'>, RefAttribute {}
5
+ export interface DrawerGrabberProps extends Assign<HTMLProps<'div'>, DrawerGrabberBaseProps> {}
6
+ </script>
7
+
8
+ <script lang="ts">
9
+ import { mergeProps } from '../../core'
10
+ import { Sprawlify } from '../factory'
11
+ import { useDrawerContext } from './use-drawer-context'
12
+
13
+ let { ref = $bindable(null), ...props }: DrawerGrabberProps = $props()
14
+
15
+ const drawer = useDrawerContext()
16
+ const mergedProps = $derived(mergeProps(drawer().getGrabberProps(), props))
17
+ </script>
18
+
19
+ <Sprawlify as="div" bind:ref {...mergedProps} />
@@ -0,0 +1,8 @@
1
+ import type { Assign, HTMLProps, PolymorphicProps, RefAttribute } from '../../types';
2
+ export interface DrawerGrabberBaseProps extends PolymorphicProps<'div'>, RefAttribute {
3
+ }
4
+ export interface DrawerGrabberProps extends Assign<HTMLProps<'div'>, DrawerGrabberBaseProps> {
5
+ }
6
+ declare const DrawerGrabber: import("svelte").Component<DrawerGrabberProps, {}, "ref">;
7
+ type DrawerGrabber = ReturnType<typeof DrawerGrabber>;
8
+ export default DrawerGrabber;
@@ -0,0 +1,19 @@
1
+ <script module lang="ts">
2
+ import type { Assign, HTMLProps, PolymorphicProps, RefAttribute } from '../../types'
3
+
4
+ export interface DrawerIndentBackgroundBaseProps extends PolymorphicProps<'div'>, RefAttribute {}
5
+ export interface DrawerIndentBackgroundProps extends Assign<HTMLProps<'div'>, DrawerIndentBackgroundBaseProps> {}
6
+ </script>
7
+
8
+ <script lang="ts">
9
+ import { mergeProps } from '../../core'
10
+ import { Sprawlify } from '../factory'
11
+ import { useDrawerStackContext } from './use-drawer-stack-context'
12
+
13
+ let { ref = $bindable(null), ...props }: DrawerIndentBackgroundProps = $props()
14
+
15
+ const stackApi = useDrawerStackContext()
16
+ const mergedProps = $derived(mergeProps(stackApi().getIndentBackgroundProps(), props))
17
+ </script>
18
+
19
+ <Sprawlify as="div" bind:ref {...mergedProps} />
@@ -0,0 +1,8 @@
1
+ import type { Assign, HTMLProps, PolymorphicProps, RefAttribute } from '../../types';
2
+ export interface DrawerIndentBackgroundBaseProps extends PolymorphicProps<'div'>, RefAttribute {
3
+ }
4
+ export interface DrawerIndentBackgroundProps extends Assign<HTMLProps<'div'>, DrawerIndentBackgroundBaseProps> {
5
+ }
6
+ declare const DrawerIndentBackground: import("svelte").Component<DrawerIndentBackgroundProps, {}, "ref">;
7
+ type DrawerIndentBackground = ReturnType<typeof DrawerIndentBackground>;
8
+ export default DrawerIndentBackground;
@@ -0,0 +1,19 @@
1
+ <script module lang="ts">
2
+ import type { Assign, HTMLProps, PolymorphicProps, RefAttribute } from '../../types'
3
+
4
+ export interface DrawerIndentBaseProps extends PolymorphicProps<'div'>, RefAttribute {}
5
+ export interface DrawerIndentProps extends Assign<HTMLProps<'div'>, DrawerIndentBaseProps> {}
6
+ </script>
7
+
8
+ <script lang="ts">
9
+ import { mergeProps } from '../../core'
10
+ import { Sprawlify } from '../factory'
11
+ import { useDrawerStackContext } from './use-drawer-stack-context'
12
+
13
+ let { ref = $bindable(null), ...props }: DrawerIndentProps = $props()
14
+
15
+ const stackApi = useDrawerStackContext()
16
+ const mergedProps = $derived(mergeProps(stackApi().getIndentProps(), props))
17
+ </script>
18
+
19
+ <Sprawlify as="div" bind:ref {...mergedProps} />
@@ -0,0 +1,8 @@
1
+ import type { Assign, HTMLProps, PolymorphicProps, RefAttribute } from '../../types';
2
+ export interface DrawerIndentBaseProps extends PolymorphicProps<'div'>, RefAttribute {
3
+ }
4
+ export interface DrawerIndentProps extends Assign<HTMLProps<'div'>, DrawerIndentBaseProps> {
5
+ }
6
+ declare const DrawerIndent: import("svelte").Component<DrawerIndentProps, {}, "ref">;
7
+ type DrawerIndent = ReturnType<typeof DrawerIndent>;
8
+ export default DrawerIndent;
@@ -0,0 +1,23 @@
1
+ <script module lang="ts">
2
+ import type { Assign, HTMLProps, PolymorphicProps, RefAttribute } from '../../types'
3
+
4
+ export interface DrawerPositionerBaseProps extends PolymorphicProps<'div'>, RefAttribute {}
5
+ export interface DrawerPositionerProps extends Assign<HTMLProps<'div'>, DrawerPositionerBaseProps> {}
6
+ </script>
7
+
8
+ <script lang="ts">
9
+ import { mergeProps } from '../../core'
10
+ import { Sprawlify } from '../factory'
11
+ import { usePresenceContext } from '../presence'
12
+ import { useDrawerContext } from './use-drawer-context'
13
+
14
+ let { ref = $bindable(null), ...props }: DrawerPositionerProps = $props()
15
+
16
+ const drawer = useDrawerContext()
17
+ const presence = usePresenceContext()
18
+ const mergedProps = $derived(mergeProps(drawer().getPositionerProps(), props))
19
+ </script>
20
+
21
+ {#if !presence().unmounted}
22
+ <Sprawlify as="div" bind:ref {...mergedProps} />
23
+ {/if}
@@ -0,0 +1,8 @@
1
+ import type { Assign, HTMLProps, PolymorphicProps, RefAttribute } from '../../types';
2
+ export interface DrawerPositionerBaseProps extends PolymorphicProps<'div'>, RefAttribute {
3
+ }
4
+ export interface DrawerPositionerProps extends Assign<HTMLProps<'div'>, DrawerPositionerBaseProps> {
5
+ }
6
+ declare const DrawerPositioner: import("svelte").Component<DrawerPositionerProps, {}, "ref">;
7
+ type DrawerPositioner = ReturnType<typeof DrawerPositioner>;
8
+ export default DrawerPositioner;
@@ -1,11 +1,11 @@
1
1
  <script module lang="ts">
2
2
  import type { Snippet } from 'svelte'
3
- import type { UseBottomSheetReturn } from './use-bottom-sheet.svelte'
3
+ import type { UseDrawerReturn } from './use-drawer.svelte'
4
4
 
5
- export interface BottomSheetRootProviderBaseProps {
6
- value: UseBottomSheetReturn
5
+ export interface DrawerRootProviderBaseProps {
6
+ value: UseDrawerReturn
7
7
  }
8
- export interface BottomSheetRootProviderProps extends BottomSheetRootProviderBaseProps {
8
+ export interface DrawerRootProviderProps extends DrawerRootProviderBaseProps {
9
9
  children?: Snippet
10
10
  }
11
11
  </script>
@@ -14,9 +14,9 @@
14
14
  import { RenderStrategyPropsProvider, splitRenderStrategyProps } from '../../utils/render-strategy'
15
15
  import { PresenceProvider, usePresence } from '../presence'
16
16
  import { splitPresenceProps } from '../presence/split-presence-props.svelte'
17
- import { BottomSheetProvider } from './use-bottom-sheet-context'
17
+ import { DrawerProvider } from './use-drawer-context'
18
18
 
19
- let { value, children, ...props }: BottomSheetRootProviderProps = $props()
19
+ let { value, children, ...props }: DrawerRootProviderProps = $props()
20
20
 
21
21
  const [presenceProps] = $derived(splitPresenceProps(props))
22
22
  const [renderStrategyProps] = $derived(splitRenderStrategyProps(presenceProps))
@@ -28,7 +28,7 @@
28
28
 
29
29
  const presence = usePresence(() => presenceMachineProps)
30
30
 
31
- BottomSheetProvider(value)
31
+ DrawerProvider(value)
32
32
  RenderStrategyPropsProvider(() => renderStrategyProps)
33
33
  PresenceProvider(presence)
34
34
  </script>
@@ -0,0 +1,11 @@
1
+ import type { Snippet } from 'svelte';
2
+ import type { UseDrawerReturn } from './use-drawer.svelte';
3
+ export interface DrawerRootProviderBaseProps {
4
+ value: UseDrawerReturn;
5
+ }
6
+ export interface DrawerRootProviderProps extends DrawerRootProviderBaseProps {
7
+ children?: Snippet;
8
+ }
9
+ declare const DrawerRootProvider: import("svelte").Component<DrawerRootProviderProps, {}, "">;
10
+ type DrawerRootProvider = ReturnType<typeof DrawerRootProvider>;
11
+ export default DrawerRootProvider;
@@ -1,10 +1,10 @@
1
1
  <script module lang="ts">
2
2
  import type { Snippet } from 'svelte'
3
3
  import type { UsePresenceProps } from '../presence'
4
- import type { UseBottomSheetProps } from './use-bottom-sheet.svelte'
4
+ import type { UseDrawerProps } from './use-drawer.svelte'
5
5
 
6
- export interface BottomSheetRootBaseProps extends UseBottomSheetProps, UsePresenceProps {}
7
- export interface BottomSheetRootProps extends BottomSheetRootBaseProps {
6
+ export interface DrawerRootBaseProps extends UseDrawerProps, UsePresenceProps {}
7
+ export interface DrawerRootProps extends DrawerRootBaseProps {
8
8
  children?: Snippet
9
9
  }
10
10
  </script>
@@ -13,17 +13,17 @@
13
13
  import { PresenceProvider, usePresence } from '../presence'
14
14
  import { splitPresenceProps } from '../presence/split-presence-props.svelte'
15
15
  import { RenderStrategyPropsProvider, splitRenderStrategyProps } from '../../utils/render-strategy'
16
- import { BottomSheetProvider } from './use-bottom-sheet-context'
17
- import { useBottomSheet } from './use-bottom-sheet.svelte'
16
+ import { DrawerProvider } from './use-drawer-context'
17
+ import { useDrawer } from './use-drawer.svelte'
18
18
 
19
- let { open = $bindable(), children, ...props }: BottomSheetRootProps = $props()
19
+ let { open = $bindable(), children, ...props }: DrawerRootProps = $props()
20
20
 
21
21
  const providedId = $props.id()
22
22
 
23
23
  const [presenceProps, localProps] = $derived(splitPresenceProps(props))
24
24
  const [renderStrategyProps] = $derived(splitRenderStrategyProps(presenceProps))
25
25
 
26
- const machineProps = $derived.by<UseBottomSheetProps>(() => {
26
+ const machineProps = $derived.by<UseDrawerProps>(() => {
27
27
  return {
28
28
  ...localProps,
29
29
  id: localProps.id ?? providedId,
@@ -35,16 +35,16 @@
35
35
  }
36
36
  })
37
37
 
38
- const bottomSheet = useBottomSheet(() => machineProps)
38
+ const drawer = useDrawer(() => machineProps)
39
39
 
40
40
  const presenceMachineProps = $derived.by<UsePresenceProps>(() => ({
41
41
  ...presenceProps,
42
- present: bottomSheet().open,
42
+ present: drawer().open,
43
43
  }))
44
44
 
45
45
  const presence = usePresence(() => presenceMachineProps)
46
46
 
47
- BottomSheetProvider(bottomSheet)
47
+ DrawerProvider(drawer)
48
48
  RenderStrategyPropsProvider(() => renderStrategyProps)
49
49
  PresenceProvider(presence)
50
50
  </script>
@@ -0,0 +1,11 @@
1
+ import type { Snippet } from 'svelte';
2
+ import type { UsePresenceProps } from '../presence';
3
+ import type { UseDrawerProps } from './use-drawer.svelte';
4
+ export interface DrawerRootBaseProps extends UseDrawerProps, UsePresenceProps {
5
+ }
6
+ export interface DrawerRootProps extends DrawerRootBaseProps {
7
+ children?: Snippet;
8
+ }
9
+ declare const DrawerRoot: import("svelte").Component<DrawerRootProps, {}, "open">;
10
+ type DrawerRoot = ReturnType<typeof DrawerRoot>;
11
+ export default DrawerRoot;
@@ -0,0 +1,29 @@
1
+ <script module lang="ts">
2
+ export interface DrawerStackProps {
3
+ children?: import('svelte').Snippet
4
+ }
5
+ </script>
6
+
7
+ <script lang="ts">
8
+ import * as drawer from '@sprawlify/primitives/machines/drawer'
9
+ import { normalizeProps } from '../../core'
10
+ import { DrawerStackProvider } from './use-drawer-stack-context'
11
+ import { provideDrawerStackStore } from './use-drawer-stack-store'
12
+
13
+ let { children }: DrawerStackProps = $props()
14
+
15
+ const stack = drawer.createStack()
16
+ provideDrawerStackStore(stack)
17
+
18
+ let snapshot = $state(stack.getSnapshot())
19
+ $effect(() => {
20
+ return stack.subscribe(() => {
21
+ snapshot = stack.getSnapshot()
22
+ })
23
+ })
24
+ const stackApi = $derived(drawer.connectStack(snapshot, normalizeProps))
25
+
26
+ DrawerStackProvider(() => stackApi)
27
+ </script>
28
+
29
+ {@render children?.()}
@@ -0,0 +1,6 @@
1
+ export interface DrawerStackProps {
2
+ children?: import('svelte').Snippet;
3
+ }
4
+ declare const DrawerStack: import("svelte").Component<DrawerStackProps, {}, "">;
5
+ type DrawerStack = ReturnType<typeof DrawerStack>;
6
+ export default DrawerStack;
@@ -0,0 +1,19 @@
1
+ <script module lang="ts">
2
+ import type { Assign, HTMLProps, PolymorphicProps, RefAttribute } from '../../types'
3
+
4
+ export interface DrawerSwipeAreaBaseProps extends PolymorphicProps<'div'>, RefAttribute {}
5
+ export interface DrawerSwipeAreaProps extends Assign<HTMLProps<'div'>, DrawerSwipeAreaBaseProps> {}
6
+ </script>
7
+
8
+ <script lang="ts">
9
+ import { mergeProps } from '../../core'
10
+ import { Sprawlify } from '../factory'
11
+ import { useDrawerContext } from './use-drawer-context'
12
+
13
+ let { ref = $bindable(null), ...props }: DrawerSwipeAreaProps = $props()
14
+
15
+ const drawer = useDrawerContext()
16
+ const mergedProps = $derived(mergeProps(drawer().getSwipeAreaProps(), props))
17
+ </script>
18
+
19
+ <Sprawlify as="div" bind:ref {...mergedProps} />
@@ -0,0 +1,8 @@
1
+ import type { Assign, HTMLProps, PolymorphicProps, RefAttribute } from '../../types';
2
+ export interface DrawerSwipeAreaBaseProps extends PolymorphicProps<'div'>, RefAttribute {
3
+ }
4
+ export interface DrawerSwipeAreaProps extends Assign<HTMLProps<'div'>, DrawerSwipeAreaBaseProps> {
5
+ }
6
+ declare const DrawerSwipeArea: import("svelte").Component<DrawerSwipeAreaProps, {}, "ref">;
7
+ type DrawerSwipeArea = ReturnType<typeof DrawerSwipeArea>;
8
+ export default DrawerSwipeArea;
@@ -0,0 +1,19 @@
1
+ <script module lang="ts">
2
+ import type { Assign, HTMLProps, PolymorphicProps, RefAttribute } from '../../types'
3
+
4
+ export interface DrawerTitleBaseProps extends PolymorphicProps<'h2'>, RefAttribute {}
5
+ export interface DrawerTitleProps extends Assign<HTMLProps<'h2'>, DrawerTitleBaseProps> {}
6
+ </script>
7
+
8
+ <script lang="ts">
9
+ import { mergeProps } from '../../core'
10
+ import { Sprawlify } from '../factory'
11
+ import { useDrawerContext } from './use-drawer-context'
12
+
13
+ let { ref = $bindable(null), ...props }: DrawerTitleProps = $props()
14
+
15
+ const drawer = useDrawerContext()
16
+ const mergedProps = $derived(mergeProps(drawer().getTitleProps(), props))
17
+ </script>
18
+
19
+ <Sprawlify as="h2" bind:ref {...mergedProps} />
@@ -0,0 +1,8 @@
1
+ import type { Assign, HTMLProps, PolymorphicProps, RefAttribute } from '../../types';
2
+ export interface DrawerTitleBaseProps extends PolymorphicProps<'h2'>, RefAttribute {
3
+ }
4
+ export interface DrawerTitleProps extends Assign<HTMLProps<'h2'>, DrawerTitleBaseProps> {
5
+ }
6
+ declare const DrawerTitle: import("svelte").Component<DrawerTitleProps, {}, "ref">;
7
+ type DrawerTitle = ReturnType<typeof DrawerTitle>;
8
+ export default DrawerTitle;