mirror of
https://github.com/carbon-design-system/carbon-components-svelte.git
synced 2025-09-15 10:21:05 +00:00
Merge branch 'master' into rewrite-tyepscript-definitions
This commit is contained in:
commit
56718c633d
6 changed files with 81 additions and 5 deletions
|
@ -138,7 +138,7 @@
|
||||||
<StructuredListCell>
|
<StructuredListCell>
|
||||||
{#if prop.description}
|
{#if prop.description}
|
||||||
{#each prop.description.split('\n') as line}
|
{#each prop.description.split('\n') as line}
|
||||||
<div class="description">{line}.</div>
|
<div class="description">{@html line.replace(/`(.*?)`/g, '<code>$1</code>')}.</div>
|
||||||
{/each}
|
{/each}
|
||||||
{:else}
|
{:else}
|
||||||
<div class="description">No description available.</div>
|
<div class="description">No description available.</div>
|
||||||
|
|
|
@ -37,3 +37,7 @@ components: ["Header",
|
||||||
### Header with utilities
|
### Header with utilities
|
||||||
|
|
||||||
<FileSource src="/framed/UIShell/HeaderUtilities" />
|
<FileSource src="/framed/UIShell/HeaderUtilities" />
|
||||||
|
|
||||||
|
### Header with persisted hamburger menu
|
||||||
|
|
||||||
|
<FileSource src="/framed/UIShell/PersistedHamburgerMenu" />
|
65
docs/src/pages/framed/UIShell/PersistedHamburgerMenu.svelte
Normal file
65
docs/src/pages/framed/UIShell/PersistedHamburgerMenu.svelte
Normal file
|
@ -0,0 +1,65 @@
|
||||||
|
<script>
|
||||||
|
import {
|
||||||
|
Header,
|
||||||
|
HeaderNav,
|
||||||
|
HeaderNavItem,
|
||||||
|
HeaderNavMenu,
|
||||||
|
SideNav,
|
||||||
|
SideNavItems,
|
||||||
|
SideNavMenu,
|
||||||
|
SideNavMenuItem,
|
||||||
|
SideNavLink,
|
||||||
|
SkipToContent,
|
||||||
|
Content,
|
||||||
|
Grid,
|
||||||
|
Row,
|
||||||
|
Column,
|
||||||
|
} from "carbon-components-svelte";
|
||||||
|
|
||||||
|
let isSideNavOpen = false;
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<Header
|
||||||
|
persistentHamburgerMenu="{true}"
|
||||||
|
company="IBM"
|
||||||
|
platformName="Carbon Svelte"
|
||||||
|
bind:isSideNavOpen
|
||||||
|
>
|
||||||
|
<div slot="skip-to-content">
|
||||||
|
<SkipToContent />
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<HeaderNav>
|
||||||
|
<HeaderNavItem href="/" text="Link 1" />
|
||||||
|
<HeaderNavItem href="/" text="Link 2" />
|
||||||
|
<HeaderNavItem href="/" text="Link 3" />
|
||||||
|
<HeaderNavMenu text="Menu">
|
||||||
|
<HeaderNavItem href="/" text="Link 1" />
|
||||||
|
<HeaderNavItem href="/" text="Link 2" />
|
||||||
|
<HeaderNavItem href="/" text="Link 3" />
|
||||||
|
</HeaderNavMenu>
|
||||||
|
</HeaderNav>
|
||||||
|
</Header>
|
||||||
|
|
||||||
|
<SideNav bind:isOpen="{isSideNavOpen}">
|
||||||
|
<SideNavItems>
|
||||||
|
<SideNavLink text="Link 1" />
|
||||||
|
<SideNavLink text="Link 2" />
|
||||||
|
<SideNavLink text="Link 3" />
|
||||||
|
<SideNavMenu text="Menu">
|
||||||
|
<SideNavMenuItem href="/" text="Link 1" />
|
||||||
|
<SideNavMenuItem href="/" text="Link 2" />
|
||||||
|
<SideNavMenuItem href="/" text="Link 3" />
|
||||||
|
</SideNavMenu>
|
||||||
|
</SideNavItems>
|
||||||
|
</SideNav>
|
||||||
|
|
||||||
|
<Content>
|
||||||
|
<Grid>
|
||||||
|
<Row>
|
||||||
|
<Column>
|
||||||
|
<h1>Welcome</h1>
|
||||||
|
</Column>
|
||||||
|
</Row>
|
||||||
|
</Grid>
|
||||||
|
</Content>
|
|
@ -51,6 +51,9 @@
|
||||||
});
|
});
|
||||||
|
|
||||||
function focus(element) {
|
function focus(element) {
|
||||||
|
if(selectorPrimaryFocus == null) {
|
||||||
|
return
|
||||||
|
}
|
||||||
const node =
|
const node =
|
||||||
(element || innerModal).querySelector(selectorPrimaryFocus) || buttonRef;
|
(element || innerModal).querySelector(selectorPrimaryFocus) || buttonRef;
|
||||||
if (node != null) node.focus();
|
if (node != null) node.focus();
|
||||||
|
|
|
@ -29,6 +29,9 @@
|
||||||
*/
|
*/
|
||||||
export let platformName = "";
|
export let platformName = "";
|
||||||
|
|
||||||
|
/** Set to `true` to persist the hamburger menu */
|
||||||
|
export let persistentHamburgerMenu = false;
|
||||||
|
|
||||||
/** Obtain a reference to the HTML anchor element */
|
/** Obtain a reference to the HTML anchor element */
|
||||||
export let ref = null;
|
export let ref = null;
|
||||||
|
|
||||||
|
@ -36,7 +39,8 @@
|
||||||
|
|
||||||
let winWidth = undefined;
|
let winWidth = undefined;
|
||||||
|
|
||||||
$: isSideNavOpen = expandedByDefault && winWidth >= 1056;
|
$: isSideNavOpen =
|
||||||
|
expandedByDefault && winWidth >= 1056 && !persistentHamburgerMenu;
|
||||||
$: ariaLabel = company
|
$: ariaLabel = company
|
||||||
? `${company} `
|
? `${company} `
|
||||||
: "" + (uiShellAriaLabel || $$props["aria-label"] || platformName);
|
: "" + (uiShellAriaLabel || $$props["aria-label"] || platformName);
|
||||||
|
@ -46,7 +50,7 @@
|
||||||
|
|
||||||
<header role="banner" aria-label="{ariaLabel}" class:bx--header="{true}">
|
<header role="banner" aria-label="{ariaLabel}" class:bx--header="{true}">
|
||||||
<slot name="skip-to-content" />
|
<slot name="skip-to-content" />
|
||||||
{#if winWidth < 1056}
|
{#if winWidth < 1056 || persistentHamburgerMenu}
|
||||||
<HamburgerMenu bind:isOpen="{isSideNavOpen}" />
|
<HamburgerMenu bind:isOpen="{isSideNavOpen}" />
|
||||||
{/if}
|
{/if}
|
||||||
<a
|
<a
|
||||||
|
|
|
@ -27,7 +27,7 @@
|
||||||
class:bx--side-nav="{true}"
|
class:bx--side-nav="{true}"
|
||||||
class:bx--side-nav--ux="{true}"
|
class:bx--side-nav--ux="{true}"
|
||||||
class:bx--side-nav--expanded="{isOpen}"
|
class:bx--side-nav--expanded="{isOpen}"
|
||||||
class:bx--side-nav--collapsed="{!isOpen && fixed}"
|
class:bx--side-nav--collapsed="{!isOpen}"
|
||||||
{...$$restProps}
|
{...$$restProps}
|
||||||
>
|
>
|
||||||
<slot />
|
<slot />
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue