@amboss/design-system 3.48.12 → 3.49.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 +36 -0
- package/build/cjs/components/Internal/Panel/Panel.js +1 -0
- package/build/cjs/components/Internal/Panel/index.d.ts +2 -0
- package/build/cjs/components/Internal/Panel/index.js +1 -0
- package/build/cjs/components/Layout/-constants.d.ts +30 -0
- package/build/cjs/components/Layout/-constants.js +1 -0
- package/build/cjs/components/Layout/-types.d.ts +171 -0
- package/build/cjs/components/Layout/-types.js +1 -0
- package/build/cjs/components/Layout/Content.d.ts +7 -0
- package/build/cjs/components/Layout/Content.js +1 -0
- package/build/cjs/components/Layout/Layout.d.ts +17 -0
- package/build/cjs/components/Layout/Layout.js +1 -0
- package/build/cjs/components/Layout/LayoutProvider.d.ts +15 -0
- package/build/cjs/components/Layout/LayoutProvider.js +1 -0
- package/build/cjs/components/Layout/LayoutVars.d.ts +18 -0
- package/build/cjs/components/Layout/LayoutVars.js +1 -0
- package/build/cjs/components/Layout/RightPanel.d.ts +9 -0
- package/build/cjs/components/Layout/RightPanel.js +1 -0
- package/build/cjs/components/Layout/Sidebar.d.ts +8 -0
- package/build/cjs/components/Layout/Sidebar.js +1 -0
- package/build/cjs/components/Layout/Split.d.ts +7 -0
- package/build/cjs/components/Layout/Split.js +1 -0
- package/build/cjs/components/Layout/context.d.ts +22 -0
- package/build/cjs/components/Layout/context.js +1 -0
- package/build/cjs/components/Layout/index.d.ts +8 -0
- package/build/cjs/components/Layout/index.js +1 -0
- package/build/cjs/components/Layout/reducer.d.ts +5 -0
- package/build/cjs/components/Layout/reducer.js +1 -0
- package/build/cjs/components/Layout/registry.d.ts +31 -0
- package/build/cjs/components/Layout/registry.js +1 -0
- package/build/cjs/components/Layout/store.d.ts +10 -0
- package/build/cjs/components/Layout/store.js +1 -0
- package/build/cjs/components/Layout/useLayout.d.ts +7 -0
- package/build/cjs/components/Layout/useLayout.js +1 -0
- package/build/cjs/components/Layout/usePanelRefs.d.ts +19 -0
- package/build/cjs/components/Layout/usePanelRefs.js +1 -0
- package/build/cjs/components/Layout/usePortalContainerRefs.d.ts +20 -0
- package/build/cjs/components/Layout/usePortalContainerRefs.js +1 -0
- package/build/cjs/components/Layout/varStore.d.ts +17 -0
- package/build/cjs/components/Layout/varStore.js +1 -0
- package/build/cjs/components/NavBar/NavBarSubMenuContainer.js +1 -1
- package/build/cjs/components/NavBar/constants.d.ts +1 -0
- package/build/cjs/components/NavBar/constants.js +1 -1
- package/build/cjs/index.d.ts +1 -0
- package/build/cjs/index.js +1 -1
- package/build/esm/components/Internal/Panel/Panel.d.ts +36 -0
- package/build/esm/components/Internal/Panel/Panel.js +1 -0
- package/build/esm/components/Internal/Panel/index.d.ts +2 -0
- package/build/esm/components/Internal/Panel/index.js +1 -0
- package/build/esm/components/Layout/-constants.d.ts +30 -0
- package/build/esm/components/Layout/-constants.js +1 -0
- package/build/esm/components/Layout/-types.d.ts +171 -0
- package/build/esm/components/Layout/-types.js +1 -0
- package/build/esm/components/Layout/Content.d.ts +7 -0
- package/build/esm/components/Layout/Content.js +1 -0
- package/build/esm/components/Layout/Layout.d.ts +17 -0
- package/build/esm/components/Layout/Layout.js +1 -0
- package/build/esm/components/Layout/LayoutProvider.d.ts +15 -0
- package/build/esm/components/Layout/LayoutProvider.js +1 -0
- package/build/esm/components/Layout/LayoutVars.d.ts +18 -0
- package/build/esm/components/Layout/LayoutVars.js +1 -0
- package/build/esm/components/Layout/RightPanel.d.ts +9 -0
- package/build/esm/components/Layout/RightPanel.js +1 -0
- package/build/esm/components/Layout/Sidebar.d.ts +8 -0
- package/build/esm/components/Layout/Sidebar.js +1 -0
- package/build/esm/components/Layout/Split.d.ts +7 -0
- package/build/esm/components/Layout/Split.js +1 -0
- package/build/esm/components/Layout/context.d.ts +22 -0
- package/build/esm/components/Layout/context.js +1 -0
- package/build/esm/components/Layout/index.d.ts +8 -0
- package/build/esm/components/Layout/index.js +1 -0
- package/build/esm/components/Layout/reducer.d.ts +5 -0
- package/build/esm/components/Layout/reducer.js +1 -0
- package/build/esm/components/Layout/registry.d.ts +31 -0
- package/build/esm/components/Layout/registry.js +1 -0
- package/build/esm/components/Layout/store.d.ts +10 -0
- package/build/esm/components/Layout/store.js +1 -0
- package/build/esm/components/Layout/useLayout.d.ts +7 -0
- package/build/esm/components/Layout/useLayout.js +1 -0
- package/build/esm/components/Layout/usePanelRefs.d.ts +19 -0
- package/build/esm/components/Layout/usePanelRefs.js +1 -0
- package/build/esm/components/Layout/usePortalContainerRefs.d.ts +20 -0
- package/build/esm/components/Layout/usePortalContainerRefs.js +1 -0
- package/build/esm/components/Layout/varStore.d.ts +17 -0
- package/build/esm/components/Layout/varStore.js +1 -0
- package/build/esm/components/NavBar/NavBarSubMenuContainer.js +1 -1
- package/build/esm/components/NavBar/constants.d.ts +1 -0
- package/build/esm/components/NavBar/constants.js +1 -1
- package/build/esm/index.d.ts +1 -0
- package/build/esm/index.js +1 -1
- package/package.json +2 -1
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type React from "react";
|
|
2
|
+
import type { SidePanelProps } from "./-types";
|
|
3
|
+
/**
|
|
4
|
+
* Left side panel. Declares the `sidebar` slot and portals its content into the
|
|
5
|
+
* Group's host while visible. Renders in-flow (a resizable column) — the
|
|
6
|
+
* offcanvas overlay / mobile sheet is deferred.
|
|
7
|
+
*/
|
|
8
|
+
export declare const Sidebar: React.FC<SidePanelProps>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Slot}from"./-constants";import{useDeclarePanel,useLayoutPortal,useVisibleChange}from"./registry";import{useLayout}from"./useLayout";export const Sidebar=({children,defaultSize,minSize,maxSize,collapsible=!0,onVisibleChange})=>{let{isVisible}=useLayout()[Slot.sidebar];return useDeclarePanel(Slot.sidebar,{defaultSize,minSize,maxSize,collapsible}),useVisibleChange(isVisible,onVisibleChange),useLayoutPortal(Slot.sidebar,isVisible?children:null)};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type React from "react";
|
|
2
|
+
import type { SplitProps } from "./-types";
|
|
3
|
+
/**
|
|
4
|
+
* Split view panel. Declares the `splitview` slot and portals its content while
|
|
5
|
+
* visible — a toggleable in-flow column beside `content`.
|
|
6
|
+
*/
|
|
7
|
+
export declare const Split: React.FC<SplitProps>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Slot}from"./-constants";import{useDeclarePanel,useLayoutPortal}from"./registry";import{useLayout}from"./useLayout";export const Split=({children,defaultSize,minSize,maxSize})=>{let{isVisible}=useLayout()[Slot.splitview];return useDeclarePanel(Slot.splitview,{defaultSize,minSize,maxSize,collapsible:!0}),useLayoutPortal(Slot.splitview,isVisible?children:null)};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { LayoutState, LayoutStorage, LayoutStore } from "./-types";
|
|
2
|
+
export declare const LayoutStoreProvider: React.Provider<LayoutStore>;
|
|
3
|
+
/** Get the store from context, or throw if used outside the provider. */
|
|
4
|
+
export declare function useLayoutStore(): LayoutStore;
|
|
5
|
+
/**
|
|
6
|
+
* Persistence config for the layout namespace. Set on `Layout.Provider` (single
|
|
7
|
+
* external surface) and read by the nested `<Layout>`. The Provider only
|
|
8
|
+
* forwards it — it never touches storage itself.
|
|
9
|
+
*/
|
|
10
|
+
export type LayoutPersistence = {
|
|
11
|
+
persistenceKey?: string;
|
|
12
|
+
storage?: LayoutStorage;
|
|
13
|
+
};
|
|
14
|
+
export declare const LayoutPersistenceProvider: React.Provider<LayoutPersistence>;
|
|
15
|
+
/** Persistence config from the nearest `Layout.Provider` (empty if none). */
|
|
16
|
+
export declare function useLayoutPersistence(): LayoutPersistence;
|
|
17
|
+
/**
|
|
18
|
+
* Subscribe to a slice of layout state via `useSyncExternalStore`. The selector
|
|
19
|
+
* should return a stable reference when nothing relevant changed — the reducer
|
|
20
|
+
* preserves references for untouched positions, so slice selectors are safe.
|
|
21
|
+
*/
|
|
22
|
+
export declare function useLayoutSelector<T>(selector: (state: LayoutState) => T): T;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{createContext,useContext,useSyncExternalStore}from"react";let LayoutStoreContext=createContext(null);export const LayoutStoreProvider=LayoutStoreContext.Provider;export function useLayoutStore(){let store=useContext(LayoutStoreContext);if(!store)throw Error("useLayout must be used within a <LayoutProvider>.");return store}let LayoutPersistenceContext=createContext({});export const LayoutPersistenceProvider=LayoutPersistenceContext.Provider;export function useLayoutPersistence(){return useContext(LayoutPersistenceContext)}export function useLayoutSelector(selector){let store=useLayoutStore(),getSnapshot=()=>selector(store.getState());return useSyncExternalStore(store.subscribe,getSnapshot,getSnapshot)}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export { SLIDE_VAR, SUBNAV_OFFSET_VAR } from "./-constants";
|
|
2
|
+
export { Layout } from "./Layout";
|
|
3
|
+
export { LayoutProvider } from "./LayoutProvider";
|
|
4
|
+
export { useLayoutVar } from "./LayoutVars";
|
|
5
|
+
export { useLayout } from "./useLayout";
|
|
6
|
+
export { createLayoutStore } from "./store";
|
|
7
|
+
export { createInitialState, layoutReducer } from "./reducer";
|
|
8
|
+
export * from "./-types";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export{SLIDE_VAR,SUBNAV_OFFSET_VAR}from"./-constants";export{Layout}from"./Layout";export{LayoutProvider}from"./LayoutProvider";export{useLayoutVar}from"./LayoutVars";export{useLayout}from"./useLayout";export{createLayoutStore}from"./store";export{createInitialState,layoutReducer}from"./reducer";export*from"./-types";
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { LayoutConfig, LayoutReducer, LayoutState } from "./-types";
|
|
2
|
+
/** Build the initial state from optional config. */
|
|
3
|
+
export declare function createInitialState(config?: LayoutConfig): LayoutState;
|
|
4
|
+
/** Pure reducer. Returns the same reference when nothing changes. */
|
|
5
|
+
export declare const layoutReducer: LayoutReducer;
|
|
@@ -0,0 +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{sidebar:sidePanel(config.sidebar),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}};
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { type ReactNode } from "react";
|
|
2
|
+
import type { Size, SlotKey } from "./-types";
|
|
3
|
+
export type HostNodes = Partial<Record<SlotKey, HTMLElement | null>>;
|
|
4
|
+
export declare const LayoutPortalContext: React.Context<Partial<Record<"content" | "sidebar" | "splitview" | "rightPanel", HTMLElement>>>;
|
|
5
|
+
/**
|
|
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 —
|
|
8
|
+
* gate content by passing `null` as `children`, not by skipping the call.
|
|
9
|
+
*/
|
|
10
|
+
export declare function useLayoutPortal(slot: SlotKey, children: ReactNode): ReactNode;
|
|
11
|
+
/**
|
|
12
|
+
* Panel descriptor a marker contributes. The Group renders one resizable Panel
|
|
13
|
+
* per *declared* panel that is currently shown — regardless of nesting depth.
|
|
14
|
+
* So a page can drop `<Layout.Split>` deep in its tree and it joins the app's
|
|
15
|
+
* single Layout as a panel; toggling a panel never remounts the others.
|
|
16
|
+
*/
|
|
17
|
+
export type PanelReg = {
|
|
18
|
+
defaultSize?: Size;
|
|
19
|
+
minSize?: Size;
|
|
20
|
+
maxSize?: Size;
|
|
21
|
+
collapsible?: boolean;
|
|
22
|
+
};
|
|
23
|
+
export type PanelRegistry = {
|
|
24
|
+
register: (slot: SlotKey, reg: PanelReg) => void;
|
|
25
|
+
unregister: (slot: SlotKey) => void;
|
|
26
|
+
};
|
|
27
|
+
export declare const PanelRegistryContext: React.Context<PanelRegistry>;
|
|
28
|
+
/** Register this slot as a panel for the marker's lifetime. */
|
|
29
|
+
export declare function useDeclarePanel(slot: SlotKey, reg: PanelReg): void;
|
|
30
|
+
/** Fire `onChange(visible)` when `visible` transitions (not on initial mount). */
|
|
31
|
+
export declare function useVisibleChange(visible: boolean, onChange?: (visible: boolean) => void): void;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{createContext,useContext,useEffect,useLayoutEffect,useRef}from"react";import{createPortal}from"react-dom";export const LayoutPortalContext=createContext({});export function useLayoutPortal(slot,children){let slotNode=useContext(LayoutPortalContext)[slot]??null;return slotNode?createPortal(children,slotNode):null}export const PanelRegistryContext=createContext(null);export function useDeclarePanel(slot,reg){let registry=useContext(PanelRegistryContext),{defaultSize,minSize,maxSize,collapsible}=reg;useLayoutEffect(()=>{if(registry)return registry.register(slot,{defaultSize,minSize,maxSize,collapsible}),()=>registry.unregister(slot)},[registry,slot,defaultSize,minSize,maxSize,collapsible])}export function useVisibleChange(visible,onChange){let prev=useRef(visible);useEffect(()=>{prev.current!==visible&&(prev.current=visible,onChange?.(visible))},[visible,onChange])}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { LayoutState, LayoutStore } from "./-types";
|
|
2
|
+
/**
|
|
3
|
+
* Default, dependency-free `LayoutStore` implementation: a tiny pub/sub wrapper
|
|
4
|
+
* around the pure `layoutReducer`. Skips notifying subscribers when an action is
|
|
5
|
+
* a no-op (reducer returns the same reference).
|
|
6
|
+
*
|
|
7
|
+
* Swap this for a zustand/redux-backed store by implementing the same
|
|
8
|
+
* `LayoutStore` interface — bindings and primitives are unaffected.
|
|
9
|
+
*/
|
|
10
|
+
export declare function createLayoutStore(initial: LayoutState): LayoutStore;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{layoutReducer}from"./reducer";export function createLayoutStore(initial){let state=initial,listeners=new Set;return{getState:()=>state,dispatch:action=>{let next=layoutReducer(state,action,initial);next!==state&&(state=next,listeners.forEach(listener=>listener()))},subscribe:listener=>(listeners.add(listener),()=>{listeners.delete(listener)})}}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { LayoutValue } from "./-types";
|
|
2
|
+
/**
|
|
3
|
+
* The single control hook. Returns `state` plus a typed handle per slot. Works
|
|
4
|
+
* from any descendant of `<LayoutProvider>` — remote control without prop
|
|
5
|
+
* drilling.
|
|
6
|
+
*/
|
|
7
|
+
export declare function useLayout(): LayoutValue;
|
|
@@ -0,0 +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,sidebar:sidePanelHandle("sidebar",state,dispatch),rightPanel:sidePanelHandle("rightPanel",state,dispatch),content:panelHandle("content",state,dispatch),splitview:panelHandle("splitview",state,dispatch)}}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Track a set of DOM elements by key, with stable per-key ref callbacks.
|
|
3
|
+
*
|
|
4
|
+
* Given a fixed list of keys, returns `[elements, refs]`:
|
|
5
|
+
* - `refs[key]` — a ref callback to attach to an element; captures it into
|
|
6
|
+
* `elements[key]` (and clears it to `null` on unmount).
|
|
7
|
+
* - `elements[key]` — the currently-attached element (undefined until set).
|
|
8
|
+
*
|
|
9
|
+
* The callbacks are **stable** across renders, so React invokes them only on
|
|
10
|
+
* mount/unmount — not detach/attach every render. (An inline `ref={el => …}`
|
|
11
|
+
* that calls setState would get a new identity each render and loop.)
|
|
12
|
+
*
|
|
13
|
+
* Agnostic utility — useful whenever something needs the live DOM node of a
|
|
14
|
+
* child: portal targets, measurement, focus management, etc.
|
|
15
|
+
*/
|
|
16
|
+
export declare function usePanelRefs<K extends string>(keys: readonly K[]): [
|
|
17
|
+
Partial<Record<K, HTMLElement | null>>,
|
|
18
|
+
Record<K, (el: HTMLElement | null) => void>
|
|
19
|
+
];
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{useMemo,useState}from"react";export function usePanelRefs(keys){let[elements,setElements]=useState({});return[elements,useMemo(()=>{let map={};return keys.forEach(key=>{map[key]=el=>setElements(prev=>prev[key]===el?prev:{...prev,[key]:el})}),map},[keys])]}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Track portal-container DOM elements by key, with stable per-key ref callbacks.
|
|
3
|
+
* Used by `Layout` to capture each panel's host `<div>` (the `createPortal`
|
|
4
|
+
* container) so markers can portal their content into it.
|
|
5
|
+
*
|
|
6
|
+
* Given a fixed list of keys, returns `[elements, refs]`:
|
|
7
|
+
* - `refs[key]` — a ref callback to attach to an element; captures it into
|
|
8
|
+
* `elements[key]` (and clears it to `null` on unmount).
|
|
9
|
+
* - `elements[key]` — the currently-attached element (undefined until set).
|
|
10
|
+
*
|
|
11
|
+
* The callbacks are **stable** across renders, so React invokes them only on
|
|
12
|
+
* mount/unmount — not detach/attach every render. (An inline `ref={el => …}`
|
|
13
|
+
* that calls setState would get a new identity each render and loop.)
|
|
14
|
+
*
|
|
15
|
+
* Generic over the key type, so it works for any fixed key set.
|
|
16
|
+
*/
|
|
17
|
+
export declare function usePortalContainerRefs<K extends string>(keys: readonly K[]): [
|
|
18
|
+
Partial<Record<K, HTMLElement | null>>,
|
|
19
|
+
Record<K, (el: HTMLElement | null) => void>
|
|
20
|
+
];
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{useMemo,useState}from"react";export function usePortalContainerRefs(keys){let[elements,setElements]=useState({});return[elements,useMemo(()=>{let map={};return keys.forEach(key=>{map[key]=el=>setElements(prev=>prev[key]===el?prev:{...prev,[key]:el})}),map},[keys])]}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tiny pub/sub registry for the layout's CSS custom properties. Producers
|
|
3
|
+
* publish a value by name (the component that owns the *why* — e.g. the NavBar
|
|
4
|
+
* subnav publishing its offset); a single sink (`<LayoutVars>`) subscribes and
|
|
5
|
+
* renders them all in ONE place. Mirrors the `LayoutStore` shape so it reads
|
|
6
|
+
* via the same `useSyncExternalStore` pattern.
|
|
7
|
+
*
|
|
8
|
+
* One name = one producer. The registry is keyed by name, so a second writer to
|
|
9
|
+
* the same name last-wins; don't share a name across unrelated producers.
|
|
10
|
+
*/
|
|
11
|
+
export type LayoutVarStore = {
|
|
12
|
+
getSnapshot: () => Record<string, string>;
|
|
13
|
+
set: (name: string, value: string) => void;
|
|
14
|
+
remove: (name: string) => void;
|
|
15
|
+
subscribe: (listener: () => void) => () => void;
|
|
16
|
+
};
|
|
17
|
+
export declare function createLayoutVarStore(): LayoutVarStore;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export function createLayoutVarStore(){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 +1 @@
|
|
|
1
|
-
import React from"react";import styled from"@emotion/styled";import{SubThemeProvider}from"../SubThemeProvider/SubThemeProvider";import{NavBarSlideDown}from"./NavBarSlideDown";import{useNavBarContext}from"./NavBarContext";export const StyledBorderContainer=styled("div",{target:"
|
|
1
|
+
import React from"react";import styled from"@emotion/styled";import{SubThemeProvider}from"../SubThemeProvider/SubThemeProvider";import{SUBNAV_OFFSET_VAR}from"../Layout/-constants";import{useLayoutVar}from"../Layout/LayoutVars";import{SUBNAV_HEIGHT}from"./constants";import{NavBarSlideDown}from"./NavBarSlideDown";import{useNavBarContext}from"./NavBarContext";export const StyledBorderContainer=styled("div",{target:"e1o502qf0",label:"StyledBorderContainer"})(({theme})=>({borderBottom:`1px solid ${theme.values.color.border.secondary.default}`}),"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvTmF2QmFyL05hdkJhclN1Yk1lbnVDb250YWluZXIudHN4Iiwic291cmNlcyI6WyJzcmMvY29tcG9uZW50cy9OYXZCYXIvTmF2QmFyU3ViTWVudUNvbnRhaW5lci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQge1xuICBTdWJUaGVtZVByb3ZpZGVyLFxuICB0eXBlIFN1YlRoZW1lUHJvdmlkZXJQcm9wcyxcbn0gZnJvbSBcIi4uL1N1YlRoZW1lUHJvdmlkZXIvU3ViVGhlbWVQcm92aWRlclwiO1xuLy8gSW1wb3J0IHRoZSB2YXIgbmFtZSArIHB1Ymxpc2hlciBkaXJlY3RseSBmcm9tIExheW91dCdzIGZpbGVzIChub3QgaXRzIGJhcnJlbClcbi8vIHRvIGtlZXAgdGhlIGNvdXBsaW5nIG1pbmltYWwgYW5kIGF2b2lkIHB1bGxpbmcgaW4gdGhlIExheW91dCBtb2R1bGUgZ3JhcGguXG5pbXBvcnQgeyBTVUJOQVZfT0ZGU0VUX1ZBUiB9IGZyb20gXCIuLi9MYXlvdXQvLWNvbnN0YW50c1wiO1xuaW1wb3J0IHsgdXNlTGF5b3V0VmFyIH0gZnJvbSBcIi4uL0xheW91dC9MYXlvdXRWYXJzXCI7XG5pbXBvcnQgdHlwZSB7IE5hdkJhck5hbWUgfSBmcm9tIFwiLi90eXBlc1wiO1xuaW1wb3J0IHsgU1VCTkFWX0hFSUdIVCB9IGZyb20gXCIuL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgTmF2QmFyU2xpZGVEb3duIH0gZnJvbSBcIi4vTmF2QmFyU2xpZGVEb3duXCI7XG5pbXBvcnQgeyB1c2VOYXZCYXJDb250ZXh0IH0gZnJvbSBcIi4vTmF2QmFyQ29udGV4dFwiO1xuXG50eXBlIE5hdkJhclN1Yk1lbnVDb250YWluZXJQcm9wcyA9IHtcbiAgXCJkYXRhLWUyZS10ZXN0LWlkXCI/OiBzdHJpbmc7XG4gIGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGU7XG59O1xuXG5jb25zdCBDT05UQUlORVJfQk9SREVSX1dJRFRIID0gMTtcbmV4cG9ydCBjb25zdCBTdHlsZWRCb3JkZXJDb250YWluZXIgPSBzdHlsZWQuZGl2KCh7IHRoZW1lIH0pID0+ICh7XG4gIGJvcmRlckJvdHRvbTogYCR7Q09OVEFJTkVSX0JPUkRFUl9XSURUSH1weCBzb2xpZCAke3RoZW1lLnZhbHVlcy5jb2xvci5ib3JkZXIuc2Vjb25kYXJ5LmRlZmF1bHR9YCxcbn0pKTtcblxuY29uc3QgU3R5bGVkU3ViTWVudUNvbnRhaW5lciA9IHN0eWxlZChTdHlsZWRCb3JkZXJDb250YWluZXIpKCh7IHRoZW1lIH0pID0+ICh7XG4gIGJhY2tncm91bmRDb2xvcjogdGhlbWUudmFsdWVzLmNvbG9yLmJhY2tncm91bmQuYWNjZW50U3VidGxlLmRlZmF1bHQsXG4gIGJveFNoYWRvdzogdGhlbWUudmFsdWVzLmVsZXZhdGlvblsxXSxcbiAgXCImID4gZGl2XCI6IHtcbiAgICBtYXJnaW5Cb3R0b206IC1DT05UQUlORVJfQk9SREVSX1dJRFRILCAvLyBUYWJzIGJvcmRlciBzaG91bGQgYmUgYWJvdmUgb2YgU3R5bGVkQm9yZGVyQ29udGFpbmVyXG4gIH0sXG59KSk7XG5cbmV4cG9ydCBjb25zdCBzdWJUaGVtZU1hcHBpbmc6IFJlY29yZDxcbiAgTmF2QmFyTmFtZSxcbiAgU3ViVGhlbWVQcm92aWRlclByb3BzW1wibmFtZVwiXVxuPiA9IHtcbiAgbGVhcm5pbmc6IFwiYnJhbmRTdWJ0bGVcIixcbiAgY2xpbmljYWxDYXJlOiBcInVuc2V0XCIsXG4gIHRlYWNoaW5nOiBcImRpbW1lZFN1YnRsZVwiLFxuICB1bnNldDogXCJ1bnNldFwiLFxufTtcblxuZXhwb3J0IGNvbnN0IE5hdkJhclN1Yk1lbnVDb250YWluZXIgPSBSZWFjdC5mb3J3YXJkUmVmPFxuICBIVE1MRGl2RWxlbWVudCxcbiAgTmF2QmFyU3ViTWVudUNvbnRhaW5lclByb3BzXG4+KCh7IGNoaWxkcmVuLCBcImRhdGEtZTJlLXRlc3QtaWRcIjogZGF0YUUyZVRlc3RJZCB9LCByZWYpID0+IHtcbiAgY29uc3QgeyBzdWJUaGVtZSwgaXNDb21wYWN0IH0gPSB1c2VOYXZCYXJDb250ZXh0KCk7XG4gIC8vIFRoZSBzdWJuYXYgb3ducyB0aGUgKndoeSo6IGl0cyBvZmZzZXQgaXMgaXRzIGhlaWdodCB3aGVuIGV4cGFuZGVkLCAwIHdoZW5cbiAgLy8gY29tcGFjdC4gSXQgcHVibGlzaGVzIGludG8gdGhlIGxheW91dCB2YXIgcmVnaXN0cnk7IHRoZSBzaW5nbGUgTGF5b3V0VmFyc1xuICAvLyBzaW5rIHJlbmRlcnMgaXQsIGFuZCBzbG90cyBsaWtlIExheW91dC5SaWdodFBhbmVsIHJlYWQgaXQuIFRoZSB2YXIgb25seVxuICAvLyBleGlzdHMgd2hpbGUgYSBzdWJuYXYgaXMgbW91bnRlZCAoYW5kIGEgTGF5b3V0LlByb3ZpZGVyIGlzIHByZXNlbnQpIOKAlCBzbG90c1xuICAvLyBkZWZhdWx0IHRvIDAgb3RoZXJ3aXNlLCBzbyBhIE5hdkJhciB3aXRoIG5vIHN1Ym5hdiBuZWVkcyBubyBvZmZzZXQuXG4gIHVzZUxheW91dFZhcihTVUJOQVZfT0ZGU0VUX1ZBUiwgaXNDb21wYWN0ID8gXCIwcHhcIiA6IFNVQk5BVl9IRUlHSFQpO1xuXG4gIHJldHVybiAoXG4gICAgPFN1YlRoZW1lUHJvdmlkZXIgbmFtZT17c3ViVGhlbWVNYXBwaW5nW3N1YlRoZW1lXX0+XG4gICAgICA8TmF2QmFyU2xpZGVEb3duIGlzVmlzaWJsZT17IWlzQ29tcGFjdH0gcG9zaXRpb249XCJib3R0b21cIj5cbiAgICAgICAgPFN0eWxlZFN1Yk1lbnVDb250YWluZXIgcmVmPXtyZWZ9IGRhdGEtZTJlLXRlc3QtaWQ9e2RhdGFFMmVUZXN0SWR9PlxuICAgICAgICAgIDxkaXY+e2NoaWxkcmVufTwvZGl2PlxuICAgICAgICA8L1N0eWxlZFN1Yk1lbnVDb250YWluZXI+XG4gICAgICA8L05hdkJhclNsaWRlRG93bj5cbiAgICA8L1N1YlRoZW1lUHJvdmlkZXI+XG4gICk7XG59KTtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFxQnFDIn0= */");let StyledSubMenuContainer=styled(StyledBorderContainer,{target:"e1o502qf1",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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvTmF2QmFyL05hdkJhclN1Yk1lbnVDb250YWluZXIudHN4Iiwic291cmNlcyI6WyJzcmMvY29tcG9uZW50cy9OYXZCYXIvTmF2QmFyU3ViTWVudUNvbnRhaW5lci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQge1xuICBTdWJUaGVtZVByb3ZpZGVyLFxuICB0eXBlIFN1YlRoZW1lUHJvdmlkZXJQcm9wcyxcbn0gZnJvbSBcIi4uL1N1YlRoZW1lUHJvdmlkZXIvU3ViVGhlbWVQcm92aWRlclwiO1xuLy8gSW1wb3J0IHRoZSB2YXIgbmFtZSArIHB1Ymxpc2hlciBkaXJlY3RseSBmcm9tIExheW91dCdzIGZpbGVzIChub3QgaXRzIGJhcnJlbClcbi8vIHRvIGtlZXAgdGhlIGNvdXBsaW5nIG1pbmltYWwgYW5kIGF2b2lkIHB1bGxpbmcgaW4gdGhlIExheW91dCBtb2R1bGUgZ3JhcGguXG5pbXBvcnQgeyBTVUJOQVZfT0ZGU0VUX1ZBUiB9IGZyb20gXCIuLi9MYXlvdXQvLWNvbnN0YW50c1wiO1xuaW1wb3J0IHsgdXNlTGF5b3V0VmFyIH0gZnJvbSBcIi4uL0xheW91dC9MYXlvdXRWYXJzXCI7XG5pbXBvcnQgdHlwZSB7IE5hdkJhck5hbWUgfSBmcm9tIFwiLi90eXBlc1wiO1xuaW1wb3J0IHsgU1VCTkFWX0hFSUdIVCB9IGZyb20gXCIuL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgTmF2QmFyU2xpZGVEb3duIH0gZnJvbSBcIi4vTmF2QmFyU2xpZGVEb3duXCI7XG5pbXBvcnQgeyB1c2VOYXZCYXJDb250ZXh0IH0gZnJvbSBcIi4vTmF2QmFyQ29udGV4dFwiO1xuXG50eXBlIE5hdkJhclN1Yk1lbnVDb250YWluZXJQcm9wcyA9IHtcbiAgXCJkYXRhLWUyZS10ZXN0LWlkXCI/OiBzdHJpbmc7XG4gIGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGU7XG59O1xuXG5jb25zdCBDT05UQUlORVJfQk9SREVSX1dJRFRIID0gMTtcbmV4cG9ydCBjb25zdCBTdHlsZWRCb3JkZXJDb250YWluZXIgPSBzdHlsZWQuZGl2KCh7IHRoZW1lIH0pID0+ICh7XG4gIGJvcmRlckJvdHRvbTogYCR7Q09OVEFJTkVSX0JPUkRFUl9XSURUSH1weCBzb2xpZCAke3RoZW1lLnZhbHVlcy5jb2xvci5ib3JkZXIuc2Vjb25kYXJ5LmRlZmF1bHR9YCxcbn0pKTtcblxuY29uc3QgU3R5bGVkU3ViTWVudUNvbnRhaW5lciA9IHN0eWxlZChTdHlsZWRCb3JkZXJDb250YWluZXIpKCh7IHRoZW1lIH0pID0+ICh7XG4gIGJhY2tncm91bmRDb2xvcjogdGhlbWUudmFsdWVzLmNvbG9yLmJhY2tncm91bmQuYWNjZW50U3VidGxlLmRlZmF1bHQsXG4gIGJveFNoYWRvdzogdGhlbWUudmFsdWVzLmVsZXZhdGlvblsxXSxcbiAgXCImID4gZGl2XCI6IHtcbiAgICBtYXJnaW5Cb3R0b206IC1DT05UQUlORVJfQk9SREVSX1dJRFRILCAvLyBUYWJzIGJvcmRlciBzaG91bGQgYmUgYWJvdmUgb2YgU3R5bGVkQm9yZGVyQ29udGFpbmVyXG4gIH0sXG59KSk7XG5cbmV4cG9ydCBjb25zdCBzdWJUaGVtZU1hcHBpbmc6IFJlY29yZDxcbiAgTmF2QmFyTmFtZSxcbiAgU3ViVGhlbWVQcm92aWRlclByb3BzW1wibmFtZVwiXVxuPiA9IHtcbiAgbGVhcm5pbmc6IFwiYnJhbmRTdWJ0bGVcIixcbiAgY2xpbmljYWxDYXJlOiBcInVuc2V0XCIsXG4gIHRlYWNoaW5nOiBcImRpbW1lZFN1YnRsZVwiLFxuICB1bnNldDogXCJ1bnNldFwiLFxufTtcblxuZXhwb3J0IGNvbnN0IE5hdkJhclN1Yk1lbnVDb250YWluZXIgPSBSZWFjdC5mb3J3YXJkUmVmPFxuICBIVE1MRGl2RWxlbWVudCxcbiAgTmF2QmFyU3ViTWVudUNvbnRhaW5lclByb3BzXG4+KCh7IGNoaWxkcmVuLCBcImRhdGEtZTJlLXRlc3QtaWRcIjogZGF0YUUyZVRlc3RJZCB9LCByZWYpID0+IHtcbiAgY29uc3QgeyBzdWJUaGVtZSwgaXNDb21wYWN0IH0gPSB1c2VOYXZCYXJDb250ZXh0KCk7XG4gIC8vIFRoZSBzdWJuYXYgb3ducyB0aGUgKndoeSo6IGl0cyBvZmZzZXQgaXMgaXRzIGhlaWdodCB3aGVuIGV4cGFuZGVkLCAwIHdoZW5cbiAgLy8gY29tcGFjdC4gSXQgcHVibGlzaGVzIGludG8gdGhlIGxheW91dCB2YXIgcmVnaXN0cnk7IHRoZSBzaW5nbGUgTGF5b3V0VmFyc1xuICAvLyBzaW5rIHJlbmRlcnMgaXQsIGFuZCBzbG90cyBsaWtlIExheW91dC5SaWdodFBhbmVsIHJlYWQgaXQuIFRoZSB2YXIgb25seVxuICAvLyBleGlzdHMgd2hpbGUgYSBzdWJuYXYgaXMgbW91bnRlZCAoYW5kIGEgTGF5b3V0LlByb3ZpZGVyIGlzIHByZXNlbnQpIOKAlCBzbG90c1xuICAvLyBkZWZhdWx0IHRvIDAgb3RoZXJ3aXNlLCBzbyBhIE5hdkJhciB3aXRoIG5vIHN1Ym5hdiBuZWVkcyBubyBvZmZzZXQuXG4gIHVzZUxheW91dFZhcihTVUJOQVZfT0ZGU0VUX1ZBUiwgaXNDb21wYWN0ID8gXCIwcHhcIiA6IFNVQk5BVl9IRUlHSFQpO1xuXG4gIHJldHVybiAoXG4gICAgPFN1YlRoZW1lUHJvdmlkZXIgbmFtZT17c3ViVGhlbWVNYXBwaW5nW3N1YlRoZW1lXX0+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();return useLayoutVar(SUBNAV_OFFSET_VAR,isCompact?"0px":SUBNAV_HEIGHT),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))))});
|
|
@@ -6,6 +6,7 @@ export declare const NAV_BAR_Z_INDEX: {
|
|
|
6
6
|
export declare const COMPACT_ATTR = "data-compact";
|
|
7
7
|
export declare const TRANSITIONING_ATTR = "data-transitioning";
|
|
8
8
|
export declare const TRANSITIONING_DATASET_KEY = "transitioning";
|
|
9
|
+
export declare const SUBNAV_HEIGHT = "48px";
|
|
9
10
|
export declare const whenExpandedAncestor = "[data-compact=\"false\"] &";
|
|
10
11
|
export declare const whenTransitioningAndCompact = "[data-transitioning][data-compact=\"true\"] &";
|
|
11
12
|
export declare const whenTransitioningAndExpanded = "[data-transitioning][data-compact=\"false\"] &";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export const NAV_BAR_Z_INDEX={primary:1,overlay:2,overlayContent:3};export const COMPACT_ATTR="data-compact";export const TRANSITIONING_ATTR="data-transitioning";export const TRANSITIONING_DATASET_KEY="transitioning";export const whenExpandedAncestor=`[${COMPACT_ATTR}="false"] &`;export const whenTransitioningAndCompact=`[${TRANSITIONING_ATTR}][${COMPACT_ATTR}="true"] &`;export const whenTransitioningAndExpanded=`[${TRANSITIONING_ATTR}][${COMPACT_ATTR}="false"] &`;
|
|
1
|
+
export const NAV_BAR_Z_INDEX={primary:1,overlay:2,overlayContent:3};export const COMPACT_ATTR="data-compact";export const TRANSITIONING_ATTR="data-transitioning";export const TRANSITIONING_DATASET_KEY="transitioning";export const SUBNAV_HEIGHT="48px";export const whenExpandedAncestor=`[${COMPACT_ATTR}="false"] &`;export const whenTransitioningAndCompact=`[${TRANSITIONING_ATTR}][${COMPACT_ATTR}="true"] &`;export const whenTransitioningAndExpanded=`[${TRANSITIONING_ATTR}][${COMPACT_ATTR}="false"] &`;
|
package/build/esm/index.d.ts
CHANGED
|
@@ -113,3 +113,4 @@ export * from "./components/Content/ContentTableModal/ContentTableModal";
|
|
|
113
113
|
export * from "./components/Content/DosageButton";
|
|
114
114
|
export * from "./components/Content/ReferenceButton";
|
|
115
115
|
export * from "./components/AIButton/AIButton";
|
|
116
|
+
export * from "./components/Layout";
|
package/build/esm/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{ambossVisualConfiguration}from"./web-tokens/visualConfig";export const{dark,light}=ambossVisualConfiguration;export{ThemeProvider,CacheProvider}from"@emotion/react";export{default as createCache}from"@emotion/cache";export*from"./components/AccessCardItem/AccessCardItem";export*from"./components/AIFloatingButton/AIFloatingButton";export*from"./components/Avatar/Avatar";export*from"./components/AvatarGroup/AvatarGroup";export*from"./components/Badge/Badge";export*from"./components/BinaryFeedback/BinaryFeedback";export*from"./components/Box/Box";export*from"./components/BulkActionsToolbar/BulkActionsToolbar";export*from"./components/Button/Button";export*from"./components/Callout/Callout";export*from"./components/Card/Card";export*from"./components/Card/CardBox";export*from"./components/CatalogCard/CatalogCard";export*from"./components/ChatMessage";export*from"./components/ChatResponse";export*from"./components/CheckboxCard/CheckboxCard";export*from"./components/Collapsible/Collapsible";export*from"./components/ColorIndicator/ColorIndicator";export*from"./components/ColorPicker/ColorPicker";export*from"./components/Column/Columns";export*from"./components/Container";export*from"./components/CountButton/CountButton";export*from"./components/DataTable";export*from"./components/Divider/Divider";export*from"./components/DropdownMenu/DropdownMenu";export*from"./components/EntityList";export*from"./components/EntityTree";export*from"./components/Composite/FilterDialog/FilterDialog";export*from"./components/Form/Checkbox/Checkbox";export*from"./components/Form/Combobox/Combobox";export*from"./components/Form/DateInput/DateInput";export*from"./components/Form/DatePicker";export*from"./components/Form/FormFieldGroup/FormFieldGroup";export*from"./components/Form/Input";export*from"./components/Form/MaskedInput/MaskedInput";export*from"./components/Form/PasswordInput";export*from"./components/Form/Radio/Radio";export*from"./components/Form/RadioButton/RadioButton";export*from"./components/Form/RangeInput/RangeInput";export*from"./components/Form/SearchInput/SearchInput";export*from"./components/Form/SegmentedControl/SegmentedControl";export*from"./components/Form/Select";export*from"./components/Form/ToolbarToggle/ToolbarToggle";export*from"./components/Form/Textarea/Textarea";export*from"./components/Form/Toggle/Toggle";export*from"./components/Form/ToggleButton/ToggleButton";export*from"./components/Grid/Grid";export*from"./components/Icon/Icon";export*from"./components/IconTile/IconTile";export*from"./components/Image/Image";export*from"./components/Inline/Inline";export*from"./components/InteractiveBox/InteractiveBox";export*from"./components/Lightbox/Lightbox";export*from"./components/Link/Link";export*from"./components/LoadingSpinner/LoadingSpinner";export*from"./components/Logo/Logo";export*from"./components/MediaItem";export*from"./components/MediaViewerBar/MediaViewerBar";export*from"./components/MediaViewerCarousel/MediaViewerCarousel";export*from"./components/NavBar";export*from"./components/Notification/Notification";export*from"./components/Pagination/Pagination";export*from"./components/Patterns/ButtonGroup/ButtonGroup";export*from"./components/Patterns/Modal/Modal";export*from"./components/PictogramButton/PictogramButton";export*from"./components/Popover/Popover";export*from"./components/ProgressBar/ProgressBar";export*from"./components/PromptButton/PromptButton";export*from"./components/PromptInput/PromptInput";export*from"./components/SplashCard/SplashCard";export*from"./components/SplashCardMedia/SplashCardMedia";export*from"./components/QBankRichText/QBankRichText";export*from"./components/RadioCard/RadioCard";export*from"./components/RoundButton/RoundButton";export*from"./components/SearchResult/SearchResult";export*from"./components/SegmentedProgressBar/SegmentedProgressBar";export*from"./components/Sheet/Sheet";export*from"./components/Stack/Stack";export*from"./components/SubThemeProvider/SubThemeProvider";export*from"./components/Tabs/Tabs";export*from"./components/Tag/Tag";export*from"./components/TagGroup/TagGroup";export*from"./components/Toast";export*from"./components/Toggletip/Toggletip";export*from"./components/Tooltip/Tooltip";export*from"./components/Tutorialtip/Tutorialtip";export*from"./components/Typography/Header";export*from"./components/Typography/StyledText/StyledText";export*from"./components/Typography/Text";export*from"./components/Typography/TextClamped/TextClamped";export*from"./components/UserHighlightTooltip/UserHighlightTooltip";export*from"./components/Utilities/AnimatedBorder/useAnimatedBorder";export*from"./components/Utilities/ContainerQuery/ContainerQuery";export*from"./components/Utilities/Expandable/Expandable";export*from"./components/Utilities/ScreenReaderText/ScreenReaderText";export*from"./components/Patterns/EmptyState/EmptyState";export*from"./components/Content/ContentBox/ContentBox";export*from"./components/Content/ContentCheckbox/ContentCheckbox";export*from"./components/Content/ContentFontResizer";export*from"./components/Content/ContentHeading/ContentHeading";export*from"./components/Content/ContentLink/ContentLink";export*from"./components/Content/ContentPictogramButton/ContentPictogramButton";export*from"./components/Content/ContentText/ContentText";export*from"./components/Content/ContentList";export*from"./components/Content/ContentTable";export*from"./components/Content/ContentTableModal/ContentTableModal";export*from"./components/Content/DosageButton";export*from"./components/Content/ReferenceButton";export*from"./components/AIButton/AIButton";
|
|
1
|
+
import{ambossVisualConfiguration}from"./web-tokens/visualConfig";export const{dark,light}=ambossVisualConfiguration;export{ThemeProvider,CacheProvider}from"@emotion/react";export{default as createCache}from"@emotion/cache";export*from"./components/AccessCardItem/AccessCardItem";export*from"./components/AIFloatingButton/AIFloatingButton";export*from"./components/Avatar/Avatar";export*from"./components/AvatarGroup/AvatarGroup";export*from"./components/Badge/Badge";export*from"./components/BinaryFeedback/BinaryFeedback";export*from"./components/Box/Box";export*from"./components/BulkActionsToolbar/BulkActionsToolbar";export*from"./components/Button/Button";export*from"./components/Callout/Callout";export*from"./components/Card/Card";export*from"./components/Card/CardBox";export*from"./components/CatalogCard/CatalogCard";export*from"./components/ChatMessage";export*from"./components/ChatResponse";export*from"./components/CheckboxCard/CheckboxCard";export*from"./components/Collapsible/Collapsible";export*from"./components/ColorIndicator/ColorIndicator";export*from"./components/ColorPicker/ColorPicker";export*from"./components/Column/Columns";export*from"./components/Container";export*from"./components/CountButton/CountButton";export*from"./components/DataTable";export*from"./components/Divider/Divider";export*from"./components/DropdownMenu/DropdownMenu";export*from"./components/EntityList";export*from"./components/EntityTree";export*from"./components/Composite/FilterDialog/FilterDialog";export*from"./components/Form/Checkbox/Checkbox";export*from"./components/Form/Combobox/Combobox";export*from"./components/Form/DateInput/DateInput";export*from"./components/Form/DatePicker";export*from"./components/Form/FormFieldGroup/FormFieldGroup";export*from"./components/Form/Input";export*from"./components/Form/MaskedInput/MaskedInput";export*from"./components/Form/PasswordInput";export*from"./components/Form/Radio/Radio";export*from"./components/Form/RadioButton/RadioButton";export*from"./components/Form/RangeInput/RangeInput";export*from"./components/Form/SearchInput/SearchInput";export*from"./components/Form/SegmentedControl/SegmentedControl";export*from"./components/Form/Select";export*from"./components/Form/ToolbarToggle/ToolbarToggle";export*from"./components/Form/Textarea/Textarea";export*from"./components/Form/Toggle/Toggle";export*from"./components/Form/ToggleButton/ToggleButton";export*from"./components/Grid/Grid";export*from"./components/Icon/Icon";export*from"./components/IconTile/IconTile";export*from"./components/Image/Image";export*from"./components/Inline/Inline";export*from"./components/InteractiveBox/InteractiveBox";export*from"./components/Lightbox/Lightbox";export*from"./components/Link/Link";export*from"./components/LoadingSpinner/LoadingSpinner";export*from"./components/Logo/Logo";export*from"./components/MediaItem";export*from"./components/MediaViewerBar/MediaViewerBar";export*from"./components/MediaViewerCarousel/MediaViewerCarousel";export*from"./components/NavBar";export*from"./components/Notification/Notification";export*from"./components/Pagination/Pagination";export*from"./components/Patterns/ButtonGroup/ButtonGroup";export*from"./components/Patterns/Modal/Modal";export*from"./components/PictogramButton/PictogramButton";export*from"./components/Popover/Popover";export*from"./components/ProgressBar/ProgressBar";export*from"./components/PromptButton/PromptButton";export*from"./components/PromptInput/PromptInput";export*from"./components/SplashCard/SplashCard";export*from"./components/SplashCardMedia/SplashCardMedia";export*from"./components/QBankRichText/QBankRichText";export*from"./components/RadioCard/RadioCard";export*from"./components/RoundButton/RoundButton";export*from"./components/SearchResult/SearchResult";export*from"./components/SegmentedProgressBar/SegmentedProgressBar";export*from"./components/Sheet/Sheet";export*from"./components/Stack/Stack";export*from"./components/SubThemeProvider/SubThemeProvider";export*from"./components/Tabs/Tabs";export*from"./components/Tag/Tag";export*from"./components/TagGroup/TagGroup";export*from"./components/Toast";export*from"./components/Toggletip/Toggletip";export*from"./components/Tooltip/Tooltip";export*from"./components/Tutorialtip/Tutorialtip";export*from"./components/Typography/Header";export*from"./components/Typography/StyledText/StyledText";export*from"./components/Typography/Text";export*from"./components/Typography/TextClamped/TextClamped";export*from"./components/UserHighlightTooltip/UserHighlightTooltip";export*from"./components/Utilities/AnimatedBorder/useAnimatedBorder";export*from"./components/Utilities/ContainerQuery/ContainerQuery";export*from"./components/Utilities/Expandable/Expandable";export*from"./components/Utilities/ScreenReaderText/ScreenReaderText";export*from"./components/Patterns/EmptyState/EmptyState";export*from"./components/Content/ContentBox/ContentBox";export*from"./components/Content/ContentCheckbox/ContentCheckbox";export*from"./components/Content/ContentFontResizer";export*from"./components/Content/ContentHeading/ContentHeading";export*from"./components/Content/ContentLink/ContentLink";export*from"./components/Content/ContentPictogramButton/ContentPictogramButton";export*from"./components/Content/ContentText/ContentText";export*from"./components/Content/ContentList";export*from"./components/Content/ContentTable";export*from"./components/Content/ContentTableModal/ContentTableModal";export*from"./components/Content/DosageButton";export*from"./components/Content/ReferenceButton";export*from"./components/AIButton/AIButton";export*from"./components/Layout";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@amboss/design-system",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.49.0",
|
|
4
4
|
"description": "the design system for AMBOSS products",
|
|
5
5
|
"author": "AMBOSS",
|
|
6
6
|
"license": "ISC",
|
|
@@ -134,6 +134,7 @@
|
|
|
134
134
|
"@vitejs/plugin-react-swc": "~3.10.1",
|
|
135
135
|
"focus-trap-react": "^10.2.3",
|
|
136
136
|
"imask": "^7.4.0",
|
|
137
|
+
"react-resizable-panels": "4.11.2",
|
|
137
138
|
"runtypes": "^6.7.0",
|
|
138
139
|
"svgo": "^3.3.3"
|
|
139
140
|
},
|