@amboss/design-system 4.6.7-canary.0 → 4.7.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/build/cjs/components/Internal/Panel/Panel.d.ts +3 -7
- package/build/cjs/components/Internal/Panel/Panel.js +1 -1
- package/build/cjs/components/Internal/PanelHeader/PanelHeader.d.ts +4 -8
- package/build/cjs/components/Internal/PanelHeader/PanelHeader.js +1 -1
- package/build/cjs/components/Internal/Sandwich/-types.d.ts +0 -5
- package/build/cjs/components/Internal/Sandwich/Sandwich.d.ts +1 -1
- package/build/cjs/components/Internal/Sandwich/Sandwich.js +1 -1
- package/build/cjs/components/Layout/-types.d.ts +8 -64
- package/build/cjs/components/Layout/Layout.d.ts +0 -4
- package/build/cjs/components/Layout/Layout.js +1 -1
- package/build/cjs/components/Layout/LeftPanel/LeftPanel.js +1 -1
- package/build/cjs/components/Layout/LeftPanel/LeftPanelDocked.d.ts +5 -15
- package/build/cjs/components/Layout/LeftPanel/LeftPanelDocked.js +1 -1
- package/build/cjs/components/Layout/LeftPanel/LeftPanelDrawer.js +1 -1
- package/build/cjs/components/Layout/LeftPanel/LeftPanelFooter.js +1 -1
- package/build/cjs/components/Layout/LeftPanel/LeftPanelHeader.d.ts +3 -5
- package/build/cjs/components/Layout/LeftPanel/LeftPanelHeader.js +1 -1
- package/build/cjs/components/Layout/PanelSlideBody.d.ts +18 -0
- package/build/cjs/components/Layout/PanelSlideBody.js +1 -0
- package/build/cjs/components/Layout/registry.d.ts +0 -11
- package/build/cjs/components/Layout/registry.js +1 -1
- package/build/cjs/components/Layout/rules.js +1 -1
- package/build/cjs/components/Layout/useLayoutRules.js +1 -1
- package/build/cjs/components/Layout/usePanelDockedSlide.d.ts +5 -10
- package/build/cjs/components/Layout/usePanelDockedSlide.js +1 -1
- package/build/cjs/shared/mixins/index.d.ts +0 -1
- package/build/cjs/shared/mixins/index.js +1 -1
- package/build/cjs/web-tokens/_sizes.json +54 -64
- package/build/cjs/web-tokens/visualConfig.d.ts +0 -7
- package/build/cjs/web-tokens/visualConfig.js +1 -1
- package/build/esm/components/Internal/Panel/Panel.d.ts +3 -7
- package/build/esm/components/Internal/Panel/Panel.js +1 -1
- package/build/esm/components/Internal/PanelHeader/PanelHeader.d.ts +4 -8
- package/build/esm/components/Internal/PanelHeader/PanelHeader.js +1 -1
- package/build/esm/components/Internal/Sandwich/-types.d.ts +0 -5
- package/build/esm/components/Internal/Sandwich/Sandwich.d.ts +1 -1
- package/build/esm/components/Internal/Sandwich/Sandwich.js +1 -1
- package/build/esm/components/Layout/-types.d.ts +8 -64
- package/build/esm/components/Layout/Layout.d.ts +0 -4
- package/build/esm/components/Layout/Layout.js +1 -1
- package/build/esm/components/Layout/LeftPanel/LeftPanel.js +1 -1
- package/build/esm/components/Layout/LeftPanel/LeftPanelDocked.d.ts +5 -15
- package/build/esm/components/Layout/LeftPanel/LeftPanelDocked.js +1 -1
- package/build/esm/components/Layout/LeftPanel/LeftPanelDrawer.js +1 -1
- package/build/esm/components/Layout/LeftPanel/LeftPanelFooter.js +1 -1
- package/build/esm/components/Layout/LeftPanel/LeftPanelHeader.d.ts +3 -5
- package/build/esm/components/Layout/LeftPanel/LeftPanelHeader.js +1 -1
- package/build/esm/components/Layout/PanelSlideBody.d.ts +18 -0
- package/build/esm/components/Layout/PanelSlideBody.js +1 -0
- package/build/esm/components/Layout/registry.d.ts +0 -11
- package/build/esm/components/Layout/registry.js +1 -1
- package/build/esm/components/Layout/rules.js +1 -1
- package/build/esm/components/Layout/useLayoutRules.js +1 -1
- package/build/esm/components/Layout/usePanelDockedSlide.d.ts +5 -10
- package/build/esm/components/Layout/usePanelDockedSlide.js +1 -1
- package/build/esm/shared/mixins/index.d.ts +0 -1
- package/build/esm/shared/mixins/index.js +1 -1
- package/build/esm/web-tokens/_sizes.json +54 -64
- package/build/esm/web-tokens/visualConfig.d.ts +0 -7
- package/build/esm/web-tokens/visualConfig.js +1 -1
- package/build/fonts/fontStylesheet.d.ts +4 -0
- package/build/fonts/fontStylesheet.js +2 -0
- package/build/scss/_variables.scss +0 -3
- package/package.json +8 -2
- package/build/cjs/components/Layout/LeftNavBar/LeftNavBar.d.ts +0 -17
- package/build/cjs/components/Layout/LeftNavBar/LeftNavBar.js +0 -1
- package/build/cjs/components/Layout/LeftNavBar/LeftNavBarFooter.d.ts +0 -7
- package/build/cjs/components/Layout/LeftNavBar/LeftNavBarFooter.js +0 -1
- package/build/cjs/components/Layout/LeftPanel/LeftBarLayers.d.ts +0 -45
- package/build/cjs/components/Layout/LeftPanel/LeftBarLayers.js +0 -1
- package/build/cjs/components/Layout/LeftPanel/LeftBarToggle.d.ts +0 -15
- package/build/cjs/components/Layout/LeftPanel/LeftBarToggle.js +0 -1
- package/build/cjs/components/Layout/LeftPanel/LeftPanelOffcanvas.d.ts +0 -29
- package/build/cjs/components/Layout/LeftPanel/LeftPanelOffcanvas.js +0 -1
- package/build/cjs/components/Layout/LeftPanel/useLeftBarContext.d.ts +0 -11
- package/build/cjs/components/Layout/LeftPanel/useLeftBarContext.js +0 -1
- package/build/cjs/components/Layout/LeftPanel/useLeftPanelCollapseContext.d.ts +0 -11
- package/build/cjs/components/Layout/LeftPanel/useLeftPanelCollapseContext.js +0 -1
- package/build/cjs/components/Layout/useLeftPanelId.d.ts +0 -6
- package/build/cjs/components/Layout/useLeftPanelId.js +0 -1
- package/build/cjs/shared/mixins/getLeftPanelFadeStyles.d.ts +0 -19
- package/build/cjs/shared/mixins/getLeftPanelFadeStyles.js +0 -1
- package/build/esm/components/Layout/LeftNavBar/LeftNavBar.d.ts +0 -17
- package/build/esm/components/Layout/LeftNavBar/LeftNavBar.js +0 -1
- package/build/esm/components/Layout/LeftNavBar/LeftNavBarFooter.d.ts +0 -7
- package/build/esm/components/Layout/LeftNavBar/LeftNavBarFooter.js +0 -1
- package/build/esm/components/Layout/LeftPanel/LeftBarLayers.d.ts +0 -45
- package/build/esm/components/Layout/LeftPanel/LeftBarLayers.js +0 -1
- package/build/esm/components/Layout/LeftPanel/LeftBarToggle.d.ts +0 -15
- package/build/esm/components/Layout/LeftPanel/LeftBarToggle.js +0 -1
- package/build/esm/components/Layout/LeftPanel/LeftPanelOffcanvas.d.ts +0 -29
- package/build/esm/components/Layout/LeftPanel/LeftPanelOffcanvas.js +0 -1
- package/build/esm/components/Layout/LeftPanel/useLeftBarContext.d.ts +0 -11
- package/build/esm/components/Layout/LeftPanel/useLeftBarContext.js +0 -1
- package/build/esm/components/Layout/LeftPanel/useLeftPanelCollapseContext.d.ts +0 -11
- package/build/esm/components/Layout/LeftPanel/useLeftPanelCollapseContext.js +0 -1
- package/build/esm/components/Layout/useLeftPanelId.d.ts +0 -6
- package/build/esm/components/Layout/useLeftPanelId.js +0 -1
- package/build/esm/shared/mixins/getLeftPanelFadeStyles.d.ts +0 -19
- package/build/esm/shared/mixins/getLeftPanelFadeStyles.js +0 -1
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
import type { CSSObject, Theme } from "@emotion/react";
|
|
3
|
-
import type { ForwardedScrollProps } from "../-types";
|
|
4
|
-
/**
|
|
5
|
-
* The box the layers live in: one surface, one divider, and a clip. Shared by
|
|
6
|
-
* the two presentations that carry a left bar - the in-row column and the offcanvas
|
|
7
|
-
* overlay - which differ only in how they are positioned and sized.
|
|
8
|
-
*
|
|
9
|
-
* The surface is painted here, once and constantly, so nothing new appears
|
|
10
|
-
* mid-collapse: were each layer to paint its own, fading the panel's would only
|
|
11
|
-
* uncover the left bar's, identical and full-width, and the dissolve would reveal
|
|
12
|
-
* nothing.
|
|
13
|
-
*
|
|
14
|
-
* The divider is overlaid on the trailing edge rather than declared as a border,
|
|
15
|
-
* so it costs the box no width - the left bar's leading column and the header's
|
|
16
|
-
* trailing button are placed against the full width, and a border would put them
|
|
17
|
-
* half a pixel out.
|
|
18
|
-
*/
|
|
19
|
-
export declare const getLeftBarColumnStyles: (theme: Theme) => CSSObject;
|
|
20
|
-
/**
|
|
21
|
-
* Where the box's top edge sits: below a sticky subnav, by the offset the subnav
|
|
22
|
-
* publishes, and at the host's top when no subnav is mounted. The edge moves
|
|
23
|
-
* with the subnav, so the transition is the one the subnav slides with, and
|
|
24
|
-
* the two travel as one. `RightPanelDocked` tracks the same var the same way,
|
|
25
|
-
* so the two side panels stay level.
|
|
26
|
-
*/
|
|
27
|
-
export declare const LEFT_BAR_TOP_INSET: string;
|
|
28
|
-
export declare const getLeftBarTopTransition: (theme: Theme) => string;
|
|
29
|
-
export type LeftBarLayersProps = ForwardedScrollProps & {
|
|
30
|
-
children: React.ReactNode;
|
|
31
|
-
isVisible: boolean;
|
|
32
|
-
/** Width the panel's content holds on to while the box is narrower. */
|
|
33
|
-
openWidth: string;
|
|
34
|
-
/** Accessible name for the left bar's open button. */
|
|
35
|
-
toggleButtonLabel: string;
|
|
36
|
-
"aria-label"?: string;
|
|
37
|
-
};
|
|
38
|
-
/**
|
|
39
|
-
* The left bar and the panel, stacked in one box. Whichever of the two is showing,
|
|
40
|
-
* the box's width alone does the animating: content and footer hold `openWidth`
|
|
41
|
-
* and are clipped as it narrows, so nothing in them moves, while the header is
|
|
42
|
-
* left to narrow with the box - which walks its trailing control down into the
|
|
43
|
-
* left bar.
|
|
44
|
-
*/
|
|
45
|
-
export declare const LeftBarLayers: React.FC<LeftBarLayersProps>;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import React,{useEffect,useMemo,useRef,useState}from"react";import styled from"@emotion/styled";import{useDocument}from"../../../shared/useDocument";import{getLeftPanelFadeStyles}from"../../../shared/mixins";import{SUBNAV_OFFSET_VAR}from"../-constants";import{Sandwich}from"../../Internal/Sandwich/Sandwich";import{useLeftPanelId}from"../useLeftPanelId";import{LeftPanelCollapseProvider}from"./useLeftPanelCollapseContext";import{LeftBarProvider}from"./useLeftBarContext";import{LeftBarToggle}from"./LeftBarToggle";export const getLeftBarColumnStyles=theme=>({overflow:"hidden",backgroundColor:theme.values.color.background.primary.default,"&::after":{content:'""',position:"absolute",top:0,bottom:0,right:0,width:1,backgroundColor:theme.values.color.border.secondary.default}});export const LEFT_BAR_TOP_INSET=`var(${SUBNAV_OFFSET_VAR}, 0px)`;export const getLeftBarTopTransition=theme=>{let{duration,timingFunction}=theme.variables.animation.navSlide.open;return`top ${duration} ${timingFunction}`};let StyledLeftBarLayer=styled("div",{target:"e1oedn8k0",label:"StyledLeftBarLayer"})(({isPanelOpen})=>({position:"absolute",inset:0,display:"flex",flexDirection:"column",visibility:isPanelOpen?"hidden":"visible"})),StyledNavBarSlot=styled("div",{target:"e1oedn8k1",label:"StyledNavBarSlot"})({flex:"1 1 auto",minHeight:0}),StyledPanelLayer=styled("div",{target:"e1oedn8k2",label:"StyledPanelLayer"})(({theme,isPanelOpen})=>{let{duration}=theme.variables.animation.navSlide.collapse;return{position:"absolute",inset:0,overflow:"hidden",visibility:isPanelOpen?"visible":"hidden",transition:isPanelOpen?"none":`visibility 0s linear ${duration}`,"@media (prefers-reduced-motion: reduce)":{transition:"none"}}}),StyledFadingContent=styled("div",{target:"e1oedn8k3",label:"StyledFadingContent"})(({theme,isFaded,pinnedContentWidth})=>({display:"flex",flexDirection:"column",flex:"1 0 auto",minWidth:pinnedContentWidth,...getLeftPanelFadeStyles({theme,isFaded})})),handOverFocus=({document,from,to})=>{from&&to&&from.contains(document.activeElement)&&to.focus()};export const LeftBarLayers=({children,isVisible,openWidth,toggleButtonLabel,"aria-label":ariaLabel,scrollContainerRef,onScroll})=>{let leftPanelId=useLeftPanelId(),document=useDocument(),leftBarLayerRef=useRef(null),panelLayerRef=useRef(null),toggleRef=useRef(null),[leftBarSlotNode,setLeftBarSlotNode]=useState(null),leftBarSlot=useMemo(()=>({slotNode:leftBarSlotNode}),[leftBarSlotNode]),isContentFaded=!isVisible,collapseState=useMemo(()=>({isContentFaded,pinnedContentWidth:openWidth}),[isContentFaded,openWidth]),wasVisible=useRef(isVisible);return useEffect(()=>{isVisible!==wasVisible.current&&(wasVisible.current=isVisible,handOverFocus({document,from:isVisible?leftBarLayerRef.current:panelLayerRef.current,to:isVisible?panelLayerRef.current:toggleRef.current}))},[isVisible,document]),React.createElement(LeftBarProvider,{value:leftBarSlot},React.createElement(StyledLeftBarLayer,{isPanelOpen:isVisible,ref:leftBarLayerRef},React.createElement(LeftBarToggle,{"aria-label":toggleButtonLabel,buttonRef:toggleRef}),React.createElement(StyledNavBarSlot,{ref:setLeftBarSlotNode})),React.createElement(StyledPanelLayer,{ref:panelLayerRef,isPanelOpen:isVisible,id:leftPanelId,tabIndex:-1,role:ariaLabel?"region":void 0,"aria-label":ariaLabel},React.createElement(Sandwich,{hideScrollbar:!0,scrollRef:scrollContainerRef,onScroll:onScroll},React.createElement(LeftPanelCollapseProvider,{value:collapseState},React.createElement(StyledFadingContent,{isFaded:isContentFaded,pinnedContentWidth:openWidth},children)))))};
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
export type LeftBarToggleProps = {
|
|
3
|
-
/** Accessible name for the button, which is icon-only. */
|
|
4
|
-
"aria-label"?: string;
|
|
5
|
-
/** Handed out so the layer above can put focus here when the panel closes -
|
|
6
|
-
* this is the control that replaces the one the panel is taking away. */
|
|
7
|
-
buttonRef?: React.Ref<HTMLButtonElement>;
|
|
8
|
-
};
|
|
9
|
-
/**
|
|
10
|
-
* The one control the left bar always carries: the button that opens the panel
|
|
11
|
-
* back up. It belongs to the bar rather than to `Layout.LeftNavBar` - which only
|
|
12
|
-
* adds content beneath it - because a panel that authored no nav bar would
|
|
13
|
-
* otherwise close to a strip with no way back out of it.
|
|
14
|
-
*/
|
|
15
|
-
export declare function LeftBarToggle({ "aria-label": ariaLabel, buttonRef, }: LeftBarToggleProps): React.ReactElement;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import React from"react";import{Box}from"../../Box/Box";import{PictogramButton}from"../../PictogramButton/PictogramButton";import{Slot}from"../-constants";import{useLayout}from"../useLayout";import{useLeftPanelId}from"../useLeftPanelId";export function LeftBarToggle({"aria-label":ariaLabel,buttonRef}){let{show,isVisible}=useLayout()[Slot.leftPanel],leftPanelId=useLeftPanelId();return React.createElement(Box,{space:"s",vSpace:"xs"},React.createElement(PictogramButton,{ref:buttonRef,icon:"open-sidebar-left",size:"s",onClick:show,"aria-label":ariaLabel,"aria-controls":leftPanelId,"aria-expanded":isVisible}))}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
import type { ForwardedScrollProps } from "../-types";
|
|
3
|
-
export type LeftPanelOffcanvasProps = ForwardedScrollProps & {
|
|
4
|
-
children: React.ReactNode;
|
|
5
|
-
/** Accessible name for the left bar's open button. */
|
|
6
|
-
toggleButtonLabel: string;
|
|
7
|
-
isVisible: boolean;
|
|
8
|
-
hide: () => void;
|
|
9
|
-
openWidth: string;
|
|
10
|
-
"aria-label"?: string;
|
|
11
|
-
};
|
|
12
|
-
/**
|
|
13
|
-
* Left panel as a non-modal overlay: a drawer without the dialog. Used when the
|
|
14
|
-
* docked budget has no column left but the panel should stay reachable - it
|
|
15
|
-
* opens over the row instead of taking a column from it, and instead of being
|
|
16
|
-
* hidden outright. The left bar stays on screen throughout; only the mobile drawer
|
|
17
|
-
* gives it up.
|
|
18
|
-
*
|
|
19
|
-
* Deliberately not a {@link Drawer}: a Drawer traps focus, claims `aria-modal`
|
|
20
|
-
* and covers the viewport with a click-catching layer. Here the page behind
|
|
21
|
-
* stays live and usable, so the panel is a plain `region` (named by
|
|
22
|
-
* `aria-label`) that happens to be layered - nothing about it is modal.
|
|
23
|
-
*
|
|
24
|
-
* It still dismisses like something laid over the page, because that is what it
|
|
25
|
-
* is: Escape and a click beyond its edge both close it back to its left bar. Only
|
|
26
|
-
* while it is open - closed, it is just the left bar, and the left bar is not something
|
|
27
|
-
* to dismiss.
|
|
28
|
-
*/
|
|
29
|
-
export declare const LeftPanelOffcanvas: React.FC<LeftPanelOffcanvasProps>;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import React,{useRef}from"react";import styled from"@emotion/styled";import{useTheme}from"@emotion/react";import{LEFT_BAR_TOP_INSET,LeftBarLayers,getLeftBarColumnStyles,getLeftBarTopTransition}from"./LeftBarLayers";import{PAGE_BOTTOM_BAR_INSET,Slot}from"../-constants";import{useDeclarePanel}from"../registry";import{useOnEscapePress}from"../../../shared/useOnEscapePress";import{useOutsideClick}from"../../../shared/useOutsideClick";let getOffcanvasBoxStyles=(theme,{isVisible,leftBarWidth,openWidth})=>({position:"absolute",left:0,top:LEFT_BAR_TOP_INSET,bottom:PAGE_BOTTOM_BAR_INSET,zIndex:1,width:isVisible?openWidth:leftBarWidth}),StyledOffcanvasShadow=styled("div",{target:"exeyzov0",label:"StyledOffcanvasShadow"})(({theme,...box})=>{let{duration,timingFunction}=theme.variables.animation.navSlide.collapse;return{...getOffcanvasBoxStyles(theme,box),pointerEvents:"none",boxShadow:theme.values.elevation[2],opacity:box.isVisible?theme.variables.opacity.visible:theme.variables.opacity.hidden,transition:[`width ${duration} ${timingFunction}`,`opacity ${duration} ${timingFunction}`,getLeftBarTopTransition(theme)].join(", "),"@media (prefers-reduced-motion: reduce)":{transition:"none"}}}),StyledOffcanvasColumn=styled("div",{target:"exeyzov1",label:"StyledOffcanvasColumn"})(({theme,...box})=>{let{duration,timingFunction}=theme.variables.animation.navSlide.collapse;return{...getOffcanvasBoxStyles(theme,box),transition:[`width ${duration} ${timingFunction}`,getLeftBarTopTransition(theme)].join(", "),"@media (prefers-reduced-motion: reduce)":{transition:"none"},...getLeftBarColumnStyles(theme)}});export const LeftPanelOffcanvas=({children,toggleButtonLabel,isVisible,hide,openWidth,"aria-label":ariaLabel,scrollContainerRef,onScroll})=>{let theme=useTheme();useDeclarePanel(Slot.leftPanel,{});let columnRef=useRef(null);useOnEscapePress(event=>{isVisible&&(event.preventDefault(),hide())},[isVisible,hide]),useOutsideClick(columnRef,hide,isVisible);let box={isVisible,leftBarWidth:theme.variables.size.dimension.leftNavBar.width,openWidth};return React.createElement(React.Fragment,null,React.createElement(StyledOffcanvasShadow,{...box,"aria-hidden":!0}),React.createElement(StyledOffcanvasColumn,{...box,ref:columnRef},React.createElement(LeftBarLayers,{isVisible:isVisible,toggleButtonLabel:toggleButtonLabel,openWidth:openWidth,"aria-label":ariaLabel,scrollContainerRef:scrollContainerRef,onScroll:onScroll},children)))};
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
export type LeftBarSlot = {
|
|
2
|
-
/** Static host the left bar's content portals into. Null until the layer
|
|
3
|
-
* behind the panel has mounted, and never provided at all by the
|
|
4
|
-
* presentations that carry no left bar - which is how `Layout.LeftNavBar`
|
|
5
|
-
* knows to render nothing on mobile, where the drawer shows the panel's own
|
|
6
|
-
* content alone. */
|
|
7
|
-
slotNode: HTMLElement | null;
|
|
8
|
-
};
|
|
9
|
-
export declare const LeftBarProvider: React.Provider<LeftBarSlot>;
|
|
10
|
-
/** The left bar slot behind the left panel, if this presentation has one. */
|
|
11
|
-
export declare function useLeftBarContext(): LeftBarSlot;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{createContext,useContext}from"react";let LeftBarContext=createContext({slotNode:null});export const LeftBarProvider=LeftBarContext.Provider;export function useLeftBarContext(){return useContext(LeftBarContext)}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
/** How the left panel's parts have to behave while its column narrows to a left bar. */
|
|
2
|
-
export type LeftPanelCollapseState = {
|
|
3
|
-
/** The content is dissolving into the left bar beneath it. */
|
|
4
|
-
isContentFaded: boolean;
|
|
5
|
-
/** Width the content holds on to while the column narrows around it, clipped
|
|
6
|
-
* at the column's edge so nothing inside reflows on the way down. */
|
|
7
|
-
pinnedContentWidth?: string;
|
|
8
|
-
};
|
|
9
|
-
export declare const LeftPanelCollapseProvider: React.Provider<LeftPanelCollapseState>;
|
|
10
|
-
/** How the left panel's parts have to behave while its column narrows. */
|
|
11
|
-
export declare function useLeftPanelCollapseContext(): LeftPanelCollapseState;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{createContext,useContext}from"react";let LeftPanelCollapseContext=createContext({isContentFaded:!1});export const LeftPanelCollapseProvider=LeftPanelCollapseContext.Provider;export function useLeftPanelCollapseContext(){return useContext(LeftPanelCollapseContext)}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
/** DOM id of the rendered left panel, generated once per `Layout`. Lets a
|
|
2
|
-
* control living OUTSIDE the panel - the nav left bar's open button - point
|
|
3
|
-
* `aria-controls` at it without the two components knowing each other. Empty
|
|
4
|
-
* outside a `Layout`, where there is no panel to reference. */
|
|
5
|
-
export declare const LeftPanelIdContext: React.Context<string>;
|
|
6
|
-
export declare const useLeftPanelId: () => string;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{createContext,useContext}from"react";export const LeftPanelIdContext=createContext("");export const useLeftPanelId=()=>useContext(LeftPanelIdContext);
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import type { CSSObject, Theme } from "@emotion/react";
|
|
2
|
-
type PanelContentFadeOptions = {
|
|
3
|
-
theme: Theme;
|
|
4
|
-
/** Whether the content is currently faded out. */
|
|
5
|
-
isFaded: boolean;
|
|
6
|
-
};
|
|
7
|
-
/**
|
|
8
|
-
* Fades a docked panel's content out across its collapse, and back in at once
|
|
9
|
-
* when it reopens - the panel covers the left bar the instant it is shown, so
|
|
10
|
-
* there is nothing to reveal on the way in.
|
|
11
|
-
*
|
|
12
|
-
* Runs on the column's own slide timing, so the two move together.
|
|
13
|
-
*
|
|
14
|
-
* Applied per part rather than to the whole panel: a control at the header's
|
|
15
|
-
* trailing edge travels down onto the left bar's own and has to stay solid the
|
|
16
|
-
* whole way, so it is left out.
|
|
17
|
-
*/
|
|
18
|
-
export declare function getLeftPanelFadeStyles({ theme, isFaded, }: PanelContentFadeOptions): CSSObject;
|
|
19
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export function getLeftPanelFadeStyles({theme,isFaded}){let{duration,timingFunction}=theme.variables.animation.navSlide.collapse;return{opacity:isFaded?theme.variables.opacity.hidden:theme.variables.opacity.visible,transition:isFaded?`opacity ${duration} ${timingFunction}`:"none","@media (prefers-reduced-motion: reduce)":{transition:"none"}}}
|