@amboss/design-system 3.49.2 → 3.50.1
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/Content/ContentList/ContentList.d.ts +13 -2
- package/build/cjs/components/Content/ContentList/ContentList.js +1 -1
- package/build/cjs/components/Content/ReferenceButton/ReferenceButton.d.ts +17 -4
- package/build/cjs/components/Content/ReferenceButton/ReferenceButton.js +1 -1
- package/build/cjs/components/Layout/-constants.d.ts +15 -13
- package/build/cjs/components/Layout/-constants.js +1 -1
- package/build/cjs/components/Layout/-types.d.ts +23 -16
- package/build/cjs/components/Layout/Layout.d.ts +2 -2
- package/build/cjs/components/Layout/Layout.js +1 -1
- package/build/cjs/components/Layout/LayoutCssVars.d.ts +24 -0
- package/build/cjs/components/Layout/LayoutCssVars.js +1 -0
- package/build/cjs/components/Layout/LayoutProvider.d.ts +2 -2
- package/build/cjs/components/Layout/LayoutProvider.js +1 -1
- package/build/cjs/components/Layout/LeftPanel.d.ts +8 -0
- package/build/cjs/components/Layout/LeftPanel.js +1 -0
- package/build/cjs/components/Layout/RightPanel.d.ts +1 -1
- package/build/cjs/components/Layout/RightPanel.js +1 -1
- package/build/cjs/components/Layout/RightPanelContainer.js +1 -1
- package/build/cjs/components/Layout/Split.d.ts +1 -1
- package/build/cjs/components/Layout/context.d.ts +2 -2
- package/build/cjs/components/Layout/{varStore.d.ts → cssVarStore.d.ts} +3 -3
- package/build/cjs/components/Layout/cssVarStore.js +1 -0
- package/build/cjs/components/Layout/index.d.ts +2 -2
- package/build/cjs/components/Layout/index.js +1 -1
- package/build/cjs/components/Layout/reducer.js +1 -1
- package/build/cjs/components/Layout/registry.d.ts +3 -3
- package/build/cjs/components/Layout/store.d.ts +1 -1
- package/build/cjs/components/Layout/useLayout.d.ts +1 -1
- package/build/cjs/components/Layout/useLayout.js +1 -1
- package/build/cjs/components/Layout/usePanelRefs.d.ts +4 -4
- package/build/cjs/components/Layout/usePortalContainerRefs.d.ts +3 -3
- package/build/cjs/components/NavBar/NavBarSubMenuContainer.js +1 -1
- package/build/cjs/components/PromptInput/PromptInput.js +1 -1
- package/build/cjs/web-tokens/_colors.json +18 -2
- package/build/cjs/web-tokens/assets/icons.json +4 -0
- package/build/cjs/web-tokens/assets/icons16.json +4 -0
- package/build/cjs/web-tokens/layout-vars.d.ts +7 -0
- package/build/cjs/web-tokens/layout-vars.js +1 -0
- package/build/cjs/web-tokens/layout-vars.ts +11 -0
- package/build/cjs/web-tokens/visualConfig.d.ts +47 -3
- package/build/cjs/web-tokens/visualConfig.js +1 -1
- package/build/esm/components/Content/ContentList/ContentList.d.ts +13 -2
- package/build/esm/components/Content/ContentList/ContentList.js +1 -1
- package/build/esm/components/Content/ReferenceButton/ReferenceButton.d.ts +17 -4
- package/build/esm/components/Content/ReferenceButton/ReferenceButton.js +1 -1
- package/build/esm/components/Layout/-constants.d.ts +15 -13
- package/build/esm/components/Layout/-constants.js +1 -1
- package/build/esm/components/Layout/-types.d.ts +23 -16
- package/build/esm/components/Layout/Layout.d.ts +2 -2
- package/build/esm/components/Layout/Layout.js +1 -1
- package/build/esm/components/Layout/LayoutCssVars.d.ts +24 -0
- package/build/esm/components/Layout/LayoutCssVars.js +1 -0
- package/build/esm/components/Layout/LayoutProvider.d.ts +2 -2
- package/build/esm/components/Layout/LayoutProvider.js +1 -1
- package/build/esm/components/Layout/LeftPanel.d.ts +8 -0
- package/build/esm/components/Layout/LeftPanel.js +1 -0
- package/build/esm/components/Layout/RightPanel.d.ts +1 -1
- package/build/esm/components/Layout/RightPanel.js +1 -1
- package/build/esm/components/Layout/RightPanelContainer.js +1 -1
- package/build/esm/components/Layout/Split.d.ts +1 -1
- package/build/esm/components/Layout/context.d.ts +2 -2
- package/build/esm/components/Layout/{varStore.d.ts → cssVarStore.d.ts} +3 -3
- package/build/esm/components/Layout/cssVarStore.js +1 -0
- package/build/esm/components/Layout/index.d.ts +2 -2
- package/build/esm/components/Layout/index.js +1 -1
- package/build/esm/components/Layout/reducer.js +1 -1
- package/build/esm/components/Layout/registry.d.ts +3 -3
- package/build/esm/components/Layout/store.d.ts +1 -1
- package/build/esm/components/Layout/useLayout.d.ts +1 -1
- package/build/esm/components/Layout/useLayout.js +1 -1
- package/build/esm/components/Layout/usePanelRefs.d.ts +4 -4
- package/build/esm/components/Layout/usePortalContainerRefs.d.ts +3 -3
- package/build/esm/components/NavBar/NavBarSubMenuContainer.js +1 -1
- package/build/esm/components/PromptInput/PromptInput.js +1 -1
- package/build/esm/web-tokens/_colors.json +18 -2
- package/build/esm/web-tokens/assets/icons.json +4 -0
- package/build/esm/web-tokens/assets/icons16.json +4 -0
- package/build/esm/web-tokens/layout-vars.d.ts +7 -0
- package/build/esm/web-tokens/layout-vars.js +1 -0
- package/build/esm/web-tokens/layout-vars.ts +11 -0
- package/build/esm/web-tokens/visualConfig.d.ts +47 -3
- package/build/esm/web-tokens/visualConfig.js +1 -1
- package/build/scss/_dark.scss +14 -3
- package/build/scss/_layout.scss +6 -0
- package/build/scss/_light.scss +14 -3
- package/build/scss/_variables.scss +14 -3
- package/package.json +1 -1
- package/build/cjs/components/Layout/LayoutVars.d.ts +0 -18
- package/build/cjs/components/Layout/LayoutVars.js +0 -1
- package/build/cjs/components/Layout/Sidebar.d.ts +0 -8
- package/build/cjs/components/Layout/Sidebar.js +0 -1
- package/build/cjs/components/Layout/varStore.js +0 -1
- package/build/esm/components/Layout/LayoutVars.d.ts +0 -18
- package/build/esm/components/Layout/LayoutVars.js +0 -1
- package/build/esm/components/Layout/Sidebar.d.ts +0 -8
- package/build/esm/components/Layout/Sidebar.js +0 -1
- package/build/esm/components/Layout/varStore.js +0 -1
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Tiny pub/sub registry for the layout's CSS custom properties. Producers
|
|
3
3
|
* publish a value by name (the component that owns the *why* — e.g. the NavBar
|
|
4
|
-
* subnav publishing its offset); a single sink (`<
|
|
4
|
+
* subnav publishing its offset); a single sink (`<LayoutCssVars>`) subscribes and
|
|
5
5
|
* renders them all in ONE place. Mirrors the `LayoutStore` shape so it reads
|
|
6
6
|
* via the same `useSyncExternalStore` pattern.
|
|
7
7
|
*
|
|
8
8
|
* One name = one producer. The registry is keyed by name, so a second writer to
|
|
9
9
|
* the same name last-wins; don't share a name across unrelated producers.
|
|
10
10
|
*/
|
|
11
|
-
export type
|
|
11
|
+
export type LayoutCssVarStore = {
|
|
12
12
|
getSnapshot: () => Record<string, string>;
|
|
13
13
|
set: (name: string, value: string) => void;
|
|
14
14
|
remove: (name: string) => void;
|
|
15
15
|
subscribe: (listener: () => void) => () => void;
|
|
16
16
|
};
|
|
17
|
-
export declare function
|
|
17
|
+
export declare function createLayoutCssVarStore(): LayoutCssVarStore;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export function createLayoutCssVarStore(){let vars={},listeners=new Set,notify=()=>listeners.forEach(listener=>listener());return{getSnapshot:()=>vars,set:(name,value)=>{vars[name]!==value&&(vars={...vars,[name]:value},notify())},remove:name=>{if(!(name in vars))return;let next={...vars};delete next[name],vars=next,notify()},subscribe:listener=>(listeners.add(listener),()=>{listeners.delete(listener)})}}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export { SUBNAV_OFFSET_VAR, PANEL_WIDTH_VAR } from "./-constants";
|
|
2
2
|
export { Layout } from "./Layout";
|
|
3
3
|
export { LayoutProvider } from "./LayoutProvider";
|
|
4
|
-
export { useLayoutVar } from "./
|
|
4
|
+
export { useLayoutVar } from "./LayoutCssVars";
|
|
5
5
|
export { useLayout } from "./useLayout";
|
|
6
6
|
export { useAutoScrollToBottom } from "./useAutoScrollToBottom";
|
|
7
7
|
export { RightPanelContainer } from "./RightPanelContainer";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export{
|
|
1
|
+
export{SUBNAV_OFFSET_VAR,PANEL_WIDTH_VAR}from"./-constants";export{Layout}from"./Layout";export{LayoutProvider}from"./LayoutProvider";export{useLayoutVar}from"./LayoutCssVars";export{useLayout}from"./useLayout";export{useAutoScrollToBottom}from"./useAutoScrollToBottom";export{RightPanelContainer}from"./RightPanelContainer";export{createLayoutStore}from"./store";export{createInitialState,layoutReducer}from"./reducer";export*from"./-types";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function sidePanel(config={}){return{kind:"sidePanel",visible:config.defaultVisible??!0,collapsible:config.collapsible??!0,variant:config.variant??"sidebar",size:config.defaultSize,minSize:config.minSize,maxSize:config.maxSize}}function panelState(config={}){return{kind:"panel",visible:config.defaultVisible??!0,size:config.defaultSize,minSize:config.minSize,maxSize:config.maxSize}}export function createInitialState(config={}){return{
|
|
1
|
+
function sidePanel(config={}){return{kind:"sidePanel",visible:config.defaultVisible??!0,collapsible:config.collapsible??!0,variant:config.variant??"sidebar",size:config.defaultSize,minSize:config.minSize,maxSize:config.maxSize}}function panelState(config={}){return{kind:"panel",visible:config.defaultVisible??!0,size:config.defaultSize,minSize:config.minSize,maxSize:config.maxSize}}export function createInitialState(config={}){return{leftPanel:sidePanel(config.leftPanel),rightPanel:sidePanel({defaultVisible:!1,...config.rightPanel}),content:panelState(config.content),splitview:panelState({defaultVisible:!1,...config.splitview})}}export const layoutReducer=(state,action,initial)=>{switch(action.type){case"setVisible":{let slot=state[action.slot];if(slot.visible===action.visible)return state;return{...state,[action.slot]:{...slot,visible:action.visible}}}case"setVariant":{let panel=state[action.panel];if(panel.variant===action.variant)return state;return{...state,[action.panel]:{...panel,variant:action.variant}}}case"resize":{let slot=state[action.slot];if(slot.size===action.size)return state;return{...state,[action.slot]:{...slot,size:action.size}}}case"reset":if(!initial)return state;if(!action.slot)return initial;if(state[action.slot]===initial[action.slot])return state;return{...state,[action.slot]:initial[action.slot]};default:return state}};
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import { type ReactNode } from "react";
|
|
2
2
|
import type { Size, SlotKey } from "./-types";
|
|
3
3
|
export type HostNodes = Partial<Record<SlotKey, HTMLElement | null>>;
|
|
4
|
-
export declare const LayoutPortalContext: React.Context<Partial<Record<"content" | "
|
|
4
|
+
export declare const LayoutPortalContext: React.Context<Partial<Record<"content" | "leftPanel" | "splitview" | "rightPanel", HTMLElement>>>;
|
|
5
5
|
/**
|
|
6
6
|
* Portal `children` into the host DOM node registered for `slot`. Returns the
|
|
7
|
-
* portal (or `null` if the host isn't mounted yet). Call unconditionally
|
|
7
|
+
* portal (or `null` if the host isn't mounted yet). Call unconditionally -
|
|
8
8
|
* gate content by passing `null` as `children`, not by skipping the call.
|
|
9
9
|
*/
|
|
10
10
|
export declare function useLayoutPortal(slot: SlotKey, children: ReactNode): ReactNode;
|
|
11
11
|
/**
|
|
12
12
|
* Panel descriptor a marker contributes. The Group renders one resizable Panel
|
|
13
|
-
* per *declared* panel that is currently shown
|
|
13
|
+
* per *declared* panel that is currently shown - regardless of nesting depth.
|
|
14
14
|
* So a page can drop `<Layout.Split>` deep in its tree and it joins the app's
|
|
15
15
|
* single Layout as a panel; toggling a panel never remounts the others.
|
|
16
16
|
*/
|
|
@@ -5,6 +5,6 @@ import type { LayoutState, LayoutStore } from "./-types";
|
|
|
5
5
|
* a no-op (reducer returns the same reference).
|
|
6
6
|
*
|
|
7
7
|
* Swap this for a zustand/redux-backed store by implementing the same
|
|
8
|
-
* `LayoutStore` interface
|
|
8
|
+
* `LayoutStore` interface - bindings and primitives are unaffected.
|
|
9
9
|
*/
|
|
10
10
|
export declare function createLayoutStore(initial: LayoutState): LayoutStore;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { LayoutValue } from "./-types";
|
|
2
2
|
/**
|
|
3
3
|
* The single control hook. Returns `state` plus a typed handle per slot. Works
|
|
4
|
-
* from any descendant of `<LayoutProvider>`
|
|
4
|
+
* from any descendant of `<LayoutProvider>` - remote control without prop
|
|
5
5
|
* drilling.
|
|
6
6
|
*/
|
|
7
7
|
export declare function useLayout(): LayoutValue;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{useLayoutSelector,useLayoutStore}from"./context";let selectAll=state=>state;function sidePanelHandle(panel,state,dispatch){let slot=state[panel];return{state:slot,isVisible:slot.visible,show:()=>dispatch({type:"setVisible",slot:panel,visible:!0}),hide:()=>dispatch({type:"setVisible",slot:panel,visible:!1}),resize:size=>dispatch({type:"resize",slot:panel,size}),setVariant:variant=>dispatch({type:"setVariant",panel,variant}),reset:()=>dispatch({type:"reset",slot:panel})}}function panelHandle(panel,state,dispatch){let slot=state[panel];return{state:slot,isVisible:slot.visible,show:()=>dispatch({type:"setVisible",slot:panel,visible:!0}),hide:()=>dispatch({type:"setVisible",slot:panel,visible:!1}),resize:size=>dispatch({type:"resize",slot:panel,size}),reset:()=>dispatch({type:"reset",slot:panel})}}export function useLayout(){let store=useLayoutStore(),state=useLayoutSelector(selectAll),{dispatch}=store;return{state,
|
|
1
|
+
import{useLayoutSelector,useLayoutStore}from"./context";let selectAll=state=>state;function sidePanelHandle(panel,state,dispatch){let slot=state[panel];return{state:slot,isVisible:slot.visible,show:()=>dispatch({type:"setVisible",slot:panel,visible:!0}),hide:()=>dispatch({type:"setVisible",slot:panel,visible:!1}),resize:size=>dispatch({type:"resize",slot:panel,size}),setVariant:variant=>dispatch({type:"setVariant",panel,variant}),reset:()=>dispatch({type:"reset",slot:panel})}}function panelHandle(panel,state,dispatch){let slot=state[panel];return{state:slot,isVisible:slot.visible,show:()=>dispatch({type:"setVisible",slot:panel,visible:!0}),hide:()=>dispatch({type:"setVisible",slot:panel,visible:!1}),resize:size=>dispatch({type:"resize",slot:panel,size}),reset:()=>dispatch({type:"reset",slot:panel})}}export function useLayout(){let store=useLayoutStore(),state=useLayoutSelector(selectAll),{dispatch}=store;return{state,leftPanel:sidePanelHandle("leftPanel",state,dispatch),rightPanel:sidePanelHandle("rightPanel",state,dispatch),content:panelHandle("content",state,dispatch),splitview:panelHandle("splitview",state,dispatch)}}
|
|
@@ -2,15 +2,15 @@
|
|
|
2
2
|
* Track a set of DOM elements by key, with stable per-key ref callbacks.
|
|
3
3
|
*
|
|
4
4
|
* Given a fixed list of keys, returns `[elements, refs]`:
|
|
5
|
-
* - `refs[key]`
|
|
5
|
+
* - `refs[key]` - a ref callback to attach to an element; captures it into
|
|
6
6
|
* `elements[key]` (and clears it to `null` on unmount).
|
|
7
|
-
* - `elements[key]`
|
|
7
|
+
* - `elements[key]` - the currently-attached element (undefined until set).
|
|
8
8
|
*
|
|
9
9
|
* The callbacks are **stable** across renders, so React invokes them only on
|
|
10
|
-
* mount/unmount
|
|
10
|
+
* mount/unmount - not detach/attach every render. (An inline `ref={el => …}`
|
|
11
11
|
* that calls setState would get a new identity each render and loop.)
|
|
12
12
|
*
|
|
13
|
-
* Agnostic utility
|
|
13
|
+
* Agnostic utility - useful whenever something needs the live DOM node of a
|
|
14
14
|
* child: portal targets, measurement, focus management, etc.
|
|
15
15
|
*/
|
|
16
16
|
export declare function usePanelRefs<K extends string>(keys: readonly K[]): [
|
|
@@ -4,12 +4,12 @@
|
|
|
4
4
|
* container) so markers can portal their content into it.
|
|
5
5
|
*
|
|
6
6
|
* Given a fixed list of keys, returns `[elements, refs]`:
|
|
7
|
-
* - `refs[key]`
|
|
7
|
+
* - `refs[key]` - a ref callback to attach to an element; captures it into
|
|
8
8
|
* `elements[key]` (and clears it to `null` on unmount).
|
|
9
|
-
* - `elements[key]`
|
|
9
|
+
* - `elements[key]` - the currently-attached element (undefined until set).
|
|
10
10
|
*
|
|
11
11
|
* The callbacks are **stable** across renders, so React invokes them only on
|
|
12
|
-
* mount/unmount
|
|
12
|
+
* mount/unmount - not detach/attach every render. (An inline `ref={el => …}`
|
|
13
13
|
* that calls setState would get a new identity each render and loop.)
|
|
14
14
|
*
|
|
15
15
|
* Generic over the key type, so it works for any fixed key set.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import React
|
|
1
|
+
import React,{useEffect}from"react";import styled from"@emotion/styled";import{SubThemeProvider}from"../SubThemeProvider/SubThemeProvider";import{SUBNAV_OFFSET_VAR}from"../Layout/-constants";import{useLayoutVar}from"../Layout/LayoutCssVars";import{SUBNAV_HEIGHT}from"./constants";import{NavBarSlideDown}from"./NavBarSlideDown";import{useNavBarContext}from"./NavBarContext";export const StyledBorderContainer=styled("div",{target:"ewgqafb0",label:"StyledBorderContainer"})(({theme})=>({borderBottom:`1px solid ${theme.values.color.border.secondary.default}`}),"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvTmF2QmFyL05hdkJhclN1Yk1lbnVDb250YWluZXIudHN4Iiwic291cmNlcyI6WyJzcmMvY29tcG9uZW50cy9OYXZCYXIvTmF2QmFyU3ViTWVudUNvbnRhaW5lci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQge1xuICBTdWJUaGVtZVByb3ZpZGVyLFxuICB0eXBlIFN1YlRoZW1lUHJvdmlkZXJQcm9wcyxcbn0gZnJvbSBcIi4uL1N1YlRoZW1lUHJvdmlkZXIvU3ViVGhlbWVQcm92aWRlclwiO1xuLy8gSW1wb3J0IHRoZSB2YXIgbmFtZSArIHB1Ymxpc2hlciBkaXJlY3RseSBmcm9tIExheW91dCdzIGZpbGVzIChub3QgaXRzIGJhcnJlbClcbi8vIHRvIGtlZXAgdGhlIGNvdXBsaW5nIG1pbmltYWwgYW5kIGF2b2lkIHB1bGxpbmcgaW4gdGhlIExheW91dCBtb2R1bGUgZ3JhcGguXG5pbXBvcnQgeyBTVUJOQVZfT0ZGU0VUX1ZBUiB9IGZyb20gXCIuLi9MYXlvdXQvLWNvbnN0YW50c1wiO1xuaW1wb3J0IHsgdXNlTGF5b3V0VmFyIH0gZnJvbSBcIi4uL0xheW91dC9MYXlvdXRDc3NWYXJzXCI7XG5pbXBvcnQgdHlwZSB7IE5hdkJhck5hbWUgfSBmcm9tIFwiLi90eXBlc1wiO1xuaW1wb3J0IHsgU1VCTkFWX0hFSUdIVCB9IGZyb20gXCIuL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgTmF2QmFyU2xpZGVEb3duIH0gZnJvbSBcIi4vTmF2QmFyU2xpZGVEb3duXCI7XG5pbXBvcnQgeyB1c2VOYXZCYXJDb250ZXh0IH0gZnJvbSBcIi4vTmF2QmFyQ29udGV4dFwiO1xuXG50eXBlIE5hdkJhclN1Yk1lbnVDb250YWluZXJQcm9wcyA9IHtcbiAgXCJkYXRhLWUyZS10ZXN0LWlkXCI/OiBzdHJpbmc7XG4gIGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGU7XG59O1xuXG5jb25zdCBDT05UQUlORVJfQk9SREVSX1dJRFRIID0gMTtcbmV4cG9ydCBjb25zdCBTdHlsZWRCb3JkZXJDb250YWluZXIgPSBzdHlsZWQuZGl2KCh7IHRoZW1lIH0pID0+ICh7XG4gIGJvcmRlckJvdHRvbTogYCR7Q09OVEFJTkVSX0JPUkRFUl9XSURUSH1weCBzb2xpZCAke3RoZW1lLnZhbHVlcy5jb2xvci5ib3JkZXIuc2Vjb25kYXJ5LmRlZmF1bHR9YCxcbn0pKTtcblxuY29uc3QgU3R5bGVkU3ViTWVudUNvbnRhaW5lciA9IHN0eWxlZChTdHlsZWRCb3JkZXJDb250YWluZXIpKCh7IHRoZW1lIH0pID0+ICh7XG4gIGJhY2tncm91bmRDb2xvcjogdGhlbWUudmFsdWVzLmNvbG9yLmJhY2tncm91bmQuYWNjZW50U3VidGxlLmRlZmF1bHQsXG4gIGJveFNoYWRvdzogdGhlbWUudmFsdWVzLmVsZXZhdGlvblsxXSxcbiAgXCImID4gZGl2XCI6IHtcbiAgICBtYXJnaW5Cb3R0b206IC1DT05UQUlORVJfQk9SREVSX1dJRFRILCAvLyBUYWJzIGJvcmRlciBzaG91bGQgYmUgYWJvdmUgb2YgU3R5bGVkQm9yZGVyQ29udGFpbmVyXG4gIH0sXG59KSk7XG5cbmV4cG9ydCBjb25zdCBzdWJUaGVtZU1hcHBpbmc6IFJlY29yZDxcbiAgTmF2QmFyTmFtZSxcbiAgU3ViVGhlbWVQcm92aWRlclByb3BzW1wibmFtZVwiXVxuPiA9IHtcbiAgbGVhcm5pbmc6IFwiYnJhbmRTdWJ0bGVcIixcbiAgY2xpbmljYWxDYXJlOiBcInVuc2V0XCIsXG4gIHRlYWNoaW5nOiBcImRpbW1lZFN1YnRsZVwiLFxuICB1bnNldDogXCJ1bnNldFwiLFxufTtcblxuZXhwb3J0IGNvbnN0IE5hdkJhclN1Yk1lbnVDb250YWluZXIgPSBSZWFjdC5mb3J3YXJkUmVmPFxuICBIVE1MRGl2RWxlbWVudCxcbiAgTmF2QmFyU3ViTWVudUNvbnRhaW5lclByb3BzXG4+KCh7IGNoaWxkcmVuLCBcImRhdGEtZTJlLXRlc3QtaWRcIjogZGF0YUUyZVRlc3RJZCB9LCByZWYpID0+IHtcbiAgY29uc3QgeyBzdWJUaGVtZSwgaXNDb21wYWN0IH0gPSB1c2VOYXZCYXJDb250ZXh0KCk7XG4gIC8vIFRoZSBzdWJuYXYgb3ducyB0aGUgKndoeSo6IGl0cyBvZmZzZXQgaXMgaXRzIGhlaWdodCB3aGVuIGV4cGFuZGVkLCAwIHdoZW5cbiAgLy8gY29tcGFjdC4gSXQgcHVibGlzaGVzIGludG8gdGhlIGxheW91dCB2YXIgcmVnaXN0cnk7IHRoZSBzaW5nbGUgTGF5b3V0Q3NzVmFyc1xuICAvLyBzaW5rIHJlbmRlcnMgaXQsIGFuZCBzbG90cyBsaWtlIExheW91dC5SaWdodFBhbmVsIHJlYWQgaXQuIFRoZSB2YXIgb25seVxuICAvLyBleGlzdHMgd2hpbGUgYSBzdWJuYXYgaXMgbW91bnRlZCAoYW5kIGEgTGF5b3V0LlByb3ZpZGVyIGlzIHByZXNlbnQpIOKAlCBzbG90c1xuICAvLyBkZWZhdWx0IHRvIDAgb3RoZXJ3aXNlLCBzbyBhIE5hdkJhciB3aXRoIG5vIHN1Ym5hdiBuZWVkcyBubyBvZmZzZXQuXG4gIGNvbnN0IHN1Ym5hdk9mZnNldENzc1ZhciA9IHVzZUxheW91dFZhcihTVUJOQVZfT0ZGU0VUX1ZBUik7XG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgc3VibmF2T2Zmc2V0Q3NzVmFyLnNldChpc0NvbXBhY3QgPyBcIjBweFwiIDogU1VCTkFWX0hFSUdIVCk7XG4gIH0sIFtzdWJuYXZPZmZzZXRDc3NWYXIsIGlzQ29tcGFjdF0pO1xuXG4gIHJldHVybiAoXG4gICAgPFN1YlRoZW1lUHJvdmlkZXIgbmFtZT17c3ViVGhlbWVNYXBwaW5nW3N1YlRoZW1lXX0+XG4gICAgICA8TmF2QmFyU2xpZGVEb3duIGlzVmlzaWJsZT17IWlzQ29tcGFjdH0gcG9zaXRpb249XCJib3R0b21cIj5cbiAgICAgICAgPFN0eWxlZFN1Yk1lbnVDb250YWluZXIgcmVmPXtyZWZ9IGRhdGEtZTJlLXRlc3QtaWQ9e2RhdGFFMmVUZXN0SWR9PlxuICAgICAgICAgIDxkaXY+e2NoaWxkcmVufTwvZGl2PlxuICAgICAgICA8L1N0eWxlZFN1Yk1lbnVDb250YWluZXI+XG4gICAgICA8L05hdkJhclNsaWRlRG93bj5cbiAgICA8L1N1YlRoZW1lUHJvdmlkZXI+XG4gICk7XG59KTtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFxQnFDIn0= */");let StyledSubMenuContainer=styled(StyledBorderContainer,{target:"ewgqafb1",label:"StyledSubMenuContainer"})(({theme})=>({backgroundColor:theme.values.color.background.accentSubtle.default,boxShadow:theme.values.elevation[1],"& > div":{marginBottom:-1}}),"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvTmF2QmFyL05hdkJhclN1Yk1lbnVDb250YWluZXIudHN4Iiwic291cmNlcyI6WyJzcmMvY29tcG9uZW50cy9OYXZCYXIvTmF2QmFyU3ViTWVudUNvbnRhaW5lci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQge1xuICBTdWJUaGVtZVByb3ZpZGVyLFxuICB0eXBlIFN1YlRoZW1lUHJvdmlkZXJQcm9wcyxcbn0gZnJvbSBcIi4uL1N1YlRoZW1lUHJvdmlkZXIvU3ViVGhlbWVQcm92aWRlclwiO1xuLy8gSW1wb3J0IHRoZSB2YXIgbmFtZSArIHB1Ymxpc2hlciBkaXJlY3RseSBmcm9tIExheW91dCdzIGZpbGVzIChub3QgaXRzIGJhcnJlbClcbi8vIHRvIGtlZXAgdGhlIGNvdXBsaW5nIG1pbmltYWwgYW5kIGF2b2lkIHB1bGxpbmcgaW4gdGhlIExheW91dCBtb2R1bGUgZ3JhcGguXG5pbXBvcnQgeyBTVUJOQVZfT0ZGU0VUX1ZBUiB9IGZyb20gXCIuLi9MYXlvdXQvLWNvbnN0YW50c1wiO1xuaW1wb3J0IHsgdXNlTGF5b3V0VmFyIH0gZnJvbSBcIi4uL0xheW91dC9MYXlvdXRDc3NWYXJzXCI7XG5pbXBvcnQgdHlwZSB7IE5hdkJhck5hbWUgfSBmcm9tIFwiLi90eXBlc1wiO1xuaW1wb3J0IHsgU1VCTkFWX0hFSUdIVCB9IGZyb20gXCIuL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgTmF2QmFyU2xpZGVEb3duIH0gZnJvbSBcIi4vTmF2QmFyU2xpZGVEb3duXCI7XG5pbXBvcnQgeyB1c2VOYXZCYXJDb250ZXh0IH0gZnJvbSBcIi4vTmF2QmFyQ29udGV4dFwiO1xuXG50eXBlIE5hdkJhclN1Yk1lbnVDb250YWluZXJQcm9wcyA9IHtcbiAgXCJkYXRhLWUyZS10ZXN0LWlkXCI/OiBzdHJpbmc7XG4gIGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGU7XG59O1xuXG5jb25zdCBDT05UQUlORVJfQk9SREVSX1dJRFRIID0gMTtcbmV4cG9ydCBjb25zdCBTdHlsZWRCb3JkZXJDb250YWluZXIgPSBzdHlsZWQuZGl2KCh7IHRoZW1lIH0pID0+ICh7XG4gIGJvcmRlckJvdHRvbTogYCR7Q09OVEFJTkVSX0JPUkRFUl9XSURUSH1weCBzb2xpZCAke3RoZW1lLnZhbHVlcy5jb2xvci5ib3JkZXIuc2Vjb25kYXJ5LmRlZmF1bHR9YCxcbn0pKTtcblxuY29uc3QgU3R5bGVkU3ViTWVudUNvbnRhaW5lciA9IHN0eWxlZChTdHlsZWRCb3JkZXJDb250YWluZXIpKCh7IHRoZW1lIH0pID0+ICh7XG4gIGJhY2tncm91bmRDb2xvcjogdGhlbWUudmFsdWVzLmNvbG9yLmJhY2tncm91bmQuYWNjZW50U3VidGxlLmRlZmF1bHQsXG4gIGJveFNoYWRvdzogdGhlbWUudmFsdWVzLmVsZXZhdGlvblsxXSxcbiAgXCImID4gZGl2XCI6IHtcbiAgICBtYXJnaW5Cb3R0b206IC1DT05UQUlORVJfQk9SREVSX1dJRFRILCAvLyBUYWJzIGJvcmRlciBzaG91bGQgYmUgYWJvdmUgb2YgU3R5bGVkQm9yZGVyQ29udGFpbmVyXG4gIH0sXG59KSk7XG5cbmV4cG9ydCBjb25zdCBzdWJUaGVtZU1hcHBpbmc6IFJlY29yZDxcbiAgTmF2QmFyTmFtZSxcbiAgU3ViVGhlbWVQcm92aWRlclByb3BzW1wibmFtZVwiXVxuPiA9IHtcbiAgbGVhcm5pbmc6IFwiYnJhbmRTdWJ0bGVcIixcbiAgY2xpbmljYWxDYXJlOiBcInVuc2V0XCIsXG4gIHRlYWNoaW5nOiBcImRpbW1lZFN1YnRsZVwiLFxuICB1bnNldDogXCJ1bnNldFwiLFxufTtcblxuZXhwb3J0IGNvbnN0IE5hdkJhclN1Yk1lbnVDb250YWluZXIgPSBSZWFjdC5mb3J3YXJkUmVmPFxuICBIVE1MRGl2RWxlbWVudCxcbiAgTmF2QmFyU3ViTWVudUNvbnRhaW5lclByb3BzXG4+KCh7IGNoaWxkcmVuLCBcImRhdGEtZTJlLXRlc3QtaWRcIjogZGF0YUUyZVRlc3RJZCB9LCByZWYpID0+IHtcbiAgY29uc3QgeyBzdWJUaGVtZSwgaXNDb21wYWN0IH0gPSB1c2VOYXZCYXJDb250ZXh0KCk7XG4gIC8vIFRoZSBzdWJuYXYgb3ducyB0aGUgKndoeSo6IGl0cyBvZmZzZXQgaXMgaXRzIGhlaWdodCB3aGVuIGV4cGFuZGVkLCAwIHdoZW5cbiAgLy8gY29tcGFjdC4gSXQgcHVibGlzaGVzIGludG8gdGhlIGxheW91dCB2YXIgcmVnaXN0cnk7IHRoZSBzaW5nbGUgTGF5b3V0Q3NzVmFyc1xuICAvLyBzaW5rIHJlbmRlcnMgaXQsIGFuZCBzbG90cyBsaWtlIExheW91dC5SaWdodFBhbmVsIHJlYWQgaXQuIFRoZSB2YXIgb25seVxuICAvLyBleGlzdHMgd2hpbGUgYSBzdWJuYXYgaXMgbW91bnRlZCAoYW5kIGEgTGF5b3V0LlByb3ZpZGVyIGlzIHByZXNlbnQpIOKAlCBzbG90c1xuICAvLyBkZWZhdWx0IHRvIDAgb3RoZXJ3aXNlLCBzbyBhIE5hdkJhciB3aXRoIG5vIHN1Ym5hdiBuZWVkcyBubyBvZmZzZXQuXG4gIGNvbnN0IHN1Ym5hdk9mZnNldENzc1ZhciA9IHVzZUxheW91dFZhcihTVUJOQVZfT0ZGU0VUX1ZBUik7XG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgc3VibmF2T2Zmc2V0Q3NzVmFyLnNldChpc0NvbXBhY3QgPyBcIjBweFwiIDogU1VCTkFWX0hFSUdIVCk7XG4gIH0sIFtzdWJuYXZPZmZzZXRDc3NWYXIsIGlzQ29tcGFjdF0pO1xuXG4gIHJldHVybiAoXG4gICAgPFN1YlRoZW1lUHJvdmlkZXIgbmFtZT17c3ViVGhlbWVNYXBwaW5nW3N1YlRoZW1lXX0+XG4gICAgICA8TmF2QmFyU2xpZGVEb3duIGlzVmlzaWJsZT17IWlzQ29tcGFjdH0gcG9zaXRpb249XCJib3R0b21cIj5cbiAgICAgICAgPFN0eWxlZFN1Yk1lbnVDb250YWluZXIgcmVmPXtyZWZ9IGRhdGEtZTJlLXRlc3QtaWQ9e2RhdGFFMmVUZXN0SWR9PlxuICAgICAgICAgIDxkaXY+e2NoaWxkcmVufTwvZGl2PlxuICAgICAgICA8L1N0eWxlZFN1Yk1lbnVDb250YWluZXI+XG4gICAgICA8L05hdkJhclNsaWRlRG93bj5cbiAgICA8L1N1YlRoZW1lUHJvdmlkZXI+XG4gICk7XG59KTtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF5QitCIn0= */");export const subThemeMapping={learning:"brandSubtle",clinicalCare:"unset",teaching:"dimmedSubtle",unset:"unset"};export const NavBarSubMenuContainer=React.forwardRef(({children,"data-e2e-test-id":dataE2eTestId},ref)=>{let{subTheme,isCompact}=useNavBarContext(),subnavOffsetCssVar=useLayoutVar(SUBNAV_OFFSET_VAR);return useEffect(()=>{subnavOffsetCssVar.set(isCompact?"0px":SUBNAV_HEIGHT)},[subnavOffsetCssVar,isCompact]),React.createElement(SubThemeProvider,{name:subThemeMapping[subTheme]},React.createElement(NavBarSlideDown,{isVisible:!isCompact,position:"bottom"},React.createElement(StyledSubMenuContainer,{ref:ref,"data-e2e-test-id":dataE2eTestId},React.createElement("div",null,children))))});
|