mirror of
https://github.com/carbon-design-system/carbon-components-svelte.git
synced 2025-09-16 02:41:05 +00:00
chore: lift components folder
This commit is contained in:
parent
76df51674d
commit
2200b29b92
301 changed files with 57 additions and 76 deletions
14
src/Breadcrumb/Breadcrumb.Skeleton.svelte
Normal file
14
src/Breadcrumb/Breadcrumb.Skeleton.svelte
Normal file
|
@ -0,0 +1,14 @@
|
|||
<div
|
||||
class:bx--breadcrumb={true}
|
||||
class:bx--skeleton={true}
|
||||
{...$$restProps}
|
||||
on:click
|
||||
on:mouseover
|
||||
on:mouseenter
|
||||
on:mouseleave>
|
||||
{#each [0, 1, 2] as item, i (item)}
|
||||
<div class:bx--breadcrumb-item={true}>
|
||||
<span class:bx--link={true}> </span>
|
||||
</div>
|
||||
{/each}
|
||||
</div>
|
36
src/Breadcrumb/Breadcrumb.Story.svelte
Normal file
36
src/Breadcrumb/Breadcrumb.Story.svelte
Normal file
|
@ -0,0 +1,36 @@
|
|||
<script>
|
||||
export let story = undefined;
|
||||
export let noTrailingSlash = undefined;
|
||||
|
||||
import Breadcrumb from "./Breadcrumb.svelte";
|
||||
import BreadcrumbItem from "./BreadcrumbItem.svelte";
|
||||
import BreadcrumbSkeleton from "./Breadcrumb.Skeleton.svelte";
|
||||
</script>
|
||||
|
||||
{#if story === 'current page'}
|
||||
<Breadcrumb noTrailingSlash aria-label="Breadcrumb header">
|
||||
<BreadcrumbItem let:props>
|
||||
<a {...props} href="/#">Breadcrumb 1</a>
|
||||
</BreadcrumbItem>
|
||||
<BreadcrumbItem href="#">Breadcrumb 2</BreadcrumbItem>
|
||||
<BreadcrumbItem href="#" isCurrentPage>Breadcrumb 3</BreadcrumbItem>
|
||||
</Breadcrumb>
|
||||
{:else if story === 'current page with aria-current'}
|
||||
<Breadcrumb noTrailingSlash>
|
||||
<BreadcrumbItem let:props>
|
||||
<a {...props} href="/#">Breadcrumb 1</a>
|
||||
</BreadcrumbItem>
|
||||
<BreadcrumbItem href="#">Breadcrumb 2</BreadcrumbItem>
|
||||
<BreadcrumbItem href="#" aria-current="page">Breadcrumb 3</BreadcrumbItem>
|
||||
</Breadcrumb>
|
||||
{:else if story === 'skeleton'}
|
||||
<BreadcrumbSkeleton />
|
||||
{:else}
|
||||
<Breadcrumb {noTrailingSlash}>
|
||||
<BreadcrumbItem let:props>
|
||||
<a {...props} href="/#">Breadcrumb 1</a>
|
||||
</BreadcrumbItem>
|
||||
<BreadcrumbItem href="#">Breadcrumb 2</BreadcrumbItem>
|
||||
<BreadcrumbItem href="#">Breadcrumb 3</BreadcrumbItem>
|
||||
</Breadcrumb>
|
||||
{/if}
|
26
src/Breadcrumb/Breadcrumb.stories.js
Normal file
26
src/Breadcrumb/Breadcrumb.stories.js
Normal file
|
@ -0,0 +1,26 @@
|
|||
import { withKnobs, boolean } from "@storybook/addon-knobs";
|
||||
import Component from "./Breadcrumb.Story.svelte";
|
||||
|
||||
export default { title: "Breadcrumb", decorators: [withKnobs] };
|
||||
|
||||
export const Default = () => ({
|
||||
Component,
|
||||
props: {
|
||||
noTrailingSlash: boolean("No Trailing Slash (noTrailingSlash)", false),
|
||||
},
|
||||
});
|
||||
|
||||
export const Skeleton = () => ({
|
||||
Component,
|
||||
props: { story: "skeleton" },
|
||||
});
|
||||
|
||||
export const CurrentPage = () => ({
|
||||
Component,
|
||||
props: { story: "current page" },
|
||||
});
|
||||
|
||||
export const CurrentPageWithAriaCurrent = () => ({
|
||||
Component,
|
||||
props: { story: "current page with aria-current" },
|
||||
});
|
17
src/Breadcrumb/Breadcrumb.svelte
Normal file
17
src/Breadcrumb/Breadcrumb.svelte
Normal file
|
@ -0,0 +1,17 @@
|
|||
<script>
|
||||
export let noTrailingSlash = false;
|
||||
</script>
|
||||
|
||||
<nav
|
||||
aria-label="Breadcrumb"
|
||||
{...$$restProps}
|
||||
on:click
|
||||
on:mouseover
|
||||
on:mouseenter
|
||||
on:mouseleave>
|
||||
<ol
|
||||
class:bx--breadcrumb={true}
|
||||
class:bx--breadcrumb--no-trailing-slash={noTrailingSlash}>
|
||||
<slot />
|
||||
</ol>
|
||||
</nav>
|
24
src/Breadcrumb/BreadcrumbItem.svelte
Normal file
24
src/Breadcrumb/BreadcrumbItem.svelte
Normal file
|
@ -0,0 +1,24 @@
|
|||
<script>
|
||||
export let href = undefined;
|
||||
export let isCurrentPage = false;
|
||||
|
||||
import { Link } from "../Link";
|
||||
</script>
|
||||
|
||||
<li
|
||||
class:bx--breadcrumb-item={true}
|
||||
class:bx--breadcrumb-item--current={isCurrentPage && $$restProps['aria-current'] !== 'page'}
|
||||
{...$$restProps}
|
||||
on:click
|
||||
on:mouseover
|
||||
on:mouseenter
|
||||
on:mouseleave>
|
||||
{#if href}
|
||||
<Link {href} aria-current={$$restProps['aria-current']}>
|
||||
<slot />
|
||||
</Link>
|
||||
{:else}
|
||||
<slot
|
||||
props={{ 'aria-current': $$restProps['aria-current'], class: 'bx--link' }} />
|
||||
{/if}
|
||||
</li>
|
3
src/Breadcrumb/index.js
Normal file
3
src/Breadcrumb/index.js
Normal file
|
@ -0,0 +1,3 @@
|
|||
export { default as Breadcrumb } from "./Breadcrumb.svelte";
|
||||
export { default as BreadcrumbItem } from "./BreadcrumbItem.svelte";
|
||||
export { default as BreadcrumbSkeleton } from "./Breadcrumb.Skeleton.svelte";
|
Loading…
Add table
Add a link
Reference in a new issue