@sprawlify/svelte 0.0.45 → 0.0.46

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 (121) hide show
  1. package/dist/components/accordion/accordion-root-provider.svelte +3 -1
  2. package/dist/components/angle-slider/angle-slider-root-provider.svelte +3 -1
  3. package/dist/components/bottom-sheet/bottom-sheet-root-provider.svelte +3 -1
  4. package/dist/components/carousel/carousel-anatomy.d.ts +1 -1
  5. package/dist/components/carousel/carousel-root-provider.svelte +3 -1
  6. package/dist/components/checkbox/checkbox-group-provider.svelte +3 -1
  7. package/dist/components/checkbox/checkbox-root-provider.svelte +3 -1
  8. package/dist/components/clipboard/clipboard-root-provider.svelte +3 -1
  9. package/dist/components/collapsible/collapsible-root-provider.svelte +3 -1
  10. package/dist/components/color-picker/color-picker-anatomy.d.ts +1 -1
  11. package/dist/components/color-picker/color-picker-root-provider.svelte +3 -1
  12. package/dist/components/combobox/combobox-anatomy.d.ts +1 -1
  13. package/dist/components/combobox/combobox-root-provider.svelte +4 -2
  14. package/dist/components/combobox/combobox-root-provider.svelte.d.ts +1 -1
  15. package/dist/components/date-picker/date-picker-root-provider.svelte +3 -1
  16. package/dist/components/date-picker/date-picker-root.svelte +1 -0
  17. package/dist/components/dialog/dialog-root-provider.svelte +3 -1
  18. package/dist/components/editable/editable-root-provider.svelte +3 -1
  19. package/dist/components/file-upload/file-upload-anatomy.d.ts +1 -0
  20. package/dist/components/file-upload/file-upload-anatomy.js +1 -0
  21. package/dist/components/file-upload/file-upload-clear-trigger.svelte +18 -0
  22. package/dist/components/file-upload/file-upload-clear-trigger.svelte.d.ts +8 -0
  23. package/dist/components/file-upload/file-upload-context.svelte +18 -0
  24. package/dist/components/file-upload/file-upload-context.svelte.d.ts +8 -0
  25. package/dist/components/file-upload/file-upload-dropzone.svelte +23 -0
  26. package/dist/components/file-upload/file-upload-dropzone.svelte.d.ts +9 -0
  27. package/dist/components/file-upload/file-upload-hidden-input.svelte +18 -0
  28. package/dist/components/file-upload/file-upload-hidden-input.svelte.d.ts +8 -0
  29. package/dist/components/file-upload/file-upload-item-delete-trigger.svelte +21 -0
  30. package/dist/components/file-upload/file-upload-item-delete-trigger.svelte.d.ts +8 -0
  31. package/dist/components/file-upload/file-upload-item-group.svelte +25 -0
  32. package/dist/components/file-upload/file-upload-item-group.svelte.d.ts +9 -0
  33. package/dist/components/file-upload/file-upload-item-name.svelte +26 -0
  34. package/dist/components/file-upload/file-upload-item-name.svelte.d.ts +8 -0
  35. package/dist/components/file-upload/file-upload-item-preview-image.svelte +32 -0
  36. package/dist/components/file-upload/file-upload-item-preview-image.svelte.d.ts +8 -0
  37. package/dist/components/file-upload/file-upload-item-preview.svelte +26 -0
  38. package/dist/components/file-upload/file-upload-item-preview.svelte.d.ts +9 -0
  39. package/dist/components/file-upload/file-upload-item-size-text.svelte +26 -0
  40. package/dist/components/file-upload/file-upload-item-size-text.svelte.d.ts +8 -0
  41. package/dist/components/file-upload/file-upload-item.svelte +32 -0
  42. package/dist/components/file-upload/file-upload-item.svelte.d.ts +10 -0
  43. package/dist/components/file-upload/file-upload-label.svelte +18 -0
  44. package/dist/components/file-upload/file-upload-label.svelte.d.ts +8 -0
  45. package/dist/components/file-upload/file-upload-root-provider.svelte +26 -0
  46. package/dist/components/file-upload/file-upload-root-provider.svelte.d.ts +12 -0
  47. package/dist/components/file-upload/file-upload-root.svelte +64 -0
  48. package/dist/components/file-upload/file-upload-root.svelte.d.ts +9 -0
  49. package/dist/components/file-upload/file-upload-trigger.svelte +18 -0
  50. package/dist/components/file-upload/file-upload-trigger.svelte.d.ts +8 -0
  51. package/dist/components/file-upload/file-upload.d.ts +16 -0
  52. package/dist/components/file-upload/file-upload.js +15 -0
  53. package/dist/components/file-upload/index.d.ts +21 -0
  54. package/dist/components/file-upload/index.js +20 -0
  55. package/dist/components/file-upload/use-file-upload-context.d.ts +4 -0
  56. package/dist/components/file-upload/use-file-upload-context.js +4 -0
  57. package/dist/components/file-upload/use-file-upload-item-group-props-context.d.ts +5 -0
  58. package/dist/components/file-upload/use-file-upload-item-group-props-context.js +6 -0
  59. package/dist/components/file-upload/use-file-upload-item-props-context.d.ts +5 -0
  60. package/dist/components/file-upload/use-file-upload-item-props-context.js +4 -0
  61. package/dist/components/file-upload/use-file-upload.svelte.d.ts +9 -0
  62. package/dist/components/file-upload/use-file-upload.svelte.js +21 -0
  63. package/dist/components/floating-panel/floating-panel-anatomy.d.ts +1 -0
  64. package/dist/components/floating-panel/floating-panel-anatomy.js +1 -0
  65. package/dist/components/floating-panel/floating-panel-body.svelte +19 -0
  66. package/dist/components/floating-panel/floating-panel-body.svelte.d.ts +8 -0
  67. package/dist/components/floating-panel/floating-panel-close-trigger.svelte +20 -0
  68. package/dist/components/floating-panel/floating-panel-close-trigger.svelte.d.ts +8 -0
  69. package/dist/components/floating-panel/floating-panel-content.svelte +28 -0
  70. package/dist/components/floating-panel/floating-panel-content.svelte.d.ts +8 -0
  71. package/dist/components/floating-panel/floating-panel-context.svelte +18 -0
  72. package/dist/components/floating-panel/floating-panel-context.svelte.d.ts +8 -0
  73. package/dist/components/floating-panel/floating-panel-control.svelte +19 -0
  74. package/dist/components/floating-panel/floating-panel-control.svelte.d.ts +8 -0
  75. package/dist/components/floating-panel/floating-panel-drag-trigger.svelte +19 -0
  76. package/dist/components/floating-panel/floating-panel-drag-trigger.svelte.d.ts +8 -0
  77. package/dist/components/floating-panel/floating-panel-header.svelte +19 -0
  78. package/dist/components/floating-panel/floating-panel-header.svelte.d.ts +8 -0
  79. package/dist/components/floating-panel/floating-panel-positioner.svelte +24 -0
  80. package/dist/components/floating-panel/floating-panel-positioner.svelte.d.ts +8 -0
  81. package/dist/components/floating-panel/floating-panel-resize-trigger.svelte +26 -0
  82. package/dist/components/floating-panel/floating-panel-resize-trigger.svelte.d.ts +9 -0
  83. package/dist/components/floating-panel/floating-panel-root-provider.svelte +30 -0
  84. package/dist/components/floating-panel/floating-panel-root-provider.svelte.d.ts +14 -0
  85. package/dist/components/floating-panel/floating-panel-root.svelte +90 -0
  86. package/dist/components/floating-panel/floating-panel-root.svelte.d.ts +12 -0
  87. package/dist/components/floating-panel/floating-panel-stage-trigger.svelte +24 -0
  88. package/dist/components/floating-panel/floating-panel-stage-trigger.svelte.d.ts +9 -0
  89. package/dist/components/floating-panel/floating-panel-title.svelte +19 -0
  90. package/dist/components/floating-panel/floating-panel-title.svelte.d.ts +8 -0
  91. package/dist/components/floating-panel/floating-panel-trigger.svelte +31 -0
  92. package/dist/components/floating-panel/floating-panel-trigger.svelte.d.ts +8 -0
  93. package/dist/components/floating-panel/floating-panel.d.ts +15 -0
  94. package/dist/components/floating-panel/floating-panel.js +14 -0
  95. package/dist/components/floating-panel/index.d.ts +19 -0
  96. package/dist/components/floating-panel/index.js +18 -0
  97. package/dist/components/floating-panel/use-floating-panel-context.d.ts +6 -0
  98. package/dist/components/floating-panel/use-floating-panel-context.js +6 -0
  99. package/dist/components/floating-panel/use-floating-panel.svelte.d.ts +9 -0
  100. package/dist/components/floating-panel/use-floating-panel.svelte.js +19 -0
  101. package/dist/components/focus-trap/focus-trap.svelte +44 -0
  102. package/dist/components/focus-trap/focus-trap.svelte.d.ts +12 -0
  103. package/dist/components/focus-trap/index.d.ts +2 -0
  104. package/dist/components/focus-trap/index.js +1 -0
  105. package/dist/components/format/format-byte.svelte +24 -0
  106. package/dist/components/format/format-byte.svelte.d.ts +9 -0
  107. package/dist/components/format/format-number.svelte +16 -0
  108. package/dist/components/format/format-number.svelte.d.ts +6 -0
  109. package/dist/components/format/format-relative-time.svelte +17 -0
  110. package/dist/components/format/format-relative-time.svelte.d.ts +6 -0
  111. package/dist/components/format/format.d.ts +3 -0
  112. package/dist/components/format/format.js +3 -0
  113. package/dist/components/format/index.d.ts +4 -0
  114. package/dist/components/format/index.js +4 -0
  115. package/dist/components/frame/frame-content.svelte +19 -0
  116. package/dist/components/frame/frame-content.svelte.d.ts +9 -0
  117. package/dist/components/frame/frame.svelte +103 -0
  118. package/dist/components/frame/frame.svelte.d.ts +15 -0
  119. package/dist/components/frame/index.d.ts +2 -0
  120. package/dist/components/frame/index.js +1 -0
  121. package/package.json +27 -2
