@skeletonlabs/skeleton-svelte 1.6.0-next.0 → 2.0.0-next.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{composed → components}/accordion/anatomy/accordion-content.svelte +9 -2
- package/dist/components/accordion/anatomy/accordion-content.svelte.d.ts +7 -0
- package/dist/{composed → components}/accordion/anatomy/accordion-heading.svelte +14 -1
- package/dist/components/accordion/anatomy/accordion-heading.svelte.d.ts +13 -0
- package/dist/{composed → components}/accordion/anatomy/accordion-indicator.svelte +9 -2
- package/dist/components/accordion/anatomy/accordion-indicator.svelte.d.ts +7 -0
- package/dist/components/accordion/anatomy/accordion-item-context.svelte +17 -0
- package/dist/components/accordion/anatomy/accordion-item-context.svelte.d.ts +9 -0
- package/dist/components/accordion/anatomy/accordion-item.svelte +45 -0
- package/dist/components/accordion/anatomy/accordion-item.svelte.d.ts +8 -0
- package/dist/components/accordion/anatomy/accordion-root-context.svelte +17 -0
- package/dist/components/accordion/anatomy/accordion-root-context.svelte.d.ts +9 -0
- package/dist/components/accordion/anatomy/accordion-root.svelte +49 -0
- package/dist/components/accordion/anatomy/accordion-root.svelte.d.ts +8 -0
- package/dist/{composed → components}/accordion/anatomy/accordion-trigger.svelte +9 -2
- package/dist/components/accordion/anatomy/accordion-trigger.svelte.d.ts +7 -0
- package/dist/components/accordion/index.d.ts +11 -0
- package/dist/components/accordion/index.js +1 -0
- package/dist/components/accordion/modules/accordion-anatomy.d.ts +9 -0
- package/dist/{composed/accordion/modules/anatomy.js → components/accordion/modules/accordion-anatomy.js} +5 -2
- package/dist/components/accordion/modules/accordion-item-context.d.ts +10 -0
- package/dist/components/accordion/modules/accordion-item-context.js +2 -0
- package/dist/components/accordion/modules/accordion-root-context.d.ts +9 -0
- package/dist/components/accordion/modules/accordion-root-context.js +2 -0
- package/dist/{composed → components}/avatar/anatomy/avatar-fallback.svelte +8 -2
- package/dist/components/avatar/anatomy/avatar-fallback.svelte.d.ts +7 -0
- package/dist/{composed → components}/avatar/anatomy/avatar-image.svelte +8 -2
- package/dist/components/avatar/anatomy/avatar-image.svelte.d.ts +7 -0
- package/dist/components/avatar/anatomy/avatar-root-context.svelte +17 -0
- package/dist/components/avatar/anatomy/avatar-root-context.svelte.d.ts +9 -0
- package/dist/{composed → components}/avatar/anatomy/avatar-root.svelte +13 -6
- package/dist/components/avatar/anatomy/avatar-root.svelte.d.ts +8 -0
- package/dist/components/avatar/index.d.ts +6 -0
- package/dist/components/avatar/index.js +1 -0
- package/dist/components/avatar/modules/avatar-anatomy.d.ts +5 -0
- package/dist/{composed/avatar/modules/anatomy.js → components/avatar/modules/avatar-anatomy.js} +3 -2
- package/dist/components/avatar/modules/avatar-root-context.d.ts +9 -0
- package/dist/components/avatar/modules/avatar-root-context.js +2 -0
- package/dist/components/rating-group/anatomy/rating-group-control.svelte +31 -0
- package/dist/components/rating-group/anatomy/rating-group-control.svelte.d.ts +7 -0
- package/dist/components/rating-group/anatomy/rating-group-hidden-input.svelte +33 -0
- package/dist/components/rating-group/anatomy/rating-group-hidden-input.svelte.d.ts +7 -0
- package/dist/components/rating-group/anatomy/rating-group-item-context.svelte +17 -0
- package/dist/components/rating-group/anatomy/rating-group-item-context.svelte.d.ts +9 -0
- package/dist/components/rating-group/anatomy/rating-group-item.svelte +89 -0
- package/dist/components/rating-group/anatomy/rating-group-item.svelte.d.ts +27 -0
- package/dist/components/rating-group/anatomy/rating-group-label.svelte +31 -0
- package/dist/components/rating-group/anatomy/rating-group-label.svelte.d.ts +7 -0
- package/dist/components/rating-group/anatomy/rating-group-root-context.svelte +17 -0
- package/dist/components/rating-group/anatomy/rating-group-root-context.svelte.d.ts +9 -0
- package/dist/components/rating-group/anatomy/rating-group-root.svelte +52 -0
- package/dist/components/rating-group/anatomy/rating-group-root.svelte.d.ts +8 -0
- package/dist/components/rating-group/index.d.ts +10 -0
- package/dist/components/rating-group/index.js +1 -0
- package/dist/components/rating-group/modules/rating-group-anatomy.d.ts +8 -0
- package/dist/components/rating-group/modules/rating-group-anatomy.js +15 -0
- package/dist/components/rating-group/modules/rating-group-item-context.d.ts +9 -0
- package/dist/components/rating-group/modules/rating-group-item-context.js +2 -0
- package/dist/components/rating-group/modules/rating-group-root-context.d.ts +9 -0
- package/dist/components/rating-group/modules/rating-group-root-context.js +2 -0
- package/dist/components/tabs/anatomy/tabs-content.svelte +36 -0
- package/dist/components/tabs/anatomy/tabs-content.svelte.d.ts +8 -0
- package/dist/components/tabs/anatomy/tabs-indicator.svelte +31 -0
- package/dist/components/tabs/anatomy/tabs-indicator.svelte.d.ts +7 -0
- package/dist/components/tabs/anatomy/tabs-list.svelte +33 -0
- package/dist/components/tabs/anatomy/tabs-list.svelte.d.ts +7 -0
- package/dist/components/tabs/anatomy/tabs-root-context.svelte +17 -0
- package/dist/components/tabs/anatomy/tabs-root-context.svelte.d.ts +9 -0
- package/dist/components/tabs/anatomy/tabs-root.svelte +49 -0
- package/dist/components/tabs/anatomy/tabs-root.svelte.d.ts +8 -0
- package/dist/components/tabs/anatomy/tabs-trigger.svelte +36 -0
- package/dist/components/tabs/anatomy/tabs-trigger.svelte.d.ts +8 -0
- package/dist/components/tabs/index.d.ts +1 -0
- package/dist/components/tabs/index.js +1 -0
- package/dist/components/tabs/modules/tabs-anatomy.d.ts +7 -0
- package/dist/components/tabs/modules/tabs-anatomy.js +13 -0
- package/dist/components/tabs/modules/tabs-root-context.d.ts +9 -0
- package/dist/components/tabs/modules/tabs-root-context.js +2 -0
- package/dist/index.css +2 -0
- package/dist/index.d.ts +4 -21
- package/dist/index.js +4 -29
- package/dist/internal/components/star-empty.svelte +12 -0
- package/dist/internal/components/star-empty.svelte.d.ts +26 -0
- package/dist/internal/components/star-full.svelte +12 -0
- package/dist/internal/components/star-full.svelte.d.ts +26 -0
- package/dist/internal/components/star-half.svelte +19 -0
- package/dist/internal/components/star-half.svelte.d.ts +26 -0
- package/dist/internal/create-context.d.ts +5 -6
- package/dist/internal/create-context.js +10 -9
- package/dist/internal/props-with-element.d.ts +3 -0
- package/package.json +30 -39
- package/dist/components/Accordion/Accordion.svelte +0 -55
- package/dist/components/Accordion/Accordion.svelte.d.ts +0 -5
- package/dist/components/Accordion/AccordionItem.svelte +0 -90
- package/dist/components/Accordion/AccordionItem.svelte.d.ts +0 -5
- package/dist/components/Accordion/context.d.ts +0 -2
- package/dist/components/Accordion/context.js +0 -3
- package/dist/components/Accordion/index.d.ts +0 -4
- package/dist/components/Accordion/index.js +0 -3
- package/dist/components/Accordion/types.d.ts +0 -74
- package/dist/components/Accordion/types.js +0 -1
- package/dist/components/AppBar/AppBar.svelte +0 -72
- package/dist/components/AppBar/AppBar.svelte.d.ts +0 -5
- package/dist/components/AppBar/types.d.ts +0 -61
- package/dist/components/AppBar/types.js +0 -1
- package/dist/components/Avatar/Avatar.svelte +0 -68
- package/dist/components/Avatar/Avatar.svelte.d.ts +0 -5
- package/dist/components/Avatar/types.d.ts +0 -39
- package/dist/components/Avatar/types.js +0 -1
- package/dist/components/Combobox/Combobox.svelte +0 -154
- package/dist/components/Combobox/Combobox.svelte.d.ts +0 -18
- package/dist/components/Combobox/types.d.ts +0 -66
- package/dist/components/Combobox/types.js +0 -1
- package/dist/components/FileUpload/FileUpload.svelte +0 -132
- package/dist/components/FileUpload/FileUpload.svelte.d.ts +0 -5
- package/dist/components/FileUpload/types.d.ts +0 -74
- package/dist/components/FileUpload/types.js +0 -1
- package/dist/components/Modal/Modal.svelte +0 -87
- package/dist/components/Modal/Modal.svelte.d.ts +0 -4
- package/dist/components/Modal/types.d.ts +0 -58
- package/dist/components/Modal/types.js +0 -1
- package/dist/components/Navigation/NavBar.svelte +0 -48
- package/dist/components/Navigation/NavBar.svelte.d.ts +0 -5
- package/dist/components/Navigation/NavRail.svelte +0 -90
- package/dist/components/Navigation/NavRail.svelte.d.ts +0 -5
- package/dist/components/Navigation/NavTile.svelte +0 -87
- package/dist/components/Navigation/NavTile.svelte.d.ts +0 -5
- package/dist/components/Navigation/context.d.ts +0 -2
- package/dist/components/Navigation/context.js +0 -6
- package/dist/components/Navigation/index.d.ts +0 -6
- package/dist/components/Navigation/index.js +0 -4
- package/dist/components/Navigation/types.d.ts +0 -132
- package/dist/components/Navigation/types.js +0 -1
- package/dist/components/Pagination/Pagination.svelte +0 -146
- package/dist/components/Pagination/Pagination.svelte.d.ts +0 -4
- package/dist/components/Pagination/types.d.ts +0 -56
- package/dist/components/Pagination/types.js +0 -1
- package/dist/components/Popover/Popover.svelte +0 -74
- package/dist/components/Popover/Popover.svelte.d.ts +0 -4
- package/dist/components/Popover/types.d.ts +0 -45
- package/dist/components/Popover/types.js +0 -1
- package/dist/components/Progress/Progress.svelte +0 -63
- package/dist/components/Progress/Progress.svelte.d.ts +0 -5
- package/dist/components/Progress/types.d.ts +0 -44
- package/dist/components/Progress/types.js +0 -1
- package/dist/components/ProgressRing/ProgressRing.svelte +0 -98
- package/dist/components/ProgressRing/ProgressRing.svelte.d.ts +0 -5
- package/dist/components/ProgressRing/types.d.ts +0 -56
- package/dist/components/ProgressRing/types.js +0 -1
- package/dist/components/Rating/Rating.svelte +0 -135
- package/dist/components/Rating/Rating.svelte.d.ts +0 -5
- package/dist/components/Rating/index.d.ts +0 -2
- package/dist/components/Rating/index.js +0 -2
- package/dist/components/Rating/types.d.ts +0 -36
- package/dist/components/Rating/types.js +0 -1
- package/dist/components/Segment/Segment.svelte +0 -77
- package/dist/components/Segment/Segment.svelte.d.ts +0 -5
- package/dist/components/Segment/SegmentItem.svelte +0 -40
- package/dist/components/Segment/SegmentItem.svelte.d.ts +0 -5
- package/dist/components/Segment/context.d.ts +0 -2
- package/dist/components/Segment/context.js +0 -6
- package/dist/components/Segment/index.d.ts +0 -4
- package/dist/components/Segment/index.js +0 -3
- package/dist/components/Segment/types.d.ts +0 -64
- package/dist/components/Segment/types.js +0 -1
- package/dist/components/Slider/Slider.svelte +0 -105
- package/dist/components/Slider/Slider.svelte.d.ts +0 -4
- package/dist/components/Slider/types.d.ts +0 -68
- package/dist/components/Slider/types.js +0 -1
- package/dist/components/Switch/Switch.svelte +0 -102
- package/dist/components/Switch/Switch.svelte.d.ts +0 -5
- package/dist/components/Switch/types.d.ts +0 -64
- package/dist/components/Switch/types.js +0 -1
- package/dist/components/Tabs/Tabs.svelte +0 -59
- package/dist/components/Tabs/Tabs.svelte.d.ts +0 -5
- package/dist/components/Tabs/TabsControl.svelte +0 -51
- package/dist/components/Tabs/TabsControl.svelte.d.ts +0 -5
- package/dist/components/Tabs/TabsPanel.svelte +0 -23
- package/dist/components/Tabs/TabsPanel.svelte.d.ts +0 -5
- package/dist/components/Tabs/context.d.ts +0 -2
- package/dist/components/Tabs/context.js +0 -6
- package/dist/components/Tabs/index.d.ts +0 -5
- package/dist/components/Tabs/index.js +0 -4
- package/dist/components/Tabs/types.d.ts +0 -68
- package/dist/components/Tabs/types.js +0 -1
- package/dist/components/TagsInput/TagsInput.svelte +0 -96
- package/dist/components/TagsInput/TagsInput.svelte.d.ts +0 -5
- package/dist/components/TagsInput/types.d.ts +0 -40
- package/dist/components/TagsInput/types.js +0 -1
- package/dist/components/Toast/Toast.svelte +0 -76
- package/dist/components/Toast/Toast.svelte.d.ts +0 -4
- package/dist/components/Toast/Toaster.svelte +0 -72
- package/dist/components/Toast/Toaster.svelte.d.ts +0 -4
- package/dist/components/Toast/create-toaster.d.ts +0 -2
- package/dist/components/Toast/create-toaster.js +0 -4
- package/dist/components/Toast/types.d.ts +0 -47
- package/dist/components/Toast/types.js +0 -1
- package/dist/components/Tooltip/Tooltip.svelte +0 -78
- package/dist/components/Tooltip/Tooltip.svelte.d.ts +0 -4
- package/dist/components/Tooltip/types.d.ts +0 -47
- package/dist/components/Tooltip/types.js +0 -1
- package/dist/composed/accordion/anatomy/accordion-content.svelte.d.ts +0 -4
- package/dist/composed/accordion/anatomy/accordion-heading.svelte.d.ts +0 -4
- package/dist/composed/accordion/anatomy/accordion-indicator.svelte.d.ts +0 -4
- package/dist/composed/accordion/anatomy/accordion-item.svelte +0 -34
- package/dist/composed/accordion/anatomy/accordion-item.svelte.d.ts +0 -4
- package/dist/composed/accordion/anatomy/accordion-root.svelte +0 -39
- package/dist/composed/accordion/anatomy/accordion-root.svelte.d.ts +0 -4
- package/dist/composed/accordion/anatomy/accordion-trigger.svelte.d.ts +0 -4
- package/dist/composed/accordion/index.d.ts +0 -2
- package/dist/composed/accordion/index.js +0 -2
- package/dist/composed/accordion/modules/anatomy.d.ts +0 -8
- package/dist/composed/accordion/modules/context.d.ts +0 -12
- package/dist/composed/accordion/modules/context.js +0 -4
- package/dist/composed/accordion/modules/types.d.ts +0 -29
- package/dist/composed/accordion/modules/types.js +0 -1
- package/dist/composed/avatar/anatomy/avatar-fallback.svelte.d.ts +0 -4
- package/dist/composed/avatar/anatomy/avatar-image.svelte.d.ts +0 -4
- package/dist/composed/avatar/anatomy/avatar-root.svelte.d.ts +0 -4
- package/dist/composed/avatar/index.d.ts +0 -2
- package/dist/composed/avatar/index.js +0 -2
- package/dist/composed/avatar/modules/anatomy.d.ts +0 -5
- package/dist/composed/avatar/modules/context.d.ts +0 -7
- package/dist/composed/avatar/modules/context.js +0 -3
- package/dist/composed/avatar/modules/types.d.ts +0 -14
- package/dist/composed/avatar/modules/types.js +0 -1
- package/dist/composed/index.d.ts +0 -2
- package/dist/composed/index.js +0 -2
- package/dist/internal/create-context-new.d.ts +0 -5
- package/dist/internal/create-context-new.js +0 -13
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
import type { Snippet } from 'svelte';
|
|
2
|
-
import * as fileUpload from '@zag-js/file-upload';
|
|
3
|
-
import type { PropTypes } from '@zag-js/svelte';
|
|
4
|
-
export type FileUploadApi = fileUpload.Api<PropTypes>;
|
|
5
|
-
export interface FileUploadProps extends Omit<fileUpload.Props, 'id'> {
|
|
6
|
-
/** Set the interface text value. */
|
|
7
|
-
label?: string;
|
|
8
|
-
/** Set the interface subtext value. */
|
|
9
|
-
subtext?: string;
|
|
10
|
-
/** Set root base classes */
|
|
11
|
-
base?: string;
|
|
12
|
-
/** Set root arbitrary classes */
|
|
13
|
-
classes?: string;
|
|
14
|
-
/** Set interface base classes */
|
|
15
|
-
interfaceBase?: string;
|
|
16
|
-
/** Set interface background classes */
|
|
17
|
-
interfaceBg?: string;
|
|
18
|
-
/** Set interface border classes */
|
|
19
|
-
interfaceBorder?: string;
|
|
20
|
-
/** Set interface border color classes */
|
|
21
|
-
interfaceBorderColor?: string;
|
|
22
|
-
/** Set interface border classes */
|
|
23
|
-
interfacePadding?: string;
|
|
24
|
-
/** Set interface border radius classes */
|
|
25
|
-
interfaceRounded?: string;
|
|
26
|
-
/** Set interface arbitrary classes */
|
|
27
|
-
interfaceClasses?: string;
|
|
28
|
-
/** Set interface icon classes */
|
|
29
|
-
interfaceIcon?: string;
|
|
30
|
-
/** Set interface text classes */
|
|
31
|
-
interfaceText?: string;
|
|
32
|
-
/** Set interface subtext classes */
|
|
33
|
-
interfaceSubtext?: string;
|
|
34
|
-
/** Set file list base classes */
|
|
35
|
-
filesListBase?: string;
|
|
36
|
-
/** Set file list arbitrary classes */
|
|
37
|
-
filesListClasses?: string;
|
|
38
|
-
/** Set file base classes */
|
|
39
|
-
fileBase?: string;
|
|
40
|
-
/** Set file background classes */
|
|
41
|
-
fileBg?: string;
|
|
42
|
-
/** Set file gap classes */
|
|
43
|
-
fileGap?: string;
|
|
44
|
-
/** Set file padding classes */
|
|
45
|
-
filePadding?: string;
|
|
46
|
-
/** Set file border-radius classes */
|
|
47
|
-
fileRounded?: string;
|
|
48
|
-
/** Set file arbitrary classes */
|
|
49
|
-
fileClasses?: string;
|
|
50
|
-
/** Set file icon classes */
|
|
51
|
-
fileIcon?: string;
|
|
52
|
-
/** Set file name classes */
|
|
53
|
-
fileName?: string;
|
|
54
|
-
/** Set file size classes */
|
|
55
|
-
fileSize?: string;
|
|
56
|
-
/** Set file button classes */
|
|
57
|
-
fileButton?: string;
|
|
58
|
-
/** Set disabled state classes for the root. */
|
|
59
|
-
stateDisabled?: string;
|
|
60
|
-
/** Set invalid state classes for the interface. */
|
|
61
|
-
stateInvalid?: string;
|
|
62
|
-
/** Set dragging state classes for the interface. */
|
|
63
|
-
stateDragging?: string;
|
|
64
|
-
/** The default children content. */
|
|
65
|
-
children?: Snippet;
|
|
66
|
-
/** Provide an icon for the interface. */
|
|
67
|
-
iconInterface?: Snippet;
|
|
68
|
-
/** Provide an icon proceeding each file. */
|
|
69
|
-
iconFile?: Snippet;
|
|
70
|
-
/** Provide an icon for the remove file action. */
|
|
71
|
-
iconFileRemove?: Snippet;
|
|
72
|
-
/** Binds the Zag API for external use. */
|
|
73
|
-
onApiReady?: (api: FileUploadApi) => void;
|
|
74
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import * as fileUpload from '@zag-js/file-upload';
|
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
<script lang="ts">
|
|
2
|
-
import { fly, fade } from 'svelte/transition';
|
|
3
|
-
import * as dialog from '@zag-js/dialog';
|
|
4
|
-
import { portal, normalizeProps, useMachine, mergeProps } from '@zag-js/svelte';
|
|
5
|
-
import type { ModalProps } from './types.js';
|
|
6
|
-
|
|
7
|
-
const {
|
|
8
|
-
// Base
|
|
9
|
-
base = '',
|
|
10
|
-
classes = '',
|
|
11
|
-
zIndex = 'auto',
|
|
12
|
-
// Trigger
|
|
13
|
-
triggerBase = '',
|
|
14
|
-
triggerBackground = '',
|
|
15
|
-
triggerClasses = '',
|
|
16
|
-
triggerAriaLabel = '',
|
|
17
|
-
// Backdrop
|
|
18
|
-
backdropBase = 'fixed top-0 left-0 right-0 bottom-0 z-[998]',
|
|
19
|
-
backdropBackground = 'bg-surface-50/75 dark:bg-surface-950/75',
|
|
20
|
-
backdropClasses = '',
|
|
21
|
-
// Positioner
|
|
22
|
-
positionerBase = 'fixed top-0 left-0 right-0 bottom-0 z-[999]',
|
|
23
|
-
positionerDisplay = 'flex',
|
|
24
|
-
positionerJustify = 'justify-center',
|
|
25
|
-
positionerAlign = 'items-center',
|
|
26
|
-
positionerPadding = 'p-4',
|
|
27
|
-
positionerClasses = '',
|
|
28
|
-
// Content
|
|
29
|
-
contentBase = '',
|
|
30
|
-
contentBackground = '',
|
|
31
|
-
contentClasses = '',
|
|
32
|
-
// Transitions
|
|
33
|
-
transitionsBackdropIn = { duration: 100 },
|
|
34
|
-
transitionsBackdropOut = { duration: 100 },
|
|
35
|
-
transitionsPositionerIn = { y: 50, duration: 200 },
|
|
36
|
-
transitionsPositionerOut = { y: 50, duration: 200 },
|
|
37
|
-
// Snippets
|
|
38
|
-
trigger,
|
|
39
|
-
content,
|
|
40
|
-
// Events
|
|
41
|
-
onclick,
|
|
42
|
-
// Zag ---
|
|
43
|
-
...zagProps
|
|
44
|
-
}: ModalProps = $props();
|
|
45
|
-
|
|
46
|
-
// Zag
|
|
47
|
-
const id = $props.id();
|
|
48
|
-
const service = useMachine(dialog.machine, () => ({
|
|
49
|
-
id: id,
|
|
50
|
-
...zagProps
|
|
51
|
-
}));
|
|
52
|
-
const api = $derived(dialog.connect(service, normalizeProps));
|
|
53
|
-
const triggerProps = $derived(mergeProps(api.getTriggerProps(), { onclick }));
|
|
54
|
-
</script>
|
|
55
|
-
|
|
56
|
-
<span class="{base} {classes}" data-testid="modal">
|
|
57
|
-
<!-- Trigger -->
|
|
58
|
-
{#if trigger}
|
|
59
|
-
<button {...triggerProps} class="{triggerBase} {triggerBackground} {triggerClasses}" type="button" aria-label={triggerAriaLabel}>
|
|
60
|
-
{@render trigger()}
|
|
61
|
-
</button>
|
|
62
|
-
{/if}
|
|
63
|
-
|
|
64
|
-
{#if api.open}
|
|
65
|
-
<!-- Backdrop -->
|
|
66
|
-
<div
|
|
67
|
-
use:portal
|
|
68
|
-
{...api.getBackdropProps()}
|
|
69
|
-
class="{backdropBase} {backdropBackground} {backdropClasses}"
|
|
70
|
-
in:fade={transitionsBackdropIn}
|
|
71
|
-
out:fade={transitionsBackdropOut}
|
|
72
|
-
></div>
|
|
73
|
-
<!-- Positioner -->
|
|
74
|
-
<div
|
|
75
|
-
use:portal
|
|
76
|
-
{...api.getPositionerProps()}
|
|
77
|
-
class="{positionerBase} {positionerDisplay} {positionerJustify} {positionerAlign} {positionerPadding} {positionerClasses}"
|
|
78
|
-
in:fly={transitionsPositionerIn}
|
|
79
|
-
out:fly={transitionsPositionerOut}
|
|
80
|
-
>
|
|
81
|
-
<!-- Content -->
|
|
82
|
-
<div {...api.getContentProps()} class="{contentBase} {contentBackground} {contentClasses}" style="z-index: {zIndex};">
|
|
83
|
-
{@render content?.()}
|
|
84
|
-
</div>
|
|
85
|
-
</div>
|
|
86
|
-
{/if}
|
|
87
|
-
</span>
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
import type { Snippet } from 'svelte';
|
|
2
|
-
import * as dialog from '@zag-js/dialog';
|
|
3
|
-
import type { FlyParams, FadeParams } from 'svelte/transition';
|
|
4
|
-
import type { HTMLButtonAttributes } from 'svelte/elements';
|
|
5
|
-
export interface ModalProps extends Omit<dialog.Props, 'id'> {
|
|
6
|
-
/** Set base classes for the root element. */
|
|
7
|
-
base?: string;
|
|
8
|
-
/** Provide arbitrary classes for the root element. */
|
|
9
|
-
classes?: string;
|
|
10
|
-
/** Set a positioner style for z-index, ex: "10" */
|
|
11
|
-
zIndex?: string;
|
|
12
|
-
/** Set base classes for the trigger. */
|
|
13
|
-
triggerBase?: string;
|
|
14
|
-
/** Set background classes for the trigger. */
|
|
15
|
-
triggerBackground?: string;
|
|
16
|
-
/** Provide arbitrary classes for the trigger. */
|
|
17
|
-
triggerClasses?: string;
|
|
18
|
-
/** Set the aria-label for the trigger. */
|
|
19
|
-
triggerAriaLabel?: string;
|
|
20
|
-
/** Set base classes for the backdrop. */
|
|
21
|
-
backdropBase?: string;
|
|
22
|
-
/** Set background classes for the backdrop. */
|
|
23
|
-
backdropBackground?: string;
|
|
24
|
-
/** Provide arbitrary classes for the backdrop. */
|
|
25
|
-
backdropClasses?: string;
|
|
26
|
-
/** Set base classes for the positioner. */
|
|
27
|
-
positionerBase?: string;
|
|
28
|
-
/** Set display classes for the positioner. */
|
|
29
|
-
positionerDisplay?: string;
|
|
30
|
-
/** Set justify classes for the positioner. */
|
|
31
|
-
positionerJustify?: string;
|
|
32
|
-
/** Set align classes for the positioner. */
|
|
33
|
-
positionerAlign?: string;
|
|
34
|
-
/** Set padding classes for the positioner. */
|
|
35
|
-
positionerPadding?: string;
|
|
36
|
-
/** Provide arbitrary classes for the positioner. */
|
|
37
|
-
positionerClasses?: string;
|
|
38
|
-
/** Set base classes for the content. */
|
|
39
|
-
contentBase?: string;
|
|
40
|
-
/** Set background classes for the content. */
|
|
41
|
-
contentBackground?: string;
|
|
42
|
-
/** Provide arbitrary classes for the content. */
|
|
43
|
-
contentClasses?: string;
|
|
44
|
-
/** Provide transition for backdrop in */
|
|
45
|
-
transitionsBackdropIn?: FadeParams;
|
|
46
|
-
/** Provide transition for backdrop out */
|
|
47
|
-
transitionsBackdropOut?: FadeParams;
|
|
48
|
-
/** Provide transition for dialog in */
|
|
49
|
-
transitionsPositionerIn?: FlyParams;
|
|
50
|
-
/** Provide transition for dialog out */
|
|
51
|
-
transitionsPositionerOut?: FlyParams;
|
|
52
|
-
/** Provide the template contents inside the trigger button. */
|
|
53
|
-
trigger?: Snippet;
|
|
54
|
-
/** Provide the template contents of the dialog itself. */
|
|
55
|
-
content?: Snippet;
|
|
56
|
-
/** Handle the dialog button click event. */
|
|
57
|
-
onclick?: HTMLButtonAttributes['onclick'];
|
|
58
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import * as dialog from '@zag-js/dialog';
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
<script lang="ts">
|
|
2
|
-
import type { NavBarProps } from './types.js';
|
|
3
|
-
import { setNavigationContext } from './context.js';
|
|
4
|
-
|
|
5
|
-
const {
|
|
6
|
-
value,
|
|
7
|
-
// Root
|
|
8
|
-
base = 'flex flex-col',
|
|
9
|
-
background = 'preset-filled-surface-100-900',
|
|
10
|
-
width = 'min-w-[320px] w-full',
|
|
11
|
-
height = 'h-20',
|
|
12
|
-
padding = 'p-1',
|
|
13
|
-
classes = '',
|
|
14
|
-
// Tiles
|
|
15
|
-
tilesBase = 'flex-1 flex',
|
|
16
|
-
tilesFlexDirection = '',
|
|
17
|
-
tilesJustify = 'justify-center',
|
|
18
|
-
tilesItems = 'items-center',
|
|
19
|
-
tilesGap = 'gap-1',
|
|
20
|
-
tilesClasses = '',
|
|
21
|
-
// Events
|
|
22
|
-
onValueChange,
|
|
23
|
-
// Snippets
|
|
24
|
-
children
|
|
25
|
-
}: NavBarProps = $props();
|
|
26
|
-
|
|
27
|
-
// Context
|
|
28
|
-
setNavigationContext({
|
|
29
|
-
parent: 'bar',
|
|
30
|
-
get value() {
|
|
31
|
-
return value;
|
|
32
|
-
},
|
|
33
|
-
expanded: false,
|
|
34
|
-
get onValueChange() {
|
|
35
|
-
return onValueChange;
|
|
36
|
-
}
|
|
37
|
-
});
|
|
38
|
-
</script>
|
|
39
|
-
|
|
40
|
-
<!-- @component Provides a horizontal navigation interface. -->
|
|
41
|
-
|
|
42
|
-
<aside class="{base} {background} {width} {height} {padding} {classes}" data-testid="nav-bar">
|
|
43
|
-
{#if children}
|
|
44
|
-
<nav class="{tilesBase} {tilesFlexDirection} {tilesJustify} {tilesItems} {tilesGap} {tilesClasses}" data-testid="nav-bar-tileset">
|
|
45
|
-
{@render children()}
|
|
46
|
-
</nav>
|
|
47
|
-
{/if}
|
|
48
|
-
</aside>
|
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
<script lang="ts">
|
|
2
|
-
import { setNavigationContext } from './context.js';
|
|
3
|
-
import type { NavRailProps } from './types.js';
|
|
4
|
-
|
|
5
|
-
const {
|
|
6
|
-
value = '',
|
|
7
|
-
expanded = false,
|
|
8
|
-
// Root
|
|
9
|
-
base = 'h-full flex flex-col',
|
|
10
|
-
background = 'preset-filled-surface-100-900',
|
|
11
|
-
padding = 'p-1',
|
|
12
|
-
width = 'w-24',
|
|
13
|
-
widthExpanded = 'w-64',
|
|
14
|
-
height = 'h-full',
|
|
15
|
-
classes = '',
|
|
16
|
-
// Header
|
|
17
|
-
headerBase = 'flex',
|
|
18
|
-
headerFlexDirection = 'flex-col',
|
|
19
|
-
headerJustify = 'justify-center',
|
|
20
|
-
headerItems = 'items-center',
|
|
21
|
-
headerGap = 'gap-1',
|
|
22
|
-
headerClasses = '',
|
|
23
|
-
// Tiles
|
|
24
|
-
tilesBase = 'flex-1 flex',
|
|
25
|
-
tilesFlexDirection = 'flex-col',
|
|
26
|
-
tilesJustify = 'justify-center',
|
|
27
|
-
tilesItems = 'items-center',
|
|
28
|
-
tilesGap = 'gap-1',
|
|
29
|
-
tilesClasses = '',
|
|
30
|
-
// Footer
|
|
31
|
-
footerBase = 'flex',
|
|
32
|
-
footerFlexDirection = 'flex-col',
|
|
33
|
-
footerJustify = 'justify-center',
|
|
34
|
-
footerItems = 'items-center',
|
|
35
|
-
footerGap = 'gap-1',
|
|
36
|
-
footerClasses = '',
|
|
37
|
-
// Events
|
|
38
|
-
onValueChange,
|
|
39
|
-
// Snippets
|
|
40
|
-
header,
|
|
41
|
-
tiles,
|
|
42
|
-
footer
|
|
43
|
-
}: NavRailProps = $props();
|
|
44
|
-
|
|
45
|
-
// Context
|
|
46
|
-
setNavigationContext({
|
|
47
|
-
parent: 'rail',
|
|
48
|
-
get value() {
|
|
49
|
-
return value;
|
|
50
|
-
},
|
|
51
|
-
get expanded() {
|
|
52
|
-
return expanded;
|
|
53
|
-
},
|
|
54
|
-
get onValueChange() {
|
|
55
|
-
return onValueChange;
|
|
56
|
-
}
|
|
57
|
-
});
|
|
58
|
-
|
|
59
|
-
// Reactive
|
|
60
|
-
let rxWidth = $derived(expanded ? widthExpanded : width);
|
|
61
|
-
</script>
|
|
62
|
-
|
|
63
|
-
<!-- @component Provides a vertical navigation interface. -->
|
|
64
|
-
|
|
65
|
-
<aside class="{base} {background} {height} {padding} {rxWidth} {classes}" data-testid="nav-rail">
|
|
66
|
-
<!-- Header -->
|
|
67
|
-
{#if header}
|
|
68
|
-
<header
|
|
69
|
-
class="{headerBase} {headerFlexDirection} {headerJustify} {headerItems} {headerGap} {headerClasses}"
|
|
70
|
-
data-testid="nav-rail-header"
|
|
71
|
-
>
|
|
72
|
-
{@render header()}
|
|
73
|
-
</header>
|
|
74
|
-
{/if}
|
|
75
|
-
<!-- Tiles -->
|
|
76
|
-
{#if tiles}
|
|
77
|
-
<nav class="{tilesBase} {tilesFlexDirection} {tilesJustify} {tilesItems} {tilesGap} {tilesClasses}" data-testid="nav-rail-tiles">
|
|
78
|
-
{@render tiles()}
|
|
79
|
-
</nav>
|
|
80
|
-
{/if}
|
|
81
|
-
<!-- Footer -->
|
|
82
|
-
{#if footer}
|
|
83
|
-
<footer
|
|
84
|
-
class="{footerBase} {footerFlexDirection} {footerJustify} {footerItems} {footerGap} {footerClasses}"
|
|
85
|
-
data-testid="nav-rail-footer"
|
|
86
|
-
>
|
|
87
|
-
{@render footer()}
|
|
88
|
-
</footer>
|
|
89
|
-
{/if}
|
|
90
|
-
</aside>
|
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
<script lang="ts">
|
|
2
|
-
import { getNavigationContext } from './context.js';
|
|
3
|
-
import type { NavTileProps } from './types.js';
|
|
4
|
-
|
|
5
|
-
const propsId = $props.id();
|
|
6
|
-
|
|
7
|
-
const {
|
|
8
|
-
id = propsId,
|
|
9
|
-
href,
|
|
10
|
-
target,
|
|
11
|
-
label,
|
|
12
|
-
labelExpanded,
|
|
13
|
-
title,
|
|
14
|
-
selected = undefined,
|
|
15
|
-
type = 'button',
|
|
16
|
-
// Root
|
|
17
|
-
base = 'flex items-center',
|
|
18
|
-
width = 'w-full',
|
|
19
|
-
aspect = 'aspect-square',
|
|
20
|
-
background = '',
|
|
21
|
-
hover = 'hover:preset-filled-surface-50-950',
|
|
22
|
-
active = 'preset-filled-primary-500',
|
|
23
|
-
padding = 'p-2',
|
|
24
|
-
gap = 'gap-1',
|
|
25
|
-
rounded = 'rounded-container',
|
|
26
|
-
classes = 'flex-col justify-center',
|
|
27
|
-
// Expanded
|
|
28
|
-
expandedPadding = 'py-3 px-4',
|
|
29
|
-
expandedGap = 'gap-4',
|
|
30
|
-
expandedClasses = '',
|
|
31
|
-
// Label (base)
|
|
32
|
-
labelBase = 'text-xs',
|
|
33
|
-
labelClasses = '',
|
|
34
|
-
// Label (expanded)
|
|
35
|
-
labelExpandedBase = '',
|
|
36
|
-
labelExpandedClasses = '',
|
|
37
|
-
// Events
|
|
38
|
-
onclick,
|
|
39
|
-
// Snippets
|
|
40
|
-
children
|
|
41
|
-
}: NavTileProps = $props();
|
|
42
|
-
|
|
43
|
-
// Context
|
|
44
|
-
const ctx = getNavigationContext();
|
|
45
|
-
|
|
46
|
-
// Reactive
|
|
47
|
-
const element = $derived(href ? 'a' : 'button');
|
|
48
|
-
const role = $derived(href ? undefined : 'button');
|
|
49
|
-
const rxSize = $derived(ctx.parent === 'bar' ? `h-full` : `${aspect}`);
|
|
50
|
-
const classesCollapsed = $derived(`${rxSize} ${padding} ${gap} ${classes}`);
|
|
51
|
-
const classesExtended = $derived(`${expandedPadding} ${expandedGap} ${expandedClasses}`);
|
|
52
|
-
const rxMode = $derived(ctx.expanded ? classesExtended : classesCollapsed);
|
|
53
|
-
const isActive = $derived(selected !== undefined ? selected : ctx.value === id);
|
|
54
|
-
const rxBackground = $derived(isActive ? active : `${background} ${hover}`);
|
|
55
|
-
|
|
56
|
-
function onClickHandler() {
|
|
57
|
-
if (onclick && !id) throw new Error('No ID was provided');
|
|
58
|
-
if (onclick && id) onclick(id);
|
|
59
|
-
ctx.onValueChange?.(id);
|
|
60
|
-
}
|
|
61
|
-
</script>
|
|
62
|
-
|
|
63
|
-
<!-- @component An individual Navigation component tile. -->
|
|
64
|
-
|
|
65
|
-
<svelte:element
|
|
66
|
-
this={element}
|
|
67
|
-
class="{base} {width} {rounded} {rxBackground} {rxMode}"
|
|
68
|
-
{href}
|
|
69
|
-
{target}
|
|
70
|
-
type={element === 'button' ? type : undefined}
|
|
71
|
-
{title}
|
|
72
|
-
{role}
|
|
73
|
-
onclick={onClickHandler}
|
|
74
|
-
tabindex="0"
|
|
75
|
-
data-testid="nav-tile"
|
|
76
|
-
>
|
|
77
|
-
<!-- Icon -->
|
|
78
|
-
{#if children}<div>{@render children()}</div>{/if}
|
|
79
|
-
<!-- Label (base) -->
|
|
80
|
-
{#if label && !ctx.expanded}
|
|
81
|
-
<div class="{labelBase} {labelClasses}" data-testid="nav-tile-label">{label}</div>
|
|
82
|
-
{/if}
|
|
83
|
-
<!-- Label (expanded) -->
|
|
84
|
-
{#if labelExpanded && ctx.expanded}
|
|
85
|
-
<div class="{labelExpandedBase} {labelExpandedClasses}" data-testid="nav-tile-label-expanded">{labelExpanded}</div>
|
|
86
|
-
{/if}
|
|
87
|
-
</svelte:element>
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
declare const _default: import("svelte").Component<import("./types").NavRailProps, {}, ""> & {
|
|
2
|
-
Rail: import("svelte").Component<import("./types").NavRailProps, {}, "">;
|
|
3
|
-
Bar: import("svelte").Component<import("./types").NavBarProps, {}, "">;
|
|
4
|
-
Tile: import("svelte").Component<import("./types").NavTileProps, {}, "">;
|
|
5
|
-
};
|
|
6
|
-
export default _default;
|
|
@@ -1,132 +0,0 @@
|
|
|
1
|
-
import type { Snippet } from 'svelte';
|
|
2
|
-
export interface NavContext {
|
|
3
|
-
parent: 'bar' | 'rail' | 'none';
|
|
4
|
-
value?: string;
|
|
5
|
-
expanded: boolean;
|
|
6
|
-
onValueChange?: (id: string) => void;
|
|
7
|
-
}
|
|
8
|
-
export interface NavCommonProps {
|
|
9
|
-
value?: string;
|
|
10
|
-
/** Set base styles. */
|
|
11
|
-
base?: string;
|
|
12
|
-
/** Set background classes. */
|
|
13
|
-
background?: string;
|
|
14
|
-
/** Set padding classes. */
|
|
15
|
-
padding?: string;
|
|
16
|
-
/** Set width classes. */
|
|
17
|
-
width?: string;
|
|
18
|
-
/** Set width classes for expanded mode. */
|
|
19
|
-
widthExpanded?: string;
|
|
20
|
-
/** Set width classes. */
|
|
21
|
-
height?: string;
|
|
22
|
-
/** Provide arbitrary CSS classes. */
|
|
23
|
-
classes?: string;
|
|
24
|
-
/** Set base classes. */
|
|
25
|
-
tilesBase?: string;
|
|
26
|
-
/** Set flex direction classes. */
|
|
27
|
-
tilesFlexDirection?: string;
|
|
28
|
-
/** Set flex justify classes. */
|
|
29
|
-
tilesJustify?: string;
|
|
30
|
-
/** Set flex align classes. */
|
|
31
|
-
tilesItems?: string;
|
|
32
|
-
/** Set gap classes. */
|
|
33
|
-
tilesGap?: string;
|
|
34
|
-
/** Provide arbitrary CSS classes. */
|
|
35
|
-
tilesClasses?: string;
|
|
36
|
-
/** Triggers when selection occurs. */
|
|
37
|
-
onValueChange?: (id: string) => void;
|
|
38
|
-
}
|
|
39
|
-
export interface NavBarProps extends NavCommonProps {
|
|
40
|
-
/** The default children snippet. */
|
|
41
|
-
children?: Snippet;
|
|
42
|
-
}
|
|
43
|
-
export interface NavRailProps extends NavCommonProps {
|
|
44
|
-
/** Enabled expanded mode. */
|
|
45
|
-
expanded?: boolean;
|
|
46
|
-
/** Set base classes. */
|
|
47
|
-
headerBase?: string;
|
|
48
|
-
/** Set flex direction classes. */
|
|
49
|
-
headerFlexDirection?: string;
|
|
50
|
-
/** Set flex justify classes. */
|
|
51
|
-
headerJustify?: string;
|
|
52
|
-
/** Set flex align classes. */
|
|
53
|
-
headerItems?: string;
|
|
54
|
-
/** Set gap classes. */
|
|
55
|
-
headerGap?: string;
|
|
56
|
-
/** Provide arbitrary CSS classes. */
|
|
57
|
-
headerClasses?: string;
|
|
58
|
-
/** Set base classes. */
|
|
59
|
-
footerBase?: string;
|
|
60
|
-
/** Set flex direction classes. */
|
|
61
|
-
footerFlexDirection?: string;
|
|
62
|
-
/** Set flex justify classes. */
|
|
63
|
-
footerJustify?: string;
|
|
64
|
-
/** Set flex align classes. */
|
|
65
|
-
footerItems?: string;
|
|
66
|
-
/** Set gap classes. */
|
|
67
|
-
footerGap?: string;
|
|
68
|
-
/** Provide arbitrary CSS classes. */
|
|
69
|
-
footerClasses?: string;
|
|
70
|
-
/** The header snippet. */
|
|
71
|
-
header?: Snippet;
|
|
72
|
-
/** The tiles snippet. */
|
|
73
|
-
tiles?: Snippet;
|
|
74
|
-
/** The footer snippet. */
|
|
75
|
-
footer?: Snippet;
|
|
76
|
-
}
|
|
77
|
-
export interface NavTileProps {
|
|
78
|
-
/** Provide a unique ID. */
|
|
79
|
-
id?: string;
|
|
80
|
-
/** Provide an href link; turns Tiles into an anchor */
|
|
81
|
-
href?: string;
|
|
82
|
-
/** Set the href target attribute. */
|
|
83
|
-
target?: string;
|
|
84
|
-
/** Provide the label text. */
|
|
85
|
-
label?: string;
|
|
86
|
-
/** Provide a longer label in expanded mode. */
|
|
87
|
-
labelExpanded?: string;
|
|
88
|
-
/** Provile a title attribute. */
|
|
89
|
-
title?: string;
|
|
90
|
-
/** Enable the active selected state. */
|
|
91
|
-
selected?: boolean;
|
|
92
|
-
/** Set button type. */
|
|
93
|
-
type?: 'button' | 'submit' | 'reset';
|
|
94
|
-
/** Set base styles. */
|
|
95
|
-
base?: string;
|
|
96
|
-
/** Set width classes. */
|
|
97
|
-
width?: string;
|
|
98
|
-
/** Set aspect ratio classes. */
|
|
99
|
-
aspect?: string;
|
|
100
|
-
/** Set background classes. */
|
|
101
|
-
background?: string;
|
|
102
|
-
/** Set hover classes. */
|
|
103
|
-
hover?: string;
|
|
104
|
-
/** Set active classes. */
|
|
105
|
-
active?: string;
|
|
106
|
-
/** Set padding classes. */
|
|
107
|
-
padding?: string;
|
|
108
|
-
/** Set gap classes. */
|
|
109
|
-
gap?: string;
|
|
110
|
-
/** Set rounded classes. */
|
|
111
|
-
rounded?: string;
|
|
112
|
-
/** Provide arbitrary CSS classes. */
|
|
113
|
-
classes?: string;
|
|
114
|
-
/** Set padding classes for expanded mode. */
|
|
115
|
-
expandedPadding?: string;
|
|
116
|
-
/** Set gap classes for expanded mode. */
|
|
117
|
-
expandedGap?: string;
|
|
118
|
-
/** Provide arbitrary CSS classes for expanded mode. */
|
|
119
|
-
expandedClasses?: string;
|
|
120
|
-
/** Set base classes. */
|
|
121
|
-
labelBase?: string;
|
|
122
|
-
/** Provide arbitrary CSS classes. */
|
|
123
|
-
labelClasses?: string;
|
|
124
|
-
/** Set base classes. */
|
|
125
|
-
labelExpandedBase?: string;
|
|
126
|
-
/** Provide arbitrary CSS classes. */
|
|
127
|
-
labelExpandedClasses?: string;
|
|
128
|
-
/** Triggers when the tile is clicked. */
|
|
129
|
-
onclick?: (id: string) => void;
|
|
130
|
-
/** The default slot, used for icons. */
|
|
131
|
-
children?: Snippet;
|
|
132
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|