@noxlovette/material 0.5.0 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/material-claude-skill.js +31 -0
- package/claude-skill/material-design/SKILL.md +68 -0
- package/claude-skill/material-design/references/accessibility-checklist.md +29 -0
- package/claude-skill/material-design/references/component-patterns.md +55 -0
- package/claude-skill/material-design/references/motion-guide.md +163 -0
- package/claude-skill/material-design/references/tokens-and-styles.md +68 -0
- package/dist/animation/Shapes.stories.svelte +60 -0
- package/dist/animation/Shapes.stories.svelte.d.ts +3 -0
- package/dist/animation/TransitionPatterns.stories.svelte +32 -20
- package/dist/animation/containerTransform.d.ts +11 -0
- package/dist/animation/containerTransform.js +11 -0
- package/dist/animation/enterExit.d.ts +9 -0
- package/dist/animation/enterExit.js +6 -3
- package/dist/animation/index.d.ts +1 -0
- package/dist/animation/index.js +1 -0
- package/dist/animation/shapeMorph.svelte.d.ts +52 -0
- package/dist/animation/shapeMorph.svelte.js +112 -0
- package/dist/animation/shapesAnimatableSmall.d.ts +28 -22
- package/dist/animation/shapesAnimatableSmall.js +32 -23
- package/dist/animation/sharedAxisTransition.d.ts +22 -0
- package/dist/animation/sharedAxisTransition.js +25 -1
- package/dist/animation/skeleton.d.ts +6 -1
- package/dist/animation/skeleton.js +6 -1
- package/dist/components/badge/Badge.mdx +70 -0
- package/dist/components/badge/Badge.stories.svelte +38 -20
- package/dist/components/badge/Badge.svelte +12 -5
- package/dist/components/badge/theme.d.ts +30 -7
- package/dist/components/badge/theme.js +24 -4
- package/dist/components/badge/types.d.ts +18 -4
- package/dist/components/buttons/Button.mdx +85 -0
- package/dist/components/buttons/Button.stories.svelte +62 -27
- package/dist/components/buttons/Button.svelte +29 -25
- package/dist/components/buttons/Button.svelte.d.ts +11 -9
- package/dist/components/buttons/ButtonIcon.mdx +52 -0
- package/dist/components/buttons/ButtonIcon.stories.svelte +72 -48
- package/dist/components/buttons/ButtonIcon.svelte +58 -36
- package/dist/components/buttons/ButtonIcon.svelte.d.ts +9 -7
- package/dist/components/buttons/FAB.mdx +84 -0
- package/dist/components/buttons/FAB.stories.svelte +103 -24
- package/dist/components/buttons/FAB.stories.svelte.d.ts +2 -17
- package/dist/components/buttons/FAB.svelte +353 -29
- package/dist/components/buttons/FAB.svelte.d.ts +11 -6
- package/dist/components/buttons/FABMenu.svelte +27 -8
- package/dist/components/buttons/FABMenu.svelte.d.ts +7 -3
- package/dist/components/buttons/FABMenuItem.svelte +20 -16
- package/dist/components/buttons/FABMenuItem.svelte.d.ts +3 -3
- package/dist/components/buttons/Toggle.stories.svelte +31 -23
- package/dist/components/buttons/Toggle.stories.svelte.d.ts +2 -17
- package/dist/components/buttons/Toggle.svelte +28 -25
- package/dist/components/buttons/Toggle.svelte.d.ts +5 -5
- package/dist/components/buttons/button-group/ButtonGroup.mdx +39 -0
- package/dist/components/buttons/button-group/ButtonGroup.stories.svelte +62 -43
- package/dist/components/buttons/button-group/ButtonGroup.stories.svelte.d.ts +2 -17
- package/dist/components/buttons/button-group/ButtonGroup.svelte +102 -8
- package/dist/components/buttons/button-group/ButtonGroup.svelte.d.ts +6 -7
- package/dist/components/buttons/button-group/theme.d.ts +45 -15
- package/dist/components/buttons/button-group/theme.js +13 -8
- package/dist/components/buttons/button-group/types.d.ts +13 -7
- package/dist/components/buttons/connected/ConnectedButtonGroup.mdx +43 -0
- package/dist/components/buttons/connected/ConnectedButtonGroup.stories.svelte +56 -74
- package/dist/components/buttons/connected/ConnectedButtonGroup.stories.svelte.d.ts +2 -17
- package/dist/components/buttons/connected/ConnectedButtonGroup.svelte +16 -4
- package/dist/components/buttons/connected/ConnectedButtonGroup.svelte.d.ts +4 -4
- package/dist/components/buttons/connected/ConnectedButtonGroupItem.svelte +35 -8
- package/dist/components/buttons/connected/ConnectedButtonGroupItem.svelte.d.ts +2 -3
- package/dist/components/buttons/connected/theme.d.ts +33 -18
- package/dist/components/buttons/connected/theme.js +32 -9
- package/dist/components/buttons/connected/types.d.ts +36 -9
- package/dist/components/buttons/shapeMorph.d.ts +26 -0
- package/dist/components/buttons/shapeMorph.js +142 -0
- package/dist/components/buttons/split-button/SplitButton.mdx +48 -0
- package/dist/components/buttons/split-button/SplitButton.stories.svelte +9 -14
- package/dist/components/buttons/split-button/SplitButton.svelte +65 -48
- package/dist/components/buttons/split-button/SplitButton.svelte.d.ts +6 -11
- package/dist/components/buttons/split-button/theme.d.ts +110 -17
- package/dist/components/buttons/split-button/theme.js +74 -16
- package/dist/components/buttons/split-button/types.d.ts +24 -18
- package/dist/components/buttons/theme.d.ts +422 -230
- package/dist/components/buttons/theme.js +286 -380
- package/dist/components/buttons/types.d.ts +130 -125
- package/dist/components/cards/Card.mdx +44 -0
- package/dist/components/cards/Card.stories.svelte +11 -11
- package/dist/components/cards/theme.js +5 -5
- package/dist/components/chips/Chip.mdx +68 -0
- package/dist/components/chips/Chip.stories.svelte +4 -4
- package/dist/components/chips/theme.js +3 -3
- package/dist/components/containers/action-rail/ActionRail.stories.svelte +1 -0
- package/dist/components/containers/action-rail/theme.js +1 -1
- package/dist/components/containers/bottom-sheet/BottomSheet.mdx +64 -0
- package/dist/components/containers/bottom-sheet/BottomSheet.stories.svelte +108 -12
- package/dist/components/containers/bottom-sheet/BottomSheet.svelte +179 -109
- package/dist/components/containers/bottom-sheet/BottomSheet.svelte.d.ts +10 -5
- package/dist/components/containers/bottom-sheet/index.d.ts +1 -0
- package/dist/components/containers/bottom-sheet/index.js +1 -0
- package/dist/components/containers/bottom-sheet/theme.d.ts +45 -0
- package/dist/components/containers/bottom-sheet/theme.js +42 -0
- package/dist/components/containers/bottom-sheet/types.d.ts +37 -5
- package/dist/components/containers/carousel/Carousel.mdx +80 -0
- package/dist/components/containers/carousel/Carousel.stories.svelte +131 -0
- package/dist/components/containers/carousel/Carousel.stories.svelte.d.ts +4 -0
- package/dist/components/containers/carousel/Carousel.svelte +194 -0
- package/dist/components/containers/carousel/Carousel.svelte.d.ts +25 -0
- package/dist/components/containers/carousel/index.d.ts +3 -0
- package/dist/components/containers/{stack → carousel}/index.js +1 -2
- package/dist/components/containers/carousel/keylines.d.ts +32 -0
- package/dist/components/containers/carousel/keylines.js +88 -0
- package/dist/components/containers/carousel/theme.d.ts +162 -0
- package/dist/components/containers/carousel/theme.js +67 -0
- package/dist/components/containers/carousel/types.d.ts +52 -0
- package/dist/components/containers/context-menu/ContextMenu.stories.svelte +1 -0
- package/dist/components/containers/context-menu/ContextMenu.svelte +2 -2
- package/dist/components/containers/context-menu/ContextMenu.svelte.d.ts +1 -1
- package/dist/components/containers/context-menu/theme.js +10 -10
- package/dist/components/containers/dialogue/Dialogue.mdx +65 -0
- package/dist/components/containers/dialogue/Dialogue.stories.svelte +4 -4
- package/dist/components/containers/dialogue/Dialogue.svelte +1 -1
- package/dist/components/containers/dialogue/theme.js +3 -3
- package/dist/components/containers/divider/Divider.stories.svelte +2 -1
- package/dist/components/containers/divider/Divider.svelte +2 -2
- package/dist/components/containers/divider/theme.d.ts +6 -6
- package/dist/components/containers/divider/theme.js +2 -2
- package/dist/components/containers/index.d.ts +1 -1
- package/dist/components/containers/index.js +1 -1
- package/dist/components/containers/link-preview/theme.js +2 -2
- package/dist/components/containers/list/List.svelte +18 -0
- package/dist/components/containers/list/List.svelte.d.ts +4 -0
- package/dist/components/containers/list/ListItem.mdx +100 -0
- package/dist/components/containers/list/ListItem.stories.svelte +177 -42
- package/dist/components/containers/list/ListItem.stories.svelte.d.ts +2 -17
- package/dist/components/containers/list/ListItem.svelte +92 -37
- package/dist/components/containers/list/ListItem.svelte.d.ts +1 -1
- package/dist/components/containers/list/context.d.ts +6 -0
- package/dist/components/containers/list/context.js +4 -0
- package/dist/components/containers/list/index.d.ts +1 -0
- package/dist/components/containers/list/index.js +1 -0
- package/dist/components/containers/list/theme.d.ts +487 -12
- package/dist/components/containers/list/theme.js +140 -13
- package/dist/components/containers/list/types.d.ts +39 -5
- package/dist/components/containers/menu/Menu.mdx +52 -0
- package/dist/components/containers/menu/Menu.stories.svelte +14 -14
- package/dist/components/containers/menu/Menu.svelte +1 -1
- package/dist/components/containers/menu/MenuGroup.svelte +1 -1
- package/dist/components/containers/menu/MenuGroup.svelte.d.ts +1 -1
- package/dist/components/containers/menu/menu-item/MenuItem.svelte +1 -1
- package/dist/components/containers/menu/theme.js +8 -8
- package/dist/components/containers/pane/DraggablePane.stories.svelte +4 -3
- package/dist/components/containers/pane/DraggablePane.svelte +2 -2
- package/dist/components/containers/pane/Pane.stories.svelte +11 -10
- package/dist/components/containers/pane/Pane.svelte +24 -2
- package/dist/components/containers/pane/PaneGrid.stories.svelte +19 -18
- package/dist/components/containers/pane/PaneGrid.svelte +3 -2
- package/dist/components/containers/pane/PaneGrid.svelte.d.ts +2 -1
- package/dist/components/containers/pane/PaneHandle.svelte +48 -2
- package/dist/components/containers/pane/PaneHandle.svelte.d.ts +4 -0
- package/dist/components/containers/pane/resizeStore.svelte.d.ts +10 -1
- package/dist/components/containers/pane/resizeStore.svelte.js +13 -2
- package/dist/components/containers/pane/theme.js +129 -45
- package/dist/components/containers/pane/types.d.ts +3 -2
- package/dist/components/containers/popover/Popover.mdx +45 -0
- package/dist/components/containers/popover/Popover.stories.svelte +1 -1
- package/dist/components/containers/popover/Popover.svelte +1 -1
- package/dist/components/containers/popover/theme.js +3 -3
- package/dist/components/containers/scroll-area/theme.js +2 -2
- package/dist/components/containers/side-sheet/SideSheet.mdx +71 -0
- package/dist/components/containers/side-sheet/SideSheet.stories.svelte +113 -17
- package/dist/components/containers/side-sheet/SideSheet.svelte +113 -66
- package/dist/components/containers/side-sheet/SideSheet.svelte.d.ts +8 -7
- package/dist/components/containers/side-sheet/index.d.ts +1 -0
- package/dist/components/containers/side-sheet/index.js +1 -0
- package/dist/components/containers/side-sheet/theme.d.ts +108 -0
- package/dist/components/containers/side-sheet/theme.js +72 -0
- package/dist/components/containers/side-sheet/types.d.ts +35 -7
- package/dist/components/date/DateField.stories.svelte +4 -3
- package/dist/components/date/DateField.svelte +49 -26
- package/dist/components/date/DateField.svelte.d.ts +2 -0
- package/dist/components/date/DateRangeField.stories.svelte +4 -3
- package/dist/components/date/DateRangeField.svelte +54 -31
- package/dist/components/date/DateRangeField.svelte.d.ts +2 -0
- package/dist/components/date/calendarMotion.d.ts +9 -0
- package/dist/components/date/calendarMotion.js +23 -0
- package/dist/components/date/theme.d.ts +7 -7
- package/dist/components/date/theme.js +34 -30
- package/dist/components/forms/checkbox/Checkbox.mdx +35 -0
- package/dist/components/forms/checkbox/Checkbox.stories.svelte +2 -2
- package/dist/components/forms/checkbox/Checkbox.svelte +1 -1
- package/dist/components/forms/checkbox/theme.js +3 -3
- package/dist/components/forms/command/Command.stories.svelte +1 -0
- package/dist/components/forms/command/theme.js +9 -9
- package/dist/components/forms/pin/theme.js +4 -4
- package/dist/components/forms/radio-group/RadioGroup.svelte +1 -1
- package/dist/components/forms/radio-group/theme.js +5 -5
- package/dist/components/forms/search/Search.mdx +38 -0
- package/dist/components/forms/search/Search.stories.svelte +19 -9
- package/dist/components/forms/search/Search.svelte +40 -17
- package/dist/components/forms/search/Search.svelte.d.ts +2 -2
- package/dist/components/forms/search/theme.d.ts +45 -12
- package/dist/components/forms/search/theme.js +13 -8
- package/dist/components/forms/search/types.d.ts +18 -12
- package/dist/components/forms/select/Select.mdx +53 -0
- package/dist/components/forms/select/Select.stories.svelte +4 -4
- package/dist/components/forms/select/Select.svelte +10 -2
- package/dist/components/forms/select/SelectItem.svelte +1 -1
- package/dist/components/forms/select/theme.js +12 -12
- package/dist/components/forms/slider/Slider.mdx +85 -0
- package/dist/components/forms/slider/Slider.stories.svelte +7 -7
- package/dist/components/forms/slider/Slider.svelte +46 -28
- package/dist/components/forms/slider/theme.d.ts +14 -0
- package/dist/components/forms/slider/theme.js +28 -17
- package/dist/components/forms/slider/types.d.ts +3 -2
- package/dist/components/forms/switch/Switch.mdx +38 -0
- package/dist/components/forms/switch/Switch.stories.svelte +3 -3
- package/dist/components/forms/switch/theme.js +6 -6
- package/dist/components/forms/textfield/Textfield.mdx +53 -0
- package/dist/components/forms/textfield/Textfield.stories.svelte +6 -6
- package/dist/components/forms/textfield/Textfield.svelte +1 -0
- package/dist/components/forms/textfield/theme.d.ts +3 -0
- package/dist/components/forms/textfield/theme.js +22 -19
- package/dist/components/forms/toggle-group/theme.js +2 -2
- package/dist/components/forms/tooltip/Tooltip.stories.svelte +1 -0
- package/dist/components/forms/tooltip/theme.js +3 -3
- package/dist/components/misc/Avatar.stories.svelte +5 -4
- package/dist/components/misc/ThemeSettings.svelte +9 -9
- package/dist/components/misc/ThemeSwitcher.svelte +3 -3
- package/dist/components/misc/theme.js +4 -4
- package/dist/components/nav/appbar/AppBar.mdx +71 -0
- package/dist/components/nav/appbar/AppBar.stories.svelte +93 -3
- package/dist/components/nav/appbar/AppBar.stories.svelte.d.ts +2 -17
- package/dist/components/nav/appbar/AppBar.svelte +90 -37
- package/dist/components/nav/appbar/AppBar.svelte.d.ts +9 -2
- package/dist/components/nav/appbar/theme.d.ts +85 -18
- package/dist/components/nav/appbar/theme.js +159 -23
- package/dist/components/nav/appbar/types.d.ts +46 -9
- package/dist/components/nav/breadcrumb/Breadcrumb.stories.svelte +1 -0
- package/dist/components/nav/breadcrumb/theme.js +5 -5
- package/dist/components/nav/navbar/Navbar.mdx +38 -0
- package/dist/components/nav/navbar/Navbar.svelte +1 -1
- package/dist/components/nav/navbar/NavbarItem.svelte +12 -9
- package/dist/components/nav/navbar/theme.js +6 -6
- package/dist/components/nav/rail/Rail.mdx +73 -0
- package/dist/components/nav/rail/Rail.stories.svelte +3 -7
- package/dist/components/nav/rail/Rail.svelte +1 -0
- package/dist/components/nav/rail/RailItem.svelte +12 -9
- package/dist/components/nav/rail/theme.js +13 -13
- package/dist/components/nav/rail/types.d.ts +4 -1
- package/dist/components/nav/tabs/TabHolder.svelte +29 -3
- package/dist/components/nav/tabs/TabHolder.svelte.d.ts +3 -1
- package/dist/components/nav/tabs/Tabs.mdx +62 -0
- package/dist/components/nav/tabs/Tabs.stories.svelte +1 -1
- package/dist/components/nav/tabs/theme.js +4 -4
- package/dist/components/pill/Pill.mdx +32 -0
- package/dist/components/pill/Pill.stories.svelte +1 -1
- package/dist/components/pill/theme.d.ts +1 -1
- package/dist/components/pill/theme.js +1 -1
- package/dist/components/progress/LinearProgress.svelte +1 -1
- package/dist/components/progress/Progress.mdx +50 -0
- package/dist/components/progress/Progress.stories.svelte +6 -6
- package/dist/components/snackbar/Snackbar.mdx +52 -0
- package/dist/components/snackbar/Snackbar.stories.svelte +5 -5
- package/dist/components/snackbar/Snackbar.svelte +1 -1
- package/dist/components/snackbar/theme.d.ts +3 -3
- package/dist/components/snackbar/theme.js +4 -4
- package/dist/components/table/Table.stories.svelte +1 -0
- package/dist/components/table/TableHeader.svelte +1 -1
- package/dist/components/table/theme.js +3 -3
- package/dist/components/time/TimeField.stories.svelte +3 -2
- package/dist/components/time/TimeField.svelte +14 -8
- package/dist/components/time/TimeField.svelte.d.ts +6 -0
- package/dist/components/time/TimepickerInput.svelte +9 -5
- package/dist/components/time/theme.js +5 -5
- package/dist/components/time/types.d.ts +11 -1
- package/dist/components/toolbar/Toolbar.stories.svelte +1 -0
- package/dist/components/toolbar/Toolbar.svelte +1 -1
- package/dist/components/toolbar/Toolbar.svelte.d.ts +1 -1
- package/dist/components/toolbar/theme.js +14 -14
- package/dist/components/typography/Typography.mdx +67 -0
- package/dist/components/typography/body/Body.stories.svelte +2 -1
- package/dist/components/typography/body/theme.d.ts +15 -12
- package/dist/components/typography/body/theme.js +19 -4
- package/dist/components/typography/body/types.d.ts +2 -1
- package/dist/components/typography/display/Display.stories.svelte +2 -1
- package/dist/components/typography/display/theme.d.ts +15 -12
- package/dist/components/typography/display/theme.js +19 -4
- package/dist/components/typography/display/types.d.ts +2 -1
- package/dist/components/typography/headline/Headline.stories.svelte +2 -1
- package/dist/components/typography/headline/theme.d.ts +15 -12
- package/dist/components/typography/headline/theme.js +19 -4
- package/dist/components/typography/headline/types.d.ts +2 -1
- package/dist/components/typography/kbd/Kbd.stories.svelte +2 -1
- package/dist/components/typography/kbd/theme.d.ts +4 -4
- package/dist/components/typography/kbd/theme.js +2 -2
- package/dist/components/typography/label/Label.stories.svelte +2 -1
- package/dist/components/typography/label/theme.d.ts +15 -12
- package/dist/components/typography/label/theme.js +19 -4
- package/dist/components/typography/label/types.d.ts +2 -1
- package/dist/components/typography/title/Title.stories.svelte +2 -1
- package/dist/components/typography/title/theme.d.ts +15 -12
- package/dist/components/typography/title/theme.js +19 -4
- package/dist/components/typography/title/types.d.ts +2 -1
- package/dist/index.css +1 -0
- package/dist/styles/component.css +78 -175
- package/dist/styles/elevation.css +9 -0
- package/dist/styles/spacing.css +29 -0
- package/dist/styles/typescale.css +635 -20
- package/dist/utils/Layer.svelte +1 -1
- package/dist/utils/icon/Icon.svelte +8 -6
- package/dist/utils/icon/loadingShapes.js +11 -10
- package/package.json +19 -15
- package/dist/components/containers/stack/HStack.svelte +0 -23
- package/dist/components/containers/stack/HStack.svelte.d.ts +0 -5
- package/dist/components/containers/stack/VStack.svelte +0 -23
- package/dist/components/containers/stack/VStack.svelte.d.ts +0 -5
- package/dist/components/containers/stack/index.d.ts +0 -4
- package/dist/components/containers/stack/theme.d.ts +0 -66
- package/dist/components/containers/stack/theme.js +0 -26
- package/dist/components/containers/stack/types.d.ts +0 -12
- /package/dist/components/containers/{stack → carousel}/types.js +0 -0
|
@@ -9,16 +9,16 @@ export const avatar = tv({
|
|
|
9
9
|
variants: {
|
|
10
10
|
size: {
|
|
11
11
|
xxs: {
|
|
12
|
-
root: 'size-
|
|
12
|
+
root: 'size-spacing-250'
|
|
13
13
|
},
|
|
14
14
|
xs: {
|
|
15
|
-
root: 'size-
|
|
15
|
+
root: 'size-spacing-400'
|
|
16
16
|
},
|
|
17
17
|
sm: {
|
|
18
|
-
root: 'size-
|
|
18
|
+
root: 'size-spacing-600'
|
|
19
19
|
},
|
|
20
20
|
md: {
|
|
21
|
-
root: 'size-
|
|
21
|
+
root: 'size-spacing-900'
|
|
22
22
|
},
|
|
23
23
|
lg: {
|
|
24
24
|
root: 'size-24'
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { Meta, Title, Subtitle, Canvas, Controls } from '@storybook/addon-docs/blocks';
|
|
2
|
+
import * as AppBarStories from './AppBar.stories.svelte';
|
|
3
|
+
import * as BreadcrumbStories from '../breadcrumb/Breadcrumb.stories.svelte';
|
|
4
|
+
|
|
5
|
+
<Meta of={AppBarStories} />
|
|
6
|
+
|
|
7
|
+
<Title />
|
|
8
|
+
|
|
9
|
+
<Subtitle>Top app bars show the screen's title, navigation, and actions.</Subtitle>
|
|
10
|
+
|
|
11
|
+
[M3 spec](https://m3.material.io/components/app-bars/specs) ·
|
|
12
|
+
`import { AppBar } from '@noxlovette/material';`
|
|
13
|
+
|
|
14
|
+
<Canvas of={AppBarStories.Playground} />
|
|
15
|
+
|
|
16
|
+
<Controls of={AppBarStories.Playground} />
|
|
17
|
+
|
|
18
|
+
## Two kinds of bar
|
|
19
|
+
|
|
20
|
+
The props form a union, so the bar is one of two kinds:
|
|
21
|
+
|
|
22
|
+
- **Titled bar.** Pass `title`. `size` is `small` (64dp, one line), or the Expressive `medium` or
|
|
23
|
+
`large` flexible bars, whose headline wraps and grows. `size` is responsive: pass
|
|
24
|
+
`{ small: 'small', large: 'large' }` to grow the bar on wider windows. The switch happens in CSS,
|
|
25
|
+
so server rendering needs no JS.
|
|
26
|
+
- **Search bar.** Pass `search` (the hint text) instead. The bar is always 64dp. `title` then
|
|
27
|
+
becomes a screen-reader-only heading.
|
|
28
|
+
|
|
29
|
+
<Canvas of={AppBarStories.MediumFlexible} />
|
|
30
|
+
|
|
31
|
+
<Canvas of={AppBarStories.Search} />
|
|
32
|
+
|
|
33
|
+
## Placement
|
|
34
|
+
|
|
35
|
+
The bar is fixed at the top at every window size. Pass `ghost` to render a same-height spacer
|
|
36
|
+
after it, so page content doesn't start underneath. The bar also publishes its height as
|
|
37
|
+
`--appbar-height` on the root element. `Pane`/`PaneGrid` read it to shrink their `min-height`, so
|
|
38
|
+
nothing needs wiring. Next to a `Rail`, pass the bar's height to the rail's `railTop`.
|
|
39
|
+
|
|
40
|
+
```svelte
|
|
41
|
+
<AppBar title="Inbox" ghost>
|
|
42
|
+
{#snippet trailing()}
|
|
43
|
+
<ButtonIcon variant="standard" iconProps={{ name: 'search' }} />
|
|
44
|
+
<ButtonIcon variant="standard" iconProps={{ name: 'more_vert' }} />
|
|
45
|
+
{/snippet}
|
|
46
|
+
</AppBar>
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
## Scroll color
|
|
50
|
+
|
|
51
|
+
The bar switches to its on-scroll color once the page scrolls more than 10px. If content scrolls
|
|
52
|
+
inside a container instead (a `Pane`, say), pass that element as `scrollContainer`.
|
|
53
|
+
|
|
54
|
+
<Canvas of={AppBarStories.ScrollContainer} />
|
|
55
|
+
|
|
56
|
+
## Breadcrumbs
|
|
57
|
+
|
|
58
|
+
`children` renders in a full-width row below the title, which is where a `Breadcrumb` goes. M3
|
|
59
|
+
has no breadcrumb pattern, so `Breadcrumb` uses `label-large` crumbs separated by chevrons. The
|
|
60
|
+
current page uses the emphasized `label-large` and is always static text with
|
|
61
|
+
`aria-current="page"`. `color` sets the current crumb's color and the links' hover color.
|
|
62
|
+
|
|
63
|
+
<Canvas of={BreadcrumbStories.InAppBar} />
|
|
64
|
+
|
|
65
|
+
## Accessibility
|
|
66
|
+
|
|
67
|
+
- **Landmark.** The bar renders a `<nav>`, which assistive tech announces as a landmark.
|
|
68
|
+
- **Heading.** The title is the page's `<h1>`. On a search bar it stays an `<h1>`, hidden
|
|
69
|
+
visually. Don't render a second `<h1>` on the page.
|
|
70
|
+
- **Back button.** `showBack` renders a labelled back button that calls `onback`, or
|
|
71
|
+
`history.back()` by default.
|
|
@@ -13,23 +13,31 @@
|
|
|
13
13
|
argTypes: {
|
|
14
14
|
title: { control: 'text' },
|
|
15
15
|
subtitle: { control: 'text' },
|
|
16
|
+
size: { control: 'inline-radio', options: ['small', 'medium', 'large'] },
|
|
17
|
+
align: { control: 'inline-radio', options: ['start', 'center'] },
|
|
16
18
|
showBack: { control: 'boolean' },
|
|
17
19
|
ghost: { control: 'boolean' }
|
|
18
20
|
},
|
|
19
21
|
args: {
|
|
20
22
|
title: 'Inbox',
|
|
23
|
+
size: 'small',
|
|
24
|
+
align: 'start',
|
|
21
25
|
showBack: false,
|
|
22
26
|
ghost: true
|
|
23
27
|
}
|
|
24
28
|
});
|
|
25
29
|
</script>
|
|
26
30
|
|
|
31
|
+
<script lang="ts">
|
|
32
|
+
let scroller = $state<HTMLElement | null>(null);
|
|
33
|
+
</script>
|
|
34
|
+
|
|
27
35
|
<Story name="Playground">
|
|
28
36
|
{#snippet template(args)}
|
|
29
37
|
<AppBar {...args}>
|
|
30
38
|
{#snippet trailing()}
|
|
31
|
-
<ButtonIcon variant="
|
|
32
|
-
<ButtonIcon variant="
|
|
39
|
+
<ButtonIcon variant="standard" iconProps={{ name: 'search' }} />
|
|
40
|
+
<ButtonIcon variant="standard" iconProps={{ name: 'more_vert' }} />
|
|
33
41
|
{/snippet}
|
|
34
42
|
</AppBar>
|
|
35
43
|
{/snippet}
|
|
@@ -38,12 +46,94 @@
|
|
|
38
46
|
<Story
|
|
39
47
|
name="With Back and Subtitle"
|
|
40
48
|
args={{ title: 'Draft', subtitle: '3 recipients', showBack: true }}
|
|
49
|
+
>
|
|
50
|
+
{#snippet template(args)}
|
|
51
|
+
<AppBar {...args} />
|
|
52
|
+
{/snippet}
|
|
53
|
+
</Story>
|
|
54
|
+
|
|
55
|
+
<Story name="Medium flexible" args={{ title: 'Travel plans', size: 'medium', showBack: true }}>
|
|
56
|
+
{#snippet template(args)}
|
|
57
|
+
<AppBar {...args}>
|
|
58
|
+
{#snippet trailing()}
|
|
59
|
+
<ButtonIcon variant="standard" iconProps={{ name: 'search' }} />
|
|
60
|
+
<ButtonIcon variant="standard" iconProps={{ name: 'more_vert' }} />
|
|
61
|
+
{/snippet}
|
|
62
|
+
</AppBar>
|
|
63
|
+
{/snippet}
|
|
64
|
+
</Story>
|
|
65
|
+
|
|
66
|
+
<Story
|
|
67
|
+
name="Large flexible"
|
|
68
|
+
args={{ title: 'Travel plans', subtitle: '3 upcoming trips', size: 'large', showBack: true }}
|
|
41
69
|
>
|
|
70
|
+
{#snippet template(args)}
|
|
71
|
+
<AppBar {...args}>
|
|
72
|
+
{#snippet trailing()}
|
|
73
|
+
<ButtonIcon variant="standard" iconProps={{ name: 'more_vert' }} />
|
|
74
|
+
{/snippet}
|
|
75
|
+
</AppBar>
|
|
76
|
+
{/snippet}
|
|
77
|
+
</Story>
|
|
78
|
+
|
|
79
|
+
<Story name="Centered" args={{ title: 'Product', align: 'center' }}>
|
|
42
80
|
{#snippet template(args)}
|
|
43
81
|
<AppBar {...args}>
|
|
44
82
|
{#snippet leading()}
|
|
45
|
-
<ButtonIcon variant="
|
|
83
|
+
<ButtonIcon variant="standard" iconProps={{ name: 'menu' }} aria-label="Menu" />
|
|
84
|
+
{/snippet}
|
|
85
|
+
{#snippet trailing()}
|
|
86
|
+
<ButtonIcon
|
|
87
|
+
variant="standard"
|
|
88
|
+
iconProps={{ name: 'account_circle' }}
|
|
89
|
+
aria-label="Account"
|
|
90
|
+
/>
|
|
46
91
|
{/snippet}
|
|
47
92
|
</AppBar>
|
|
48
93
|
{/snippet}
|
|
49
94
|
</Story>
|
|
95
|
+
|
|
96
|
+
<Story
|
|
97
|
+
name="Responsive size"
|
|
98
|
+
args={{
|
|
99
|
+
title: 'Travel plans',
|
|
100
|
+
subtitle: 'Resize the viewport',
|
|
101
|
+
size: { small: 'small', medium: 'medium', large: 'large' }
|
|
102
|
+
}}
|
|
103
|
+
parameters={{ viewport: { defaultViewport: 'responsive' } }}
|
|
104
|
+
>
|
|
105
|
+
{#snippet template(args)}
|
|
106
|
+
<AppBar {...args} showBack>
|
|
107
|
+
{#snippet trailing()}
|
|
108
|
+
<ButtonIcon variant="standard" iconProps={{ name: 'more_vert' }} aria-label="More" />
|
|
109
|
+
{/snippet}
|
|
110
|
+
</AppBar>
|
|
111
|
+
{/snippet}
|
|
112
|
+
</Story>
|
|
113
|
+
|
|
114
|
+
<Story name="Search" asChild>
|
|
115
|
+
<AppBar search="Search products" title="Products">
|
|
116
|
+
{#snippet leading()}
|
|
117
|
+
<ButtonIcon variant="standard" iconProps={{ name: 'menu' }} aria-label="Menu" />
|
|
118
|
+
{/snippet}
|
|
119
|
+
{#snippet searchTrailing()}
|
|
120
|
+
<ButtonIcon variant="standard" iconProps={{ name: 'mic' }} aria-label="Voice search" />
|
|
121
|
+
{/snippet}
|
|
122
|
+
{#snippet trailing()}
|
|
123
|
+
<ButtonIcon variant="standard" iconProps={{ name: 'account_circle' }} aria-label="Account" />
|
|
124
|
+
{/snippet}
|
|
125
|
+
</AppBar>
|
|
126
|
+
</Story>
|
|
127
|
+
|
|
128
|
+
<Story name="Scroll container" asChild>
|
|
129
|
+
<div bind:this={scroller} class="h-[480px] overflow-y-auto">
|
|
130
|
+
<AppBar title="Scroll this box" scrollContainer={scroller} ghost />
|
|
131
|
+
{#each { length: 40 } as _, i (i)}
|
|
132
|
+
<p
|
|
133
|
+
class="md-sys-typescale-body-large text-md-sys-color-on-surface px-spacing-200 py-spacing-100"
|
|
134
|
+
>
|
|
135
|
+
Row {i + 1}
|
|
136
|
+
</p>
|
|
137
|
+
{/each}
|
|
138
|
+
</div>
|
|
139
|
+
</Story>
|
|
@@ -1,19 +1,4 @@
|
|
|
1
1
|
import AppBar from './AppBar.svelte';
|
|
2
|
-
|
|
3
|
-
|
|
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 AppBar: $$__sveltets_2_IsomorphicComponent<Record<string, never>, {
|
|
16
|
-
[evt: string]: CustomEvent<any>;
|
|
17
|
-
}, {}, {}, string>;
|
|
18
|
-
type AppBar = InstanceType<typeof AppBar>;
|
|
2
|
+
declare const AppBar: import("svelte").Component<Record<string, never>, {}, "">;
|
|
3
|
+
type AppBar = ReturnType<typeof AppBar>;
|
|
19
4
|
export default AppBar;
|
|
@@ -5,17 +5,25 @@ Material 3 App Bar.
|
|
|
5
5
|
Top app bars provide content and actions related to the current screen.
|
|
6
6
|
They’re used for branding, screen titles, navigation, and actions.
|
|
7
7
|
|
|
8
|
+
Sizes: `small` (64dp, one line) and the Expressive `medium`/`large` flexible bars, whose
|
|
9
|
+
headline block wraps and grows. `size` also takes one value per breakpoint
|
|
10
|
+
(`{ small: 'small', large: 'large' }`), switched in CSS so server rendering needs no JS.
|
|
11
|
+
`align="center"` centres the title. Setting `search` makes it a search app bar.
|
|
12
|
+
|
|
13
|
+
The bar takes its on-scroll color once `scrollContainer` (default: the page) scrolls.
|
|
14
|
+
|
|
8
15
|
Publishes its measured height as `--appbar-height` on the document root, so any
|
|
9
16
|
`Pane`/`PaneGrid` on the page (`full`, the default) shrinks its `min-height` by
|
|
10
17
|
that amount with no props or wiring on either side — see Pane.svelte's doc
|
|
11
18
|
comment.
|
|
12
19
|
|
|
13
|
-
@see https://m3.material.io/components/
|
|
20
|
+
@see https://m3.material.io/components/app-bars/specs
|
|
14
21
|
-->
|
|
15
22
|
<script lang="ts">
|
|
16
|
-
import { appbar } from './theme.js';
|
|
23
|
+
import { appbar, appbarSize } from './theme.js';
|
|
17
24
|
import type { AppBarProps } from './types.js';
|
|
18
25
|
import clsx from 'clsx';
|
|
26
|
+
import ButtonIcon from '../../buttons/ButtonIcon.svelte';
|
|
19
27
|
|
|
20
28
|
let {
|
|
21
29
|
children,
|
|
@@ -27,31 +35,46 @@ comment.
|
|
|
27
35
|
leading,
|
|
28
36
|
class: className,
|
|
29
37
|
rowClass,
|
|
30
|
-
showBack,
|
|
38
|
+
showBack = false,
|
|
39
|
+
onback = () => history.back(),
|
|
40
|
+
size = 'small',
|
|
41
|
+
align = 'start',
|
|
42
|
+
search,
|
|
43
|
+
query = $bindable(''),
|
|
44
|
+
searchProps,
|
|
45
|
+
searchTrailing,
|
|
46
|
+
scrollContainer,
|
|
31
47
|
ghost = false,
|
|
32
48
|
...rest
|
|
33
49
|
}: AppBarProps = $props();
|
|
34
50
|
|
|
35
|
-
let
|
|
36
|
-
let scrolled = $derived(scrollY > 10);
|
|
51
|
+
let scrolled = $state(false);
|
|
37
52
|
let barHeight = $state(64);
|
|
38
53
|
|
|
39
|
-
|
|
40
|
-
|
|
54
|
+
$effect(() => {
|
|
55
|
+
const target = scrollContainer ?? window;
|
|
56
|
+
const read = () =>
|
|
57
|
+
(scrolled = (scrollContainer ? scrollContainer.scrollTop : window.scrollY) > 10);
|
|
58
|
+
read();
|
|
59
|
+
target.addEventListener('scroll', read, { passive: true });
|
|
60
|
+
return () => target.removeEventListener('scroll', read);
|
|
61
|
+
});
|
|
62
|
+
|
|
63
|
+
const isSearch = $derived(search !== undefined);
|
|
64
|
+
const noLeading = $derived(!leading && !showBack);
|
|
41
65
|
|
|
42
|
-
const
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
const
|
|
54
|
-
const rowFull = $derived(row({ class: clsx(rowClass) }));
|
|
66
|
+
const s = $derived(
|
|
67
|
+
appbar({
|
|
68
|
+
align: isSearch ? 'start' : align,
|
|
69
|
+
scrolled,
|
|
70
|
+
searchContainer: isSearch,
|
|
71
|
+
hasSearchTrailing: !!searchTrailing,
|
|
72
|
+
noLeading,
|
|
73
|
+
noTrailing: !trailing
|
|
74
|
+
})
|
|
75
|
+
);
|
|
76
|
+
// Search app bars are always the small, 64dp bar.
|
|
77
|
+
const sized = $derived(appbarSize(isSearch ? 'small' : size, !!subtitle));
|
|
55
78
|
|
|
56
79
|
function trackHeight(node: HTMLElement) {
|
|
57
80
|
const observer = new ResizeObserver((entries) => {
|
|
@@ -68,33 +91,63 @@ comment.
|
|
|
68
91
|
});
|
|
69
92
|
</script>
|
|
70
93
|
|
|
71
|
-
<
|
|
72
|
-
|
|
73
|
-
<
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
{
|
|
94
|
+
<nav {...rest} class={s.base({ class: clsx(className) })} {@attach trackHeight}>
|
|
95
|
+
<div class={s.row({ class: clsx(sized.row, rowClass) })}>
|
|
96
|
+
<div class={s.leading()}>
|
|
97
|
+
{#if leading}
|
|
98
|
+
{@render leading()}
|
|
99
|
+
{:else if showBack}
|
|
100
|
+
<ButtonIcon
|
|
101
|
+
variant="standard"
|
|
102
|
+
iconProps={{ name: 'arrow_back' }}
|
|
103
|
+
aria-label="Back"
|
|
104
|
+
onclick={onback}
|
|
105
|
+
/>
|
|
106
|
+
{/if}
|
|
77
107
|
</div>
|
|
78
|
-
<div class={textContainer()}>
|
|
79
|
-
|
|
80
|
-
{title}
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
<
|
|
84
|
-
|
|
85
|
-
|
|
108
|
+
<div class={s.textContainer({ class: sized.textContainer })}>
|
|
109
|
+
{#if isSearch}
|
|
110
|
+
{#if title}
|
|
111
|
+
<h1 {...titleProps} class={clsx('sr-only', titleProps?.class)}>{title}</h1>
|
|
112
|
+
{/if}
|
|
113
|
+
<label class={s.search()}>
|
|
114
|
+
<input
|
|
115
|
+
type="search"
|
|
116
|
+
{...searchProps}
|
|
117
|
+
placeholder={search}
|
|
118
|
+
aria-label={searchProps?.['aria-label'] ?? search}
|
|
119
|
+
bind:value={query}
|
|
120
|
+
class={s.searchInput({ class: clsx(searchProps?.class) })}
|
|
121
|
+
/>
|
|
122
|
+
{#if searchTrailing}
|
|
123
|
+
<span class={s.searchTrailing()}>{@render searchTrailing()}</span>
|
|
124
|
+
{/if}
|
|
125
|
+
</label>
|
|
126
|
+
{:else}
|
|
127
|
+
<h1 {...titleProps} class={s.title({ class: clsx(sized.title, titleProps?.class) })}>
|
|
128
|
+
{title}
|
|
129
|
+
</h1>
|
|
130
|
+
{#if subtitle}
|
|
131
|
+
<p
|
|
132
|
+
{...subtitleProps}
|
|
133
|
+
class={s.subtitle({ class: clsx(sized.subtitle, subtitleProps?.class) })}
|
|
134
|
+
>
|
|
135
|
+
{subtitle}
|
|
136
|
+
</p>
|
|
137
|
+
{/if}
|
|
86
138
|
{/if}
|
|
87
139
|
</div>
|
|
88
|
-
<div class={
|
|
140
|
+
<div class={s.trailing()}>
|
|
89
141
|
{@render trailing?.()}
|
|
90
142
|
</div>
|
|
91
143
|
</div>
|
|
92
144
|
{#if children}
|
|
93
|
-
<div class={childrenRow()}>
|
|
145
|
+
<div class={s.childrenRow()}>
|
|
94
146
|
{@render children()}
|
|
95
147
|
</div>
|
|
96
148
|
{/if}
|
|
97
149
|
</nav>
|
|
150
|
+
|
|
98
151
|
{#if ghost}
|
|
99
|
-
<div class={
|
|
152
|
+
<div class={s.ghost()} style="height: {barHeight}px" aria-hidden="true"></div>
|
|
100
153
|
{/if}
|
|
@@ -5,13 +5,20 @@ import type { AppBarProps } from './types.js';
|
|
|
5
5
|
* Top app bars provide content and actions related to the current screen.
|
|
6
6
|
* They’re used for branding, screen titles, navigation, and actions.
|
|
7
7
|
*
|
|
8
|
+
* Sizes: `small` (64dp, one line) and the Expressive `medium`/`large` flexible bars, whose
|
|
9
|
+
* headline block wraps and grows. `size` also takes one value per breakpoint
|
|
10
|
+
* (`{ small: 'small', large: 'large' }`), switched in CSS so server rendering needs no JS.
|
|
11
|
+
* `align="center"` centres the title. Setting `search` makes it a search app bar.
|
|
12
|
+
*
|
|
13
|
+
* The bar takes its on-scroll color once `scrollContainer` (default: the page) scrolls.
|
|
14
|
+
*
|
|
8
15
|
* Publishes its measured height as `--appbar-height` on the document root, so any
|
|
9
16
|
* `Pane`/`PaneGrid` on the page (`full`, the default) shrinks its `min-height` by
|
|
10
17
|
* that amount with no props or wiring on either side — see Pane.svelte's doc
|
|
11
18
|
* comment.
|
|
12
19
|
*
|
|
13
|
-
* @see https://m3.material.io/components/
|
|
20
|
+
* @see https://m3.material.io/components/app-bars/specs
|
|
14
21
|
*/
|
|
15
|
-
declare const AppBar: import("svelte").Component<AppBarProps, {}, "">;
|
|
22
|
+
declare const AppBar: import("svelte").Component<AppBarProps, {}, "query">;
|
|
16
23
|
type AppBar = ReturnType<typeof AppBar>;
|
|
17
24
|
export default AppBar;
|
|
@@ -1,30 +1,54 @@
|
|
|
1
1
|
import { type VariantProps } from 'tailwind-variants';
|
|
2
|
+
import type { Breakpoint } from '../../containers/pane/theme.js';
|
|
2
3
|
export type AppbarVariants = VariantProps<typeof appbar>;
|
|
4
|
+
export type AppBarSize = 'small' | 'medium' | 'large';
|
|
5
|
+
/**
|
|
6
|
+
* Resolves `size` (one value, or one per breakpoint like `PaneGrid`'s props) into per-slot
|
|
7
|
+
* classes. Sizes cascade upward from the smallest breakpoint given, like Tailwind prefixes.
|
|
8
|
+
*/
|
|
9
|
+
export declare function appbarSize(size: AppBarSize | Partial<Record<Breakpoint, AppBarSize>>, hasSubtitle: boolean): Record<'row' | 'textContainer' | 'title' | 'subtitle', string>;
|
|
3
10
|
export declare const appbar: import("tailwind-variants").TVReturnType<{
|
|
11
|
+
align: {
|
|
12
|
+
start: {
|
|
13
|
+
row: string;
|
|
14
|
+
textContainer: string;
|
|
15
|
+
};
|
|
16
|
+
center: {
|
|
17
|
+
row: string;
|
|
18
|
+
textContainer: string;
|
|
19
|
+
};
|
|
20
|
+
};
|
|
4
21
|
scrolled: {
|
|
5
22
|
true: {
|
|
6
23
|
base: string;
|
|
24
|
+
search: string;
|
|
7
25
|
};
|
|
8
26
|
false: {
|
|
9
27
|
base: string;
|
|
28
|
+
search: string;
|
|
10
29
|
};
|
|
11
30
|
};
|
|
12
31
|
searchContainer: {
|
|
13
|
-
true: "";
|
|
14
|
-
false: "";
|
|
15
|
-
};
|
|
16
|
-
noTrailing: {
|
|
17
32
|
true: {
|
|
33
|
+
row: string;
|
|
18
34
|
textContainer: string;
|
|
19
35
|
};
|
|
20
36
|
false: "";
|
|
21
37
|
};
|
|
22
|
-
|
|
38
|
+
hasSearchTrailing: {
|
|
23
39
|
true: {
|
|
24
|
-
|
|
40
|
+
search: string;
|
|
25
41
|
};
|
|
26
42
|
false: "";
|
|
27
43
|
};
|
|
44
|
+
noTrailing: {
|
|
45
|
+
true: "";
|
|
46
|
+
false: "";
|
|
47
|
+
};
|
|
48
|
+
noLeading: {
|
|
49
|
+
true: "";
|
|
50
|
+
false: "";
|
|
51
|
+
};
|
|
28
52
|
}, {
|
|
29
53
|
base: string;
|
|
30
54
|
row: string;
|
|
@@ -35,31 +59,51 @@ export declare const appbar: import("tailwind-variants").TVReturnType<{
|
|
|
35
59
|
subtitle: string;
|
|
36
60
|
leading: string;
|
|
37
61
|
trailing: string;
|
|
62
|
+
search: string;
|
|
63
|
+
searchInput: string;
|
|
64
|
+
searchTrailing: string;
|
|
38
65
|
}, undefined, {
|
|
66
|
+
align: {
|
|
67
|
+
start: {
|
|
68
|
+
row: string;
|
|
69
|
+
textContainer: string;
|
|
70
|
+
};
|
|
71
|
+
center: {
|
|
72
|
+
row: string;
|
|
73
|
+
textContainer: string;
|
|
74
|
+
};
|
|
75
|
+
};
|
|
39
76
|
scrolled: {
|
|
40
77
|
true: {
|
|
41
78
|
base: string;
|
|
79
|
+
search: string;
|
|
42
80
|
};
|
|
43
81
|
false: {
|
|
44
82
|
base: string;
|
|
83
|
+
search: string;
|
|
45
84
|
};
|
|
46
85
|
};
|
|
47
86
|
searchContainer: {
|
|
48
|
-
true: "";
|
|
49
|
-
false: "";
|
|
50
|
-
};
|
|
51
|
-
noTrailing: {
|
|
52
87
|
true: {
|
|
88
|
+
row: string;
|
|
53
89
|
textContainer: string;
|
|
54
90
|
};
|
|
55
91
|
false: "";
|
|
56
92
|
};
|
|
57
|
-
|
|
93
|
+
hasSearchTrailing: {
|
|
58
94
|
true: {
|
|
59
|
-
|
|
95
|
+
search: string;
|
|
60
96
|
};
|
|
61
97
|
false: "";
|
|
62
98
|
};
|
|
99
|
+
noTrailing: {
|
|
100
|
+
true: "";
|
|
101
|
+
false: "";
|
|
102
|
+
};
|
|
103
|
+
noLeading: {
|
|
104
|
+
true: "";
|
|
105
|
+
false: "";
|
|
106
|
+
};
|
|
63
107
|
}, {
|
|
64
108
|
base: string;
|
|
65
109
|
row: string;
|
|
@@ -70,31 +114,51 @@ export declare const appbar: import("tailwind-variants").TVReturnType<{
|
|
|
70
114
|
subtitle: string;
|
|
71
115
|
leading: string;
|
|
72
116
|
trailing: string;
|
|
117
|
+
search: string;
|
|
118
|
+
searchInput: string;
|
|
119
|
+
searchTrailing: string;
|
|
73
120
|
}, import("tailwind-variants").TVReturnTypeLike<{
|
|
121
|
+
align: {
|
|
122
|
+
start: {
|
|
123
|
+
row: string;
|
|
124
|
+
textContainer: string;
|
|
125
|
+
};
|
|
126
|
+
center: {
|
|
127
|
+
row: string;
|
|
128
|
+
textContainer: string;
|
|
129
|
+
};
|
|
130
|
+
};
|
|
74
131
|
scrolled: {
|
|
75
132
|
true: {
|
|
76
133
|
base: string;
|
|
134
|
+
search: string;
|
|
77
135
|
};
|
|
78
136
|
false: {
|
|
79
137
|
base: string;
|
|
138
|
+
search: string;
|
|
80
139
|
};
|
|
81
140
|
};
|
|
82
141
|
searchContainer: {
|
|
83
|
-
true: "";
|
|
84
|
-
false: "";
|
|
85
|
-
};
|
|
86
|
-
noTrailing: {
|
|
87
142
|
true: {
|
|
143
|
+
row: string;
|
|
88
144
|
textContainer: string;
|
|
89
145
|
};
|
|
90
146
|
false: "";
|
|
91
147
|
};
|
|
92
|
-
|
|
148
|
+
hasSearchTrailing: {
|
|
93
149
|
true: {
|
|
94
|
-
|
|
150
|
+
search: string;
|
|
95
151
|
};
|
|
96
152
|
false: "";
|
|
97
153
|
};
|
|
154
|
+
noTrailing: {
|
|
155
|
+
true: "";
|
|
156
|
+
false: "";
|
|
157
|
+
};
|
|
158
|
+
noLeading: {
|
|
159
|
+
true: "";
|
|
160
|
+
false: "";
|
|
161
|
+
};
|
|
98
162
|
}, {
|
|
99
163
|
base: string;
|
|
100
164
|
row: string;
|
|
@@ -105,4 +169,7 @@ export declare const appbar: import("tailwind-variants").TVReturnType<{
|
|
|
105
169
|
subtitle: string;
|
|
106
170
|
leading: string;
|
|
107
171
|
trailing: string;
|
|
172
|
+
search: string;
|
|
173
|
+
searchInput: string;
|
|
174
|
+
searchTrailing: string;
|
|
108
175
|
}>>;
|