@@ -23,7 +23,9 @@
23
23
  const [renderStrategyProps, localProps] = $derived(splitRenderStrategyProps(props))
24
24
  const mergedProps = $derived(mergeProps(value().getRootProps(), localProps))
25
25
 
26
- AccordionProvider(value)
26
+ $effect(() => {
27
+ AccordionProvider(value)
28
+ })
27
29
  RenderStrategyPropsProvider(() => renderStrategyProps)
28
30
  </script>
29
31
 
@@ -18,7 +18,9 @@
18
18
  let { ref = $bindable(null), value: angleSlider, ...localProps }: AngleSliderRootProviderProps = $props()
19
19
  const mergedProps = $derived(mergeProps(angleSlider().getRootProps(), localProps))
20
20
 
21
- AngleSliderProvider(angleSlider)
21
+ $effect(() => {
22
+ AngleSliderProvider(angleSlider)
23
+ })
22
24
  </script>
23
25
 
24
26
  <Sprawlify as="div" bind:ref {...mergedProps} />
@@ -28,7 +28,9 @@
28
28
 
29
29
  const presence = usePresence(() => presenceMachineProps)
30
30
 
31
- BottomSheetProvider(value)
31
+ $effect(() => {
32
+ BottomSheetProvider(value)
33
+ })
32
34
  RenderStrategyPropsProvider(() => renderStrategyProps)
