@noxlovette/material 0.3.3 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -0
- package/dist/actions/index.d.ts +1 -0
- package/dist/actions/index.js +1 -0
- package/dist/actions/rovingFocusGroup.d.ts +20 -0
- package/dist/actions/rovingFocusGroup.js +82 -0
- package/dist/components/badge/theme.d.ts +8 -8
- package/dist/components/buttons/button-group/ButtonGroup.stories.svelte +83 -0
- package/dist/components/buttons/button-group/ButtonGroup.stories.svelte.d.ts +19 -0
- package/dist/components/buttons/button-group/ButtonGroup.svelte +10 -29
- package/dist/components/buttons/button-group/ButtonGroup.svelte.d.ts +7 -3
- package/dist/components/buttons/button-group/index.d.ts +0 -1
- package/dist/components/buttons/button-group/index.js +3 -1
- package/dist/components/buttons/button-group/theme.d.ts +17 -103
- package/dist/components/buttons/button-group/theme.js +7 -35
- package/dist/components/buttons/button-group/types.d.ts +9 -20
- package/dist/components/buttons/connected/ConnectedButtonGroup.stories.svelte +118 -0
- package/dist/components/buttons/connected/ConnectedButtonGroup.stories.svelte.d.ts +19 -0
- package/dist/components/buttons/connected/ConnectedButtonGroup.svelte +52 -0
- package/dist/components/buttons/connected/ConnectedButtonGroup.svelte.d.ts +12 -0
- package/dist/components/buttons/connected/ConnectedButtonGroupItem.svelte +37 -0
- package/dist/components/buttons/connected/ConnectedButtonGroupItem.svelte.d.ts +9 -0
- package/dist/components/buttons/connected/index.d.ts +3 -1
- package/dist/components/buttons/connected/index.js +3 -1
- package/dist/components/buttons/connected/theme.d.ts +125 -0
- package/dist/components/buttons/connected/theme.js +38 -0
- package/dist/components/buttons/connected/types.d.ts +32 -13
- package/dist/components/buttons/index.d.ts +1 -0
- package/dist/components/buttons/index.js +1 -0
- package/dist/components/buttons/split-button/SplitButton.stories.svelte +103 -0
- package/dist/components/buttons/split-button/SplitButton.stories.svelte.d.ts +19 -0
- package/dist/components/buttons/split-button/SplitButton.svelte +104 -0
- package/dist/components/buttons/split-button/SplitButton.svelte.d.ts +19 -0
- package/dist/components/buttons/split-button/index.d.ts +3 -0
- package/dist/components/{containers/panes → buttons/split-button}/index.js +1 -3
- package/dist/components/buttons/split-button/theme.d.ts +35 -0
- package/dist/components/buttons/split-button/theme.js +26 -0
- package/dist/components/buttons/split-button/types.d.ts +33 -0
- package/dist/components/buttons/theme.d.ts +142 -142
- package/dist/components/buttons/theme.js +2 -2
- package/dist/components/cards/Card.stories.svelte +58 -0
- package/dist/components/cards/Card.stories.svelte.d.ts +2 -17
- package/dist/components/cards/Card.svelte +76 -8
- package/dist/components/cards/theme.d.ts +26 -14
- package/dist/components/cards/theme.js +5 -1
- package/dist/components/cards/types.d.ts +39 -1
- package/dist/components/chips/Chip.stories.svelte +64 -0
- package/dist/components/chips/Chip.stories.svelte.d.ts +19 -0
- package/dist/components/chips/Chip.svelte +115 -0
- package/dist/components/chips/Chip.svelte.d.ts +14 -0
- package/dist/components/chips/index.d.ts +3 -0
- package/dist/components/{containers/merger → chips}/index.js +2 -1
- package/dist/components/chips/theme.d.ts +78 -0
- package/dist/components/chips/theme.js +72 -0
- package/dist/components/chips/types.d.ts +43 -0
- package/dist/components/containers/action-rail/ActionRail.stories.svelte +36 -0
- package/dist/components/containers/{panes/SinglePane.stories.svelte.d.ts → action-rail/ActionRail.stories.svelte.d.ts} +4 -4
- package/dist/components/containers/action-rail/ActionRail.svelte +35 -0
- package/dist/components/containers/action-rail/ActionRail.svelte.d.ts +17 -0
- package/dist/components/containers/action-rail/index.d.ts +3 -0
- package/dist/components/containers/action-rail/index.js +6 -0
- package/dist/components/containers/action-rail/theme.d.ts +45 -0
- package/dist/components/containers/action-rail/theme.js +26 -0
- package/dist/components/containers/action-rail/types.d.ts +20 -0
- package/dist/components/containers/action-rail/types.js +1 -0
- package/dist/components/containers/app/App.svelte +6 -6
- package/dist/components/containers/app/App.svelte.d.ts +4 -2
- package/dist/components/containers/app/theme.d.ts +1 -1
- package/dist/components/containers/app/types.d.ts +9 -4
- package/dist/components/containers/bottom-sheet/BottomSheet.stories.svelte +1 -1
- package/dist/components/containers/bottom-sheet/BottomSheet.svelte +1 -1
- package/dist/components/containers/context-menu/ContextMenu.stories.svelte +44 -0
- package/dist/components/containers/context-menu/ContextMenu.svelte +21 -5
- package/dist/components/containers/context-menu/ContextMenu.svelte.d.ts +11 -0
- package/dist/components/containers/context-menu/theme.d.ts +20 -2
- package/dist/components/containers/context-menu/theme.js +31 -8
- package/dist/components/containers/context-menu/types.d.ts +14 -2
- package/dist/components/containers/dialogue/theme.d.ts +20 -20
- package/dist/components/containers/divider/theme.d.ts +17 -17
- package/dist/components/containers/index.d.ts +2 -3
- package/dist/components/containers/index.js +2 -3
- package/dist/components/containers/link-preview/theme.d.ts +11 -11
- package/dist/components/containers/list/theme.d.ts +14 -14
- package/dist/components/containers/list/theme.js +1 -1
- package/dist/components/containers/menu/Menu.stories.svelte +105 -3
- package/dist/components/containers/menu/Menu.stories.svelte.d.ts +2 -17
- package/dist/components/containers/menu/Menu.svelte +9 -7
- package/dist/components/containers/menu/MenuCheckboxItem.svelte +55 -0
- package/dist/components/containers/menu/MenuCheckboxItem.svelte.d.ts +25 -0
- package/dist/components/containers/menu/MenuGroup.svelte +43 -0
- package/dist/components/containers/menu/MenuGroup.svelte.d.ts +28 -0
- package/dist/components/containers/menu/MenuRadioGroup.svelte +39 -0
- package/dist/components/containers/menu/MenuRadioGroup.svelte.d.ts +27 -0
- package/dist/components/containers/menu/MenuRadioItem.svelte +49 -0
- package/dist/components/containers/menu/MenuRadioItem.svelte.d.ts +17 -0
- package/dist/components/containers/menu/MenuSub.svelte +91 -0
- package/dist/components/containers/menu/MenuSub.svelte.d.ts +29 -0
- package/dist/components/containers/menu/index.d.ts +7 -0
- package/dist/components/containers/menu/index.js +8 -0
- package/dist/components/containers/menu/menu-item/MenuItem.svelte +71 -0
- package/dist/components/containers/{menu-item → menu/menu-item}/MenuItem.svelte.d.ts +2 -1
- package/dist/components/containers/{menu-item → menu/menu-item}/types.d.ts +5 -1
- package/dist/components/containers/menu/menu-item/types.js +1 -0
- package/dist/components/containers/menu/theme.d.ts +68 -0
- package/dist/components/containers/menu/theme.js +36 -0
- package/dist/components/containers/menu/types.d.ts +113 -2
- package/dist/components/containers/pane/DraggablePane.stories.svelte +199 -0
- package/dist/components/containers/pane/DraggablePane.stories.svelte.d.ts +4 -0
- package/dist/components/containers/pane/DraggablePane.svelte +533 -0
- package/dist/components/containers/pane/DraggablePane.svelte.d.ts +29 -0
- package/dist/components/containers/pane/Pane.stories.svelte +104 -0
- package/dist/components/containers/pane/Pane.stories.svelte.d.ts +19 -0
- package/dist/components/containers/pane/Pane.svelte +78 -0
- package/dist/components/containers/pane/Pane.svelte.d.ts +18 -0
- package/dist/components/containers/pane/PaneGrid.stories.svelte +134 -0
- package/dist/components/containers/pane/PaneGrid.stories.svelte.d.ts +19 -0
- package/dist/components/containers/pane/PaneGrid.svelte +43 -0
- package/dist/components/containers/pane/PaneGrid.svelte.d.ts +13 -0
- package/dist/components/containers/pane/PaneHandle.svelte +90 -0
- package/dist/components/containers/pane/PaneHandle.svelte.d.ts +12 -0
- package/dist/components/containers/pane/dragStore.svelte.d.ts +16 -0
- package/dist/components/containers/pane/dragStore.svelte.js +38 -0
- package/dist/components/containers/pane/index.d.ts +8 -0
- package/dist/components/containers/pane/index.js +11 -0
- package/dist/components/containers/pane/resizeStore.svelte.d.ts +10 -0
- package/dist/components/containers/pane/resizeStore.svelte.js +30 -0
- package/dist/components/containers/pane/theme.d.ts +571 -0
- package/dist/components/containers/pane/theme.js +211 -0
- package/dist/components/containers/pane/types.d.ts +249 -0
- package/dist/components/containers/pane/types.js +1 -0
- package/dist/components/containers/popover/Popover.stories.svelte +4 -4
- package/dist/components/containers/popover/Popover.svelte +3 -1
- package/dist/components/containers/popover/theme.d.ts +20 -20
- package/dist/components/containers/popover/types.d.ts +6 -2
- package/dist/components/containers/scroll-area/theme.d.ts +2 -2
- package/dist/components/containers/side-sheet/SideSheet.stories.svelte +16 -24
- package/dist/components/containers/side-sheet/SideSheet.svelte +73 -7
- package/dist/components/containers/side-sheet/SideSheet.svelte.d.ts +5 -0
- package/dist/components/containers/stack/theme.d.ts +44 -44
- package/dist/components/date/DateField.stories.svelte +57 -0
- package/dist/components/{containers/panes/SplitPane.stories.svelte.d.ts → date/DateField.stories.svelte.d.ts} +4 -4
- package/dist/components/date/DateField.svelte +11 -2
- package/dist/components/date/DateRangeField.stories.svelte +53 -0
- package/dist/components/{containers/panes/SupportingPane.stories.svelte.d.ts → date/DateRangeField.stories.svelte.d.ts} +4 -4
- package/dist/components/date/DateRangeField.svelte +2 -1
- package/dist/components/date/theme.d.ts +73 -4
- package/dist/components/date/theme.js +95 -26
- package/dist/components/date/types.d.ts +5 -0
- package/dist/components/forms/checkbox/Checkbox.svelte +7 -9
- package/dist/components/forms/checkbox/theme.d.ts +8 -8
- package/dist/components/forms/checkbox/theme.js +31 -9
- package/dist/components/forms/command/theme.d.ts +35 -35
- package/dist/components/forms/pin/theme.d.ts +2 -2
- package/dist/components/forms/radio-group/theme.d.ts +2 -2
- package/dist/components/forms/search/theme.d.ts +8 -8
- package/dist/components/forms/select/Select.svelte +3 -2
- package/dist/components/forms/select/theme.d.ts +26 -2
- package/dist/components/forms/select/theme.js +56 -22
- package/dist/components/forms/slider/theme.d.ts +20 -20
- package/dist/components/forms/switch/theme.d.ts +2 -2
- package/dist/components/forms/textfield/Textfield.stories.svelte +22 -0
- package/dist/components/forms/textfield/Textfield.svelte +10 -1
- package/dist/components/forms/textfield/theme.d.ts +44 -2
- package/dist/components/forms/textfield/theme.js +56 -16
- package/dist/components/forms/toggle-group/ToggleGroup.svelte +2 -2
- package/dist/components/forms/toggle-group/ToggleGroup.svelte.d.ts +2 -2
- package/dist/components/forms/toggle-group/ToggleGroupItem.svelte +1 -1
- package/dist/components/forms/toggle-group/ToggleGroupItem.svelte.d.ts +1 -1
- package/dist/components/forms/toggle-group/theme.d.ts +16 -16
- package/dist/components/forms/toggle-group/types.d.ts +2 -2
- package/dist/components/forms/tooltip/Tooltip.svelte +1 -1
- package/dist/components/forms/tooltip/theme.d.ts +2 -2
- package/dist/components/index.d.ts +1 -0
- package/dist/components/index.js +1 -0
- package/dist/components/misc/Avatar.stories.svelte +8 -0
- package/dist/components/misc/Avatar.svelte +35 -10
- package/dist/components/misc/DicebearAvatarBuilder.d.ts +59 -0
- package/dist/components/misc/DicebearAvatarBuilder.js +115 -0
- package/dist/components/misc/ThemeSettings.svelte +1 -1
- package/dist/components/misc/ThemeSwitcher.svelte +2 -2
- package/dist/components/misc/dicebearStyles.d.ts +21 -0
- package/dist/components/misc/dicebearStyles.js +169 -0
- package/dist/components/misc/index.d.ts +3 -0
- package/dist/components/misc/index.js +3 -0
- package/dist/components/misc/materialAvatarPalette.d.ts +6 -0
- package/dist/components/misc/materialAvatarPalette.js +44 -0
- package/dist/components/misc/theme.d.ts +20 -2
- package/dist/components/misc/theme.js +7 -1
- package/dist/components/misc/types.d.ts +20 -2
- package/dist/components/nav/appbar/AppBar.stories.svelte +1 -1
- package/dist/components/nav/appbar/AppBar.svelte +46 -15
- package/dist/components/nav/appbar/AppBar.svelte.d.ts +5 -0
- package/dist/components/nav/appbar/theme.d.ts +20 -14
- package/dist/components/nav/appbar/theme.js +11 -7
- package/dist/components/nav/appbar/types.d.ts +3 -1
- package/dist/components/nav/breadcrumb/Breadcrumb.stories.svelte +50 -0
- package/dist/components/nav/breadcrumb/Breadcrumb.stories.svelte.d.ts +19 -0
- package/dist/components/nav/breadcrumb/Breadcrumb.svelte +46 -0
- package/dist/components/nav/breadcrumb/Breadcrumb.svelte.d.ts +13 -0
- package/dist/components/nav/breadcrumb/index.d.ts +3 -0
- package/dist/components/nav/breadcrumb/index.js +6 -0
- package/dist/components/nav/breadcrumb/theme.d.ts +84 -0
- package/dist/components/nav/breadcrumb/theme.js +35 -0
- package/dist/components/nav/breadcrumb/types.d.ts +14 -0
- package/dist/components/nav/breadcrumb/types.js +1 -0
- package/dist/components/nav/index.d.ts +1 -0
- package/dist/components/nav/index.js +1 -0
- package/dist/components/nav/navbar/theme.d.ts +19 -19
- package/dist/components/nav/rail/Rail.stories.svelte +1 -5
- package/dist/components/nav/rail/Rail.svelte +3 -25
- package/dist/components/nav/rail/theme.d.ts +4 -4
- package/dist/components/nav/rail/types.d.ts +0 -5
- package/dist/components/nav/tabs/TabHolder.svelte +2 -1
- package/dist/components/nav/tabs/theme.d.ts +21 -21
- package/dist/components/nav/tabs/theme.js +6 -0
- package/dist/components/nav/tabs/types.d.ts +2 -2
- package/dist/components/pill/theme.d.ts +35 -35
- package/dist/components/snackbar/theme.d.ts +8 -8
- package/dist/components/table/Table.stories.svelte +267 -0
- package/dist/components/table/Table.stories.svelte.d.ts +19 -0
- package/dist/components/table/Table.svelte +1 -1
- package/dist/components/table/TableBody.svelte +16 -3
- package/dist/components/table/TableBody.svelte.d.ts +5 -1
- package/dist/components/table/TableRow.svelte +1 -1
- package/dist/components/table/theme.d.ts +2 -2
- package/dist/components/table/theme.js +2 -2
- package/dist/components/table/types.d.ts +7 -0
- package/dist/components/time/theme.d.ts +29 -29
- package/dist/components/toolbar/Toolbar.stories.svelte +71 -0
- package/dist/components/toolbar/Toolbar.stories.svelte.d.ts +19 -0
- package/dist/components/toolbar/Toolbar.svelte +19 -3
- package/dist/components/toolbar/Toolbar.svelte.d.ts +8 -2
- package/dist/components/toolbar/ToolbarButton.svelte +28 -4
- package/dist/components/toolbar/ToolbarDivider.svelte +4 -3
- package/dist/components/toolbar/ToolbarGroup.svelte +7 -2
- package/dist/components/toolbar/ToolbarGroupItem.svelte +29 -4
- package/dist/components/toolbar/ToolbarSection.svelte +35 -0
- package/dist/components/toolbar/ToolbarSection.svelte.d.ts +9 -0
- package/dist/components/toolbar/ToolbarSpacer.svelte +18 -0
- package/dist/components/toolbar/ToolbarSpacer.svelte.d.ts +9 -0
- package/dist/components/toolbar/index.d.ts +2 -0
- package/dist/components/toolbar/index.js +2 -0
- package/dist/components/toolbar/theme.d.ts +36 -21
- package/dist/components/toolbar/theme.js +27 -11
- package/dist/components/toolbar/types.d.ts +37 -4
- package/dist/components/typography/body/theme.d.ts +14 -14
- package/dist/components/typography/display/theme.d.ts +14 -14
- package/dist/components/typography/headline/theme.d.ts +14 -14
- package/dist/components/typography/kbd/Kbd.stories.svelte +1 -1
- package/dist/components/typography/kbd/theme.d.ts +8 -8
- package/dist/components/typography/label/theme.d.ts +14 -14
- package/dist/components/typography/title/theme.d.ts +14 -14
- package/dist/styles/component.css +126 -4
- package/dist/styles/motion.css +6 -3
- package/dist/utils/Layer.svelte +7 -3
- package/dist/utils/Theme.svelte +20 -20
- package/dist/utils/ThemeScript.svelte +1 -1
- package/dist/utils/icon/theme.d.ts +14 -14
- package/package.json +38 -37
- package/bin/install-skill.js +0 -29
- package/dist/components/buttons/button-group/ButtonGroupItem.svelte +0 -41
- package/dist/components/buttons/button-group/ButtonGroupItem.svelte.d.ts +0 -8
- package/dist/components/buttons/connected/ConnectedButtons.svelte +0 -14
- package/dist/components/buttons/connected/ConnectedButtons.svelte.d.ts +0 -8
- package/dist/components/containers/menu-item/MenuItem.svelte +0 -74
- package/dist/components/containers/merger/InputMerger.svelte +0 -24
- package/dist/components/containers/merger/InputMerger.svelte.d.ts +0 -14
- package/dist/components/containers/merger/index.d.ts +0 -2
- package/dist/components/containers/merger/theme.d.ts +0 -1
- package/dist/components/containers/merger/theme.js +0 -4
- package/dist/components/containers/panes/SinglePane.stories.svelte +0 -67
- package/dist/components/containers/panes/SinglePane.svelte +0 -32
- package/dist/components/containers/panes/SinglePane.svelte.d.ts +0 -5
- package/dist/components/containers/panes/SplitPane.stories.svelte +0 -124
- package/dist/components/containers/panes/SplitPane.svelte +0 -144
- package/dist/components/containers/panes/SplitPane.svelte.d.ts +0 -8
- package/dist/components/containers/panes/SupportingPane.stories.svelte +0 -113
- package/dist/components/containers/panes/SupportingPane.svelte +0 -175
- package/dist/components/containers/panes/SupportingPane.svelte.d.ts +0 -9
- package/dist/components/containers/panes/index.d.ts +0 -5
- package/dist/components/containers/panes/theme.d.ts +0 -490
- package/dist/components/containers/panes/theme.js +0 -185
- package/dist/components/containers/panes/types.d.ts +0 -108
- package/dist/components/nav/rail/RailNavContext.svelte +0 -14
- package/dist/components/nav/rail/RailNavContext.svelte.d.ts +0 -8
- /package/dist/components/{containers/menu-item → buttons/split-button}/types.js +0 -0
- /package/dist/components/{containers/panes → chips}/types.js +0 -0
- /package/dist/components/containers/{menu-item → menu/menu-item}/index.d.ts +0 -0
- /package/dist/components/containers/{menu-item → menu/menu-item}/index.js +0 -0
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
import Rail from './Rail.svelte';
|
|
4
4
|
import RailItem from './RailItem.svelte';
|
|
5
5
|
import FAB from '../../buttons/FAB.svelte';
|
|
6
|
-
import Avatar from '../../misc/Avatar.svelte';
|
|
7
6
|
|
|
8
7
|
const { Story } = defineMeta({
|
|
9
8
|
title: 'Navigation/Rail',
|
|
@@ -48,7 +47,7 @@
|
|
|
48
47
|
{/snippet}
|
|
49
48
|
</Story>
|
|
50
49
|
|
|
51
|
-
<Story name="With FAB
|
|
50
|
+
<Story name="With FAB">
|
|
52
51
|
{#snippet template(args)}
|
|
53
52
|
<div class="bg-md-sys-color-surface-variant relative h-[420px] overflow-hidden rounded-2xl">
|
|
54
53
|
<Rail
|
|
@@ -61,9 +60,6 @@
|
|
|
61
60
|
{#snippet fab()}
|
|
62
61
|
<FAB size="small" iconProps={{ name: 'add' }} label="New" />
|
|
63
62
|
{/snippet}
|
|
64
|
-
{#snippet railFooter()}
|
|
65
|
-
<Avatar seed="DV" />
|
|
66
|
-
{/snippet}
|
|
67
63
|
<RailItem label="Home" href="/" iconProps={{ name: 'house' }} selected />
|
|
68
64
|
<RailItem label="Inbox" href="#" iconProps={{ name: 'mail' }} badge={4} />
|
|
69
65
|
<RailItem label="Settings" href="#" iconProps={{ name: 'settings' }} />
|
|
@@ -10,27 +10,22 @@ On mobile (< md) it automatically renders as a bottom navigation bar.
|
|
|
10
10
|
<script lang="ts">
|
|
11
11
|
import { clickOutside } from '../../../actions/index.js';
|
|
12
12
|
import clsx from 'clsx';
|
|
13
|
-
import { setContext } from 'svelte';
|
|
13
|
+
import { setContext, untrack } from 'svelte';
|
|
14
14
|
import type { RailProps } from './types';
|
|
15
15
|
import ButtonIcon from '../../buttons/ButtonIcon.svelte';
|
|
16
16
|
import { rail } from './theme';
|
|
17
17
|
import { NavigationMenu } from 'bits-ui';
|
|
18
18
|
import { railStore } from './railStore.svelte.js';
|
|
19
|
-
import RailNavContext from './RailNavContext.svelte';
|
|
20
|
-
import Navbar from '../navbar/Navbar.svelte';
|
|
21
19
|
|
|
22
20
|
let {
|
|
23
21
|
children,
|
|
24
22
|
rounded = false,
|
|
25
23
|
expandable = true,
|
|
26
24
|
fab,
|
|
27
|
-
railFooter,
|
|
28
25
|
collapsed = $bindable(true),
|
|
29
26
|
anchor = 'viewport',
|
|
30
27
|
railTop = 0,
|
|
31
|
-
|
|
32
|
-
class: className,
|
|
33
|
-
navbarProps
|
|
28
|
+
class: className
|
|
34
29
|
}: RailProps = $props();
|
|
35
30
|
|
|
36
31
|
const expanded = $derived(!collapsed);
|
|
@@ -85,28 +80,11 @@ On mobile (< md) it automatically renders as a bottom navigation bar.
|
|
|
85
80
|
|
|
86
81
|
<NavigationMenu.Root orientation="vertical" class="w-full">
|
|
87
82
|
<NavigationMenu.List class={`${items()} rail-items`}>
|
|
88
|
-
|
|
89
|
-
{@render children?.()}
|
|
90
|
-
</RailNavContext>
|
|
83
|
+
{@render children?.()}
|
|
91
84
|
</NavigationMenu.List>
|
|
92
85
|
</NavigationMenu.Root>
|
|
93
|
-
|
|
94
|
-
{#if railFooter}
|
|
95
|
-
<div class="mt-auto flex flex-col items-center pb-2">
|
|
96
|
-
{@render railFooter()}
|
|
97
|
-
</div>
|
|
98
|
-
{/if}
|
|
99
86
|
</div>
|
|
100
87
|
|
|
101
|
-
<!-- Mobile bottom navbar (md:hidden) -->
|
|
102
|
-
{#if withNavbar}
|
|
103
|
-
<Navbar {...navbarProps}>
|
|
104
|
-
<RailNavContext mobile={true}>
|
|
105
|
-
{@render children?.()}
|
|
106
|
-
</RailNavContext>
|
|
107
|
-
</Navbar>
|
|
108
|
-
{/if}
|
|
109
|
-
|
|
110
88
|
<style>
|
|
111
89
|
.rail-scrim {
|
|
112
90
|
opacity: 0;
|
|
@@ -67,7 +67,7 @@ export declare const rail: import("tailwind-variants").TVReturnType<{
|
|
|
67
67
|
items: string;
|
|
68
68
|
ghost: string;
|
|
69
69
|
scrim: string;
|
|
70
|
-
}, import("tailwind-variants").
|
|
70
|
+
}, import("tailwind-variants").TVReturnTypeLike<{
|
|
71
71
|
anchor: {
|
|
72
72
|
viewport: {
|
|
73
73
|
base: string;
|
|
@@ -100,7 +100,7 @@ export declare const rail: import("tailwind-variants").TVReturnType<{
|
|
|
100
100
|
items: string;
|
|
101
101
|
ghost: string;
|
|
102
102
|
scrim: string;
|
|
103
|
-
}
|
|
103
|
+
}>>;
|
|
104
104
|
export declare const railElement: import("tailwind-variants").TVReturnType<{
|
|
105
105
|
active: {
|
|
106
106
|
true: {
|
|
@@ -195,7 +195,7 @@ export declare const railElement: import("tailwind-variants").TVReturnType<{
|
|
|
195
195
|
iconContainer: string;
|
|
196
196
|
icon: string;
|
|
197
197
|
label: string;
|
|
198
|
-
}, import("tailwind-variants").
|
|
198
|
+
}, import("tailwind-variants").TVReturnTypeLike<{
|
|
199
199
|
active: {
|
|
200
200
|
true: {
|
|
201
201
|
content: string;
|
|
@@ -242,4 +242,4 @@ export declare const railElement: import("tailwind-variants").TVReturnType<{
|
|
|
242
242
|
iconContainer: string;
|
|
243
243
|
icon: string;
|
|
244
244
|
label: string;
|
|
245
|
-
}
|
|
245
|
+
}>>;
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import type { IconProps } from '../../../utils/index.js';
|
|
2
2
|
import type { Snippet } from 'svelte';
|
|
3
3
|
import type { HTMLAttributes } from 'svelte/elements';
|
|
4
|
-
import type { NavBarProps } from '../navbar/types.js';
|
|
5
4
|
import type { RailItemVariants, RailVariants } from './theme.js';
|
|
6
5
|
/**
|
|
7
6
|
* Props for the RailItem component.
|
|
@@ -36,8 +35,6 @@ export type RailProps = RailVariants & HTMLAttributes<HTMLDivElement> & {
|
|
|
36
35
|
expandable?: boolean;
|
|
37
36
|
/** An optional Floating Action Button snippet. */
|
|
38
37
|
fab?: Snippet;
|
|
39
|
-
/** An optional snippet rendered at the bottom of the rail (e.g. avatar/settings). */
|
|
40
|
-
railFooter?: Snippet;
|
|
41
38
|
/** Whether the rail is currently collapsed. */
|
|
42
39
|
collapsed?: boolean;
|
|
43
40
|
/** Where the rail should be anchored. */
|
|
@@ -46,6 +43,4 @@ export type RailProps = RailVariants & HTMLAttributes<HTMLDivElement> & {
|
|
|
46
43
|
railTop?: number;
|
|
47
44
|
/** Render a bottom navbar on mobile. */
|
|
48
45
|
withNavbar?: boolean;
|
|
49
|
-
/** Customise the navbar inside the rail */
|
|
50
|
-
navbarProps?: Omit<NavBarProps, 'children'>;
|
|
51
46
|
};
|
|
@@ -20,12 +20,13 @@ Use TabContent for content-panel tabs; omit it for navigation (href) tabs.
|
|
|
20
20
|
onValueChange,
|
|
21
21
|
activationMode = 'automatic',
|
|
22
22
|
variant = 'primary',
|
|
23
|
+
rounded = false,
|
|
23
24
|
children
|
|
24
25
|
}: TabHolderProps & { children?: Snippet } = $props();
|
|
25
26
|
|
|
26
27
|
const idx = $derived(items.findIndex((i) => i.value === value));
|
|
27
28
|
const count = $derived(items.length);
|
|
28
|
-
const { base, bar } = tabHolder();
|
|
29
|
+
const { base, bar } = $derived(tabHolder({ rounded }));
|
|
29
30
|
</script>
|
|
30
31
|
|
|
31
32
|
<Tabs.Root bind:value {onValueChange} {activationMode}>
|
|
@@ -2,36 +2,36 @@ import { type VariantProps } from 'tailwind-variants';
|
|
|
2
2
|
export type TabVariants = VariantProps<typeof tab>;
|
|
3
3
|
export type TabHolderVariants = VariantProps<typeof tabHolder>;
|
|
4
4
|
export declare const tabHolder: import("tailwind-variants").TVReturnType<{
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
base
|
|
8
|
-
bar?: import("tailwind-merge").ClassNameValue;
|
|
9
|
-
};
|
|
10
|
-
};
|
|
11
|
-
} | {
|
|
12
|
-
[x: string]: {
|
|
13
|
-
[x: string]: import("tailwind-merge").ClassNameValue | {
|
|
14
|
-
base?: import("tailwind-merge").ClassNameValue;
|
|
15
|
-
bar?: import("tailwind-merge").ClassNameValue;
|
|
5
|
+
rounded: {
|
|
6
|
+
true: {
|
|
7
|
+
base: string;
|
|
16
8
|
};
|
|
9
|
+
false: {};
|
|
17
10
|
};
|
|
18
|
-
}
|
|
11
|
+
}, {
|
|
19
12
|
base: string;
|
|
20
13
|
bar: string;
|
|
21
14
|
}, undefined, {
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
base
|
|
25
|
-
bar?: import("tailwind-merge").ClassNameValue;
|
|
15
|
+
rounded: {
|
|
16
|
+
true: {
|
|
17
|
+
base: string;
|
|
26
18
|
};
|
|
19
|
+
false: {};
|
|
27
20
|
};
|
|
28
|
-
}
|
|
21
|
+
}, {
|
|
29
22
|
base: string;
|
|
30
23
|
bar: string;
|
|
31
|
-
}, import("tailwind-variants").
|
|
24
|
+
}, import("tailwind-variants").TVReturnTypeLike<{
|
|
25
|
+
rounded: {
|
|
26
|
+
true: {
|
|
27
|
+
base: string;
|
|
28
|
+
};
|
|
29
|
+
false: {};
|
|
30
|
+
};
|
|
31
|
+
}, {
|
|
32
32
|
base: string;
|
|
33
33
|
bar: string;
|
|
34
|
-
}
|
|
34
|
+
}>>;
|
|
35
35
|
export declare const tab: import("tailwind-variants").TVReturnType<{
|
|
36
36
|
variant: {
|
|
37
37
|
primary: {
|
|
@@ -70,7 +70,7 @@ export declare const tab: import("tailwind-variants").TVReturnType<{
|
|
|
70
70
|
base: string;
|
|
71
71
|
label: string;
|
|
72
72
|
icon: string;
|
|
73
|
-
}, import("tailwind-variants").
|
|
73
|
+
}, import("tailwind-variants").TVReturnTypeLike<{
|
|
74
74
|
variant: {
|
|
75
75
|
primary: {
|
|
76
76
|
base: string;
|
|
@@ -89,4 +89,4 @@ export declare const tab: import("tailwind-variants").TVReturnType<{
|
|
|
89
89
|
base: string;
|
|
90
90
|
label: string;
|
|
91
91
|
icon: string;
|
|
92
|
-
}
|
|
92
|
+
}>>;
|
|
@@ -3,6 +3,12 @@ export const tabHolder = tv({
|
|
|
3
3
|
slots: {
|
|
4
4
|
base: 'relative flex w-full bg-md-sys-color-surface',
|
|
5
5
|
bar: 'absolute bottom-0 h-[3px] rounded-t-full bg-md-sys-color-primary transition-transform duration-200 ease-out'
|
|
6
|
+
},
|
|
7
|
+
variants: {
|
|
8
|
+
rounded: {
|
|
9
|
+
true: { base: 'rounded-t-md' },
|
|
10
|
+
false: {}
|
|
11
|
+
}
|
|
6
12
|
}
|
|
7
13
|
});
|
|
8
14
|
export const tab = tv({
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { IconProps } from '../../../utils/index.js';
|
|
2
|
-
import type { TabVariants } from './theme.js';
|
|
2
|
+
import type { TabHolderVariants, TabVariants } from './theme.js';
|
|
3
3
|
export type TabProps = {
|
|
4
4
|
/** Props for the Icon component. Omit for secondary tabs. */
|
|
5
5
|
iconProps?: IconProps;
|
|
@@ -30,7 +30,7 @@ export type TabHolderProps = {
|
|
|
30
30
|
variant?: TabVariants['variant'];
|
|
31
31
|
/** Tab items to render. */
|
|
32
32
|
items: TabProps[];
|
|
33
|
-
};
|
|
33
|
+
} & TabHolderVariants;
|
|
34
34
|
export type TabContentProps = {
|
|
35
35
|
/** Must match the value of the corresponding Tab. */
|
|
36
36
|
value: string;
|
|
@@ -2,44 +2,44 @@ import { type VariantProps } from 'tailwind-variants';
|
|
|
2
2
|
export type PillVariants = VariantProps<typeof pill>;
|
|
3
3
|
export declare const pill: import("tailwind-variants").TVReturnType<{
|
|
4
4
|
variant: {
|
|
5
|
-
primary:
|
|
6
|
-
secondary:
|
|
7
|
-
tertiary:
|
|
8
|
-
error:
|
|
9
|
-
container:
|
|
10
|
-
'primary-container':
|
|
11
|
-
'secondary-container':
|
|
12
|
-
'tertiary-container':
|
|
13
|
-
'error-container':
|
|
14
|
-
yellow:
|
|
15
|
-
green:
|
|
5
|
+
primary: "md-component-button-filled-primary";
|
|
6
|
+
secondary: "md-component-button-filled-secondary";
|
|
7
|
+
tertiary: "md-component-button-filled-tertiary";
|
|
8
|
+
error: "md-component-button-filled-error";
|
|
9
|
+
container: "bg-md-sys-color-surface-container text-md-sys-color-on-surface";
|
|
10
|
+
'primary-container': "bg-md-sys-color-primary-container text-md-sys-color-on-primary-container";
|
|
11
|
+
'secondary-container': "bg-md-sys-color-secondary-container text-md-sys-color-on-secondary-container";
|
|
12
|
+
'tertiary-container': "bg-md-sys-color-tertiary-container text-md-sys-color-on-tertiary-container";
|
|
13
|
+
'error-container': "bg-md-sys-color-error-container text-md-sys-color-on-error-container";
|
|
14
|
+
yellow: "bg-yellow-400 text-yellow-950 dark:bg-yellow-300 dark:text-yellow-950";
|
|
15
|
+
green: "bg-green-600 text-white dark:bg-green-500 dark:text-green-950";
|
|
16
16
|
};
|
|
17
17
|
}, undefined, "relative inline-flex items-center justify-center px-4 py-1.5 md-sys-typescale-label-large select-none rounded-full", {
|
|
18
18
|
variant: {
|
|
19
|
-
primary:
|
|
20
|
-
secondary:
|
|
21
|
-
tertiary:
|
|
22
|
-
error:
|
|
23
|
-
container:
|
|
24
|
-
'primary-container':
|
|
25
|
-
'secondary-container':
|
|
26
|
-
'tertiary-container':
|
|
27
|
-
'error-container':
|
|
28
|
-
yellow:
|
|
29
|
-
green:
|
|
19
|
+
primary: "md-component-button-filled-primary";
|
|
20
|
+
secondary: "md-component-button-filled-secondary";
|
|
21
|
+
tertiary: "md-component-button-filled-tertiary";
|
|
22
|
+
error: "md-component-button-filled-error";
|
|
23
|
+
container: "bg-md-sys-color-surface-container text-md-sys-color-on-surface";
|
|
24
|
+
'primary-container': "bg-md-sys-color-primary-container text-md-sys-color-on-primary-container";
|
|
25
|
+
'secondary-container': "bg-md-sys-color-secondary-container text-md-sys-color-on-secondary-container";
|
|
26
|
+
'tertiary-container': "bg-md-sys-color-tertiary-container text-md-sys-color-on-tertiary-container";
|
|
27
|
+
'error-container': "bg-md-sys-color-error-container text-md-sys-color-on-error-container";
|
|
28
|
+
yellow: "bg-yellow-400 text-yellow-950 dark:bg-yellow-300 dark:text-yellow-950";
|
|
29
|
+
green: "bg-green-600 text-white dark:bg-green-500 dark:text-green-950";
|
|
30
30
|
};
|
|
31
|
-
}, undefined, import("tailwind-variants").
|
|
31
|
+
}, undefined, import("tailwind-variants").TVReturnTypeLike<{
|
|
32
32
|
variant: {
|
|
33
|
-
primary:
|
|
34
|
-
secondary:
|
|
35
|
-
tertiary:
|
|
36
|
-
error:
|
|
37
|
-
container:
|
|
38
|
-
'primary-container':
|
|
39
|
-
'secondary-container':
|
|
40
|
-
'tertiary-container':
|
|
41
|
-
'error-container':
|
|
42
|
-
yellow:
|
|
43
|
-
green:
|
|
33
|
+
primary: "md-component-button-filled-primary";
|
|
34
|
+
secondary: "md-component-button-filled-secondary";
|
|
35
|
+
tertiary: "md-component-button-filled-tertiary";
|
|
36
|
+
error: "md-component-button-filled-error";
|
|
37
|
+
container: "bg-md-sys-color-surface-container text-md-sys-color-on-surface";
|
|
38
|
+
'primary-container': "bg-md-sys-color-primary-container text-md-sys-color-on-primary-container";
|
|
39
|
+
'secondary-container': "bg-md-sys-color-secondary-container text-md-sys-color-on-secondary-container";
|
|
40
|
+
'tertiary-container': "bg-md-sys-color-tertiary-container text-md-sys-color-on-tertiary-container";
|
|
41
|
+
'error-container': "bg-md-sys-color-error-container text-md-sys-color-on-error-container";
|
|
42
|
+
yellow: "bg-yellow-400 text-yellow-950 dark:bg-yellow-300 dark:text-yellow-950";
|
|
43
|
+
green: "bg-green-600 text-white dark:bg-green-500 dark:text-green-950";
|
|
44
44
|
};
|
|
45
|
-
}, undefined
|
|
45
|
+
}, undefined>>;
|
|
@@ -2,8 +2,8 @@ import { type VariantProps } from 'tailwind-variants';
|
|
|
2
2
|
export type SnackBarVariants = VariantProps<typeof snackbar>;
|
|
3
3
|
export declare const snackbar: import("tailwind-variants").TVReturnType<{
|
|
4
4
|
fixed: {
|
|
5
|
-
true:
|
|
6
|
-
false:
|
|
5
|
+
true: "fixed bottom-20 md:bottom-6 left-1/2 -translate-x-1/2";
|
|
6
|
+
false: "";
|
|
7
7
|
};
|
|
8
8
|
}, {
|
|
9
9
|
base: string;
|
|
@@ -13,8 +13,8 @@ export declare const snackbar: import("tailwind-variants").TVReturnType<{
|
|
|
13
13
|
icon: string;
|
|
14
14
|
}, undefined, {
|
|
15
15
|
fixed: {
|
|
16
|
-
true:
|
|
17
|
-
false:
|
|
16
|
+
true: "fixed bottom-20 md:bottom-6 left-1/2 -translate-x-1/2";
|
|
17
|
+
false: "";
|
|
18
18
|
};
|
|
19
19
|
}, {
|
|
20
20
|
base: string;
|
|
@@ -22,10 +22,10 @@ export declare const snackbar: import("tailwind-variants").TVReturnType<{
|
|
|
22
22
|
actionWrapper: string;
|
|
23
23
|
supportingText: string;
|
|
24
24
|
icon: string;
|
|
25
|
-
}, import("tailwind-variants").
|
|
25
|
+
}, import("tailwind-variants").TVReturnTypeLike<{
|
|
26
26
|
fixed: {
|
|
27
|
-
true:
|
|
28
|
-
false:
|
|
27
|
+
true: "fixed bottom-20 md:bottom-6 left-1/2 -translate-x-1/2";
|
|
28
|
+
false: "";
|
|
29
29
|
};
|
|
30
30
|
}, {
|
|
31
31
|
base: string;
|
|
@@ -33,4 +33,4 @@ export declare const snackbar: import("tailwind-variants").TVReturnType<{
|
|
|
33
33
|
actionWrapper: string;
|
|
34
34
|
supportingText: string;
|
|
35
35
|
icon: string;
|
|
36
|
-
}
|
|
36
|
+
}>>;
|
|
@@ -0,0 +1,267 @@
|
|
|
1
|
+
<script module lang="ts">
|
|
2
|
+
import { defineMeta } from '@storybook/addon-svelte-csf';
|
|
3
|
+
import Table from './Table.svelte';
|
|
4
|
+
import TableHead from './TableHead.svelte';
|
|
5
|
+
import TableBody from './TableBody.svelte';
|
|
6
|
+
import TableFoot from './TableFoot.svelte';
|
|
7
|
+
import TableRow from './TableRow.svelte';
|
|
8
|
+
import TableHeader from './TableHeader.svelte';
|
|
9
|
+
import TableCell from './TableCell.svelte';
|
|
10
|
+
|
|
11
|
+
const { Story } = defineMeta({
|
|
12
|
+
title: 'Table/Table',
|
|
13
|
+
component: Table,
|
|
14
|
+
argTypes: {
|
|
15
|
+
rounded: { control: 'boolean' }
|
|
16
|
+
},
|
|
17
|
+
args: {
|
|
18
|
+
rounded: false
|
|
19
|
+
}
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
const rows = [
|
|
23
|
+
{ name: 'Frozen yogurt', calories: 159, fat: 6.0, carbs: 24, protein: 4.0 },
|
|
24
|
+
{ name: 'Ice cream sandwich', calories: 237, fat: 9.0, carbs: 37, protein: 4.3 },
|
|
25
|
+
{ name: 'Eclair', calories: 262, fat: 16.0, carbs: 24, protein: 6.0 },
|
|
26
|
+
{ name: 'Cupcake', calories: 305, fat: 3.7, carbs: 67, protein: 4.3 },
|
|
27
|
+
{ name: 'Gingerbread', calories: 356, fat: 16.0, carbs: 49, protein: 3.9 }
|
|
28
|
+
];
|
|
29
|
+
</script>
|
|
30
|
+
|
|
31
|
+
<Story name="Playground">
|
|
32
|
+
{#snippet template(args)}
|
|
33
|
+
<Table rounded={args.rounded}>
|
|
34
|
+
<TableHead>
|
|
35
|
+
<TableRow>
|
|
36
|
+
<TableHeader>Dessert</TableHeader>
|
|
37
|
+
<TableHeader numeric>Calories</TableHeader>
|
|
38
|
+
<TableHeader numeric>Fat (g)</TableHeader>
|
|
39
|
+
<TableHeader numeric>Carbs (g)</TableHeader>
|
|
40
|
+
<TableHeader numeric>Protein (g)</TableHeader>
|
|
41
|
+
</TableRow>
|
|
42
|
+
</TableHead>
|
|
43
|
+
<TableBody>
|
|
44
|
+
{#each rows as row (row.name)}
|
|
45
|
+
<TableRow hoverable>
|
|
46
|
+
<TableCell>{row.name}</TableCell>
|
|
47
|
+
<TableCell numeric>{row.calories}</TableCell>
|
|
48
|
+
<TableCell numeric>{row.fat}</TableCell>
|
|
49
|
+
<TableCell numeric>{row.carbs}</TableCell>
|
|
50
|
+
<TableCell numeric>{row.protein}</TableCell>
|
|
51
|
+
</TableRow>
|
|
52
|
+
{/each}
|
|
53
|
+
</TableBody>
|
|
54
|
+
</Table>
|
|
55
|
+
{/snippet}
|
|
56
|
+
</Story>
|
|
57
|
+
|
|
58
|
+
<Story name="Rounded" asChild>
|
|
59
|
+
<Table rounded>
|
|
60
|
+
<TableHead>
|
|
61
|
+
<TableRow>
|
|
62
|
+
<TableHeader>Dessert</TableHeader>
|
|
63
|
+
<TableHeader numeric>Calories</TableHeader>
|
|
64
|
+
</TableRow>
|
|
65
|
+
</TableHead>
|
|
66
|
+
<TableBody>
|
|
67
|
+
{#each rows as row (row.name)}
|
|
68
|
+
<TableRow>
|
|
69
|
+
<TableCell>{row.name}</TableCell>
|
|
70
|
+
<TableCell numeric>{row.calories}</TableCell>
|
|
71
|
+
</TableRow>
|
|
72
|
+
{/each}
|
|
73
|
+
</TableBody>
|
|
74
|
+
</Table>
|
|
75
|
+
</Story>
|
|
76
|
+
|
|
77
|
+
<Story name="Sortable Header" asChild>
|
|
78
|
+
<Table rounded>
|
|
79
|
+
<TableHead>
|
|
80
|
+
<TableRow>
|
|
81
|
+
<TableHeader sortable sorted sortDirection="asc">Dessert</TableHeader>
|
|
82
|
+
<TableHeader numeric sortable sortDirection="desc">Calories</TableHeader>
|
|
83
|
+
<TableHeader numeric sortable>Fat (g)</TableHeader>
|
|
84
|
+
</TableRow>
|
|
85
|
+
</TableHead>
|
|
86
|
+
<TableBody>
|
|
87
|
+
{#each rows as row (row.name)}
|
|
88
|
+
<TableRow hoverable>
|
|
89
|
+
<TableCell>{row.name}</TableCell>
|
|
90
|
+
<TableCell numeric>{row.calories}</TableCell>
|
|
91
|
+
<TableCell numeric>{row.fat}</TableCell>
|
|
92
|
+
</TableRow>
|
|
93
|
+
{/each}
|
|
94
|
+
</TableBody>
|
|
95
|
+
</Table>
|
|
96
|
+
</Story>
|
|
97
|
+
|
|
98
|
+
<Story name="Selected Row" asChild>
|
|
99
|
+
<Table rounded>
|
|
100
|
+
<TableHead>
|
|
101
|
+
<TableRow>
|
|
102
|
+
<TableHeader>Dessert</TableHeader>
|
|
103
|
+
<TableHeader numeric>Calories</TableHeader>
|
|
104
|
+
</TableRow>
|
|
105
|
+
</TableHead>
|
|
106
|
+
<TableBody>
|
|
107
|
+
{#each rows as row, i (row.name)}
|
|
108
|
+
<TableRow hoverable selected={i === 1}>
|
|
109
|
+
<TableCell>{row.name}</TableCell>
|
|
110
|
+
<TableCell numeric>{row.calories}</TableCell>
|
|
111
|
+
</TableRow>
|
|
112
|
+
{/each}
|
|
113
|
+
</TableBody>
|
|
114
|
+
</Table>
|
|
115
|
+
</Story>
|
|
116
|
+
|
|
117
|
+
<Story name="With Footer" asChild>
|
|
118
|
+
<Table rounded>
|
|
119
|
+
<TableHead>
|
|
120
|
+
<TableRow>
|
|
121
|
+
<TableHeader>Dessert</TableHeader>
|
|
122
|
+
<TableHeader numeric>Calories</TableHeader>
|
|
123
|
+
</TableRow>
|
|
124
|
+
</TableHead>
|
|
125
|
+
<TableBody>
|
|
126
|
+
{#each rows as row (row.name)}
|
|
127
|
+
<TableRow>
|
|
128
|
+
<TableCell>{row.name}</TableCell>
|
|
129
|
+
<TableCell numeric>{row.calories}</TableCell>
|
|
130
|
+
</TableRow>
|
|
131
|
+
{/each}
|
|
132
|
+
</TableBody>
|
|
133
|
+
<TableFoot>
|
|
134
|
+
<TableRow>
|
|
135
|
+
<TableCell>Total</TableCell>
|
|
136
|
+
<TableCell numeric>{rows.reduce((sum, r) => sum + r.calories, 0)}</TableCell>
|
|
137
|
+
</TableRow>
|
|
138
|
+
</TableFoot>
|
|
139
|
+
</Table>
|
|
140
|
+
</Story>
|
|
141
|
+
|
|
142
|
+
<Story name="Sticky Header (Scroll Container)" asChild>
|
|
143
|
+
<div class="ring-md-sys-color-outline-variant h-64 w-full overflow-auto rounded-md ring-1">
|
|
144
|
+
<Table>
|
|
145
|
+
<TableHead sticky>
|
|
146
|
+
<TableRow>
|
|
147
|
+
<TableHeader>Dessert</TableHeader>
|
|
148
|
+
<TableHeader numeric>Calories</TableHeader>
|
|
149
|
+
</TableRow>
|
|
150
|
+
</TableHead>
|
|
151
|
+
<TableBody>
|
|
152
|
+
{#each Array(30) as _, i (i)}
|
|
153
|
+
<TableRow hoverable>
|
|
154
|
+
<TableCell>Row {i + 1}</TableCell>
|
|
155
|
+
<TableCell numeric>{100 + i}</TableCell>
|
|
156
|
+
</TableRow>
|
|
157
|
+
{/each}
|
|
158
|
+
</TableBody>
|
|
159
|
+
</Table>
|
|
160
|
+
</div>
|
|
161
|
+
</Story>
|
|
162
|
+
|
|
163
|
+
<Story name="Extreme: Long Cell Content" asChild>
|
|
164
|
+
<div class="w-[420px]">
|
|
165
|
+
<Table rounded>
|
|
166
|
+
<TableHead>
|
|
167
|
+
<TableRow>
|
|
168
|
+
<TableHeader>Name</TableHeader>
|
|
169
|
+
<TableHeader>Description</TableHeader>
|
|
170
|
+
</TableRow>
|
|
171
|
+
</TableHead>
|
|
172
|
+
<TableBody>
|
|
173
|
+
<TableRow>
|
|
174
|
+
<TableCell>Item</TableCell>
|
|
175
|
+
<TableCell
|
|
176
|
+
>This is an unusually long piece of supporting text that will wrap across multiple lines
|
|
177
|
+
inside a fixed-width table cell to check padding, line-height, and vertical alignment
|
|
178
|
+
under wrapping conditions.</TableCell
|
|
179
|
+
>
|
|
180
|
+
</TableRow>
|
|
181
|
+
<TableRow>
|
|
182
|
+
<TableCell
|
|
183
|
+
>SupercalifragilisticexpialidociousItemNameWithNoSpacesWhatsoeverToTestOverflow</TableCell
|
|
184
|
+
>
|
|
185
|
+
<TableCell>Short</TableCell>
|
|
186
|
+
</TableRow>
|
|
187
|
+
</TableBody>
|
|
188
|
+
</Table>
|
|
189
|
+
</div>
|
|
190
|
+
</Story>
|
|
191
|
+
|
|
192
|
+
<Story name="Extreme: Many Columns (Horizontal Scroll)" asChild>
|
|
193
|
+
<div class="w-full max-w-[600px] overflow-x-auto">
|
|
194
|
+
<Table rounded>
|
|
195
|
+
<TableHead>
|
|
196
|
+
<TableRow>
|
|
197
|
+
{#each Array(12) as _, i (i)}
|
|
198
|
+
<TableHeader numeric>Col {i + 1}</TableHeader>
|
|
199
|
+
{/each}
|
|
200
|
+
</TableRow>
|
|
201
|
+
</TableHead>
|
|
202
|
+
<TableBody>
|
|
203
|
+
{#each Array(3) as _, r (r)}
|
|
204
|
+
<TableRow>
|
|
205
|
+
{#each Array(12) as _, c (c)}
|
|
206
|
+
<TableCell numeric>{r * 12 + c}</TableCell>
|
|
207
|
+
{/each}
|
|
208
|
+
</TableRow>
|
|
209
|
+
{/each}
|
|
210
|
+
</TableBody>
|
|
211
|
+
</Table>
|
|
212
|
+
</div>
|
|
213
|
+
</Story>
|
|
214
|
+
|
|
215
|
+
<Story name="Extreme: Single Row" asChild>
|
|
216
|
+
<Table rounded>
|
|
217
|
+
<TableHead>
|
|
218
|
+
<TableRow>
|
|
219
|
+
<TableHeader>Dessert</TableHeader>
|
|
220
|
+
<TableHeader numeric>Calories</TableHeader>
|
|
221
|
+
</TableRow>
|
|
222
|
+
</TableHead>
|
|
223
|
+
<TableBody>
|
|
224
|
+
<TableRow>
|
|
225
|
+
<TableCell>Frozen yogurt</TableCell>
|
|
226
|
+
<TableCell numeric>159</TableCell>
|
|
227
|
+
</TableRow>
|
|
228
|
+
</TableBody>
|
|
229
|
+
</Table>
|
|
230
|
+
</Story>
|
|
231
|
+
|
|
232
|
+
<Story name="Extreme: Empty State" asChild>
|
|
233
|
+
<Table rounded>
|
|
234
|
+
<TableHead>
|
|
235
|
+
<TableRow>
|
|
236
|
+
<TableHeader>Dessert</TableHeader>
|
|
237
|
+
<TableHeader numeric>Calories</TableHeader>
|
|
238
|
+
</TableRow>
|
|
239
|
+
</TableHead>
|
|
240
|
+
<TableBody>
|
|
241
|
+
<TableRow>
|
|
242
|
+
<TableCell class="text-md-sys-color-on-surface-variant text-center" colspan={2}
|
|
243
|
+
>No results found</TableCell
|
|
244
|
+
>
|
|
245
|
+
</TableRow>
|
|
246
|
+
</TableBody>
|
|
247
|
+
</Table>
|
|
248
|
+
</Story>
|
|
249
|
+
|
|
250
|
+
<Story name="Mixed Alignment" asChild>
|
|
251
|
+
<Table rounded>
|
|
252
|
+
<TableHead>
|
|
253
|
+
<TableRow>
|
|
254
|
+
<TableHeader align="left">Left</TableHeader>
|
|
255
|
+
<TableHeader align="center">Center</TableHeader>
|
|
256
|
+
<TableHeader align="right">Right</TableHeader>
|
|
257
|
+
</TableRow>
|
|
258
|
+
</TableHead>
|
|
259
|
+
<TableBody>
|
|
260
|
+
<TableRow>
|
|
261
|
+
<TableCell align="left">L</TableCell>
|
|
262
|
+
<TableCell align="center">C</TableCell>
|
|
263
|
+
<TableCell align="right">R</TableCell>
|
|
264
|
+
</TableRow>
|
|
265
|
+
</TableBody>
|
|
266
|
+
</Table>
|
|
267
|
+
</Story>
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import Table from './Table.svelte';
|
|
2
|
+
interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
|
|
3
|
+
new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
|
|
4
|
+
$$bindings?: Bindings;
|
|
5
|
+
} & Exports;
|
|
6
|
+
(internal: unknown, props: {
|
|
7
|
+
$$events?: Events;
|
|
8
|
+
$$slots?: Slots;
|
|
9
|
+
}): Exports & {
|
|
10
|
+
$set?: any;
|
|
11
|
+
$on?: any;
|
|
12
|
+
};
|
|
13
|
+
z_$$bindings?: Bindings;
|
|
14
|
+
}
|
|
15
|
+
declare const Table: $$__sveltets_2_IsomorphicComponent<Record<string, never>, {
|
|
16
|
+
[evt: string]: CustomEvent<any>;
|
|
17
|
+
}, {}, {}, string>;
|
|
18
|
+
type Table = InstanceType<typeof Table>;
|
|
19
|
+
export default Table;
|