33
35
  PresenceProvider(presence)
34
36
  </script>
@@ -1 +1 @@
1
- export declare const carouselAnatomy: import("@sprawlify/primitives/anatomy").AnatomyInstance<"root" | "item" | "control" | "indicator" | "nextTrigger" | "prevTrigger" | "itemGroup" | "indicatorGroup" | "autoplayTrigger" | "progressText" | "autoplayIndicator">;
1
+ export declare const carouselAnatomy: import("@sprawlify/primitives/anatomy").AnatomyInstance<"root" | "item" | "control" | "indicator" | "itemGroup" | "nextTrigger" | "prevTrigger" | "indicatorGroup" | "autoplayTrigger" | "progressText" | "autoplayIndicator">;
@@ -16,7 +16,9 @@
16
16
  let { ref = $bindable(null), value, ...props }: CarouselRootProviderProps = $props()
17
17
  const mergedProps = $derived(mergeProps(value().getRootProps(), props))
18
18
 
19
- CarouselProvider(value)
19
+ $effect(() => {
20
+ CarouselProvider(value)
21
+ })
20
22
  </script>
21
23
 
22
24
  <Sprawlify as="div" bind:ref {...mergedProps} />
@@ -18,7 +18,9 @@
18
18
 
19
19
  const mergedProps = $derived(mergeProps({ role: 'group', ...checkboxAnatomy.build().group.attrs }, props))
20
20
 
21
- CheckboxGroupContextProvider(value)
21
+ $effect(() => {
22
+ CheckboxGroupContextProvider(value)
23
+ })
22
24
  </script>
23
25
 
24
26
  <Sprawlify as="div" bind:ref {...mergedProps} />
@@ -17,7 +17,9 @@
17
17
 
18
18
  const mergedProps = $derived(mergeProps(value().getRootProps(), props))
19
19
 
20
- CheckboxProvider(value)
20
+ $effect(() => {
21
+ CheckboxProvider(value)
22
+ })
21
23
  </script>
22
24
 
23
25
  <Sprawlify as="label" bind:ref {...mergedProps} />
@@ -17,7 +17,9 @@
17
17
 
18
18
  const mergedProps = $derived(mergeProps(value().getRootProps(), props))
19
19
 
20
- ClipboardProvider(value)
20
+ $effect(() => {
21
+ ClipboardProvider(value)
22
+ })
21
23
  </script>
22
24
 
23
25
  <Sprawlify as="div" bind:ref {...mergedProps} />
@@ -18,7 +18,9 @@
18
18
  let { ref = $bindable(null), value, ...props }: CollapsibleRootProviderProps = $props()
19
19
  const mergedProps = $derived(mergeProps(value().getRootProps(), props))
20
20
 
21
- CollapsibleProvider(value)
21
+ $effect(() => {
22
+ CollapsibleProvider(value)
23
+ })
22
24
  </script>
23
25
 
24
26
  <Sprawlify as="div" bind:ref {...mergedProps} />
@@ -1 +1 @@
1
- export declare const colorPickerAnatomy: import("@sprawlify/primitives/anatomy").AnatomyInstance<"label" | "area" | "view" | "root" | "content" | "trigger" | "control" | "valueText" | "positioner" | "areaThumb" | "areaBackground" | "channelSlider" | "channelSliderLabel" | "channelSliderTrack" | "channelSliderThumb" | "channelSliderValueText" | "channelInput" | "transparencyGrid" | "swatchGroup" | "swatchTrigger" | "swatchIndicator" | "swatch" | "eyeDropperTrigger" | "formatTrigger" | "formatSelect">;
1
+ export declare const colorPickerAnatomy: import("@sprawlify/primitives/anatomy").AnatomyInstance<"label" | "area" | "view" | "root" | "content" | "trigger" | "control" | "valueText" | "positioner" | "formatSelect" | "areaThumb" | "channelInput" | "channelSliderTrack" | "channelSliderThumb" | "areaBackground" | "channelSlider" | "channelSliderLabel" | "channelSliderValueText" | "transparencyGrid" | "swatchGroup" | "swatchTrigger" | "swatchIndicator" | "swatch" | "eyeDropperTrigger" | "formatTrigger">;
@@ -21,7 +21,9 @@
21
21
  const presence = usePresence(() => ({ present: value().open, ...presenceProps }))
22
22
  const mergedProps = $derived(mergeProps(value().getRootProps(), localProps))
23
23
 
24
- ColorPickerProvider(value)
24
+ $effect(() => {
25
+ ColorPickerProvider(value)
26
+ })
25
27
  PresenceProvider(presence)
26
28
  </script>
27
29
 
@@ -1 +1 @@
1
- export declare const comboboxAnatomy: import("@sprawlify/primitives/anatomy").AnatomyInstance<"label" | "input" | "root" | "content" | "trigger" | "list" | "item" | "control" | "itemGroup" | "positioner" | "itemIndicator" | "itemText" | "clearTrigger" | "itemGroupLabel" | "empty">;
1
+ export declare const comboboxAnatomy: import("@sprawlify/primitives/anatomy").AnatomyInstance<"label" | "input" | "root" | "content" | "trigger" | "list" | "item" | "control" | "itemGroup" | "positioner" | "clearTrigger" | "itemIndicator" | "itemText" | "itemGroupLabel" | "empty">;
@@ -2,7 +2,7 @@
2
2
  import type { Assign, HTMLProps, PolymorphicProps, RefAttribute } from '../../types'
3
3
  import type { Snippet } from 'svelte'
4
4
  import type { CollectionItem } from '../collection/index.js'
5
- import type { UsePresenceProps } from '../presence/use-presence.svelte.js'
5
+ import type { UsePresenceProps } from '../presence/use-presence.svelte'
6
6
  import type { UseComboboxReturn } from './use-combobox.svelte.js'
7
7
 
8
8
  interface RootProviderProps<T extends CollectionItem> {
@@ -36,7 +36,9 @@
36
36
  const presence = usePresence(() => mergeProps({ present: value().open }, presenceProps))
37
37
  const mergedProps = $derived(mergeProps(value().getRootProps(), otherProps))
38
38
 
39
- ComboboxProvider(value)
39
+ $effect(() => {
40
+ ComboboxProvider(value)
41
+ })
40
42
  PresenceProvider(presence)
41
43
  </script>
42
44
 
@@ -1,7 +1,7 @@
1
1
  import type { Assign, HTMLProps, PolymorphicProps, RefAttribute } from '../../types';
2
2
  import type { Snippet } from 'svelte';
3
3
  import type { CollectionItem } from '../collection/index.js';
4
- import type { UsePresenceProps } from '../presence/use-presence.svelte.js';
4
+ import type { UsePresenceProps } from '../presence/use-presence.svelte';
5
5
  import type { UseComboboxReturn } from './use-combobox.svelte.js';
6
6
  interface RootProviderProps<T extends CollectionItem> {
7
7
  value: UseComboboxReturn<T>;
@@ -27,7 +27,9 @@
27
27
  const presence = usePresence(() => ({ present: value().open, ...presenceProps }))
28
28
  const mergedProps = $derived(mergeProps(value().getRootProps(), localProps))
29
29
 
30
- DatePickerProvider(value)
30
+ $effect(() => {
31
+ DatePickerProvider(value)
32
+ })
31
33
  PresenceProvider(presence)
32
34
  </script>
33
35
 
@@ -57,6 +57,7 @@
57
57
  'onOpenChange',
58
58
  'onValueChange',
59
59
  'onViewChange',
60
+ "onVisibleRangeChange",
60
61
  'open',
61
62
  'outsideDaySelectable',
62
63
  'parse',
@@ -28,7 +28,9 @@
28
28
 
29
29
  const presence = usePresence(() => presenceMachineProps)
30
30
 
31
- DialogProvider(value)
31
+ $effect(() => {
32
+ DialogProvider(value)
33
+ })
32
34
  RenderStrategyPropsProvider(() => renderStrategyProps)
33
35
  PresenceProvider(presence)
34
36
  </script>
@@ -15,7 +15,9 @@
15
15
 
16
16
  let { ref = $bindable(null), value, ...props }: EditableRootProviderProps = $props()
17
17
 
18
- EditableProvider(value)
18
+ $effect(() => {
19
+ EditableProvider(value)
20
+ })
19
21
 
20
22
  const mergedProps = $derived(mergeProps(value().getRootProps(), props))
21
23
  </script>
@@ -0,0 +1 @@
1
+ export { anatomy as fileUploadAnatomy } from '@sprawlify/primitives/machines/file-upload';
@@ -0,0 +1 @@
1
+ export { anatomy as fileUploadAnatomy } from '@sprawlify/primitives/machines/file-upload';
@@ -0,0 +1,18 @@
1
+ <script module lang="ts">
2
+ import type { Assign, HTMLProps, PolymorphicProps, RefAttribute } from '../../types'
3
+
4
+ export interface FileUploadClearTriggerBaseProps extends PolymorphicProps<'button'>, RefAttribute {}
5
+ export interface FileUploadClearTriggerProps extends Assign<HTMLProps<'button'>, FileUploadClearTriggerBaseProps> {}
6
+ </script>
7
+
8
+ <script lang="ts">
9
+ import { mergeProps } from '../../core'
10
+ import { Sprawlify } from '../factory'
11
+ import { useFileUploadContext } from './use-file-upload-context'
12
+
13
+ let { ref = $bindable(null), ...props }: FileUploadClearTriggerProps = $props()
14
+ const fileUpload = useFileUploadContext()
15
+ const mergedProps = $derived(mergeProps(fileUpload().getClearTriggerProps(), props))
16
+ </script>
17
+
18
+ <Sprawlify as="button" bind:ref {...mergedProps} />
@@ -0,0 +1,8 @@
1
+ import type { Assign, HTMLProps, PolymorphicProps, RefAttribute } from '../../types';
2
+ export interface FileUploadClearTriggerBaseProps extends PolymorphicProps<'button'>, RefAttribute {
3
+ }
4
+ export interface FileUploadClearTriggerProps extends Assign<HTMLProps<'button'>, FileUploadClearTriggerBaseProps> {
5
+ }
6
+ declare const FileUploadClearTrigger: import("svelte").Component<FileUploadClearTriggerProps, {}, "ref">;
7
+ type FileUploadClearTrigger = ReturnType<typeof FileUploadClearTrigger>;
8
+ export default FileUploadClearTrigger;
@@ -0,0 +1,18 @@
1
+ <script module lang="ts">
2
+ import type { Snippet } from 'svelte'
3
+ import type { UseFileUploadContext } from './use-file-upload-context'
4
+
5
+ export interface FileUploadContextProps {
6
+ render?: Snippet<[UseFileUploadContext]>
7
+ }
8
+ </script>
9
+
10
+ <script lang="ts">
11
+ import { useFileUploadContext } from './use-file-upload-context'
12
+
13
+ const { render }: FileUploadContextProps = $props()
14
+
15
+ const context = useFileUploadContext()
16
+ </script>
17
+
18
+ {@render render?.(context)}
@@ -0,0 +1,8 @@
1
+ import type { Snippet } from 'svelte';
2
+ import type { UseFileUploadContext } from './use-file-upload-context';
3
+ export interface FileUploadContextProps {
4
+ render?: Snippet<[UseFileUploadContext]>;
5
+ }
6
+ declare const FileUploadContext: import("svelte").Component<FileUploadContextProps, {}, "">;
7
+ type FileUploadContext = ReturnType<typeof FileUploadContext>;
8
+ export default FileUploadContext;
@@ -0,0 +1,23 @@
1
+ <script module lang="ts">
2
+ import type { DropzoneProps } from '@sprawlify/primitives/machines/file-upload'
3
+ import type { Assign, HTMLProps, PolymorphicProps, RefAttribute } from '../../types'
4
+
5
+ export interface FileUploadDropzoneBaseProps extends PolymorphicProps<'div'>, DropzoneProps, RefAttribute {}
6
+ export interface FileUploadDropzoneProps extends Assign<HTMLProps<'div'>, FileUploadDropzoneBaseProps> {}
7
+ </script>
8
+
9
+ <script lang="ts">
10
+ import { mergeProps } from '../../core'
11
+ import { createSplitProps } from '../../utils/create-split-props'
12
+ import { Sprawlify } from '../factory'
13
+ import { useFileUploadContext } from './use-file-upload-context'
14
+
15
+ let { ref = $bindable(null), ...props }: FileUploadDropzoneProps = $props()
16
+ const fileUpload = useFileUploadContext()
17
+
18
+ const [dropzoneProps, localProps] = $derived(createSplitProps<DropzoneProps>()(props, ['disableClick']))
19
+
20
+ const mergedProps = $derived(mergeProps(fileUpload().getDropzoneProps(dropzoneProps), localProps))
21
+ </script>
22
+
23
+ <Sprawlify as="div" bind:ref {...mergedProps} />
@@ -0,0 +1,9 @@
1
+ import type { DropzoneProps } from '@sprawlify/primitives/machines/file-upload';
2
+ import type { Assign, HTMLProps, PolymorphicProps, RefAttribute } from '../../types';
3
+ export interface FileUploadDropzoneBaseProps extends PolymorphicProps<'div'>, DropzoneProps, RefAttribute {
4
+ }
5
+ export interface FileUploadDropzoneProps extends Assign<HTMLProps<'div'>, FileUploadDropzoneBaseProps> {
6
+ }
7
+ declare const FileUploadDropzone: import("svelte").Component<FileUploadDropzoneProps, {}, "ref">;
8
+ type FileUploadDropzone = ReturnType<typeof FileUploadDropzone>;
9
+ export default FileUploadDropzone;
@@ -0,0 +1,18 @@
1
+ <script module lang="ts">
2
+ import type { Assign, HTMLProps, PolymorphicProps, RefAttribute } from '../../types'
3
+
4
+ export interface FileUploadHiddenInputBaseProps extends PolymorphicProps<'input'>, RefAttribute {}
5
+ export interface FileUploadHiddenInputProps extends Assign<HTMLProps<'input'>, FileUploadHiddenInputBaseProps> {}
6
+ </script>
7
+
8
+ <script lang="ts">
9
+ import { mergeProps } from '../../core'
10
+ import { Sprawlify } from '../factory'
11
+ import { useFileUploadContext } from './use-file-upload-context'
12
+
13
+ let { ref = $bindable(null), ...props }: FileUploadHiddenInputProps = $props()
14
+ const fileUpload = useFileUploadContext()
15
+ const mergedProps = $derived(mergeProps(fileUpload().getHiddenInputProps(), props))
16
+ </script>
17
+
18
+ <Sprawlify as="input" bind:ref {...mergedProps} />
@@ -0,0 +1,8 @@
1
+ import type { Assign, HTMLProps, PolymorphicProps, RefAttribute } from '../../types';
2
+ export interface FileUploadHiddenInputBaseProps extends PolymorphicProps<'input'>, RefAttribute {
3
+ }
4
+ export interface FileUploadHiddenInputProps extends Assign<HTMLProps<'input'>, FileUploadHiddenInputBaseProps> {
5
+ }
6
+ declare const FileUploadHiddenInput: import("svelte").Component<FileUploadHiddenInputProps, {}, "ref">;
7
+ type FileUploadHiddenInput = ReturnType<typeof FileUploadHiddenInput>;
8
+ export default FileUploadHiddenInput;
@@ -0,0 +1,21 @@
1
+ <script module lang="ts">
2
+ import type { Assign, HTMLProps, PolymorphicProps, RefAttribute } from '../../types'
3
+
4
+ export interface FileUploadItemDeleteTriggerBaseProps extends PolymorphicProps<'button'>, RefAttribute {}
5
+ export interface FileUploadItemDeleteTriggerProps
6
+ extends Assign<HTMLProps<'button'>, FileUploadItemDeleteTriggerBaseProps> {}
7
+ </script>
8
+
9
+ <script lang="ts">
10
+ import { mergeProps } from '../../core'
11
+ import { Sprawlify } from '../factory'
12
+ import { useFileUploadContext } from './use-file-upload-context'
13
+ import { useFileUploadItemPropsContext } from './use-file-upload-item-props-context'
14
+
15
+ let { ref = $bindable(null), ...props }: FileUploadItemDeleteTriggerProps = $props()
16
+ const fileUpload = useFileUploadContext()
17
+ const itemProps = useFileUploadItemPropsContext()
18
+ const mergedProps = $derived(mergeProps(fileUpload().getItemDeleteTriggerProps(itemProps()), props))
19
+ </script>
20
+
21
+ <Sprawlify as="button" bind:ref {...mergedProps} />
@@ -0,0 +1,8 @@
1
+ import type { Assign, HTMLProps, PolymorphicProps, RefAttribute } from '../../types';
2
+ export interface FileUploadItemDeleteTriggerBaseProps extends PolymorphicProps<'button'>, RefAttribute {
3
+ }
4
+ export interface FileUploadItemDeleteTriggerProps extends Assign<HTMLProps<'button'>, FileUploadItemDeleteTriggerBaseProps> {
5
+ }
6
+ declare const FileUploadItemDeleteTrigger: import("svelte").Component<FileUploadItemDeleteTriggerProps, {}, "ref">;
7
+ type FileUploadItemDeleteTrigger = ReturnType<typeof FileUploadItemDeleteTrigger>;
8
+ export default FileUploadItemDeleteTrigger;
@@ -0,0 +1,25 @@
1
+ <script module lang="ts">
2
+ import type { ItemGroupProps } from '@sprawlify/primitives/machines/file-upload'
3
+ import type { Assign, HTMLProps, PolymorphicProps, RefAttribute } from '../../types'
4
+
5
+ export interface FileUploadItemGroupBaseProps extends PolymorphicProps<'div'>, RefAttribute, ItemGroupProps {}
6
+ export interface FileUploadItemGroupProps extends Assign<HTMLProps<'div'>, FileUploadItemGroupBaseProps> {}
7
+ </script>
8
+
9
+ <script lang="ts">
10
+ import { mergeProps } from '../../core'
11
+ import { Sprawlify } from '../factory'
12
+ import { useFileUploadContext } from './use-file-upload-context'
13
+ import { FileUploadItemGroupPropsProvider } from './use-file-upload-item-group-props-context'
14
+ import { createSplitProps } from '../../utils/create-split-props'
15
+
16
+ let { ref = $bindable(null), ...props }: FileUploadItemGroupProps = $props()
17
+ const fileUpload = useFileUploadContext()
18
+
19
+ const [itemGroupProps, localProps] = $derived(createSplitProps<ItemGroupProps>()(props, ['type']))
20
+ const mergedProps = $derived(mergeProps(fileUpload().getItemGroupProps(itemGroupProps), localProps))
21
+
22
+ FileUploadItemGroupPropsProvider(() => itemGroupProps)
23
+ </script>
24
+
25
+ <Sprawlify as="div" bind:ref {...mergedProps} />
@@ -0,0 +1,9 @@
1
+ import type { ItemGroupProps } from '@sprawlify/primitives/machines/file-upload';
2
+ import type { Assign, HTMLProps, PolymorphicProps, RefAttribute } from '../../types';
3
+ export interface FileUploadItemGroupBaseProps extends PolymorphicProps<'div'>, RefAttribute, ItemGroupProps {
4
+ }
5
+ export interface FileUploadItemGroupProps extends Assign<HTMLProps<'div'>, FileUploadItemGroupBaseProps> {
6
+ }
7
+ declare const FileUploadItemGroup: import("svelte").Component<FileUploadItemGroupProps, {}, "ref">;
8
+ type FileUploadItemGroup = ReturnType<typeof FileUploadItemGroup>;
9
+ export default FileUploadItemGroup;
@@ -0,0 +1,26 @@
1
+ <script module lang="ts">
2
+ import type { Assign, HTMLProps, PolymorphicProps, RefAttribute } from '../../types'
3
+
4
+ export interface FileUploadItemNameBaseProps extends PolymorphicProps<'div'>, RefAttribute {}
5
+ export interface FileUploadItemNameProps extends Assign<HTMLProps<'div'>, FileUploadItemNameBaseProps> {}
6
+ </script>
7
+
8
+ <script lang="ts">
9
+ import { mergeProps } from '../../core'
10
+ import { Sprawlify } from '../factory'
11
+ import { useFileUploadContext } from './use-file-upload-context'
12
+ import { useFileUploadItemPropsContext } from './use-file-upload-item-props-context'
13
+
14
+ let { ref = $bindable(null), ...props }: FileUploadItemNameProps = $props()
15
+ const fileUpload = useFileUploadContext()
16
+ const itemProps = useFileUploadItemPropsContext()
17
+ const mergedProps = $derived(mergeProps(fileUpload().getItemNameProps(itemProps()), props))
18
+ </script>
19
+
20
+ <Sprawlify as="div" bind:ref {...mergedProps}>
21
+ {#if props.children}
22
+ {@render props.children?.()}
23
+ {:else}
24
+ {itemProps().file.name}
25
+ {/if}
26
+ </Sprawlify>
@@ -0,0 +1,8 @@
1
+ import type { Assign, HTMLProps, PolymorphicProps, RefAttribute } from '../../types';
2
+ export interface FileUploadItemNameBaseProps extends PolymorphicProps<'div'>, RefAttribute {
3
+ }
4
+ export interface FileUploadItemNameProps extends Assign<HTMLProps<'div'>, FileUploadItemNameBaseProps> {
5
+ }
6
+ declare const FileUploadItemName: import("svelte").Component<FileUploadItemNameProps, {}, "ref">;
7
+ type FileUploadItemName = ReturnType<typeof FileUploadItemName>;
8
+ export default FileUploadItemName;
@@ -0,0 +1,32 @@
1
+ <script module lang="ts">
2
+ import type { Assign, HTMLProps, PolymorphicProps, RefAttribute } from '../../types'
3
+
4
+ export interface FileUploadItemPreviewImageBaseProps extends PolymorphicProps<'img'>, RefAttribute {}
5
+ export interface FileUploadItemPreviewImageProps
6
+ extends Assign<HTMLProps<'img'>, FileUploadItemPreviewImageBaseProps> {}
7
+ </script>
8
+
9
+ <script lang="ts">
10
+ import { mergeProps } from '../../core'
11
+ import { Sprawlify } from '../factory'
12
+ import { useFileUploadContext } from './use-file-upload-context'
13
+ import { useFileUploadItemPropsContext } from './use-file-upload-item-props-context'
14
+
15
+ let { ref = $bindable(null), ...props }: FileUploadItemPreviewImageProps = $props()
16
+
17
+ let url = $state('')
18
+ const fileUpload = useFileUploadContext()
19
+ const itemProps = useFileUploadItemPropsContext()
20
+
21
+ $effect(() => {
22
+ return fileUpload().createFileUrl(itemProps().file, (nextUrl) => {
23
+ url = nextUrl
24
+ })
25
+ })
26
+
27
+ const mergedProps = $derived(mergeProps(fileUpload().getItemPreviewImageProps({ ...itemProps(), url }), props))
28
+ </script>
29
+
30
+ {#if url}
31
+ <Sprawlify as="img" bind:ref {...mergedProps} />
32
+ {/if}
@@ -0,0 +1,8 @@
1
+ import type { Assign, HTMLProps, PolymorphicProps, RefAttribute } from '../../types';
2
+ export interface FileUploadItemPreviewImageBaseProps extends PolymorphicProps<'img'>, RefAttribute {
3
+ }
4
+ export interface FileUploadItemPreviewImageProps extends Assign<HTMLProps<'img'>, FileUploadItemPreviewImageBaseProps> {
5
+ }
6
+ declare const FileUploadItemPreviewImage: import("svelte").Component<FileUploadItemPreviewImageProps, {}, "ref">;
7
+ type FileUploadItemPreviewImage = ReturnType<typeof FileUploadItemPreviewImage>;
8
+ export default FileUploadItemPreviewImage;
@@ -0,0 +1,26 @@
1
+ <script module lang="ts">
2
+ import type { Assign, HTMLProps, PolymorphicProps, RefAttribute } from '../../types'
3
+
4
+ export interface FileUploadItemPreviewBaseProps extends PolymorphicProps<'div'>, RefAttribute {
5
+ type?: string
6
+ }
7
+ export interface FileUploadItemPreviewProps extends Assign<HTMLProps<'div'>, FileUploadItemPreviewBaseProps> {}
8
+ </script>
9
+
10
+ <script lang="ts">
11
+ import { mergeProps } from '../../core'
12
+ import { Sprawlify } from '../factory'
13
+ import { useFileUploadContext } from './use-file-upload-context'
14
+ import { useFileUploadItemPropsContext } from './use-file-upload-item-props-context'
15
+
16
+ let { ref = $bindable(null), type, ...props }: FileUploadItemPreviewProps = $props()
17
+ const fileUpload = useFileUploadContext()
18
+ const itemProps = useFileUploadItemPropsContext()
19
+ const mergedProps = $derived(mergeProps(fileUpload().getItemPreviewProps(itemProps()), props))
20
+
21
+ const shouldRender = $derived(itemProps().file.type.match(type ?? '.*'))
22
+ </script>
23
+
24
+ {#if shouldRender}
25
+ <Sprawlify as="div" bind:ref {...mergedProps} />
26
+ {/if}
@@ -0,0 +1,9 @@
1
+ import type { Assign, HTMLProps, PolymorphicProps, RefAttribute } from '../../types';
2
+ export interface FileUploadItemPreviewBaseProps extends PolymorphicProps<'div'>, RefAttribute {
3
+ type?: string;
4
+ }
5
+ export interface FileUploadItemPreviewProps extends Assign<HTMLProps<'div'>, FileUploadItemPreviewBaseProps> {
6
+ }
7
+ declare const FileUploadItemPreview: import("svelte").Component<FileUploadItemPreviewProps, {}, "ref">;
8
+ type FileUploadItemPreview = ReturnType<typeof FileUploadItemPreview>;
9
+ export default FileUploadItemPreview;
@@ -0,0 +1,26 @@
1
+ <script module lang="ts">
2
+ import type { Assign, HTMLProps, PolymorphicProps, RefAttribute } from '../../types'
3
+
4
+ export interface FileUploadItemSizeTextBaseProps extends PolymorphicProps<'div'>, RefAttribute {}
5
+ export interface FileUploadItemSizeTextProps extends Assign<HTMLProps<'div'>, FileUploadItemSizeTextBaseProps> {}
6
+ </script>
7
+
8
+ <script lang="ts">
9
+ import { mergeProps } from '../../core'
10
+ import { Sprawlify } from '../factory'
11
+ import { useFileUploadContext } from './use-file-upload-context'
12
+ import { useFileUploadItemPropsContext } from './use-file-upload-item-props-context'
13
+
14
+ let { ref = $bindable(null), ...props }: FileUploadItemSizeTextProps = $props()
15
+ const fileUpload = useFileUploadContext()
16
+ const itemProps = useFileUploadItemPropsContext()
17
+ const mergedProps = $derived(mergeProps(fileUpload().getItemSizeTextProps(itemProps()), props))
18
+ </script>
19
+
20
+ <Sprawlify as="div" bind:ref {...mergedProps}>
21
+ {#if props.children}
22
+ {@render props.children?.()}
23
+ {:else}
24
+ {fileUpload().getFileSize(itemProps().file)}
25
+ {/if}
26
+ </Sprawlify>
@@ -0,0 +1,8 @@
1
+ import type { Assign, HTMLProps, PolymorphicProps, RefAttribute } from '../../types';
2
+ export interface FileUploadItemSizeTextBaseProps extends PolymorphicProps<'div'>, RefAttribute {
3
+ }
4
+ export interface FileUploadItemSizeTextProps extends Assign<HTMLProps<'div'>, FileUploadItemSizeTextBaseProps> {
5
+ }
6
+ declare const FileUploadItemSizeText: import("svelte").Component<FileUploadItemSizeTextProps, {}, "ref">;
7
+ type FileUploadItemSizeText = ReturnType<typeof FileUploadItemSizeText>;
8
+ export default FileUploadItemSizeText;
@@ -0,0 +1,32 @@
1
+ <script module lang="ts">
2
+ import type { ItemProps } from '@sprawlify/primitives/machines/file-upload'
3
+ import type { Assign, HTMLProps, PolymorphicProps, RefAttribute } from '../../types'
4
+
5
+ type ItemBaseProps = Omit<ItemProps, 'type'>
6
+
7
+ export interface FileUploadItemBaseProps extends ItemBaseProps, PolymorphicProps<'li'>, RefAttribute {}
8
+ export interface FileUploadItemProps extends Assign<HTMLProps<'li'>, FileUploadItemBaseProps> {}
9
+ </script>
10
+
11
+ <script lang="ts">
12
+ import { mergeProps } from '../../core'
13
+ import { createSplitProps } from '../../utils/create-split-props'
14
+ import { Sprawlify } from '../factory'
15
+ import { useFileUploadContext } from './use-file-upload-context'
16
+ import { FileUploadItemPropsProvider } from './use-file-upload-item-props-context'
17
+ import { useFileUploadItemGroupPropsContext } from './use-file-upload-item-group-props-context'
18
+
19
+ let { ref = $bindable(null), ...props }: FileUploadItemProps = $props()
20
+ const fileUpload = useFileUploadContext()
21
+
22
+ const [itemProps, localProps] = $derived(createSplitProps<ItemBaseProps>()(props, ['file']))
23
+
24
+ const itemGroupProps = useFileUploadItemGroupPropsContext()
25
+ const itemPropsWithType = $derived({ ...itemProps, type: itemGroupProps().type })
26
+
27
+ const mergedProps = $derived(mergeProps(fileUpload().getItemProps(itemPropsWithType), localProps))
28
+
29
+ FileUploadItemPropsProvider(() => itemPropsWithType)
30
+ </script>
31
+
32
+ <Sprawlify as="li" bind:ref {...mergedProps} />
@@ -0,0 +1,10 @@
1
+ import type { ItemProps } from '@sprawlify/primitives/machines/file-upload';
2
+ import type { Assign, HTMLProps, PolymorphicProps, RefAttribute } from '../../types';
3
+ type ItemBaseProps = Omit<ItemProps, 'type'>;
4
+ export interface FileUploadItemBaseProps extends ItemBaseProps, PolymorphicProps<'li'>, RefAttribute {
5
+ }
6
+ export interface FileUploadItemProps extends Assign<HTMLProps<'li'>, FileUploadItemBaseProps> {
7
+ }
8
+ declare const FileUploadItem: import("svelte").Component<FileUploadItemProps, {}, "ref">;
9
+ type FileUploadItem = ReturnType<typeof FileUploadItem>;
10
+ export default FileUploadItem;
@@ -0,0 +1,18 @@
1
+ <script module lang="ts">
2
+ import type { Assign, HTMLProps, PolymorphicProps, RefAttribute } from '../../types'
3
+
4
+ export interface FileUploadLabelBaseProps extends PolymorphicProps<'label'>, RefAttribute {}
5
+ export interface FileUploadLabelProps extends Assign<HTMLProps<'label'>, FileUploadLabelBaseProps> {}
6
+ </script>
7
+
8
+ <script lang="ts">
9
+ import { mergeProps } from '../../core'
10
+ import { Sprawlify } from '../factory'
11
+ import { useFileUploadContext } from './use-file-upload-context'
12
+
13
+ let { ref = $bindable(null), ...props }: FileUploadLabelProps = $props()
14
+ const fileUpload = useFileUploadContext()
15
+ const mergedProps = $derived(mergeProps(fileUpload().getLabelProps(), props))
16
+ </script>
17
+
18
+ <Sprawlify as="label" bind:ref {...mergedProps} />