import * as react from 'react'; import react__default, { Dispatch, SetStateAction, RefObject, ReactNode, ComponentPropsWithRef, HTMLAttributes, Ref, CSSProperties, ElementType, ComponentPropsWithoutRef, SVGAttributes, JSX, ButtonHTMLAttributes, ComponentProps, InputHTMLAttributes, MouseEventHandler, DependencyList, RefCallback, ChangeEvent, KeyboardEvent as KeyboardEvent$1, AnchorHTMLAttributes, LabelHTMLAttributes, AriaRole, FocusEvent, ForwardedRef, ForwardRefExoticComponent, MouseEvent as MouseEvent$1, ReactElement } from 'react'; import * as CSS from 'csstype'; import { Property, StandardProperties } from 'csstype'; import { Strategy, UseFloatingReturn, Placement as Placement$1 } from '@floating-ui/react-dom'; import { ddsTokens } from '@norges-domstoler/dds-design-tokens'; import { DateValue, AriaCalendarProps } from '@react-aria/calendar'; import { DateValue as DateValue$1, CalendarDate, Time } from '@internationalized/date'; import { AriaDatePickerProps } from '@react-types/datepicker'; import { AriaDateFieldOptions, useDatePicker, AriaTimeFieldProps } from '@react-aria/datepicker'; import { OptionProps, GroupBase, SingleValueProps, SelectInstance, Props } from 'react-select'; interface AccordionConfig { /** * Ukontrollerttilstand: om utvidbare delen skal være utvidet ved første render. */ isInitiallyExpanded?: boolean; /** * Kontrollert tilstand: om utvidbare delen er utvidet. */ isExpanded?: boolean; /** * Callback når tilstanden endres. */ onChange?: (expanded: boolean) => void; /** * Custom id for accordion; delene får i tillegg suffix `'header'` og `'body'`. */ id?: string; } interface UseAccordionHeaderProps { /** * `onClick` som kontrollerer lukking og åpning av accordion, og eventuelt `onChange` satt i config */ onClick: () => void; /** * Nativ `aria-expanded`. */ 'aria-expanded': boolean; /** * Nativ `aria-controls`. */ 'aria-controls': string; /** * Id, settes for riktig bruk av aria-props. */ id: string; } interface UseAccordionBodyProps { /** * Id, settes for riktig bruk av aria-props. */ id: string; /** * Nativ `role`. Gir innholdet en rolle tilgjengelig for skjermlesere. */ role: string; /** * Nativ `aria-labelledby`. */ 'aria-labelledby': string; /** * Nativ `aria-hidden`. */ 'aria-hidden': boolean; /** * Høyde som skal settes i CSS for animasjon. */ height?: number; /** * Klassenavn for innhold-wrapper; håndterer animasjon og lukking. */ className?: string; } interface AccordionState { /** * Id, settes for riktig bruk av aria-props. */ id: string; /** * Om accordion er utvided. */ isExpanded: boolean; /** * State funksjon som setter `isExpanded` ved behov. */ setIsExpanded: Dispatch>; /** * Funksjon som åpner accordion. Brukes ved behov. */ openAccordion: () => void; /** * Funksjon som lukker accordion. Brukes ved behov. */ closeAccordion: () => void; /** * Funksjon som toggler accordion. Brukes ved behov. */ toggleExpanded: () => void; /** * Props som settes på header-elementet. */ headerProps: UseAccordionHeaderProps; /** * Props som settes på innholds-elementet. */ bodyProps: UseAccordionBodyProps; /** * Ref som settes på wrapper inni innholds-elementet; Sørger for animasjon. */ bodyContentRef: RefObject; } /** * Implementerer trekkspill-mønsteret; header som utvider og trekker sammen et panel. Håndterer oppførsel, UU og visuelle effekter. * @returns {AccordionState} accordion state og props å bruke på acccordion-elementer: header og body. * @example * ```tsx * function MyComponent() { * * const { isExpanded, bodyContentRef, headerProps, bodyProps } = useAccordion({}); * const { height, ...restBodyProps } = bodyProps; * * return ( * <> * *
*
* innhold *
*
* * ) * }); * ``` */ declare const useAccordion: ({ isInitiallyExpanded, isExpanded: isExpandedProp, onChange, id, }: AccordionConfig) => AccordionState; interface AccordionContext { headerProps: UseAccordionHeaderProps; bodyProps: UseAccordionBodyProps; isExpanded: boolean; toggleExpanded: () => void; bodyContentRef: RefObject; } declare const AccordionContext: react.Context>; declare const AccordionContextProvider: ({ children, ...values }: AccordionContext & { children: ReactNode; }) => react.JSX.Element; declare const useAccordionContext: () => Partial; declare function handleElementWithBackdropMount(container: HTMLElement): void; declare function handleElementWithBackdropUnmount(container: HTMLElement): void; type BackdropProps = { isMounted?: boolean; zIndex: 'drawer' | 'modal'; } & Pick, 'children' | 'onClick' | 'ref'>; /** * Backdrop-komponent, viser et bakgrunnslag for et element som skal låse applikasjonen i bakgrunnen (Modal el.l.). * * @component * @param {Object} props - Props for komponenten. * @param {boolean} [props.isMounted] - Angir om backdropen skal være synlig (`true`) eller skjult (`false`). Standard er `false`. * @param {'drawer' | 'modal'} props.zIndex - Bestemmer hvilken z-index-klasse som skal brukes, avhengig av konteksten (f.eks. drawer eller modal). * @param {React.ReactNode} [props.children] - Eventuelt innhold som skal vises inni backdropen. * @param {React.MouseEventHandler} [props.onClick] - Klikkhåndterer for backdropen, f.eks. for å lukke en modal. * @param {React.Ref} [props.ref] - Referanse til DOM-elementet. * * @returns {JSX.Element} Et `
`-element med riktige klasser basert på synlighet og z-index. * @example * ```tsx * * * * ``` */ declare const Backdrop: { ({ isMounted, zIndex, ...props }: BackdropProps): react.JSX.Element; displayName: string; }; type Direction$1 = 'row' | 'column'; interface HTMLRootProps { /**HTML id. */ id?: string; /**HTML klassenavn. */ className?: string; /**HTML inline style. */ style?: CSSProperties; } type CommonComponentProps> = HTMLRootProps & { /**Native HTML-attributter som vil settes på elementet som genereres. * Untatt `id`, `className`, `style` og eventuelt andre ofte brukte native HTML-attributter spesifisert i dokumentasjonen. * */ htmlProps?: THTMLProps; /**Ref til komponenten. */ ref?: TRef; }; /** * Basetype for props som eksponeres til konsumenter av designsystemet. * - Rot: `id`, `className`, `style`, `TOtherProps` * - `htmlProps`: resterende HTML-attributter. * Se også {@link BaseComponentPropsWithChildren} og * {@link getBaseHTMLProps}. * * @template TElement Element-type som genereres av komponenten. * @template TOtherProps Andre props komponenten skal eksponere til konsumenter. * @template THTMLAttributesProps Standard `HTMLAttributes` men kan overstyres for f.eks knapper hvis man trenger en annen basetype for `htmlProps`. */ type BaseComponentProps = HTMLAttributes> = TOtherProps & CommonComponentProps, Ref>; /** * Basetype for polymorfe props som eksponeres til konsumenter av designsystemet. * - Rot: `id`, `className`, `style`, `TOtherProps` * - `htmlProps`: resterende props fra `TComponentProps` * * @template E `ElemenType` komponenten returnerer. * @template TOtherProps Andre props komponenten skal eksponere til konsumenter. * @template TComponentProps Standard `ComponentPropsWithoutRef` som kan overstyres hvis man trenger en annen basetype for `htmlProps`, f.eks. for å støtte ofte brukte attributter på roten. */ type PolymorphicBaseComponentProps = TOtherProps & HTMLRootProps & { /** HTML- eller React-element som returneres. */ as?: E; /** Barn. Blir ignorert hvis returnert HTML tag ikke støtter de. */ children?: React.ReactNode; } & CommonComponentProps, keyof HTMLRootProps | keyof TOtherProps>, ComponentPropsWithRef['ref']> & Omit, keyof HTMLRootProps | keyof TOtherProps | 'children' | 'ref'>; /** * Utvidelse av {@link BaseComponentProps} med prop for `children`. */ type BaseComponentPropsWithChildren = HTMLAttributes> = BaseComponentProps; /** * Slår sammen id, className,htmlProps og unknownProps til ett objekt * som kan spreades som baseprops for en komponent. `unknownProps` er * med for å sikre at aria- og data- attributter blir spreadet, alle * komponenter må derfor ta hensyn til `...rest` når de leser props. * * Typisk bruk: * ```tsx * const Props = BaseComponentProps * * const MyComponent = (props: Props) => { * const { id, className, style, htmlProps, ...rest } = props; * * const wrapperProps = getBaseHTMLProps(id, className, style, htmlProps, rest) * * return
innhold
* } * ``` * @param id id fra props til komponenten. * @param className className for komponenten. * @param htmlProps htmlProps fra komponenten. * @param unknownProps andre ukjente props som skal spreades, kommer typisk fra `...rest` når man leser props til komponenten. * @returns Objekt med alle argumentene som kan spreades. * * Kan også kalles uten `className`-parameteret. Oppførselen er lik. */ declare function getBaseHTMLProps(id: HTMLAttributes['id'], className: HTMLAttributes['className'], style: HTMLAttributes['style'], htmlProps: HTMLAttributes | undefined, unknownProps: object): HTMLAttributes & object; declare const SIZES: readonly ["xsmall", "small", "medium", "large", "xlarge", "xxlarge", "inherit", "component"]; type Size = (typeof SIZES)[number]; declare function createSizes>(...sizes: T): T; declare const PURPOSES: readonly ["primary", "secondary", "tertiary", "success", "info", "danger", "warning", "default", "tips"]; type Purpose = (typeof PURPOSES)[number]; declare function createPurposes>(...sizes: T): T; declare const BORDER_RADII: readonly ["button", "input", "surface", "chip", "rounded", "0"]; declare const ELEVATIONS: readonly ["small", "medium", "large"]; declare const BORDER_COLORS: readonly ["border-default", "border-subtle", "border-inverse", "border-action-default", "border-action-hover", "border-success", "border-warning", "border-danger", "border-info", "border-on-action"]; declare const BACKGROUNDS: readonly ["surface-default", "surface-subtle", "surface-medium", "surface-inverse-default", "surface-danger-default", "surface-danger-strong", "surface-success-default", "surface-success-strong", "surface-warning-default", "surface-warning-strong", "surface-info-default", "surface-info-strong", "surface-paper-default", "surface-notification", "surface-field-disabled", "brand-primary-default", "brand-primary-subtle", "brand-primary-medium", "brand-primary-strong", "brand-secondary-default", "brand-secondary-subtle", "brand-secondary-medium", "brand-secondary-strong", "brand-tertiary-default", "brand-tertiary-subtle", "brand-tertiary-medium", "brand-tertiary-strong"]; type BorderRadius = (typeof BORDER_RADII)[number]; type Elevation = (typeof ELEVATIONS)[number]; type BorderColor = (typeof BORDER_COLORS)[number]; type PaperBackground = (typeof BACKGROUNDS)[number]; declare const isPaperBackground: (value: unknown) => value is PaperBackground; declare const isBorderColor: (value: unknown) => value is BorderColor; declare const isBorderRadius: (value: unknown) => value is BorderRadius; declare const isElevation: (value: unknown) => value is Elevation; /** * Gir tilbake `T` med properties fra `K` som påkrevd gitt at `Condition` er `true` * * @template Condition * @template T * @template K */ type WithRequiredIf = Omit & Pick : T, K>; /** * Gir tilbake typer fra `T` som matcher `U` * * @template T en union type * @template U delmengde av `T` */ type ExtractStrict = U; type Nullable = T | null; type Callback = (e: T) => void; type SvgProps = { title?: string; } & SVGAttributes; type SvgIcon = (props: SvgProps) => JSX.Element; type IconStatesOf = I extends { states: ReadonlyArray; } ? S : never; type SvgPropsWithState = SvgProps & (IconStatesOf extends never ? object : { /** * Ikon-state hvis ikonet kan animeres; types basert på ikon valgt i `icon` prop. Statiske ikoner støtter ikke propen. */ iconState?: IconStatesOf; }); declare const BUTTON_SIZES: ["xsmall", "small", "medium", "large"]; declare const BUTTON_PURPOSES: ["primary", "secondary", "tertiary", "danger"]; type ButtonSize = (typeof BUTTON_SIZES)[number]; type ButtonPurpose = (typeof BUTTON_PURPOSES)[number]; type IconPosition = 'left' | 'right'; type PickedHTMLAttributes$4 = Pick, 'onClick' | 'onFocus' | 'onBlur' | 'type' | 'aria-label'>; type ButtonProps = PolymorphicBaseComponentProps; /**Knapp med full bredde. */ fullWidth?: boolean; } & PickedHTMLAttributes$4>; declare const TEXT_COLORS: readonly ["text-on-action", "text-on-inverse", "text-on-status-default", "text-on-status-strong", "text-action-resting", "text-action-hover", "text-action-visited", "text-default", "text-requiredfield", "text-subtle", "text-medium", "text-on-notification", "text-on-primary-default", "text-on-primary-medium", "text-on-primary-subtle", "text-on-primary-strong", "text-on-secondary-default", "text-on-secondary-medium", "text-on-secondary-subtle", "text-on-secondary-strong", "text-on-tertiary-default", "text-on-tertiary-medium", "text-on-tertiary-subtle", "text-on-tertiary-strong", "text-on-data-default", "text-on-data-subtle", "icon-on-action", "icon-on-info-default", "icon-on-success-default", "icon-on-danger-default", "icon-on-warning-default", "icon-on-info-strong", "icon-on-success-strong", "icon-on-danger-strong", "icon-on-warning-strong", "icon-on-inverse", "icon-action-resting", "icon-action-hover", "icon-default", "icon-subtle", "icon-medium"]; declare const ICON_COLORS: readonly ["text-on-action", "text-on-inverse", "text-on-status-default", "text-on-status-strong", "text-action-resting", "text-action-hover", "text-action-visited", "text-default", "text-requiredfield", "text-subtle", "text-medium", "text-on-notification", "text-on-primary-default", "text-on-primary-medium", "text-on-primary-subtle", "text-on-primary-strong", "text-on-secondary-default", "text-on-secondary-medium", "text-on-secondary-subtle", "text-on-secondary-strong", "text-on-tertiary-default", "text-on-tertiary-medium", "text-on-tertiary-subtle", "text-on-tertiary-strong", "text-on-data-default", "text-on-data-subtle", "icon-on-action", "icon-on-info-default", "icon-on-success-default", "icon-on-danger-default", "icon-on-warning-default", "icon-on-info-strong", "icon-on-success-strong", "icon-on-danger-strong", "icon-on-warning-strong", "icon-on-inverse", "icon-action-resting", "icon-action-hover", "icon-default", "icon-subtle", "icon-medium", "brand-primary-default", "brand-primary-strong", "brand-primary-medium", "brand-primary-subtle", "brand-secondary-default", "brand-secondary-strong", "brand-secondary-medium", "brand-secondary-subtle", "brand-tertiary-default", "brand-tertiary-strong", "brand-tertiary-medium", "brand-tertiary-subtle"]; type DDSTextColor = (typeof TEXT_COLORS)[number]; type DDSIconColor = (typeof ICON_COLORS)[number]; type TextColor = DDSTextColor | Property.Color; type IconColor = DDSIconColor | Property.Color; /** * Join class names together. * Will filter out all falsy values. */ declare function cn(...classNames: Array): string | undefined; declare const ICON_SIZES: ["large", "medium", "small", "inherit", "component"]; type IconSize = (typeof ICON_SIZES)[number]; type IconProps = BaseComponentProps; }, SvgPropsWithState>; declare function Icon(props: IconProps): react.JSX.Element; declare namespace Icon { var displayName: string; } declare const Button: { ({ as: propAs, children, purpose, size: propSize, iconPosition, loading, loadingTooltip, fullWidth, icon, iconState, onClick, onFocus, onBlur, id, ref, className, style, htmlProps, ...props }: ButtonProps): react.JSX.Element; displayName: string; }; declare const TOGGLE_SIZES: ["medium", "large"]; type ToggleSize = (typeof TOGGLE_SIZES)[number]; type ToggleVariant = 'default' | 'colorScheme'; type ToggleProps = BaseComponentProps` for usynlig tekst. */ children?: ReactNode; /** * Callback som blir kalt når brukeren endrer toggle-verdien. */ onChange?: (checked: boolean) => void; /** * Om toggle er av eller på. */ checked?: boolean; /** * Den initielle verdien når komponenten brukes uncontrolled. * @default false */ defaultChecked?: boolean; /**Spesifiserer om input er `disabled`. */ disabled?: boolean; /** * Inputelementet blir `readonly` - den kan ikke interageres med. Brukes bl.a. til å presentere input brukeren har fylt ut andre steder. */ readOnly?: boolean; /** * Indikerer at verdien prosesseres; viser loading-tilstand og setter `disabled`. */ isLoading?: boolean; /** * Størrelse. * @default "medium" */ size?: ToggleSize; /** * Variant basert på bruksområde. * @default "default" */ variant?: ToggleVariant; } & Pick, 'name' | 'aria-describedby' | 'onBlur'>, InputHTMLAttributes>; declare const Toggle: { ({ id, children, size, checked: checkedProp, defaultChecked, onChange, disabled, readOnly, isLoading, className, style, htmlProps, variant, ...rest }: ToggleProps): react.JSX.Element; displayName: string; }; type StylelessButtonProps = TProps & ComponentPropsWithRef<'button'>; /** * Normalisert `; * } * ``` */ declare function useCallbackRef) => unknown>(callback: T | undefined, deps?: DependencyList): T; /** * Kombinerer refs for et element. * * @template T elementet som refereres til. * @param {Array | undefined>} refs array med refs. * @returns {RefCallback} callback med kombinerte refs. * @example * ```tsx * function MyComponent(ref) { * * const itemRef = useRef(null); * const combinedRef = useCombinedRef(ref, itemRef); * * return
innhold
* }); * ``` */ declare function useCombinedRef(...refs: Array | undefined>): RefCallback; interface UseControllableStateProps { /**Verdi. */ value?: T; /**Default verdi. */ defaultValue?: T | (() => T); /** `onChange` funksjon. */ onChange?: (value: T) => void; } /** * The `useControllableState` hook returns the state and function that updates the state, just like React.useState does. */ /** * Håndterer bruk av state slik at den kan bli enten kontrollert eller ukontrollert ut av boksen. * @template T typen til verdien. * @param {{ * value?: T; * defaultValue?: T | (() => T); * onChange?: (value: T) => void; * }} props verdi, default verdi ved ukontrollert state og funksjon til å kotrnollere `value`. * @returns {[T, Dispatch>]} state og funksjon til å kontrollere den. * @example * ```tsx * const MyComponent = ({ * onChange, * checked: checkedProp, * defaultChecked * }) => { * const [checked, setChecked] = useControllableState({ * value: checkedProp, * defaultValue: defaultChecked ?? false, * onChange, * }); * return ( * setChecked(e.target.checked)} * type="checkbox" * /> * ) }; * ``` */ declare function useControllableState(props: UseControllableStateProps): [T, Dispatch>]; /** * The `useControllableGroupState` hook returns the group value and handleChange function to control it. */ interface UseControllableGroupStateProps extends Pick, 'defaultValue' | 'value'> { onChange?: (event: ChangeEvent, value: T) => void; } declare function useControllableGroupState(props: UseControllableGroupStateProps): { groupValue: T | undefined; handleChange: (e: ChangeEvent) => void; }; type Placement = 'top' | 'top-start' | 'top-end' | 'bottom' | 'bottom-start' | 'bottom-end' | 'right' | 'right-start' | 'right-end' | 'left' | 'left-start' | 'left-end'; interface UseFloatPositionOptions { /** * Whether to update the position of the floating element on every animation frame if required. * This is optimized for performance but can still be costly. * @default true */ animationFrame?: boolean; /** * `offset` is used to displace the floating element from its core placement. * The value passed is logical, meaning its effect on the * physical result is dependent on the writing direction (e.g. RTL). * @default 8 */ offset?: number; /** * Where to place the floating element relative to its reference element. * @default 'bottom' */ placement?: Placement; } interface FloatingStyles { position: Strategy; top: number; left: number; } interface UseFloatPosition { refs: UseFloatingReturn['refs']; isPositioned: boolean; styles: { floating: FloatingStyles; arrow: { [x: string]: string | number; position: Strategy; top: string | number; left: string | number; transform: string; } | undefined; }; } /** * Håndterer posisjonering av et element i forhold til et annet element i DOM. * @param {HTMLElement | null} arrowRef pil-elementet. * @param {{AnimationFrame: boolean, offset: number, placement: Placement}} options alternativer for float. * @returns {{ * refs: import('@floating-ui/react-dom').UseFloatingReturn['refs'], * styles: { * floating: import('@floating-ui/react-dom').FloatingStyles, * arrow: * undefined | { * [x: string]: string | number; * position: Strategy; * top: string | number; * left: string | number; * transform: string; * } * } * }} Objekt med refs og styling for floating UI. * @example * ```tsx * function MyComponent() { * * // Hvis du trenger en pil * const [arrowElement, setArrowElement] = useState(null); * * const { refs, styles: positionStyles } = useFloatPosition(arrowElement, { * placement: 'right', * offset: 2, * }); * * return ( * <> * *
*
* // din pil, f.eks. svg *
* Innhold *
* * }; * ``` */ declare const useFloatPosition: (arrowRef?: HTMLElement | null, options?: UseFloatPositionOptions) => UseFloatPosition; /** * Fanger fokus i en loop inni et element. * @template {HTMLElement} T typen til container-elementet som fanger fokus. * @param {boolean} active om focus skal fanges, f.eks. når en modal åpnes. * @param {RefObject | undefined} initialFocusRef `ref` til elementet som skal motta focus når focus trap er aktiv. * @returns {RefObject} `ref` til elementet som fanger fokus. * @example * ```tsx * function MyComponent() { * * const [isOpen, setOpen] = useState(false); * const componentRef = useFocusTrap(isOpen); * * return isOpen ?
: null; * * } * ``` */ declare function useFocusTrap(active: boolean, initialFocusRef?: RefObject | undefined): RefObject; /** * Sjekker om komponenten er mounted i DOM. * * @returns {() => boolean} om komponenten er mounted. * @example * ```tsx * function MyComponent() { * * const isMounted = useIsMounted(); * * useEffect(() => { * if(isMounted()) { * // logikk når mounted * } * }, [isMounted]); * * }); * ``` * */ declare const useIsMounted: () => (() => boolean); /** * Tillater effekter og animasjoner å bli gjennomført like etter et element blir lagt til eller like før det blir fjernet fra DOM. * @param {boolean} isMounted om elementet er mounted. * @param {number} unmountDelay hvor lenge transition skal vare før unmount. * @returns {boolean} om den har trasisjonert inn. * @example * ```css * // CSS * .component { * transition: opacity 0.2s; * opacity: 0; * } * * .transitionedIn.mounted { * opacity: 1; * } * ``` * ```jsx * // JSX * function MyComponent(isMounted) { * * const hasTransitionedIn = useMountTransition(isMounted, 500); * * return isMounted || hasTransitionedIn ? ( *
* innhold *
) * : null; * }; * ``` */ declare const useMountTransition: (isMounted: boolean, unmountDelay: number) => boolean; /** * Kjører logikk når brukeren klikker utenfor espesifisert(e) element(er). * @param {HTMLElement | null | undefined | Array} element HTML element(er) som overvåkes for klikk utenfor. * @param {(event: MouseEvent | TouchEvent) => void} handler funksjonen som kjøres ved klikk utenfor. * @returns {void} * @example * ```tsx * * function MyComponent() { * const [isOpen, setOpen] = useState(true); * const ref = useRef(null); * useOnClickOutside(ref.current, () => setOpen(false)); * * return isOpen &&
innhold
* }; * ``` */ declare function useOnClickOutside(element: RefObject | Array | undefined> | undefined, handler: (event: MouseEvent | TouchEvent) => void): void; /** * Kjører logikk når spesifisert(e) tast(er) blir trykt ned. * @param {string} key tasten som trykkes. * @param {(event: KeyboardEvent) => void} handler funksjonen som skal kjøres. * @returns {void} * @example * ```tsx * function MyComponent() { * const [isOpen, setOpen] = useState(true); * useOnKeyDown('Escape', () => setOpen(false)); * * return isOpen ?
innhold
: null; * } * ``` */ declare const useOnKeyDown: (key: string | Array, handler: (event: KeyboardEvent) => void) => void; /** * Returnerer fokus til et element når første eller siste barn i en container mister fokus ved tastaturnavigasjon. * @template {HTMLElement} T typen til container som skal returnere fous. * @param {boolean} active om container skal få fokus, f.eks. når en modal åpnes. * @param {() => void} onBlur ekstra logikk når fokus forlater container. * @param {HTMLElement | null | undefined} triggerElement elementet som skal få fokus når fokus forlater container. * @returns {RefObject} ref til container som skal returnere fokus. * @example * ```tsx * const MyComponent() { * * const [isOpen, setOpen] = useState(false); * const triggerRef = useRef(null); * const containerRef = useReturnFocusOnBlur( * isOpen, * () => setOpen(false), * triggerRef.current, * ); * * return ( *
* * {isOpen && *
* * *
* } *
* ) * } * ``` */ declare function useReturnFocusOnBlur(active: boolean, onBlur: () => void, triggerElement?: HTMLElement | null): RefObject; declare const isKeyboardEvent: (e: Event | KeyboardEvent$1) => e is KeyboardEvent$1; /** * Bytter fokus mellom elementer i en gruppe med piltaster og ikke `Tab`, samt looper fokus i gruppen. * @param {number} size antall elementer i gruppen. * @param {boolean} active om fokus skal kontrolleres av hooken. Når status blir inaktiv vil fokusrekkefølge nullstilles. * @param {'row' | 'column'} direction retning elementene blas i. * @param {boolean} noWrap om indeksen skal 'wrappe' rundt til 0 hvis den går over size - 1, eller til size - 1 hvis den går under 0. * @returns {[focusedIndex: number, setFocus: Dispatch>]} hook par: indeksen til fokuserte elemenentet og funksjonen som håndterer fokus. * @example * ```tsx * import elements from './elements'; * import RoveItem from './RoveItem'; * * function MyComponent() { * const [focusedIndex, setFocus] = useRoveFocus(elements.length); * * return ( *
    * {elements.map((element, index) => ( *
  • * {element.name} *
  • * ))} *
) * } * ``` */ declare function useRoveFocus(size?: number, active?: boolean, direction?: Direction$1, noWrap?: boolean): [number, Dispatch>]; declare enum ScreenSize { XSmall = 0, Small = 1, Medium = 2, Large = 3, XLarge = 4 } /** * Sjekker skjermstørrelsen basert på brekkpunkter definerte i designsystemet. * @returns den aktuelle skjermstørrelsen basert på {@link ScreenSize}. * @example * ```tsx * function MyComponent() { * const screenSize = useScreenSize(); * const isSmallScreen = screenSize === ScreenSize.Small; * * return
innhold
* } * ``` */ declare const useScreenSize: () => ScreenSize; /** * Kjører logikk når vindusstørrelsen endrer seg. * @param {() => void} handler funksjonen som skal kjøres. * @returns {void} * @example * ```tsx * function MyComponent() { * const [width, setWidth] = useState(window.innerWidth); * useResize(() => setWidth(window.innerWidth)); * * return
vindusstørrelse: {width}px
; * } * ``` */ declare const useWindowResize: (handler: () => void) => void; type DdsTheme = keyof typeof ddsTokens; interface ThemeProviderProps { /** * Elsa tema for applikasjonen. * @default "core-light" */ theme?: DdsTheme; /** * Selve applikasjonen. */ children?: ReactNode; } /** * Hook for å hente gjeldende tema og temanavn. Brukes inni ThemeProvider. * * @returns tema med JS-konstanter og navnet på temaet. */ declare function useTheme(): { theme: { ddsFontFamilySans: "'IBM Plex Sans', Arial, sans-serif"; ddsFontFamilyMonospace: "'IBM Plex Mono', 'Courier New', monospace"; ddsFontSizeX5: "5rem"; ddsFontSizeX5NumberRem: 5; ddsFontSizeX4: "4rem"; ddsFontSizeX4NumberRem: 4; ddsFontSizeX3: "3rem"; ddsFontSizeX3NumberRem: 3; ddsFontSizeX25: "2.5rem"; ddsFontSizeX25NumberRem: 2.5; ddsFontSizeX2: "2rem"; ddsFontSizeX2NumberRem: 2; ddsFontSizeX15: "1.5rem"; ddsFontSizeX15NumberRem: 1.5; ddsFontSizeX125: "1.25rem"; ddsFontSizeX125NumberRem: 1.25; ddsFontSizeX1125: "1.125rem"; ddsFontSizeX1125NumberRem: 1.125; ddsFontSizeX1: "1rem"; ddsFontSizeX1NumberRem: 1; ddsFontSizeX0875: "0.875rem"; ddsFontSizeX0875NumberRem: 0.875; ddsFontSizeX075: "0.75rem"; ddsFontSizeX075NumberRem: 0.75; ddsFontWeightLight: "300"; ddsFontWeightNormal: "400"; ddsFontWeightSemiBold: "500"; ddsFontWeightBold: "600"; ddsFontLineheightX1: 1.5; ddsFontLineheightX3: 1.2; ddsFontLineheightX2: 1.3; ddsFontLetterSpacingTight: "-0.01em"; ddsFontLetterSpacingNormal: "0em"; ddsFontLetterSpacingLoose: "0.01em"; ddsFontParagraphSpacingSmall: "1em"; ddsFontParagraphSpacingSmallNumberEm: 1; ddsFontParagraphSpacingMedium: "0.66em"; ddsFontParagraphSpacingMediumNumberEm: 0.66; ddsFontParagraphSpacingLarge: "0.5em"; ddsFontParagraphSpacingLargeNumberEm: 0.5; ddsFontParagraphSpacingList: "0.5em"; ddsFontParagraphSpacingListNumberEm: 0.5; ddsFontParagraphSpacingHeading: "0.4em"; ddsFontParagraphSpacingHeadingNumberEm: 0.4; ddsFontStyleUnderline: "underline"; ddsFontStyleNormal: "none"; ddsFontStyleItalic: "italic"; ddsSpacingPaddingTopHeading: "0.7em"; ddsSpacingPaddingTopHeadingNumberEm: 0.7; ddsSpacingX0: "0rem"; ddsSpacingX0NumberRem: 0; ddsSpacingX0125: "0.125rem"; ddsSpacingX0125NumberRem: 0.125; ddsSpacingX025: "0.25rem"; ddsSpacingX025NumberRem: 0.25; ddsSpacingX05: "0.5rem"; ddsSpacingX05NumberRem: 0.5; ddsSpacingX075: "0.75rem"; ddsSpacingX075NumberRem: 0.75; ddsSpacingX1: "1rem"; ddsSpacingX1NumberRem: 1; ddsSpacingX15: "1.5rem"; ddsSpacingX15NumberRem: 1.5; ddsSpacingX2: "2rem"; ddsSpacingX2NumberRem: 2; ddsSpacingX25: "2.5rem"; ddsSpacingX25NumberRem: 2.5; ddsSpacingX3: "3rem"; ddsSpacingX3NumberRem: 3; ddsSpacingX4: "4rem"; ddsSpacingX4NumberRem: 4; ddsSpacingX6: "6rem"; ddsSpacingX6NumberRem: 6; ddsSpacingX10: "10rem"; ddsSpacingX10NumberRem: 10; ddsGridXsGutterSize: "16px"; ddsGridXsGutterSizeNumberPx: 16; ddsGridXsCount: "4"; ddsGridSmGutterSize: "16px"; ddsGridSmGutterSizeNumberPx: 16; ddsGridSmCount: "8"; ddsGridLgGutterSize: "24px"; ddsGridLgGutterSizeNumberPx: 24; ddsGridLgCount: "12"; ddsGridMdGutterSize: "24px"; ddsGridMdGutterSizeNumberPx: 24; ddsGridMdCount: "12"; ddsGridXlGutterSize: "24px"; ddsGridXlGutterSizeNumberPx: 24; ddsGridXlCount: "12"; ddsSizeIconLarge: "40px"; ddsSizeIconLargeNumberPx: 40; ddsSizeIconMedium: "24px"; ddsSizeIconMediumNumberPx: 24; ddsSizeIconSmall: "16px"; ddsSizeIconSmallNumberPx: 16; ddsSizeIconComponent: "1.3em"; ddsSizeIconComponentNumberEm: 1.3; ddsBreakpointXs: "1px"; ddsBreakpointXsNumberPx: 1; ddsBreakpointSm: "600px"; ddsBreakpointSmNumberPx: 600; ddsBreakpointMd: "960px"; ddsBreakpointMdNumberPx: 960; ddsBreakpointLg: "1280px"; ddsBreakpointLgNumberPx: 1280; ddsBreakpointXl: "1920px"; ddsBreakpointXlNumberPx: 1920; ddsZindexSkiptocontent: "250"; ddsZindexModalBackdrop: "200"; ddsZindexDrawer: "180"; ddsZindexDrawerBackdrop: "180"; ddsZindexOverflowmenu: "160"; ddsZindexPopover: "140"; ddsZindexTooltip: "120"; ddsZindexDropdown: "100"; ddsZindexSticky: "50"; ddsZindexAbsoluteElement: "1"; ddsColorData10Default: "#196b8f"; ddsColorData10Subtle: "#93cee6"; ddsColorData10Border: "#196b8f"; ddsColorDataRed100: "#f8d2d4"; ddsColorDataRed200: "#f0a5a9"; ddsColorDataRed300: "#f4858b"; ddsColorDataRed400: "#e14b53"; ddsColorDataRed500: "#da1e28"; ddsColorDataRed600: "#ae1820"; ddsColorDataRed700: "#831218"; ddsColorDataRed800: "#570c10"; ddsColorDataRed900: "#2c0608"; ddsColorDataMagenta100: "#f7d9f2"; ddsColorDataMagenta200: "#edb5e4"; ddsColorDataMagenta300: "#e079d0"; ddsColorDataMagenta400: "#d54dc0"; ddsColorDataMagenta500: "#cb20b0"; ddsColorDataMagenta600: "#a21a8d"; ddsColorDataMagenta700: "#7a136a"; ddsColorDataMagenta800: "#510d46"; ddsColorDataMagenta900: "#290623"; ddsColorDataBrown100: "#f0ddd5"; ddsColorDataBrown200: "#e1bcac"; ddsColorDataBrown300: "#d19a82"; ddsColorDataBrown400: "#c27959"; ddsColorDataBrown500: "#b3572f"; ddsColorDataBrown600: "#8f4626"; ddsColorDataBrown700: "#6b341c"; ddsColorDataBrown800: "#482313"; ddsColorDataBrown900: "#241109"; ddsColorDataOlive100: "#e9e7cd"; ddsColorDataOlive200: "#cdc9a1"; ddsColorDataOlive300: "#b3ae71"; ddsColorDataOlive400: "#989344"; ddsColorDataOlive500: "#7c7518"; ddsColorDataOlive600: "#635e13"; ddsColorDataOlive700: "#4a460e"; ddsColorDataOlive800: "#322f0a"; ddsColorDataOlive900: "#191705"; ddsColorDataGreen100: "#d7e8cf"; ddsColorDataGreen200: "#aed19e"; ddsColorDataGreen300: "#95c280"; ddsColorDataGreen400: "#619947"; ddsColorDataGreen500: "#3a8019"; ddsColorDataGreen600: "#2e6614"; ddsColorDataGreen700: "#234d0f"; ddsColorDataGreen800: "#17330a"; ddsColorDataGreen900: "#0c1a05"; ddsColorDataTeal100: "#c2e2e1"; ddsColorDataTeal200: "#90ccc9"; ddsColorDataTeal300: "#5dafad"; ddsColorDataTeal400: "#2c9390"; ddsColorDataTeal500: "#007d79"; ddsColorDataTeal600: "#006461"; ddsColorDataTeal700: "#004b49"; ddsColorDataTeal800: "#003230"; ddsColorDataTeal900: "#001918"; ddsColorDataDeepblue100: "#c6e3f1"; ddsColorDataDeepblue200: "#93cee6"; ddsColorDataDeepblue300: "#62abcb"; ddsColorDataDeepblue400: "#358fb5"; ddsColorDataDeepblue500: "#196b8f"; ddsColorDataDeepblue600: "#135774"; ddsColorDataDeepblue700: "#0e455e"; ddsColorDataDeepblue800: "#0d3445"; ddsColorDataDeepblue900: "#05151d"; ddsColorDataBlue100: "#cfe0ff"; ddsColorDataBlue200: "#9fc0ff"; ddsColorDataBlue300: "#6fa1fe"; ddsColorDataBlue400: "#3f81fe"; ddsColorDataBlue500: "#0f62fe"; ddsColorDataBlue600: "#0c4ecb"; ddsColorDataBlue700: "#093b98"; ddsColorDataBlue800: "#062766"; ddsColorDataBlue900: "#031433"; ddsColorDataPurple100: "#e8d9fe"; ddsColorDataPurple200: "#d0b2fe"; ddsColorDataPurple300: "#b98cfd"; ddsColorDataPurple400: "#a165fd"; ddsColorDataPurple500: "#8a3ffc"; ddsColorDataPurple600: "#6e32ca"; ddsColorDataPurple700: "#532697"; ddsColorDataPurple800: "#371965"; ddsColorDataPurple900: "#1c0d32"; ddsColorDataGray100: "#e3e3e3"; ddsColorDataGray200: "#c7c7c7"; ddsColorDataGray300: "#aaaaaa"; ddsColorDataGray400: "#8e8e8e"; ddsColorDataGray500: "#727272"; ddsColorDataGray600: "#5b5b5b"; ddsColorDataGray700: "#444444"; ddsColorDataGray800: "#2e2e2e"; ddsColorDataGray900: "#171717"; ddsColorData01Default: "#0f62fe"; ddsColorData01Subtle: "#9fc0ff"; ddsColorData01Border: "#0f62fe"; ddsColorData02Default: "#b3572f"; ddsColorData02Subtle: "#e1bcac"; ddsColorData02Border: "#b3572f"; ddsColorData03Default: "#727272"; ddsColorData03Subtle: "#c7c7c7"; ddsColorData03Border: "#727272"; ddsColorData04Default: "#3a8019"; ddsColorData04Subtle: "#aed19e"; ddsColorData04Border: "#3a8019"; ddsColorData05Default: "#8a3ffc"; ddsColorData05Subtle: "#d0b2fe"; ddsColorData05Border: "#8a3ffc"; ddsColorData06Default: "#cb20b0"; ddsColorData06Subtle: "#edb5e4"; ddsColorData06Border: "#cb20b0"; ddsColorData07Default: "#7c7518"; ddsColorData07Subtle: "#cdc9a1"; ddsColorData07Border: "#7c7518"; ddsColorData08Default: "#da1e28"; ddsColorData08Subtle: "#f0a5a9"; ddsColorData08Border: "#da1e28"; ddsColorData09Default: "#007d79"; ddsColorData09Subtle: "#90ccc9"; ddsColorData09Border: "#007d79"; ddsMotionMicroState: "200ms linear"; ddsMotionSurface: "200ms cubic-bezier(0.4, 0, 0.2, 1)"; ddsMotionChevron: "200ms linear"; ddsMotionAnimationSkeleton: "800ms cubic-bezier(0.4, 0, 0.2, 1) infinite alternate"; ddsColorBgDefault: "#ffffff"; ddsColorBgSubtle: "#f1f3f4"; ddsColorSurfaceDefault: "#ffffff"; ddsColorSurfaceSubtle: "#f1f3f4"; ddsColorSurfaceMedium: "#e9ebec"; ddsColorSurfaceHoverDefault: "#e7f1f7"; ddsColorSurfaceHoverSubtle: "#f1f3f4"; ddsColorSurfaceSelectedDefault: "#e7f1f7"; ddsColorSurfaceInverseDefault: "#354754"; ddsColorSurfaceInverseHover: "#2a3943"; ddsColorSurfaceInverseSelected: "#202b32"; ddsColorSurfaceActionResting: "#106ead"; ddsColorSurfaceActionHover: "#0d588a"; ddsColorSurfaceActionSelected: "#106ead"; ddsColorSurfaceActionDangerResting: "#d83737"; ddsColorSurfaceActionDangerHover: "#ad2c2c"; ddsColorSurfaceActionSelectedDisabled: "#77838c"; ddsColorSurfaceDangerDefault: "#fbebeb"; ddsColorSurfaceDangerStrong: "#e47373"; ddsColorSurfaceSuccessDefault: "#f0f9f0"; ddsColorSurfaceSuccessStrong: "#93d294"; ddsColorSurfaceWarningDefault: "#fefced"; ddsColorSurfaceWarningStrong: "#f7e982"; ddsColorSurfaceInfoDefault: "#f1f8fd"; ddsColorSurfaceInfoStrong: "#9eceee"; ddsColorSurfacePaperDefault: "#ffffff"; ddsColorSurfaceBackdropDefault: "#0b0d0e80"; ddsColorSurfaceFieldDefault: "#ffffff"; ddsColorSurfaceFieldDisabled: "#f1f3f4"; ddsColorSurfaceHighlightedDefault: "#fce5dd"; ddsColorSurfaceScrollbar: "#adb5ba"; ddsColorSurfaceNotification: "#d83737"; ddsColorSurfaceSkeleton: "#d6dadd"; ddsColorBorderDefault: "#77838c"; ddsColorBorderSubtle: "#d6dadd"; ddsColorBorderInverse: "#acbbc6"; ddsColorBorderActionDefault: "#106ead"; ddsColorBorderActionHover: "#0d588a"; ddsColorBorderSuccess: "#65be66"; ddsColorBorderWarning: "#f4e04d"; ddsColorBorderDanger: "#d83737"; ddsColorBorderInfo: "#75b9e6"; ddsColorBorderOnAction: "#ffffff"; ddsColorTextDefault: "#0b0d0e"; ddsColorTextMedium: "#3a4146"; ddsColorTextSubtle: "#545c62"; ddsColorTextOnInverse: "#ffffff"; ddsColorTextDanger: "#ad2c2c"; ddsColorTextOnAction: "#ffffff"; ddsColorTextOnStatusDefault: "#0b0d0e"; ddsColorTextOnStatusStrong: "#0b0d0e"; ddsColorTextActionResting: "#106ead"; ddsColorTextActionHover: "#0d588a"; ddsColorTextRequiredfield: "#d83737"; ddsColorTextActionVisited: "#7f29b4"; ddsColorTextActionVisitedOnInverse: "#cca9e1"; ddsColorTextOnNotification: "#ffffff"; ddsColorTextOnPrimaryDefault: "#ffffff"; ddsColorTextOnPrimarySubtle: "#0b0d0e"; ddsColorTextOnPrimaryMedium: "#ffffff"; ddsColorTextOnPrimaryStrong: "#ffffff"; ddsColorTextOnSecondaryDefault: "#0b0d0e"; ddsColorTextOnSecondarySubtle: "#0b0d0e"; ddsColorTextOnSecondaryMedium: "#0b0d0e"; ddsColorTextOnSecondaryStrong: "#ffffff"; ddsColorTextOnTertiaryDefault: "#0b0d0e"; ddsColorTextOnTertiarySubtle: "#0b0d0e"; ddsColorTextOnTertiaryMedium: "#0b0d0e"; ddsColorTextOnTertiaryStrong: "#0b0d0e"; ddsColorTextOnDataDefault: "#ffffff"; ddsColorTextOnDataSubtle: "#0b0d0e"; ddsColorIconDefault: "#0b0d0e"; ddsColorIconMedium: "#3a4146"; ddsColorIconSubtle: "#545c62"; ddsColorIconOnInverse: "#ffffff"; ddsColorIconOnAction: "#ffffff"; ddsColorIconActionResting: "#106ead"; ddsColorIconActionHover: "#0d588a"; ddsColorIconOnSuccessDefault: "#3d723d"; ddsColorIconOnSuccessStrong: "#0b0d0e"; ddsColorIconOnWarningDefault: "#9a8c26"; ddsColorIconOnWarningStrong: "#0b0d0e"; ddsColorIconOnDangerDefault: "#ad2c2c"; ddsColorIconOnDangerStrong: "#0b0d0e"; ddsColorIconOnInfoDefault: "#3e7192"; ddsColorIconOnInfoStrong: "#0b0d0e"; ddsColorIconDanger: "#ad2c2c"; ddsColorBrandPrimaryDefault: "#354754"; ddsColorBrandPrimarySubtle: "#eaeff4"; ddsColorBrandPrimaryMedium: "#4f6a7e"; ddsColorBrandPrimaryStrong: "#202b32"; ddsColorBrandSecondaryDefault: "#9ab8b7"; ddsColorBrandSecondarySubtle: "#e6eded"; ddsColorBrandSecondaryMedium: "#b8cdcd"; ddsColorBrandSecondaryStrong: "#4d6463"; ddsColorBrandTertiaryDefault: "#f27e55"; ddsColorBrandTertiarySubtle: "#fce5dd"; ddsColorBrandTertiaryMedium: "#f2a68f"; ddsColorBrandTertiaryStrong: "#d45d32"; ddsColorFocusOutside: "#2a4b61"; ddsColorFocusInside: "#f1f8fd"; ddsShadowLarge: "8px 16px 32px 0px rgba(11, 13, 14, 10%)"; ddsShadowMedium: "2px 4px 8px 0px rgba(11, 13, 14, 10%)"; ddsShadowSmall: "1px 2px 4px 0px rgba(11, 13, 14, 10%)"; ddsBorderRadiusButton: "2px"; ddsBorderRadiusButtonNumberPx: 2; ddsBorderRadiusSurface: "4px"; ddsBorderRadiusSurfaceNumberPx: 4; ddsBorderRadiusInput: "2px"; ddsBorderRadiusInputNumberPx: 2; ddsBorderRadiusChip: "4px"; ddsBorderRadiusChipNumberPx: 4; ddsBorderRadiusRounded: "9999px"; ddsBorderRadiusRoundedNumberPx: 9999; ddsFontLabelMedium: "600 0.875rem/1.3 'IBM Plex Sans', Arial, sans-serif"; ddsFontBodyLongXsmall: "400 0.75rem/1.5 'IBM Plex Sans', Arial, sans-serif"; ddsFontBodyLongSmall: "400 0.875rem/1.5 'IBM Plex Sans', Arial, sans-serif"; ddsFontBodyLongMedium: "400 1rem/1.5 'IBM Plex Sans', Arial, sans-serif"; ddsFontBodyLongLarge: "400 1.125rem/1.5 'IBM Plex Sans', Arial, sans-serif"; ddsFontHeadingXxsmall: "600 0.75rem/1.3 'IBM Plex Sans', Arial, sans-serif"; ddsFontHeadingXsmall: "600 0.875rem/1.3 'IBM Plex Sans', Arial, sans-serif"; ddsFontHeadingSmall: "600 1rem/1.3 'IBM Plex Sans', Arial, sans-serif"; ddsFontHeadingMedium: "600 1.125rem/1.3 'IBM Plex Sans', Arial, sans-serif"; ddsFontHeadingLarge: "400 clamp(1.25rem, 0.833rem + 1.111vw, 1.5rem)/1.3 'IBM Plex Sans', Arial, sans-serif"; ddsFontHeadingXlarge: "400 clamp(1.5rem, 0.667rem + 2.222vw, 2rem)/1.3 'IBM Plex Sans', Arial, sans-serif"; ddsFontHeadingXxlarge: "300 clamp(2.5rem, 1.667rem + 2.222vw, 3rem)/1.3 'IBM Plex Sans', Arial, sans-serif"; ddsFontLeadMedium: "300 1.125rem/1.5 'IBM Plex Sans', Arial, sans-serif"; ddsFontCodeMedium: "400 1rem/1.5 'IBM Plex Mono', 'Courier New', monospace"; ddsFontBodyShortXsmall: "400 0.75rem/1.3 'IBM Plex Sans', Arial, sans-serif"; ddsFontBodyShortSmall: "400 0.875rem/1.3 'IBM Plex Sans', Arial, sans-serif"; ddsFontBodyShortMedium: "400 1rem/1.3 'IBM Plex Sans', Arial, sans-serif"; ddsFontBodyShortLarge: "400 1.125rem/1.3 'IBM Plex Sans', Arial, sans-serif"; ddsFontHeadingXxlargeLetterSpacing: "-0.01em"; ddsFontHeadingXxlargeParagraphSpacing: "0.4em"; ddsFontHeadingXxlargeParagraphSpacingNumberEm: 0.4; ddsFontHeadingXlargeLetterSpacing: "0em"; ddsFontHeadingXlargeParagraphSpacing: "0.4em"; ddsFontHeadingXlargeParagraphSpacingNumberEm: 0.4; ddsFontHeadingLargeLetterSpacing: "0em"; ddsFontHeadingLargeParagraphSpacing: "0.4em"; ddsFontHeadingLargeParagraphSpacingNumberEm: 0.4; ddsFontHeadingMediumLetterSpacing: "0em"; ddsFontHeadingMediumParagraphSpacing: "0.4em"; ddsFontHeadingMediumParagraphSpacingNumberEm: 0.4; ddsFontHeadingSmallLetterSpacing: "0em"; ddsFontHeadingSmallParagraphSpacing: "0.4em"; ddsFontHeadingSmallParagraphSpacingNumberEm: 0.4; ddsFontHeadingXsmallLetterSpacing: "0.01em"; ddsFontHeadingXsmallParagraphSpacing: "0.4em"; ddsFontHeadingXsmallParagraphSpacingNumberEm: 0.4; ddsFontHeadingXxsmallLetterSpacing: "0.01em"; ddsFontHeadingXxsmallParagraphSpacing: "0.4em"; ddsFontHeadingXxsmallParagraphSpacingNumberEm: 0.4; ddsFontBodyLongLargeLetterSpacing: "0em"; ddsFontBodyLongLargeParagraphSpacing: "1em"; ddsFontBodyLongLargeParagraphSpacingNumberEm: 1; ddsFontBodyLongMediumLetterSpacing: "0em"; ddsFontBodyLongMediumParagraphSpacing: "1em"; ddsFontBodyLongMediumParagraphSpacingNumberEm: 1; ddsFontBodyLongSmallLetterSpacing: "0.01em"; ddsFontBodyLongSmallParagraphSpacing: "1em"; ddsFontBodyLongSmallParagraphSpacingNumberEm: 1; ddsFontBodyLongXsmallLetterSpacing: "0.01em"; ddsFontBodyLongXsmallParagraphSpacing: "1em"; ddsFontBodyLongXsmallParagraphSpacingNumberEm: 1; ddsFontLeadMediumLetterSpacing: "0em"; ddsFontLeadMediumParagraphSpacing: "1em"; ddsFontLeadMediumParagraphSpacingNumberEm: 1; ddsFontCodeMediumLetterSpacing: "0em"; ddsFontCodeMediumParagraphSpacing: "1em"; ddsFontCodeMediumParagraphSpacingNumberEm: 1; ddsFontLabelMediumLetterSpacing: "0.01em"; ddsFontLabelMediumParagraphSpacing: "1em"; ddsFontLabelMediumParagraphSpacingNumberEm: 1; ddsFontBodyShortLargeLetterSpacing: "0em"; ddsFontBodyShortLargeParagraphSpacing: "1em"; ddsFontBodyShortLargeParagraphSpacingNumberEm: 1; ddsFontBodyShortMediumLetterSpacing: "0em"; ddsFontBodyShortMediumParagraphSpacing: "1em"; ddsFontBodyShortMediumParagraphSpacingNumberEm: 1; ddsFontBodyShortSmallLetterSpacing: "0.01em"; ddsFontBodyShortSmallParagraphSpacing: "1em"; ddsFontBodyShortSmallParagraphSpacingNumberEm: 1; ddsFontBodyShortXsmallLetterSpacing: "0.01em"; ddsFontBodyShortXsmallParagraphSpacing: "1em"; ddsFontBodyShortXsmallParagraphSpacingNumberEm: 1; ddsSizeHeightInputLarge: "3.625rem"; ddsSizeHeightInputLargeNumberRem: 3.625; ddsSizeHeightInputMedium: "3rem"; ddsSizeHeightInputMediumNumberRem: 3; ddsSizeHeightInputSmall: "2.187rem"; ddsSizeHeightInputSmallNumberRem: 2.187; ddsSizeHeightInputXsmall: "1.5625rem"; ddsSizeHeightInputXsmallNumberRem: 1.5625; } | { ddsFontFamilySans: "'IBM Plex Sans', Arial, sans-serif"; ddsFontFamilyMonospace: "'IBM Plex Mono', 'Courier New', monospace"; ddsFontSizeX5: "5rem"; ddsFontSizeX5NumberRem: 5; ddsFontSizeX4: "4rem"; ddsFontSizeX4NumberRem: 4; ddsFontSizeX3: "3rem"; ddsFontSizeX3NumberRem: 3; ddsFontSizeX25: "2.5rem"; ddsFontSizeX25NumberRem: 2.5; ddsFontSizeX2: "2rem"; ddsFontSizeX2NumberRem: 2; ddsFontSizeX15: "1.5rem"; ddsFontSizeX15NumberRem: 1.5; ddsFontSizeX125: "1.25rem"; ddsFontSizeX125NumberRem: 1.25; ddsFontSizeX1125: "1.125rem"; ddsFontSizeX1125NumberRem: 1.125; ddsFontSizeX1: "1rem"; ddsFontSizeX1NumberRem: 1; ddsFontSizeX0875: "0.875rem"; ddsFontSizeX0875NumberRem: 0.875; ddsFontSizeX075: "0.75rem"; ddsFontSizeX075NumberRem: 0.75; ddsFontWeightLight: "300"; ddsFontWeightNormal: "400"; ddsFontWeightSemiBold: "500"; ddsFontWeightBold: "600"; ddsFontLineheightX1: 1.5; ddsFontLineheightX3: 1.2; ddsFontLineheightX2: 1.3; ddsFontLetterSpacingTight: "-0.01em"; ddsFontLetterSpacingNormal: "0em"; ddsFontLetterSpacingLoose: "0.01em"; ddsFontParagraphSpacingSmall: "1em"; ddsFontParagraphSpacingSmallNumberEm: 1; ddsFontParagraphSpacingMedium: "0.66em"; ddsFontParagraphSpacingMediumNumberEm: 0.66; ddsFontParagraphSpacingLarge: "0.5em"; ddsFontParagraphSpacingLargeNumberEm: 0.5; ddsFontParagraphSpacingList: "0.5em"; ddsFontParagraphSpacingListNumberEm: 0.5; ddsFontParagraphSpacingHeading: "0.4em"; ddsFontParagraphSpacingHeadingNumberEm: 0.4; ddsFontStyleUnderline: "underline"; ddsFontStyleNormal: "none"; ddsFontStyleItalic: "italic"; ddsSpacingPaddingTopHeading: "0.7em"; ddsSpacingPaddingTopHeadingNumberEm: 0.7; ddsSpacingX0: "0rem"; ddsSpacingX0NumberRem: 0; ddsSpacingX0125: "0.125rem"; ddsSpacingX0125NumberRem: 0.125; ddsSpacingX025: "0.25rem"; ddsSpacingX025NumberRem: 0.25; ddsSpacingX05: "0.5rem"; ddsSpacingX05NumberRem: 0.5; ddsSpacingX075: "0.75rem"; ddsSpacingX075NumberRem: 0.75; ddsSpacingX1: "1rem"; ddsSpacingX1NumberRem: 1; ddsSpacingX15: "1.5rem"; ddsSpacingX15NumberRem: 1.5; ddsSpacingX2: "2rem"; ddsSpacingX2NumberRem: 2; ddsSpacingX25: "2.5rem"; ddsSpacingX25NumberRem: 2.5; ddsSpacingX3: "3rem"; ddsSpacingX3NumberRem: 3; ddsSpacingX4: "4rem"; ddsSpacingX4NumberRem: 4; ddsSpacingX6: "6rem"; ddsSpacingX6NumberRem: 6; ddsSpacingX10: "10rem"; ddsSpacingX10NumberRem: 10; ddsGridXsGutterSize: "16px"; ddsGridXsGutterSizeNumberPx: 16; ddsGridXsCount: "4"; ddsGridSmGutterSize: "16px"; ddsGridSmGutterSizeNumberPx: 16; ddsGridSmCount: "8"; ddsGridLgGutterSize: "24px"; ddsGridLgGutterSizeNumberPx: 24; ddsGridLgCount: "12"; ddsGridMdGutterSize: "24px"; ddsGridMdGutterSizeNumberPx: 24; ddsGridMdCount: "12"; ddsGridXlGutterSize: "24px"; ddsGridXlGutterSizeNumberPx: 24; ddsGridXlCount: "12"; ddsSizeIconLarge: "40px"; ddsSizeIconLargeNumberPx: 40; ddsSizeIconMedium: "24px"; ddsSizeIconMediumNumberPx: 24; ddsSizeIconSmall: "16px"; ddsSizeIconSmallNumberPx: 16; ddsSizeIconComponent: "1.3em"; ddsSizeIconComponentNumberEm: 1.3; ddsBreakpointXs: "1px"; ddsBreakpointXsNumberPx: 1; ddsBreakpointSm: "600px"; ddsBreakpointSmNumberPx: 600; ddsBreakpointMd: "960px"; ddsBreakpointMdNumberPx: 960; ddsBreakpointLg: "1280px"; ddsBreakpointLgNumberPx: 1280; ddsBreakpointXl: "1920px"; ddsBreakpointXlNumberPx: 1920; ddsZindexSkiptocontent: "250"; ddsZindexModalBackdrop: "200"; ddsZindexDrawer: "180"; ddsZindexDrawerBackdrop: "180"; ddsZindexOverflowmenu: "160"; ddsZindexPopover: "140"; ddsZindexTooltip: "120"; ddsZindexDropdown: "100"; ddsZindexSticky: "50"; ddsZindexAbsoluteElement: "1"; ddsColorData10Default: "#62abcb"; ddsColorData10Subtle: "#135774"; ddsColorData10Border: "#62abcb"; ddsColorDataRed100: "#f8d2d4"; ddsColorDataRed200: "#f0a5a9"; ddsColorDataRed300: "#f4858b"; ddsColorDataRed400: "#e14b53"; ddsColorDataRed500: "#da1e28"; ddsColorDataRed600: "#ae1820"; ddsColorDataRed700: "#831218"; ddsColorDataRed800: "#570c10"; ddsColorDataRed900: "#2c0608"; ddsColorDataMagenta100: "#f7d9f2"; ddsColorDataMagenta200: "#edb5e4"; ddsColorDataMagenta300: "#e079d0"; ddsColorDataMagenta400: "#d54dc0"; ddsColorDataMagenta500: "#cb20b0"; ddsColorDataMagenta600: "#a21a8d"; ddsColorDataMagenta700: "#7a136a"; ddsColorDataMagenta800: "#510d46"; ddsColorDataMagenta900: "#290623"; ddsColorDataBrown100: "#f0ddd5"; ddsColorDataBrown200: "#e1bcac"; ddsColorDataBrown300: "#d19a82"; ddsColorDataBrown400: "#c27959"; ddsColorDataBrown500: "#b3572f"; ddsColorDataBrown600: "#8f4626"; ddsColorDataBrown700: "#6b341c"; ddsColorDataBrown800: "#482313"; ddsColorDataBrown900: "#241109"; ddsColorDataOlive100: "#e9e7cd"; ddsColorDataOlive200: "#cdc9a1"; ddsColorDataOlive300: "#b3ae71"; ddsColorDataOlive400: "#989344"; ddsColorDataOlive500: "#7c7518"; ddsColorDataOlive600: "#635e13"; ddsColorDataOlive700: "#4a460e"; ddsColorDataOlive800: "#322f0a"; ddsColorDataOlive900: "#191705"; ddsColorDataGreen100: "#d7e8cf"; ddsColorDataGreen200: "#aed19e"; ddsColorDataGreen300: "#95c280"; ddsColorDataGreen400: "#619947"; ddsColorDataGreen500: "#3a8019"; ddsColorDataGreen600: "#2e6614"; ddsColorDataGreen700: "#234d0f"; ddsColorDataGreen800: "#17330a"; ddsColorDataGreen900: "#0c1a05"; ddsColorDataTeal100: "#c2e2e1"; ddsColorDataTeal200: "#90ccc9"; ddsColorDataTeal300: "#5dafad"; ddsColorDataTeal400: "#2c9390"; ddsColorDataTeal500: "#007d79"; ddsColorDataTeal600: "#006461"; ddsColorDataTeal700: "#004b49"; ddsColorDataTeal800: "#003230"; ddsColorDataTeal900: "#001918"; ddsColorDataDeepblue100: "#c6e3f1"; ddsColorDataDeepblue200: "#93cee6"; ddsColorDataDeepblue300: "#62abcb"; ddsColorDataDeepblue400: "#358fb5"; ddsColorDataDeepblue500: "#196b8f"; ddsColorDataDeepblue600: "#135774"; ddsColorDataDeepblue700: "#0e455e"; ddsColorDataDeepblue800: "#0d3445"; ddsColorDataDeepblue900: "#05151d"; ddsColorDataBlue100: "#cfe0ff"; ddsColorDataBlue200: "#9fc0ff"; ddsColorDataBlue300: "#6fa1fe"; ddsColorDataBlue400: "#3f81fe"; ddsColorDataBlue500: "#0f62fe"; ddsColorDataBlue600: "#0c4ecb"; ddsColorDataBlue700: "#093b98"; ddsColorDataBlue800: "#062766"; ddsColorDataBlue900: "#031433"; ddsColorDataPurple100: "#e8d9fe"; ddsColorDataPurple200: "#d0b2fe"; ddsColorDataPurple300: "#b98cfd"; ddsColorDataPurple400: "#a165fd"; ddsColorDataPurple500: "#8a3ffc"; ddsColorDataPurple600: "#6e32ca"; ddsColorDataPurple700: "#532697"; ddsColorDataPurple800: "#371965"; ddsColorDataPurple900: "#1c0d32"; ddsColorDataGray100: "#e3e3e3"; ddsColorDataGray200: "#c7c7c7"; ddsColorDataGray300: "#aaaaaa"; ddsColorDataGray400: "#8e8e8e"; ddsColorDataGray500: "#727272"; ddsColorDataGray600: "#5b5b5b"; ddsColorDataGray700: "#444444"; ddsColorDataGray800: "#2e2e2e"; ddsColorDataGray900: "#171717"; ddsColorData01Default: "#6fa1fe"; ddsColorData01Subtle: "#0c4ecb"; ddsColorData01Border: "#6fa1fe"; ddsColorData02Default: "#d19a82"; ddsColorData02Subtle: "#8f4626"; ddsColorData02Border: "#d19a82"; ddsColorData03Default: "#aaaaaa"; ddsColorData03Subtle: "#5b5b5b"; ddsColorData03Border: "#aaaaaa"; ddsColorData04Default: "#95c280"; ddsColorData04Subtle: "#2e6614"; ddsColorData04Border: "#95c280"; ddsColorData05Default: "#b98cfd"; ddsColorData05Subtle: "#6e32ca"; ddsColorData05Border: "#b98cfd"; ddsColorData06Default: "#e079d0"; ddsColorData06Subtle: "#a21a8d"; ddsColorData06Border: "#e079d0"; ddsColorData07Default: "#b3ae71"; ddsColorData07Subtle: "#635e13"; ddsColorData07Border: "#b3ae71"; ddsColorData08Default: "#f4858b"; ddsColorData08Subtle: "#ae1820"; ddsColorData08Border: "#f4858b"; ddsColorData09Default: "#5dafad"; ddsColorData09Subtle: "#006461"; ddsColorData09Border: "#5dafad"; ddsMotionMicroState: "200ms linear"; ddsMotionSurface: "200ms cubic-bezier(0.4, 0, 0.2, 1)"; ddsMotionChevron: "200ms linear"; ddsMotionAnimationSkeleton: "800ms cubic-bezier(0.4, 0, 0.2, 1) infinite alternate"; ddsColorBgDefault: "#181a1c"; ddsColorBgSubtle: "#22272a"; ddsColorSurfaceDefault: "#181a1c"; ddsColorSurfaceSubtle: "#22272a"; ddsColorSurfaceMedium: "#303438"; ddsColorSurfaceHoverDefault: "#062c45"; ddsColorSurfaceHoverSubtle: "#22272a"; ddsColorSurfaceSelectedDefault: "#062c45"; ddsColorSurfaceInverseDefault: "#354754"; ddsColorSurfaceInverseHover: "#2a3943"; ddsColorSurfaceInverseSelected: "#202b32"; ddsColorSurfaceActionResting: "#589ac6"; ddsColorSurfaceActionHover: "#9fc5de"; ddsColorSurfaceActionSelected: "#589ac6"; ddsColorSurfaceActionDangerResting: "#e47373"; ddsColorSurfaceActionDangerHover: "#efafaf"; ddsColorSurfaceActionSelectedDisabled: "#77838c"; ddsColorSurfaceDangerDefault: "#561616"; ddsColorSurfaceDangerStrong: "#dc4b4b"; ddsColorSurfaceSuccessDefault: "#284c29"; ddsColorSurfaceSuccessStrong: "#65be66"; ddsColorSurfaceWarningDefault: "#494317"; ddsColorSurfaceWarningStrong: "#f4e04d"; ddsColorSurfaceInfoDefault: "#2a4b61"; ddsColorSurfaceInfoStrong: "#75b9e6"; ddsColorSurfacePaperDefault: "#303438"; ddsColorSurfaceBackdropDefault: "#0b0d0e80"; ddsColorSurfaceFieldDefault: "#0b0d0e"; ddsColorSurfaceFieldDisabled: "#303438"; ddsColorSurfaceHighlightedDefault: "#833a21"; ddsColorSurfaceScrollbar: "#545c62"; ddsColorSurfaceNotification: "#d83737"; ddsColorSurfaceSkeleton: "#545c62"; ddsColorBorderDefault: "#77838c"; ddsColorBorderSubtle: "#545c62"; ddsColorBorderInverse: "#acbbc6"; ddsColorBorderActionDefault: "#589ac6"; ddsColorBorderActionHover: "#9fc5de"; ddsColorBorderSuccess: "#519852"; ddsColorBorderWarning: "#ccba35"; ddsColorBorderDanger: "#ad2c2c"; ddsColorBorderInfo: "#5197c5"; ddsColorBorderOnAction: "#181a1c"; ddsColorTextDefault: "#ffffff"; ddsColorTextMedium: "#e9ebec"; ddsColorTextSubtle: "#d6dadd"; ddsColorTextOnInverse: "#ffffff"; ddsColorTextDanger: "#efafaf"; ddsColorTextOnAction: "#0b0d0e"; ddsColorTextOnStatusDefault: "#ffffff"; ddsColorTextOnStatusStrong: "#0b0d0e"; ddsColorTextActionResting: "#9fc5de"; ddsColorTextActionHover: "#e7f1f7"; ddsColorTextRequiredfield: "#efafaf"; ddsColorTextActionVisited: "#cca9e1"; ddsColorTextActionVisitedOnInverse: "#cca9e1"; ddsColorTextOnNotification: "#ffffff"; ddsColorTextOnPrimaryDefault: "#ffffff"; ddsColorTextOnPrimarySubtle: "#ffffff"; ddsColorTextOnPrimaryMedium: "#ffffff"; ddsColorTextOnPrimaryStrong: "#ffffff"; ddsColorTextOnSecondaryDefault: "#0b0d0e"; ddsColorTextOnSecondarySubtle: "#ffffff"; ddsColorTextOnSecondaryMedium: "#ffffff"; ddsColorTextOnSecondaryStrong: "#0b0d0e"; ddsColorTextOnTertiaryDefault: "#0b0d0e"; ddsColorTextOnTertiarySubtle: "#ffffff"; ddsColorTextOnTertiaryMedium: "#0b0d0e"; ddsColorTextOnTertiaryStrong: "#0b0d0e"; ddsColorTextOnDataDefault: "#0b0d0e"; ddsColorTextOnDataSubtle: "#ffffff"; ddsColorIconDefault: "#ffffff"; ddsColorIconMedium: "#e9ebec"; ddsColorIconSubtle: "#d6dadd"; ddsColorIconOnInverse: "#ffffff"; ddsColorIconOnAction: "#0b0d0e"; ddsColorIconActionResting: "#9fc5de"; ddsColorIconActionHover: "#e7f1f7"; ddsColorIconOnSuccessDefault: "#c1e5c2"; ddsColorIconOnSuccessStrong: "#0b0d0e"; ddsColorIconOnWarningDefault: "#fbf3b8"; ddsColorIconOnWarningStrong: "#0b0d0e"; ddsColorIconOnDangerDefault: "#efafaf"; ddsColorIconOnDangerStrong: "#0b0d0e"; ddsColorIconOnInfoDefault: "#c8e3f5"; ddsColorIconOnInfoStrong: "#0b0d0e"; ddsColorIconDanger: "#efafaf"; ddsColorBrandPrimaryDefault: "#354754"; ddsColorBrandPrimarySubtle: "#2a3943"; ddsColorBrandPrimaryMedium: "#405767"; ddsColorBrandPrimaryStrong: "#4f6a7e"; ddsColorBrandSecondaryDefault: "#9ab8b7"; ddsColorBrandSecondarySubtle: "#2b3a3a"; ddsColorBrandSecondaryMedium: "#4d6463"; ddsColorBrandSecondaryStrong: "#b8cdcd"; ddsColorBrandTertiaryDefault: "#f27e55"; ddsColorBrandTertiarySubtle: "#a24422"; ddsColorBrandTertiaryMedium: "#f2a68f"; ddsColorBrandTertiaryStrong: "#ffd6ca"; ddsColorFocusOutside: "#f1f8fd"; ddsColorFocusInside: "#2a4b61"; ddsShadowLarge: "8px 16px 32px 0px rgba(11, 13, 14, 80%)"; ddsShadowMedium: "2px 4px 8px 0px rgba(11, 13, 14, 80%)"; ddsShadowSmall: "1px 2px 4px 0px rgba(11, 13, 14, 80%)"; ddsBorderRadiusButton: "2px"; ddsBorderRadiusButtonNumberPx: 2; ddsBorderRadiusSurface: "4px"; ddsBorderRadiusSurfaceNumberPx: 4; ddsBorderRadiusInput: "2px"; ddsBorderRadiusInputNumberPx: 2; ddsBorderRadiusChip: "4px"; ddsBorderRadiusChipNumberPx: 4; ddsBorderRadiusRounded: "9999px"; ddsBorderRadiusRoundedNumberPx: 9999; ddsFontLabelMedium: "600 0.875rem/1.3 'IBM Plex Sans', Arial, sans-serif"; ddsFontBodyLongXsmall: "400 0.75rem/1.5 'IBM Plex Sans', Arial, sans-serif"; ddsFontBodyLongSmall: "400 0.875rem/1.5 'IBM Plex Sans', Arial, sans-serif"; ddsFontBodyLongMedium: "400 1rem/1.5 'IBM Plex Sans', Arial, sans-serif"; ddsFontBodyLongLarge: "400 1.125rem/1.5 'IBM Plex Sans', Arial, sans-serif"; ddsFontHeadingXxsmall: "600 0.75rem/1.3 'IBM Plex Sans', Arial, sans-serif"; ddsFontHeadingXsmall: "600 0.875rem/1.3 'IBM Plex Sans', Arial, sans-serif"; ddsFontHeadingSmall: "600 1rem/1.3 'IBM Plex Sans', Arial, sans-serif"; ddsFontHeadingMedium: "600 1.125rem/1.3 'IBM Plex Sans', Arial, sans-serif"; ddsFontHeadingLarge: "400 clamp(1.25rem, 0.833rem + 1.111vw, 1.5rem)/1.3 'IBM Plex Sans', Arial, sans-serif"; ddsFontHeadingXlarge: "400 clamp(1.5rem, 0.667rem + 2.222vw, 2rem)/1.3 'IBM Plex Sans', Arial, sans-serif"; ddsFontHeadingXxlarge: "300 clamp(2.5rem, 1.667rem + 2.222vw, 3rem)/1.3 'IBM Plex Sans', Arial, sans-serif"; ddsFontLeadMedium: "300 1.125rem/1.5 'IBM Plex Sans', Arial, sans-serif"; ddsFontCodeMedium: "400 1rem/1.5 'IBM Plex Mono', 'Courier New', monospace"; ddsFontBodyShortXsmall: "400 0.75rem/1.3 'IBM Plex Sans', Arial, sans-serif"; ddsFontBodyShortSmall: "400 0.875rem/1.3 'IBM Plex Sans', Arial, sans-serif"; ddsFontBodyShortMedium: "400 1rem/1.3 'IBM Plex Sans', Arial, sans-serif"; ddsFontBodyShortLarge: "400 1.125rem/1.3 'IBM Plex Sans', Arial, sans-serif"; ddsFontHeadingXxlargeLetterSpacing: "-0.01em"; ddsFontHeadingXxlargeParagraphSpacing: "0.4em"; ddsFontHeadingXxlargeParagraphSpacingNumberEm: 0.4; ddsFontHeadingXlargeLetterSpacing: "0em"; ddsFontHeadingXlargeParagraphSpacing: "0.4em"; ddsFontHeadingXlargeParagraphSpacingNumberEm: 0.4; ddsFontHeadingLargeLetterSpacing: "0em"; ddsFontHeadingLargeParagraphSpacing: "0.4em"; ddsFontHeadingLargeParagraphSpacingNumberEm: 0.4; ddsFontHeadingMediumLetterSpacing: "0em"; ddsFontHeadingMediumParagraphSpacing: "0.4em"; ddsFontHeadingMediumParagraphSpacingNumberEm: 0.4; ddsFontHeadingSmallLetterSpacing: "0em"; ddsFontHeadingSmallParagraphSpacing: "0.4em"; ddsFontHeadingSmallParagraphSpacingNumberEm: 0.4; ddsFontHeadingXsmallLetterSpacing: "0.01em"; ddsFontHeadingXsmallParagraphSpacing: "0.4em"; ddsFontHeadingXsmallParagraphSpacingNumberEm: 0.4; ddsFontHeadingXxsmallLetterSpacing: "0.01em"; ddsFontHeadingXxsmallParagraphSpacing: "0.4em"; ddsFontHeadingXxsmallParagraphSpacingNumberEm: 0.4; ddsFontBodyLongLargeLetterSpacing: "0em"; ddsFontBodyLongLargeParagraphSpacing: "1em"; ddsFontBodyLongLargeParagraphSpacingNumberEm: 1; ddsFontBodyLongMediumLetterSpacing: "0em"; ddsFontBodyLongMediumParagraphSpacing: "1em"; ddsFontBodyLongMediumParagraphSpacingNumberEm: 1; ddsFontBodyLongSmallLetterSpacing: "0.01em"; ddsFontBodyLongSmallParagraphSpacing: "1em"; ddsFontBodyLongSmallParagraphSpacingNumberEm: 1; ddsFontBodyLongXsmallLetterSpacing: "0.01em"; ddsFontBodyLongXsmallParagraphSpacing: "1em"; ddsFontBodyLongXsmallParagraphSpacingNumberEm: 1; ddsFontLeadMediumLetterSpacing: "0em"; ddsFontLeadMediumParagraphSpacing: "1em"; ddsFontLeadMediumParagraphSpacingNumberEm: 1; ddsFontCodeMediumLetterSpacing: "0em"; ddsFontCodeMediumParagraphSpacing: "1em"; ddsFontCodeMediumParagraphSpacingNumberEm: 1; ddsFontLabelMediumLetterSpacing: "0.01em"; ddsFontLabelMediumParagraphSpacing: "1em"; ddsFontLabelMediumParagraphSpacingNumberEm: 1; ddsFontBodyShortLargeLetterSpacing: "0em"; ddsFontBodyShortLargeParagraphSpacing: "1em"; ddsFontBodyShortLargeParagraphSpacingNumberEm: 1; ddsFontBodyShortMediumLetterSpacing: "0em"; ddsFontBodyShortMediumParagraphSpacing: "1em"; ddsFontBodyShortMediumParagraphSpacingNumberEm: 1; ddsFontBodyShortSmallLetterSpacing: "0.01em"; ddsFontBodyShortSmallParagraphSpacing: "1em"; ddsFontBodyShortSmallParagraphSpacingNumberEm: 1; ddsFontBodyShortXsmallLetterSpacing: "0.01em"; ddsFontBodyShortXsmallParagraphSpacing: "1em"; ddsFontBodyShortXsmallParagraphSpacingNumberEm: 1; ddsSizeHeightInputLarge: "3.625rem"; ddsSizeHeightInputLargeNumberRem: 3.625; ddsSizeHeightInputMedium: "3rem"; ddsSizeHeightInputMediumNumberRem: 3; ddsSizeHeightInputSmall: "2.187rem"; ddsSizeHeightInputSmallNumberRem: 2.187; ddsSizeHeightInputXsmall: "1.5625rem"; ddsSizeHeightInputXsmallNumberRem: 1.5625; } | { ddsFontFamilySans: "'IBM Plex Sans', Arial, sans-serif"; ddsFontFamilyMonospace: "'IBM Plex Mono', 'Courier New', monospace"; ddsFontSizeX5: "5rem"; ddsFontSizeX5NumberRem: 5; ddsFontSizeX4: "4rem"; ddsFontSizeX4NumberRem: 4; ddsFontSizeX3: "3rem"; ddsFontSizeX3NumberRem: 3; ddsFontSizeX25: "2.5rem"; ddsFontSizeX25NumberRem: 2.5; ddsFontSizeX2: "2rem"; ddsFontSizeX2NumberRem: 2; ddsFontSizeX15: "1.5rem"; ddsFontSizeX15NumberRem: 1.5; ddsFontSizeX125: "1.25rem"; ddsFontSizeX125NumberRem: 1.25; ddsFontSizeX1125: "1.125rem"; ddsFontSizeX1125NumberRem: 1.125; ddsFontSizeX1: "1rem"; ddsFontSizeX1NumberRem: 1; ddsFontSizeX0875: "0.875rem"; ddsFontSizeX0875NumberRem: 0.875; ddsFontSizeX075: "0.75rem"; ddsFontSizeX075NumberRem: 0.75; ddsFontWeightLight: "300"; ddsFontWeightNormal: "400"; ddsFontWeightSemiBold: "500"; ddsFontWeightBold: "600"; ddsFontLineheightX1: 1.5; ddsFontLineheightX3: 1.2; ddsFontLineheightX2: 1.3; ddsFontLetterSpacingTight: "-0.01em"; ddsFontLetterSpacingNormal: "0em"; ddsFontLetterSpacingLoose: "0.01em"; ddsFontParagraphSpacingSmall: "1em"; ddsFontParagraphSpacingSmallNumberEm: 1; ddsFontParagraphSpacingMedium: "0.66em"; ddsFontParagraphSpacingMediumNumberEm: 0.66; ddsFontParagraphSpacingLarge: "0.5em"; ddsFontParagraphSpacingLargeNumberEm: 0.5; ddsFontParagraphSpacingList: "0.5em"; ddsFontParagraphSpacingListNumberEm: 0.5; ddsFontParagraphSpacingHeading: "0.4em"; ddsFontParagraphSpacingHeadingNumberEm: 0.4; ddsFontStyleUnderline: "underline"; ddsFontStyleNormal: "none"; ddsFontStyleItalic: "italic"; ddsSpacingPaddingTopHeading: "0.7em"; ddsSpacingPaddingTopHeadingNumberEm: 0.7; ddsSpacingX0: "0rem"; ddsSpacingX0NumberRem: 0; ddsSpacingX0125: "0.125rem"; ddsSpacingX0125NumberRem: 0.125; ddsSpacingX025: "0.25rem"; ddsSpacingX025NumberRem: 0.25; ddsSpacingX05: "0.5rem"; ddsSpacingX05NumberRem: 0.5; ddsSpacingX075: "0.75rem"; ddsSpacingX075NumberRem: 0.75; ddsSpacingX1: "1rem"; ddsSpacingX1NumberRem: 1; ddsSpacingX15: "1.5rem"; ddsSpacingX15NumberRem: 1.5; ddsSpacingX2: "2rem"; ddsSpacingX2NumberRem: 2; ddsSpacingX25: "2.5rem"; ddsSpacingX25NumberRem: 2.5; ddsSpacingX3: "3rem"; ddsSpacingX3NumberRem: 3; ddsSpacingX4: "4rem"; ddsSpacingX4NumberRem: 4; ddsSpacingX6: "6rem"; ddsSpacingX6NumberRem: 6; ddsSpacingX10: "10rem"; ddsSpacingX10NumberRem: 10; ddsGridXsGutterSize: "16px"; ddsGridXsGutterSizeNumberPx: 16; ddsGridXsCount: "4"; ddsGridSmGutterSize: "16px"; ddsGridSmGutterSizeNumberPx: 16; ddsGridSmCount: "8"; ddsGridLgGutterSize: "24px"; ddsGridLgGutterSizeNumberPx: 24; ddsGridLgCount: "12"; ddsGridMdGutterSize: "24px"; ddsGridMdGutterSizeNumberPx: 24; ddsGridMdCount: "12"; ddsGridXlGutterSize: "24px"; ddsGridXlGutterSizeNumberPx: 24; ddsGridXlCount: "12"; ddsSizeIconLarge: "40px"; ddsSizeIconLargeNumberPx: 40; ddsSizeIconMedium: "24px"; ddsSizeIconMediumNumberPx: 24; ddsSizeIconSmall: "16px"; ddsSizeIconSmallNumberPx: 16; ddsSizeIconComponent: "1.3em"; ddsSizeIconComponentNumberEm: 1.3; ddsBreakpointXs: "1px"; ddsBreakpointXsNumberPx: 1; ddsBreakpointSm: "600px"; ddsBreakpointSmNumberPx: 600; ddsBreakpointMd: "960px"; ddsBreakpointMdNumberPx: 960; ddsBreakpointLg: "1280px"; ddsBreakpointLgNumberPx: 1280; ddsBreakpointXl: "1920px"; ddsBreakpointXlNumberPx: 1920; ddsZindexSkiptocontent: "250"; ddsZindexModalBackdrop: "200"; ddsZindexDrawer: "180"; ddsZindexDrawerBackdrop: "180"; ddsZindexOverflowmenu: "160"; ddsZindexPopover: "140"; ddsZindexTooltip: "120"; ddsZindexDropdown: "100"; ddsZindexSticky: "50"; ddsZindexAbsoluteElement: "1"; ddsColorData10Default: "#196b8f"; ddsColorData10Subtle: "#93cee6"; ddsColorData10Border: "#196b8f"; ddsColorDataRed100: "#f8d2d4"; ddsColorDataRed200: "#f0a5a9"; ddsColorDataRed300: "#f4858b"; ddsColorDataRed400: "#e14b53"; ddsColorDataRed500: "#da1e28"; ddsColorDataRed600: "#ae1820"; ddsColorDataRed700: "#831218"; ddsColorDataRed800: "#570c10"; ddsColorDataRed900: "#2c0608"; ddsColorDataMagenta100: "#f7d9f2"; ddsColorDataMagenta200: "#edb5e4"; ddsColorDataMagenta300: "#e079d0"; ddsColorDataMagenta400: "#d54dc0"; ddsColorDataMagenta500: "#cb20b0"; ddsColorDataMagenta600: "#a21a8d"; ddsColorDataMagenta700: "#7a136a"; ddsColorDataMagenta800: "#510d46"; ddsColorDataMagenta900: "#290623"; ddsColorDataBrown100: "#f0ddd5"; ddsColorDataBrown200: "#e1bcac"; ddsColorDataBrown300: "#d19a82"; ddsColorDataBrown400: "#c27959"; ddsColorDataBrown500: "#b3572f"; ddsColorDataBrown600: "#8f4626"; ddsColorDataBrown700: "#6b341c"; ddsColorDataBrown800: "#482313"; ddsColorDataBrown900: "#241109"; ddsColorDataOlive100: "#e9e7cd"; ddsColorDataOlive200: "#cdc9a1"; ddsColorDataOlive300: "#b3ae71"; ddsColorDataOlive400: "#989344"; ddsColorDataOlive500: "#7c7518"; ddsColorDataOlive600: "#635e13"; ddsColorDataOlive700: "#4a460e"; ddsColorDataOlive800: "#322f0a"; ddsColorDataOlive900: "#191705"; ddsColorDataGreen100: "#d7e8cf"; ddsColorDataGreen200: "#aed19e"; ddsColorDataGreen300: "#95c280"; ddsColorDataGreen400: "#619947"; ddsColorDataGreen500: "#3a8019"; ddsColorDataGreen600: "#2e6614"; ddsColorDataGreen700: "#234d0f"; ddsColorDataGreen800: "#17330a"; ddsColorDataGreen900: "#0c1a05"; ddsColorDataTeal100: "#c2e2e1"; ddsColorDataTeal200: "#90ccc9"; ddsColorDataTeal300: "#5dafad"; ddsColorDataTeal400: "#2c9390"; ddsColorDataTeal500: "#007d79"; ddsColorDataTeal600: "#006461"; ddsColorDataTeal700: "#004b49"; ddsColorDataTeal800: "#003230"; ddsColorDataTeal900: "#001918"; ddsColorDataDeepblue100: "#c6e3f1"; ddsColorDataDeepblue200: "#93cee6"; ddsColorDataDeepblue300: "#62abcb"; ddsColorDataDeepblue400: "#358fb5"; ddsColorDataDeepblue500: "#196b8f"; ddsColorDataDeepblue600: "#135774"; ddsColorDataDeepblue700: "#0e455e"; ddsColorDataDeepblue800: "#0d3445"; ddsColorDataDeepblue900: "#05151d"; ddsColorDataBlue100: "#cfe0ff"; ddsColorDataBlue200: "#9fc0ff"; ddsColorDataBlue300: "#6fa1fe"; ddsColorDataBlue400: "#3f81fe"; ddsColorDataBlue500: "#0f62fe"; ddsColorDataBlue600: "#0c4ecb"; ddsColorDataBlue700: "#093b98"; ddsColorDataBlue800: "#062766"; ddsColorDataBlue900: "#031433"; ddsColorDataPurple100: "#e8d9fe"; ddsColorDataPurple200: "#d0b2fe"; ddsColorDataPurple300: "#b98cfd"; ddsColorDataPurple400: "#a165fd"; ddsColorDataPurple500: "#8a3ffc"; ddsColorDataPurple600: "#6e32ca"; ddsColorDataPurple700: "#532697"; ddsColorDataPurple800: "#371965"; ddsColorDataPurple900: "#1c0d32"; ddsColorDataGray100: "#e3e3e3"; ddsColorDataGray200: "#c7c7c7"; ddsColorDataGray300: "#aaaaaa"; ddsColorDataGray400: "#8e8e8e"; ddsColorDataGray500: "#727272"; ddsColorDataGray600: "#5b5b5b"; ddsColorDataGray700: "#444444"; ddsColorDataGray800: "#2e2e2e"; ddsColorDataGray900: "#171717"; ddsColorData01Default: "#0f62fe"; ddsColorData01Subtle: "#9fc0ff"; ddsColorData01Border: "#0f62fe"; ddsColorData02Default: "#b3572f"; ddsColorData02Subtle: "#e1bcac"; ddsColorData02Border: "#b3572f"; ddsColorData03Default: "#727272"; ddsColorData03Subtle: "#c7c7c7"; ddsColorData03Border: "#727272"; ddsColorData04Default: "#3a8019"; ddsColorData04Subtle: "#aed19e"; ddsColorData04Border: "#3a8019"; ddsColorData05Default: "#8a3ffc"; ddsColorData05Subtle: "#d0b2fe"; ddsColorData05Border: "#8a3ffc"; ddsColorData06Default: "#cb20b0"; ddsColorData06Subtle: "#edb5e4"; ddsColorData06Border: "#cb20b0"; ddsColorData07Default: "#7c7518"; ddsColorData07Subtle: "#cdc9a1"; ddsColorData07Border: "#7c7518"; ddsColorData08Default: "#da1e28"; ddsColorData08Subtle: "#f0a5a9"; ddsColorData08Border: "#da1e28"; ddsColorData09Default: "#007d79"; ddsColorData09Subtle: "#90ccc9"; ddsColorData09Border: "#007d79"; ddsMotionMicroState: "200ms linear"; ddsMotionSurface: "200ms cubic-bezier(0.4, 0, 0.2, 1)"; ddsMotionChevron: "200ms linear"; ddsMotionAnimationSkeleton: "800ms cubic-bezier(0.4, 0, 0.2, 1) infinite alternate"; ddsColorBgDefault: "#ffffff"; ddsColorBgSubtle: "#f1f3f4"; ddsColorSurfaceDefault: "#ffffff"; ddsColorSurfaceSubtle: "#f1f3f4"; ddsColorSurfaceMedium: "#e9ebec"; ddsColorSurfaceHoverDefault: "#e7f1f7"; ddsColorSurfaceHoverSubtle: "#f1f3f4"; ddsColorSurfaceSelectedDefault: "#e7f1f7"; ddsColorSurfaceInverseDefault: "#354754"; ddsColorSurfaceInverseHover: "#2a3943"; ddsColorSurfaceInverseSelected: "#202b32"; ddsColorSurfaceActionResting: "#106ead"; ddsColorSurfaceActionHover: "#0d588a"; ddsColorSurfaceActionSelected: "#106ead"; ddsColorSurfaceActionDangerResting: "#d83737"; ddsColorSurfaceActionDangerHover: "#ad2c2c"; ddsColorSurfaceActionSelectedDisabled: "#77838c"; ddsColorSurfaceDangerDefault: "#fbebeb"; ddsColorSurfaceDangerStrong: "#e47373"; ddsColorSurfaceSuccessDefault: "#f0f9f0"; ddsColorSurfaceSuccessStrong: "#93d294"; ddsColorSurfaceWarningDefault: "#fefced"; ddsColorSurfaceWarningStrong: "#f7e982"; ddsColorSurfaceInfoDefault: "#f1f8fd"; ddsColorSurfaceInfoStrong: "#9eceee"; ddsColorSurfacePaperDefault: "#ffffff"; ddsColorSurfaceBackdropDefault: "#0b0d0e80"; ddsColorSurfaceFieldDefault: "#ffffff"; ddsColorSurfaceFieldDisabled: "#f1f3f4"; ddsColorSurfaceHighlightedDefault: "#fce5dd"; ddsColorSurfaceScrollbar: "#adb5ba"; ddsColorSurfaceNotification: "#d83737"; ddsColorSurfaceSkeleton: "#d6dadd"; ddsColorBorderDefault: "#77838c"; ddsColorBorderSubtle: "#d6dadd"; ddsColorBorderInverse: "#acbbc6"; ddsColorBorderActionDefault: "#106ead"; ddsColorBorderActionHover: "#0d588a"; ddsColorBorderSuccess: "#65be66"; ddsColorBorderWarning: "#f4e04d"; ddsColorBorderDanger: "#d83737"; ddsColorBorderInfo: "#75b9e6"; ddsColorBorderOnAction: "#ffffff"; ddsColorTextDefault: "#0b0d0e"; ddsColorTextMedium: "#3a4146"; ddsColorTextSubtle: "#545c62"; ddsColorTextOnInverse: "#ffffff"; ddsColorTextDanger: "#ad2c2c"; ddsColorTextOnAction: "#ffffff"; ddsColorTextOnStatusDefault: "#0b0d0e"; ddsColorTextOnStatusStrong: "#0b0d0e"; ddsColorTextActionResting: "#106ead"; ddsColorTextActionHover: "#0d588a"; ddsColorTextRequiredfield: "#d83737"; ddsColorTextActionVisited: "#7f29b4"; ddsColorTextActionVisitedOnInverse: "#cca9e1"; ddsColorTextOnNotification: "#ffffff"; ddsColorTextOnPrimaryDefault: "#ffffff"; ddsColorTextOnPrimarySubtle: "#0b0d0e"; ddsColorTextOnPrimaryMedium: "#ffffff"; ddsColorTextOnPrimaryStrong: "#ffffff"; ddsColorTextOnSecondaryDefault: "#0b0d0e"; ddsColorTextOnSecondarySubtle: "#0b0d0e"; ddsColorTextOnSecondaryMedium: "#0b0d0e"; ddsColorTextOnSecondaryStrong: "#ffffff"; ddsColorTextOnTertiaryDefault: "#0b0d0e"; ddsColorTextOnTertiarySubtle: "#0b0d0e"; ddsColorTextOnTertiaryMedium: "#0b0d0e"; ddsColorTextOnTertiaryStrong: "#0b0d0e"; ddsColorTextOnDataDefault: "#ffffff"; ddsColorTextOnDataSubtle: "#0b0d0e"; ddsColorIconDefault: "#0b0d0e"; ddsColorIconMedium: "#3a4146"; ddsColorIconSubtle: "#545c62"; ddsColorIconOnInverse: "#ffffff"; ddsColorIconOnAction: "#ffffff"; ddsColorIconActionResting: "#106ead"; ddsColorIconActionHover: "#0d588a"; ddsColorIconOnSuccessDefault: "#3d723d"; ddsColorIconOnSuccessStrong: "#0b0d0e"; ddsColorIconOnWarningDefault: "#9a8c26"; ddsColorIconOnWarningStrong: "#0b0d0e"; ddsColorIconOnDangerDefault: "#ad2c2c"; ddsColorIconOnDangerStrong: "#0b0d0e"; ddsColorIconOnInfoDefault: "#3e7192"; ddsColorIconOnInfoStrong: "#0b0d0e"; ddsColorIconDanger: "#ad2c2c"; ddsColorBrandPrimaryDefault: "#354754"; ddsColorBrandPrimarySubtle: "#eaeff4"; ddsColorBrandPrimaryMedium: "#4f6a7e"; ddsColorBrandPrimaryStrong: "#202b32"; ddsColorBrandSecondaryDefault: "#9ab8b7"; ddsColorBrandSecondarySubtle: "#e6eded"; ddsColorBrandSecondaryMedium: "#b8cdcd"; ddsColorBrandSecondaryStrong: "#4d6463"; ddsColorBrandTertiaryDefault: "#f27e55"; ddsColorBrandTertiarySubtle: "#fce5dd"; ddsColorBrandTertiaryMedium: "#f2a68f"; ddsColorBrandTertiaryStrong: "#d45d32"; ddsColorFocusOutside: "#2a4b61"; ddsColorFocusInside: "#f1f8fd"; ddsShadowLarge: "8px 16px 32px 0px rgba(11, 13, 14, 10%)"; ddsShadowMedium: "2px 4px 8px 0px rgba(11, 13, 14, 10%)"; ddsShadowSmall: "1px 2px 4px 0px rgba(11, 13, 14, 10%)"; ddsBorderRadiusButton: "2px"; ddsBorderRadiusButtonNumberPx: 2; ddsBorderRadiusSurface: "2px"; ddsBorderRadiusSurfaceNumberPx: 2; ddsBorderRadiusInput: "2px"; ddsBorderRadiusInputNumberPx: 2; ddsBorderRadiusChip: "2px"; ddsBorderRadiusChipNumberPx: 2; ddsBorderRadiusRounded: "9999px"; ddsBorderRadiusRoundedNumberPx: 9999; ddsFontLabelMedium: "600 1rem/1.3 'IBM Plex Sans', Arial, sans-serif"; ddsFontBodyLongXsmall: "400 0.875rem/1.5 'IBM Plex Sans', Arial, sans-serif"; ddsFontBodyLongSmall: "400 1rem/1.5 'IBM Plex Sans', Arial, sans-serif"; ddsFontBodyLongMedium: "400 1.125rem/1.5 'IBM Plex Sans', Arial, sans-serif"; ddsFontBodyLongLarge: "400 1.25rem/1.5 'IBM Plex Sans', Arial, sans-serif"; ddsFontHeadingXxsmall: "600 1rem/1.3 'IBM Plex Sans', Arial, sans-serif"; ddsFontHeadingXsmall: "600 1.125rem/1.3 'IBM Plex Sans', Arial, sans-serif"; ddsFontHeadingSmall: "600 1.25rem/1.3 'IBM Plex Sans', Arial, sans-serif"; ddsFontHeadingMedium: "500 1.5rem/1.3 'IBM Plex Sans', Arial, sans-serif"; ddsFontHeadingLarge: "400 clamp(1.5rem, 0.667rem + 2.222vw, 2rem)/1.3 'IBM Plex Sans', Arial, sans-serif"; ddsFontHeadingXlarge: "300 clamp(2.5rem, 1.667rem + 2.222vw, 3rem)/1.3 'IBM Plex Sans', Arial, sans-serif"; ddsFontHeadingXxlarge: "300 clamp(3rem, 1.333rem + 4.444vw, 4rem)/1.3 'IBM Plex Sans', Arial, sans-serif"; ddsFontLeadMedium: "300 1.5rem/1.5 'IBM Plex Sans', Arial, sans-serif"; ddsFontCodeMedium: "400 1.125rem/1.5 'IBM Plex Mono', 'Courier New', monospace"; ddsFontBodyShortXsmall: "400 0.875rem/1.3 'IBM Plex Sans', Arial, sans-serif"; ddsFontBodyShortSmall: "400 1rem/1.3 'IBM Plex Sans', Arial, sans-serif"; ddsFontBodyShortMedium: "400 1.125rem/1.3 'IBM Plex Sans', Arial, sans-serif"; ddsFontBodyShortLarge: "400 1.25rem/1.3 'IBM Plex Sans', Arial, sans-serif"; ddsFontHeadingXxlargeLetterSpacing: "-0.01em"; ddsFontHeadingXxlargeParagraphSpacing: "0.4em"; ddsFontHeadingXxlargeParagraphSpacingNumberEm: 0.4; ddsFontHeadingXlargeLetterSpacing: "-0.01em"; ddsFontHeadingXlargeParagraphSpacing: "0.4em"; ddsFontHeadingXlargeParagraphSpacingNumberEm: 0.4; ddsFontHeadingLargeLetterSpacing: "0em"; ddsFontHeadingLargeParagraphSpacing: "0.4em"; ddsFontHeadingLargeParagraphSpacingNumberEm: 0.4; ddsFontHeadingMediumLetterSpacing: "0em"; ddsFontHeadingMediumParagraphSpacing: "0.4em"; ddsFontHeadingMediumParagraphSpacingNumberEm: 0.4; ddsFontHeadingSmallLetterSpacing: "0em"; ddsFontHeadingSmallParagraphSpacing: "0.4em"; ddsFontHeadingSmallParagraphSpacingNumberEm: 0.4; ddsFontHeadingXsmallLetterSpacing: "0em"; ddsFontHeadingXsmallParagraphSpacing: "0.4em"; ddsFontHeadingXsmallParagraphSpacingNumberEm: 0.4; ddsFontHeadingXxsmallLetterSpacing: "0.01em"; ddsFontHeadingXxsmallParagraphSpacing: "0.4em"; ddsFontHeadingXxsmallParagraphSpacingNumberEm: 0.4; ddsFontBodyLongLargeLetterSpacing: "0em"; ddsFontBodyLongLargeParagraphSpacing: "1em"; ddsFontBodyLongLargeParagraphSpacingNumberEm: 1; ddsFontBodyLongMediumLetterSpacing: "0em"; ddsFontBodyLongMediumParagraphSpacing: "1em"; ddsFontBodyLongMediumParagraphSpacingNumberEm: 1; ddsFontBodyLongSmallLetterSpacing: "0em"; ddsFontBodyLongSmallParagraphSpacing: "1em"; ddsFontBodyLongSmallParagraphSpacingNumberEm: 1; ddsFontBodyLongXsmallLetterSpacing: "0.01em"; ddsFontBodyLongXsmallParagraphSpacing: "1em"; ddsFontBodyLongXsmallParagraphSpacingNumberEm: 1; ddsFontLeadMediumLetterSpacing: "0em"; ddsFontLeadMediumParagraphSpacing: "0.66em"; ddsFontLeadMediumParagraphSpacingNumberEm: 0.66; ddsFontCodeMediumLetterSpacing: "0em"; ddsFontCodeMediumParagraphSpacing: "1em"; ddsFontCodeMediumParagraphSpacingNumberEm: 1; ddsFontLabelMediumLetterSpacing: "0.01em"; ddsFontLabelMediumParagraphSpacing: "1em"; ddsFontLabelMediumParagraphSpacingNumberEm: 1; ddsFontBodyShortLargeLetterSpacing: "0em"; ddsFontBodyShortLargeParagraphSpacing: "1em"; ddsFontBodyShortLargeParagraphSpacingNumberEm: 1; ddsFontBodyShortMediumLetterSpacing: "0em"; ddsFontBodyShortMediumParagraphSpacing: "1em"; ddsFontBodyShortMediumParagraphSpacingNumberEm: 1; ddsFontBodyShortSmallLetterSpacing: "0.01em"; ddsFontBodyShortSmallParagraphSpacing: "1em"; ddsFontBodyShortSmallParagraphSpacingNumberEm: 1; ddsFontBodyShortXsmallLetterSpacing: "0.01em"; ddsFontBodyShortXsmallParagraphSpacing: "1em"; ddsFontBodyShortXsmallParagraphSpacingNumberEm: 1; ddsSizeHeightInputLarge: "3.8125rem"; ddsSizeHeightInputLargeNumberRem: 3.8125; ddsSizeHeightInputMedium: "3.125rem"; ddsSizeHeightInputMediumNumberRem: 3.125; ddsSizeHeightInputSmall: "2.5rem"; ddsSizeHeightInputSmallNumberRem: 2.5; ddsSizeHeightInputXsmall: "1.8125rem"; ddsSizeHeightInputXsmallNumberRem: 1.8125; } | { ddsFontFamilySans: "'IBM Plex Sans', Arial, sans-serif"; ddsFontFamilyMonospace: "'IBM Plex Mono', 'Courier New', monospace"; ddsFontSizeX5: "5rem"; ddsFontSizeX5NumberRem: 5; ddsFontSizeX4: "4rem"; ddsFontSizeX4NumberRem: 4; ddsFontSizeX3: "3rem"; ddsFontSizeX3NumberRem: 3; ddsFontSizeX25: "2.5rem"; ddsFontSizeX25NumberRem: 2.5; ddsFontSizeX2: "2rem"; ddsFontSizeX2NumberRem: 2; ddsFontSizeX15: "1.5rem"; ddsFontSizeX15NumberRem: 1.5; ddsFontSizeX125: "1.25rem"; ddsFontSizeX125NumberRem: 1.25; ddsFontSizeX1125: "1.125rem"; ddsFontSizeX1125NumberRem: 1.125; ddsFontSizeX1: "1rem"; ddsFontSizeX1NumberRem: 1; ddsFontSizeX0875: "0.875rem"; ddsFontSizeX0875NumberRem: 0.875; ddsFontSizeX075: "0.75rem"; ddsFontSizeX075NumberRem: 0.75; ddsFontWeightLight: "300"; ddsFontWeightNormal: "400"; ddsFontWeightSemiBold: "500"; ddsFontWeightBold: "600"; ddsFontLineheightX1: 1.5; ddsFontLineheightX3: 1.2; ddsFontLineheightX2: 1.3; ddsFontLetterSpacingTight: "-0.01em"; ddsFontLetterSpacingNormal: "0em"; ddsFontLetterSpacingLoose: "0.01em"; ddsFontParagraphSpacingSmall: "1em"; ddsFontParagraphSpacingSmallNumberEm: 1; ddsFontParagraphSpacingMedium: "0.66em"; ddsFontParagraphSpacingMediumNumberEm: 0.66; ddsFontParagraphSpacingLarge: "0.5em"; ddsFontParagraphSpacingLargeNumberEm: 0.5; ddsFontParagraphSpacingList: "0.5em"; ddsFontParagraphSpacingListNumberEm: 0.5; ddsFontParagraphSpacingHeading: "0.4em"; ddsFontParagraphSpacingHeadingNumberEm: 0.4; ddsFontStyleUnderline: "underline"; ddsFontStyleNormal: "none"; ddsFontStyleItalic: "italic"; ddsSpacingPaddingTopHeading: "0.7em"; ddsSpacingPaddingTopHeadingNumberEm: 0.7; ddsSpacingX0: "0rem"; ddsSpacingX0NumberRem: 0; ddsSpacingX0125: "0.125rem"; ddsSpacingX0125NumberRem: 0.125; ddsSpacingX025: "0.25rem"; ddsSpacingX025NumberRem: 0.25; ddsSpacingX05: "0.5rem"; ddsSpacingX05NumberRem: 0.5; ddsSpacingX075: "0.75rem"; ddsSpacingX075NumberRem: 0.75; ddsSpacingX1: "1rem"; ddsSpacingX1NumberRem: 1; ddsSpacingX15: "1.5rem"; ddsSpacingX15NumberRem: 1.5; ddsSpacingX2: "2rem"; ddsSpacingX2NumberRem: 2; ddsSpacingX25: "2.5rem"; ddsSpacingX25NumberRem: 2.5; ddsSpacingX3: "3rem"; ddsSpacingX3NumberRem: 3; ddsSpacingX4: "4rem"; ddsSpacingX4NumberRem: 4; ddsSpacingX6: "6rem"; ddsSpacingX6NumberRem: 6; ddsSpacingX10: "10rem"; ddsSpacingX10NumberRem: 10; ddsGridXsGutterSize: "16px"; ddsGridXsGutterSizeNumberPx: 16; ddsGridXsCount: "4"; ddsGridSmGutterSize: "16px"; ddsGridSmGutterSizeNumberPx: 16; ddsGridSmCount: "8"; ddsGridLgGutterSize: "24px"; ddsGridLgGutterSizeNumberPx: 24; ddsGridLgCount: "12"; ddsGridMdGutterSize: "24px"; ddsGridMdGutterSizeNumberPx: 24; ddsGridMdCount: "12"; ddsGridXlGutterSize: "24px"; ddsGridXlGutterSizeNumberPx: 24; ddsGridXlCount: "12"; ddsSizeIconLarge: "40px"; ddsSizeIconLargeNumberPx: 40; ddsSizeIconMedium: "24px"; ddsSizeIconMediumNumberPx: 24; ddsSizeIconSmall: "16px"; ddsSizeIconSmallNumberPx: 16; ddsSizeIconComponent: "1.3em"; ddsSizeIconComponentNumberEm: 1.3; ddsBreakpointXs: "1px"; ddsBreakpointXsNumberPx: 1; ddsBreakpointSm: "600px"; ddsBreakpointSmNumberPx: 600; ddsBreakpointMd: "960px"; ddsBreakpointMdNumberPx: 960; ddsBreakpointLg: "1280px"; ddsBreakpointLgNumberPx: 1280; ddsBreakpointXl: "1920px"; ddsBreakpointXlNumberPx: 1920; ddsZindexSkiptocontent: "250"; ddsZindexModalBackdrop: "200"; ddsZindexDrawer: "180"; ddsZindexDrawerBackdrop: "180"; ddsZindexOverflowmenu: "160"; ddsZindexPopover: "140"; ddsZindexTooltip: "120"; ddsZindexDropdown: "100"; ddsZindexSticky: "50"; ddsZindexAbsoluteElement: "1"; ddsColorData10Default: "#62abcb"; ddsColorData10Subtle: "#135774"; ddsColorData10Border: "#62abcb"; ddsColorDataRed100: "#f8d2d4"; ddsColorDataRed200: "#f0a5a9"; ddsColorDataRed300: "#f4858b"; ddsColorDataRed400: "#e14b53"; ddsColorDataRed500: "#da1e28"; ddsColorDataRed600: "#ae1820"; ddsColorDataRed700: "#831218"; ddsColorDataRed800: "#570c10"; ddsColorDataRed900: "#2c0608"; ddsColorDataMagenta100: "#f7d9f2"; ddsColorDataMagenta200: "#edb5e4"; ddsColorDataMagenta300: "#e079d0"; ddsColorDataMagenta400: "#d54dc0"; ddsColorDataMagenta500: "#cb20b0"; ddsColorDataMagenta600: "#a21a8d"; ddsColorDataMagenta700: "#7a136a"; ddsColorDataMagenta800: "#510d46"; ddsColorDataMagenta900: "#290623"; ddsColorDataBrown100: "#f0ddd5"; ddsColorDataBrown200: "#e1bcac"; ddsColorDataBrown300: "#d19a82"; ddsColorDataBrown400: "#c27959"; ddsColorDataBrown500: "#b3572f"; ddsColorDataBrown600: "#8f4626"; ddsColorDataBrown700: "#6b341c"; ddsColorDataBrown800: "#482313"; ddsColorDataBrown900: "#241109"; ddsColorDataOlive100: "#e9e7cd"; ddsColorDataOlive200: "#cdc9a1"; ddsColorDataOlive300: "#b3ae71"; ddsColorDataOlive400: "#989344"; ddsColorDataOlive500: "#7c7518"; ddsColorDataOlive600: "#635e13"; ddsColorDataOlive700: "#4a460e"; ddsColorDataOlive800: "#322f0a"; ddsColorDataOlive900: "#191705"; ddsColorDataGreen100: "#d7e8cf"; ddsColorDataGreen200: "#aed19e"; ddsColorDataGreen300: "#95c280"; ddsColorDataGreen400: "#619947"; ddsColorDataGreen500: "#3a8019"; ddsColorDataGreen600: "#2e6614"; ddsColorDataGreen700: "#234d0f"; ddsColorDataGreen800: "#17330a"; ddsColorDataGreen900: "#0c1a05"; ddsColorDataTeal100: "#c2e2e1"; ddsColorDataTeal200: "#90ccc9"; ddsColorDataTeal300: "#5dafad"; ddsColorDataTeal400: "#2c9390"; ddsColorDataTeal500: "#007d79"; ddsColorDataTeal600: "#006461"; ddsColorDataTeal700: "#004b49"; ddsColorDataTeal800: "#003230"; ddsColorDataTeal900: "#001918"; ddsColorDataDeepblue100: "#c6e3f1"; ddsColorDataDeepblue200: "#93cee6"; ddsColorDataDeepblue300: "#62abcb"; ddsColorDataDeepblue400: "#358fb5"; ddsColorDataDeepblue500: "#196b8f"; ddsColorDataDeepblue600: "#135774"; ddsColorDataDeepblue700: "#0e455e"; ddsColorDataDeepblue800: "#0d3445"; ddsColorDataDeepblue900: "#05151d"; ddsColorDataBlue100: "#cfe0ff"; ddsColorDataBlue200: "#9fc0ff"; ddsColorDataBlue300: "#6fa1fe"; ddsColorDataBlue400: "#3f81fe"; ddsColorDataBlue500: "#0f62fe"; ddsColorDataBlue600: "#0c4ecb"; ddsColorDataBlue700: "#093b98"; ddsColorDataBlue800: "#062766"; ddsColorDataBlue900: "#031433"; ddsColorDataPurple100: "#e8d9fe"; ddsColorDataPurple200: "#d0b2fe"; ddsColorDataPurple300: "#b98cfd"; ddsColorDataPurple400: "#a165fd"; ddsColorDataPurple500: "#8a3ffc"; ddsColorDataPurple600: "#6e32ca"; ddsColorDataPurple700: "#532697"; ddsColorDataPurple800: "#371965"; ddsColorDataPurple900: "#1c0d32"; ddsColorDataGray100: "#e3e3e3"; ddsColorDataGray200: "#c7c7c7"; ddsColorDataGray300: "#aaaaaa"; ddsColorDataGray400: "#8e8e8e"; ddsColorDataGray500: "#727272"; ddsColorDataGray600: "#5b5b5b"; ddsColorDataGray700: "#444444"; ddsColorDataGray800: "#2e2e2e"; ddsColorDataGray900: "#171717"; ddsColorData01Default: "#6fa1fe"; ddsColorData01Subtle: "#0c4ecb"; ddsColorData01Border: "#6fa1fe"; ddsColorData02Default: "#d19a82"; ddsColorData02Subtle: "#8f4626"; ddsColorData02Border: "#d19a82"; ddsColorData03Default: "#aaaaaa"; ddsColorData03Subtle: "#5b5b5b"; ddsColorData03Border: "#aaaaaa"; ddsColorData04Default: "#95c280"; ddsColorData04Subtle: "#2e6614"; ddsColorData04Border: "#95c280"; ddsColorData05Default: "#b98cfd"; ddsColorData05Subtle: "#6e32ca"; ddsColorData05Border: "#b98cfd"; ddsColorData06Default: "#e079d0"; ddsColorData06Subtle: "#a21a8d"; ddsColorData06Border: "#e079d0"; ddsColorData07Default: "#b3ae71"; ddsColorData07Subtle: "#635e13"; ddsColorData07Border: "#b3ae71"; ddsColorData08Default: "#f4858b"; ddsColorData08Subtle: "#ae1820"; ddsColorData08Border: "#f4858b"; ddsColorData09Default: "#5dafad"; ddsColorData09Subtle: "#006461"; ddsColorData09Border: "#5dafad"; ddsMotionMicroState: "200ms linear"; ddsMotionSurface: "200ms cubic-bezier(0.4, 0, 0.2, 1)"; ddsMotionChevron: "200ms linear"; ddsMotionAnimationSkeleton: "800ms cubic-bezier(0.4, 0, 0.2, 1) infinite alternate"; ddsColorBgDefault: "#181a1c"; ddsColorBgSubtle: "#22272a"; ddsColorSurfaceDefault: "#181a1c"; ddsColorSurfaceSubtle: "#22272a"; ddsColorSurfaceMedium: "#303438"; ddsColorSurfaceHoverDefault: "#062c45"; ddsColorSurfaceHoverSubtle: "#22272a"; ddsColorSurfaceSelectedDefault: "#062c45"; ddsColorSurfaceInverseDefault: "#354754"; ddsColorSurfaceInverseHover: "#2a3943"; ddsColorSurfaceInverseSelected: "#202b32"; ddsColorSurfaceActionResting: "#589ac6"; ddsColorSurfaceActionHover: "#9fc5de"; ddsColorSurfaceActionSelected: "#589ac6"; ddsColorSurfaceActionDangerResting: "#e47373"; ddsColorSurfaceActionDangerHover: "#efafaf"; ddsColorSurfaceActionSelectedDisabled: "#77838c"; ddsColorSurfaceDangerDefault: "#561616"; ddsColorSurfaceDangerStrong: "#dc4b4b"; ddsColorSurfaceSuccessDefault: "#284c29"; ddsColorSurfaceSuccessStrong: "#65be66"; ddsColorSurfaceWarningDefault: "#494317"; ddsColorSurfaceWarningStrong: "#f4e04d"; ddsColorSurfaceInfoDefault: "#2a4b61"; ddsColorSurfaceInfoStrong: "#75b9e6"; ddsColorSurfacePaperDefault: "#303438"; ddsColorSurfaceBackdropDefault: "#0b0d0e80"; ddsColorSurfaceFieldDefault: "#0b0d0e"; ddsColorSurfaceFieldDisabled: "#303438"; ddsColorSurfaceHighlightedDefault: "#833a21"; ddsColorSurfaceScrollbar: "#545c62"; ddsColorSurfaceNotification: "#d83737"; ddsColorSurfaceSkeleton: "#545c62"; ddsColorBorderDefault: "#77838c"; ddsColorBorderSubtle: "#545c62"; ddsColorBorderInverse: "#acbbc6"; ddsColorBorderActionDefault: "#589ac6"; ddsColorBorderActionHover: "#9fc5de"; ddsColorBorderSuccess: "#519852"; ddsColorBorderWarning: "#ccba35"; ddsColorBorderDanger: "#ad2c2c"; ddsColorBorderInfo: "#5197c5"; ddsColorBorderOnAction: "#181a1c"; ddsColorTextDefault: "#ffffff"; ddsColorTextMedium: "#e9ebec"; ddsColorTextSubtle: "#d6dadd"; ddsColorTextOnInverse: "#ffffff"; ddsColorTextDanger: "#efafaf"; ddsColorTextOnAction: "#0b0d0e"; ddsColorTextOnStatusDefault: "#ffffff"; ddsColorTextOnStatusStrong: "#0b0d0e"; ddsColorTextActionResting: "#9fc5de"; ddsColorTextActionHover: "#e7f1f7"; ddsColorTextRequiredfield: "#efafaf"; ddsColorTextActionVisited: "#cca9e1"; ddsColorTextActionVisitedOnInverse: "#cca9e1"; ddsColorTextOnNotification: "#ffffff"; ddsColorTextOnPrimaryDefault: "#ffffff"; ddsColorTextOnPrimarySubtle: "#ffffff"; ddsColorTextOnPrimaryMedium: "#ffffff"; ddsColorTextOnPrimaryStrong: "#ffffff"; ddsColorTextOnSecondaryDefault: "#0b0d0e"; ddsColorTextOnSecondarySubtle: "#ffffff"; ddsColorTextOnSecondaryMedium: "#ffffff"; ddsColorTextOnSecondaryStrong: "#0b0d0e"; ddsColorTextOnTertiaryDefault: "#0b0d0e"; ddsColorTextOnTertiarySubtle: "#ffffff"; ddsColorTextOnTertiaryMedium: "#0b0d0e"; ddsColorTextOnTertiaryStrong: "#0b0d0e"; ddsColorTextOnDataDefault: "#0b0d0e"; ddsColorTextOnDataSubtle: "#ffffff"; ddsColorIconDefault: "#ffffff"; ddsColorIconMedium: "#e9ebec"; ddsColorIconSubtle: "#d6dadd"; ddsColorIconOnInverse: "#ffffff"; ddsColorIconOnAction: "#0b0d0e"; ddsColorIconActionResting: "#9fc5de"; ddsColorIconActionHover: "#e7f1f7"; ddsColorIconOnSuccessDefault: "#c1e5c2"; ddsColorIconOnSuccessStrong: "#0b0d0e"; ddsColorIconOnWarningDefault: "#fbf3b8"; ddsColorIconOnWarningStrong: "#0b0d0e"; ddsColorIconOnDangerDefault: "#efafaf"; ddsColorIconOnDangerStrong: "#0b0d0e"; ddsColorIconOnInfoDefault: "#c8e3f5"; ddsColorIconOnInfoStrong: "#0b0d0e"; ddsColorIconDanger: "#efafaf"; ddsColorBrandPrimaryDefault: "#354754"; ddsColorBrandPrimarySubtle: "#2a3943"; ddsColorBrandPrimaryMedium: "#405767"; ddsColorBrandPrimaryStrong: "#4f6a7e"; ddsColorBrandSecondaryDefault: "#9ab8b7"; ddsColorBrandSecondarySubtle: "#2b3a3a"; ddsColorBrandSecondaryMedium: "#4d6463"; ddsColorBrandSecondaryStrong: "#b8cdcd"; ddsColorBrandTertiaryDefault: "#f27e55"; ddsColorBrandTertiarySubtle: "#a24422"; ddsColorBrandTertiaryMedium: "#f2a68f"; ddsColorBrandTertiaryStrong: "#ffd6ca"; ddsColorFocusOutside: "#f1f8fd"; ddsColorFocusInside: "#2a4b61"; ddsShadowLarge: "8px 16px 32px 0px rgba(11, 13, 14, 80%)"; ddsShadowMedium: "2px 4px 8px 0px rgba(11, 13, 14, 80%)"; ddsShadowSmall: "1px 2px 4px 0px rgba(11, 13, 14, 80%)"; ddsBorderRadiusButton: "2px"; ddsBorderRadiusButtonNumberPx: 2; ddsBorderRadiusSurface: "2px"; ddsBorderRadiusSurfaceNumberPx: 2; ddsBorderRadiusInput: "2px"; ddsBorderRadiusInputNumberPx: 2; ddsBorderRadiusChip: "2px"; ddsBorderRadiusChipNumberPx: 2; ddsBorderRadiusRounded: "9999px"; ddsBorderRadiusRoundedNumberPx: 9999; ddsFontLabelMedium: "600 1rem/1.3 'IBM Plex Sans', Arial, sans-serif"; ddsFontBodyLongXsmall: "400 0.875rem/1.5 'IBM Plex Sans', Arial, sans-serif"; ddsFontBodyLongSmall: "400 1rem/1.5 'IBM Plex Sans', Arial, sans-serif"; ddsFontBodyLongMedium: "400 1.125rem/1.5 'IBM Plex Sans', Arial, sans-serif"; ddsFontBodyLongLarge: "400 1.25rem/1.5 'IBM Plex Sans', Arial, sans-serif"; ddsFontHeadingXxsmall: "600 1rem/1.3 'IBM Plex Sans', Arial, sans-serif"; ddsFontHeadingXsmall: "600 1.125rem/1.3 'IBM Plex Sans', Arial, sans-serif"; ddsFontHeadingSmall: "600 1.25rem/1.3 'IBM Plex Sans', Arial, sans-serif"; ddsFontHeadingMedium: "500 1.5rem/1.3 'IBM Plex Sans', Arial, sans-serif"; ddsFontHeadingLarge: "400 clamp(1.5rem, 0.667rem + 2.222vw, 2rem)/1.3 'IBM Plex Sans', Arial, sans-serif"; ddsFontHeadingXlarge: "300 clamp(2.5rem, 1.667rem + 2.222vw, 3rem)/1.3 'IBM Plex Sans', Arial, sans-serif"; ddsFontHeadingXxlarge: "300 clamp(3rem, 1.333rem + 4.444vw, 4rem)/1.3 'IBM Plex Sans', Arial, sans-serif"; ddsFontLeadMedium: "300 1.5rem/1.5 'IBM Plex Sans', Arial, sans-serif"; ddsFontCodeMedium: "400 1.125rem/1.5 'IBM Plex Mono', 'Courier New', monospace"; ddsFontBodyShortXsmall: "400 0.875rem/1.3 'IBM Plex Sans', Arial, sans-serif"; ddsFontBodyShortSmall: "400 1rem/1.3 'IBM Plex Sans', Arial, sans-serif"; ddsFontBodyShortMedium: "400 1.125rem/1.3 'IBM Plex Sans', Arial, sans-serif"; ddsFontBodyShortLarge: "400 1.25rem/1.3 'IBM Plex Sans', Arial, sans-serif"; ddsFontHeadingXxlargeLetterSpacing: "-0.01em"; ddsFontHeadingXxlargeParagraphSpacing: "0.4em"; ddsFontHeadingXxlargeParagraphSpacingNumberEm: 0.4; ddsFontHeadingXlargeLetterSpacing: "-0.01em"; ddsFontHeadingXlargeParagraphSpacing: "0.4em"; ddsFontHeadingXlargeParagraphSpacingNumberEm: 0.4; ddsFontHeadingLargeLetterSpacing: "0em"; ddsFontHeadingLargeParagraphSpacing: "0.4em"; ddsFontHeadingLargeParagraphSpacingNumberEm: 0.4; ddsFontHeadingMediumLetterSpacing: "0em"; ddsFontHeadingMediumParagraphSpacing: "0.4em"; ddsFontHeadingMediumParagraphSpacingNumberEm: 0.4; ddsFontHeadingSmallLetterSpacing: "0em"; ddsFontHeadingSmallParagraphSpacing: "0.4em"; ddsFontHeadingSmallParagraphSpacingNumberEm: 0.4; ddsFontHeadingXsmallLetterSpacing: "0em"; ddsFontHeadingXsmallParagraphSpacing: "0.4em"; ddsFontHeadingXsmallParagraphSpacingNumberEm: 0.4; ddsFontHeadingXxsmallLetterSpacing: "0.01em"; ddsFontHeadingXxsmallParagraphSpacing: "0.4em"; ddsFontHeadingXxsmallParagraphSpacingNumberEm: 0.4; ddsFontBodyLongLargeLetterSpacing: "0em"; ddsFontBodyLongLargeParagraphSpacing: "1em"; ddsFontBodyLongLargeParagraphSpacingNumberEm: 1; ddsFontBodyLongMediumLetterSpacing: "0em"; ddsFontBodyLongMediumParagraphSpacing: "1em"; ddsFontBodyLongMediumParagraphSpacingNumberEm: 1; ddsFontBodyLongSmallLetterSpacing: "0em"; ddsFontBodyLongSmallParagraphSpacing: "1em"; ddsFontBodyLongSmallParagraphSpacingNumberEm: 1; ddsFontBodyLongXsmallLetterSpacing: "0.01em"; ddsFontBodyLongXsmallParagraphSpacing: "1em"; ddsFontBodyLongXsmallParagraphSpacingNumberEm: 1; ddsFontLeadMediumLetterSpacing: "0em"; ddsFontLeadMediumParagraphSpacing: "0.66em"; ddsFontLeadMediumParagraphSpacingNumberEm: 0.66; ddsFontCodeMediumLetterSpacing: "0em"; ddsFontCodeMediumParagraphSpacing: "1em"; ddsFontCodeMediumParagraphSpacingNumberEm: 1; ddsFontLabelMediumLetterSpacing: "0.01em"; ddsFontLabelMediumParagraphSpacing: "1em"; ddsFontLabelMediumParagraphSpacingNumberEm: 1; ddsFontBodyShortLargeLetterSpacing: "0em"; ddsFontBodyShortLargeParagraphSpacing: "1em"; ddsFontBodyShortLargeParagraphSpacingNumberEm: 1; ddsFontBodyShortMediumLetterSpacing: "0em"; ddsFontBodyShortMediumParagraphSpacing: "1em"; ddsFontBodyShortMediumParagraphSpacingNumberEm: 1; ddsFontBodyShortSmallLetterSpacing: "0.01em"; ddsFontBodyShortSmallParagraphSpacing: "1em"; ddsFontBodyShortSmallParagraphSpacingNumberEm: 1; ddsFontBodyShortXsmallLetterSpacing: "0.01em"; ddsFontBodyShortXsmallParagraphSpacing: "1em"; ddsFontBodyShortXsmallParagraphSpacingNumberEm: 1; ddsSizeHeightInputLarge: "3.8125rem"; ddsSizeHeightInputLargeNumberRem: 3.8125; ddsSizeHeightInputMedium: "3.125rem"; ddsSizeHeightInputMediumNumberRem: 3.125; ddsSizeHeightInputSmall: "2.5rem"; ddsSizeHeightInputSmallNumberRem: 2.5; ddsSizeHeightInputXsmall: "1.8125rem"; ddsSizeHeightInputXsmallNumberRem: 1.8125; }; themeName: "core-light" | "core-dark" | "public-light" | "public-dark"; }; type Language = 'nb' | 'nn' | 'no' | 'en' | 'se'; interface LanguageProviderProps { language: Language; children?: ReactNode; } type DdsProviderProps = LanguageProviderProps & ThemeProviderProps; declare function DdsProvider({ language, theme, children }: DdsProviderProps): react.JSX.Element; type PropsOfWithRef = ComponentPropsWithRef & { /** HTML- eller React-element som returneres. */ as?: T; } & Omit, 'as'>; type PolymorphicProps = PropsOfWithRef; declare const ElementAs: ({ as, ref, children, ...props }: PolymorphicProps) => react.JSX.Element; type AccordionProps = BaseComponentPropsWithChildren>; declare const Accordion: { ({ isInitiallyExpanded, isExpanded, onChange, id, children, className, style, htmlProps, ...rest }: AccordionProps): react.JSX.Element; displayName: string; }; declare function TextOverflowEllipsisWrapper({ className, ...rest }: ComponentProps<'span'>): react.JSX.Element; declare function TextOverflowEllipsisInner({ className, ...rest }: ComponentProps<'span'>): react.JSX.Element; type TypographyBodyShortType = 'bodyShortXsmall' | 'bodyShortSmall' | 'bodyShortMedium' | 'bodyShortLarge'; type TypographyBodyLongType = 'bodyLongXsmall' | 'bodyLongSmall' | 'bodyLongMedium' | 'bodyLongLarge'; type TypographyBodyType = TypographyBodyLongType | TypographyBodyShortType; declare const TG_HEADING_TYPES: readonly ["headingXxsmall", "headingXsmall", "headingSmall", "headingMedium", "headingLarge", "headingXlarge", "headingXxlarge"]; type TypographyHeadingType = (typeof TG_HEADING_TYPES)[number]; type TypographyLeadType = 'leadMedium'; type TypographyAnchorType = 'a'; type TypographyLabelType = 'labelMedium'; type OtherTypographyType = TypographyHeadingType | TypographyBodyType | TypographyLeadType; type TypographyType = TypographyAnchorType | TypographyLabelType | OtherTypographyType; type StaticTypographyType = OtherTypographyType | TypographyLabelType; type HyphenTypographyType = 'body-short-xsmall' | 'body-short-small' | 'body-short-medium' | 'body-short-large' | 'body-long-xsmall' | 'body-long-small' | 'body-long-medium' | 'body-long-large' | 'heading-xxsmall' | 'heading-xsmall' | 'heading-small' | 'heading-medium' | 'heading-large' | 'heading-xlarge' | 'heading-xxlarge' | 'lead-medium' | 'a' | 'label-medium'; type InlineElement = 'a' | 'abbr' | 'audio' | 'b' | 'bdi' | 'bdo' | 'big' | 'br' | 'button' | 'canvas' | 'cite' | 'code' | 'data' | 'datalist' | 'del' | 'dfn' | 'em' | 'embed' | 'i' | 'iframe' | 'img' | 'input' | 'ins' | 'kbd' | 'label' | 'map' | 'mark' | 'meter' | 'noscript' | 'object' | 'output' | 'picture' | 'progress' | 'q' | 'ruby' | 's' | 'samp' | 'script' | 'select' | 'slot' | 'small' | 'span' | 'strong' | 'sub' | 'sup' | 'svg' | 'template' | 'textarea' | 'time' | 'u' | 'var' | 'video' | 'wbr'; type BlockTypographyResponsiveProps = Pick; type InlineTypographyResponsiveProps = Pick & { display?: ExtractStrict; }; interface BaseTypographyProps { /**Tekstfarge fra utvalget eller custom. **OBS!** Bruk farger fra `@dds-design-tokens` med navn i kebab-case, f.eks. `text-subtle`. */ color?: TextColor; /**Spesifiserer om tekstelementet skal ha spacing definert i Elsa. * Brukes hovedsakelig i artikler og lignende. * **OBS!** har forskjellig virkning på ulike typografityper. * `body` og `lead`-typer får margin på bunnen, `heading`-typer får margin på bunnen og padding på toppen mens label får margin topp og bunn. * */ withMargins?: boolean; } interface CommonInlineTypographyProps extends BaseTypographyProps, InlineTypographyResponsiveProps { } interface CommonBlockTypographyProps extends BaseTypographyProps, BlockTypographyResponsiveProps { } type TypographyComponentProps = CommonBlockTypographyProps & { /**Setter `bold` styling. */ bold?: boolean; /**Setter `italic` styling. */ italic?: boolean; /**Setter en linje under. */ underline?: boolean; /**HTML tag som skal brukes istedenfor default definert via `typographyType`. */ as?: ElementType; }; type AnchorTypographyProps = BaseComponentPropsWithChildren>; type LabelTypographyProps = BaseComponentPropsWithChildren>; type OtherTypographyProps = BaseComponentPropsWithChildren>; type TypographyProps = ({ /**Styling basert på det typografiske utvalget definert i Figma. Returnerer default HTML tag for hver type. **OBS!** Ved bruk av `'a'` er det flere tilgjengelige props, se under. */ typographyType?: TypographyAnchorType; } & TypographyComponentProps & Omit) | ({ /**Styling basert på det typografiske utvalget definert i Figma. Returnerer default HTML tag for hver type. **OBS!** Ved bruk av `'a'` er det flere tilgjengelige props, se under. */ typographyType?: TypographyLabelType; } & TypographyComponentProps & Omit) | ({ /**Styling basert på det typografiske utvalget definert i Figma. Returnerer default HTML tag for hver type. **OBS!** Ved bruk av `'a'` er det flere tilgjengelige props, se under. */ typographyType?: OtherTypographyType; } & TypographyComponentProps & Omit); declare const Typography: { (props: TypographyProps): react.JSX.Element; displayName: string; }; declare const getElementType: (element: TypographyType) => ElementType; declare const isHeading: (type: TypographyType) => type is TypographyHeadingType; declare const isLegend: (as: ElementType) => boolean; declare const isCaption: (as: ElementType) => boolean; declare const inlineElements: Array; declare const isInlineElement: (as: ElementType) => as is InlineElement; declare function getTypographyCn(value: TypographyType): HyphenTypographyType; declare const getColorCn: (color?: TextColor) => string | null; type CaptionProps = BaseComponentPropsWithChildren; declare const Caption: { ({ id, className, style, htmlProps, children, ...rest }: CaptionProps): react.JSX.Element; displayName: string; }; type HeadingLevel = 1 | 2 | 3 | 4 | 5 | 6; type HeadingProps = BaseComponentPropsWithChildren` som er over et inputelement. */ withMarginsOverInput?: boolean; } & CommonBlockTypographyProps>; declare const Heading: { ({ id, className, style, htmlProps, children, typographyType, level, withMargins, withMarginsOverInput, ...rest }: HeadingProps): react.JSX.Element; displayName: string; }; type PickedHTMLAttributes$3 = Pick, 'htmlFor'>; interface BaseLabelProps { /** Om input knyttet til ledeteksten er påkrevd; påvirker styling. */ showRequiredStyling?: boolean; /** Om input knyttet til ledeteksten er `read-only`; påvirker styling. */ readOnly?: boolean; /**Innhold som står etter ledeteksten (knapp med ekstra info e.l.). */ afterLabelContent?: ReactNode; } type LabelProps = BaseComponentPropsWithChildren; declare const Label: { ({ showRequiredStyling, readOnly, id, className, style, htmlProps, children, afterLabelContent, ...rest }: LabelProps): react.JSX.Element; displayName: string; }; type LegendProps = BaseComponentPropsWithChildren` som er over et inputelement. */ withMarginsOverInput?: boolean; }>; declare const Legend: { ({ id, className, style, htmlProps, typographyType, withMarginsOverInput, withMargins, ...rest }: LegendProps): react.JSX.Element; displayName: string; }; type PickedHTMLAttributes$2 = Pick, 'onClick' | 'href' | 'target'>; type LinkProps = PolymorphicBaseComponentProps` tag. * */ isAnchor?: boolean; /**Om styling for inline ikon skal gjelde. * Ikon kan legges inn som barn ved siden av teksten med ``-komponent. * */ withIconStyling?: boolean; } & CommonInlineTypographyProps & PickedHTMLAttributes$2>; declare const Link: { ({ id, className, htmlProps, children, typographyType, withMargins, withVisited, style, color, as: propAs, isAnchor: propIsAnchor, withIconStyling, ...rest }: LinkProps): react.JSX.Element; displayName: string; }; type ParagraphProps = BaseComponentPropsWithChildren; declare const Paragraph: { ({ id, className, style, htmlProps, children, typographyType, ...rest }: ParagraphProps): react.JSX.Element; displayName: string; }; type AccordionHeaderProps = Omit>, 'id'>; declare const AccordionHeader: { ({ children, className, style, htmlProps, typographyType, bold, ...rest }: AccordionHeaderProps): react.JSX.Element; displayName: string; }; type AccordionBodyProps = Omit, 'id'>; declare const AccordionBody: { ({ children, className, style, htmlProps, ...rest }: AccordionBodyProps): react.JSX.Element; displayName: string; }; type BackLinkProps = { /** * Ledetekst. */ label: string; /** * Custom HTML- eller React-element som returneres. Brukes ved klient-side ruting o.l. */ as?: ElementType; } & Pick, 'onClick' | 'href' | 'ref'>; declare const BackLink: { ({ label, ref, as, ...rest }: BackLinkProps): react.JSX.Element; displayName: string; }; type BreadcrumbProps = ComponentPropsWithRef<'a'> | ComponentPropsWithRef<'span'>; declare const isAnchorTypographyProps: (props: BreadcrumbProps) => props is ComponentPropsWithRef<"a">; declare const Breadcrumb: { ({ children, ref, ...rest }: BreadcrumbProps): react.JSX.Element; displayName: string; }; type BreadcrumbsProps = BaseComponentProps barn.` */ children?: ReactNode; }>; declare const Breadcrumbs: { ({ children, smallScreenBreakpoint, id, className, style, htmlProps, ...rest }: BreadcrumbsProps): react.JSX.Element; displayName: string; }; type PickedHTMLAttributes$1 = Pick, 'role' | 'aria-label' | 'aria-labelledby'>; type ButtonGroupProps = BaseComponentPropsWithChildren, keyof PickedHTMLAttributes$1>>; declare const ButtonGroup: { ({ children, id, className, style, htmlProps, direction, buttonSize, role, ...rest }: ButtonGroupProps): react.JSX.Element; displayName: string; }; interface SelectionControlCommonProps { /**Ledetekst for alternativet. */ label?: string; /**Spesifiserer om input er `disabled`. */ disabled?: boolean; /**Indikerer valideringsfeil. Påvirker styling. */ error?: boolean; /**Inputelementet blir `readonly` - den kan ikke interageres med. Brukes bl.a. til å presentere input brukeren har fylt ut andre steder. */ readOnly?: boolean; /**Barn. Brukes når komponenten skal ha unik layout eller lignende. */ children?: ReactNode; } interface SelectionControlGroupCommonProps { /**Ledetekst for gruppen. */ label?: string; /**Retningen barna gjengis i. * @default "row" */ direction?: Direction$1; /**Custom id for for gruppen, knytter ledetekst til gruppen via `aria-label`. */ groupId?: string; /**Hjelpetekst for gruppen. */ tip?: string; /**Gir alle barna `disabled` prop. */ disabled?: boolean; /**Gir alle barna `readOnly` prop. */ readOnly?: boolean; /**Meldingen som vises ved valideringsfeil. Gir error-tilstand til barna og setter `aria-describedby` for barna. */ errorMessage?: string; } type CheckboxPickedHTMLAttributes = Pick, 'aria-describedby' | 'name' | 'checked' | 'defaultChecked' | 'value' | 'defaultValue' | 'onChange' | 'onBlur'>; type CheckboxProps = BaseComponentProps` som hører til en gruppe kan bli valgt ved å trykke på en forelder ``. * Hvis enkelte `` blir valgt men ikke alle, skal forelder `` få tilstanden `indeterminate` - verken valgt eller ikke. */ indeterminate?: boolean; } & CheckboxPickedHTMLAttributes & Pick, 'required'>, InputHTMLAttributes>; declare const Checkbox: { ({ id, name, label, error, disabled, readOnly, indeterminate, "aria-describedby": ariaDescribedby, className, htmlProps, style, children, ...rest }: CheckboxProps): react.JSX.Element; displayName: string; }; type CheckboxGroupProps = BaseComponentPropsWithChildren`-barna manuelt. */ required?: boolean; }>; declare const CheckboxGroup: { (props: CheckboxGroupProps): react.JSX.Element; displayName: string; }; type RadioPickedInputHTMLAttributes = Pick, 'name' | 'readOnly' | 'checked' | 'value' | 'required' | 'onChange' | 'aria-describedby'>; type RadioButtonProps = BaseComponentProps; type RadioValue = RadioPickedInputHTMLAttributes['value']; type CardAppearance = 'filled' | 'border'; type BaseCardProps = BaseComponentPropsWithChildren; }>; type InfoCardProps = BaseCardProps & { /** Spesifiserer funksjonalitet og formål med komponenten. **OBS!** ved `'navigation'` må `href` oppgis. */ cardType: 'info'; }; type NavigationCardProps = BaseCardProps & { cardType: 'navigation'; } & Pick, 'href' | 'target' | 'onClick'>; type ExpandableCardProps = BaseCardProps & { cardType: 'expandable'; }; type CardProps = InfoCardProps | NavigationCardProps | ExpandableCardProps; type CardSelectableType = 'radio' | 'checkbox'; type CardSelectableProps = BaseComponentPropsWithChildren, 'appearance'> & Omit & { /** Spesifiserer inputtype som returneres. */ cardType?: CardSelectableType; /** Custom padding. */ padding?: Property.Padding; /** Custom absolutt posisjonering av kontroll-elementet. */ controlPlacementProps?: { left?: Property.Left; top?: Property.Top; }; } & RadioPickedInputHTMLAttributes & CheckboxPickedHTMLAttributes>; declare const Card: { (props: CardProps): react.JSX.Element; displayName: string; }; type CardExpandableProps = BaseComponentPropsWithChildren>; declare const CardExpandable: { ({ isInitiallyExpanded, isExpanded, onChange, id, children, className, style, htmlProps, ...rest }: CardExpandableProps): react.JSX.Element; displayName: string; }; type CardExpandableHeaderProps = Omit; /**Overskriver default teksttype. */ typographyType?: StaticTypographyType; /**Angir om teksten skal være i "bold"-format. */ bold?: boolean; }, ButtonHTMLAttributes>, 'id'>; declare const CardExpandableHeader: { ({ children, className, style, htmlProps, padding, typographyType, bold, ...rest }: CardExpandableHeaderProps): react.JSX.Element; displayName: string; }; type CardExpandableBodyProps = Omit; }>, 'id'>; declare const CardExpandableBody: { ({ children, className, style, htmlProps, padding, ...rest }: CardExpandableBodyProps): react.JSX.Element; displayName: string; }; declare const CardSelectable: { (props: CardSelectableProps): react.JSX.Element | null; displayName: string; }; type CardSelectableGroupProps = BaseComponentPropsWithChildren & Pick & { /** Spesifiserer inputtype som returneres. */ cardType: CardSelectableType; /**Id til valgfri hjelpetekst; Tar hånd om semantisk tilknytting og annen UU. */ tipId?: string; /** Gir alle barna `name` prop.*/ name?: string; /**Funksjonen for `onChange`-event for barna. */ onChange?: (value: T | undefined) => void; /** Gjør alle barna påkrevd ved å gi dem `required` prop. */ required?: boolean; /**Verdi - en `` med denne verdien blir valgt med controlled state. */ value?: T | undefined; /**Default verdi - en `` med denne verdien blir forhåndsvalgt med uncontrolled state. */ defaultValue?: T | undefined; }, Omit, 'onChange'>>; declare const CardSelectableGroup: { ({ name, cardType, errorMessage, disabled, readOnly, value, defaultValue, children, required, onChange, id, tipId, className, style, htmlProps, ...rest }: CardSelectableGroupProps): react.JSX.Element; displayName: string; }; type ChipProps = BaseComponentProps` lukkes. */ onClose?: () => void; }>; declare const Chip: { ({ children, onClose, id, className, style, htmlProps, ...rest }: ChipProps): react.JSX.Element | null; displayName: string; }; type ChipGroupProps = ComponentPropsWithRef<'ul'>; declare const ChipGroup: { ({ children, ...rest }: ChipGroupProps): react.JSX.Element; displayName: string; }; type CookieBannerCheckboxProps = Omit & { /**Header - kort oppsummering av den spesifikke typen informasjonskapsel. */ headerText?: string; /**Detaljer rundt den spesifikke typen informasjonskapsel. */ description: string; }; declare function CookieBannerCheckbox({ headerText, description, id, className, style, htmlProps, ...rest }: CookieBannerCheckboxProps): react.JSX.Element; declare namespace CookieBannerCheckbox { var displayName: string; } type CookieBannerProps = BaseComponentPropsWithChildren>; /**Checkboxes for hver type informasjonskapsel som brukes på siden. Layout håndteres ut av boksen. */ checkboxes?: Array; /**Brekkpunkt for sammentrukket variant; Brukes på siden med detaljer om informasjonskapsler. */ collapsedBreakpoint?: Breakpoint; } & Pick>; declare function CookieBanner({ headerText, description, buttons, checkboxes, id, className, style, htmlProps, maxHeight, width, children, collapsedBreakpoint, ref, ...rest }: CookieBannerProps): react.JSX.Element; declare namespace CookieBanner { var displayName: string; } type CalendarProps = AriaCalendarProps; declare function Calendar(props: CalendarProps): react.JSX.Element; declare namespace Calendar { var displayName: string; } interface CommonInputProps { /**Ledetekst. */ label?: string; /** Innhold etter ledetekst, f.eks. knapp som viser ekstra info e.l. */ afterLabelContent?: ReactNode; /**Bredde for inputfeltet. Kan settes per brekkpunkt, manglende brekkpunter får da default bredde. */ width?: ResponsiveProps['width']; /**Hjelpetekst. */ tip?: string; /**Feilmelding. Setter også error state. */ errorMessage?: string; } declare const INPUT_SIZES: ["xsmall", "small", "medium"]; type InputSize = (typeof INPUT_SIZES)[number]; type InputProps = CommonInputProps & { /**Størrelse på inputfeltet. * @default "medium" */ componentSize?: InputSize; } & Omit, 'width' | 'height'>; interface InputIconProps { /** Ikonet som vises i komponenten. */ icon?: SvgIcon; } type DateFieldProps = AriaDateFieldOptions & { buttonProps?: ReturnType['buttonProps']; buttonOnClick?: () => void; groupProps?: ReturnType['groupProps']; ref?: Ref; clearable?: boolean; tipId?: string; errorMessageId?: string; } & Pick; interface DatePickerProps extends Omit, 'granularity'>, Pick, 'componentSize' | 'tip' | 'style'>, Pick { ref?: Ref; /** * Ledetekst. */ label?: string; /** * Feilmelding. */ errorMessage?: string; /**Om ukenummer skal vises. * @default true */ showWeekNumbers?: boolean; /** * Brekkpunkt for små skjermer; viser kalender i modal. */ smallScreenBreakpoint?: Breakpoint; /** * Om brukeren kan fjerne valgt dato med en tømmeknapp, inkludert delvis utfylte verdier (f.eks. kun måned). * @default false */ clearable?: boolean; } declare function DatePicker({ errorMessage, componentSize, tip, style, width, smallScreenBreakpoint, showWeekNumbers, clearable, ref, ...props }: DatePickerProps): react.JSX.Element; declare namespace DatePicker { var displayName: string; } type TimePickerProps = Omit, 'hideTimeZone'> & Pick & { ref?: Ref; }; declare function TimePicker({ componentSize, width, ref, ...props }: TimePickerProps): react.JSX.Element; declare namespace TimePicker { var displayName: string; } declare function nativeDateToDateValue(date: Date, timeZone?: string | undefined): DateValue$1; declare function dateValueToNativeDate(date: DateValue$1, timeZone?: string | undefined): Date; declare function nativeDateToCalendarDate(date: Date): CalendarDate; declare function nativeDateToTime(date: Date): Time; declare function calendarDateToNativeDate(date: CalendarDate, time?: Time): Date; type DescriptionListAppearance = 'default' | 'subtle'; type DescriptionListProps = BaseComponentPropsWithChildren; declare const DescriptionList: { ({ appearance, direction, children, id, className, style, htmlProps, ...rest }: DescriptionListProps): react.JSX.Element; displayName: string; }; type DescriptionListTermProps = ComponentPropsWithRef<'dt'>; declare const DescriptionListTerm: { (props: DescriptionListTermProps): react.JSX.Element; displayName: string; }; type DescriptionListDescProps = BaseComponentPropsWithChildren; declare const DescriptionListDesc: { ({ children, icon, id, className, style, htmlProps, ...rest }: DescriptionListDescProps): react.JSX.Element; displayName: string; }; type DescriptionListGroupProps = BaseComponentPropsWithChildren; /**Custom min-width. */ minWidth?: Property.MinWidth; /**Custom max-width. */ maxWidth?: Property.MaxWidth; }>; declare const DescriptionListGroup: { ({ children, margin, minWidth, maxWidth, id, className, style, htmlProps, ...rest }: DescriptionListGroupProps): react.JSX.Element; displayName: string; }; declare const DETAIL_LIST_SIZES: ["small", "medium", "large"]; type DetailListSize = (typeof DETAIL_LIST_SIZES)[number]; type DetailListProps = BaseComponentPropsWithChildren; declare const DetailList: { ({ id, className, style, htmlProps, withDividers, striped, size, smallScreenBreakpoint, ...rest }: DetailListProps): react.JSX.Element; displayName: string; }; type DetailListDescProps = ComponentPropsWithRef<'dd'> & Pick; declare const DetailListDesc: { ({ className, ...rest }: DetailListDescProps): react.JSX.Element; displayName: string; }; type DetailListRowProps = ComponentPropsWithRef<'div'>; declare const DetailListRow: { ({ className, ...rest }: DetailListRowProps): react.JSX.Element; displayName: string; }; type DetailListTermProps = ComponentPropsWithRef<'dt'>; declare const DetailListTerm: { ({ className, ...rest }: DetailListTermProps): react.JSX.Element; displayName: string; }; type DividerColor = 'default' | 'subtle' | 'on-inverse'; type DividerProps = BaseComponentProps, 'color'>>; declare const Divider: ({ color, id, className, style, htmlProps, ...rest }: DividerProps) => react.JSX.Element; declare const DRAWER_SIZES: ["small", "medium", "large"]; type DrawerSize = (typeof DRAWER_SIZES)[number]; type DrawerPlacement = 'left' | 'right'; type DrawerProps = Omit`. * @default "small" */ size?: DrawerSize; /** Plasseringen til ``. * @default "right" */ placement?: DrawerPlacement; /**Header for ``. Returnerer default `` hvis verdien er en `string`. */ header?: string | ReactNode; /**Spesifiserer hvilken DOM node `` skal ha som forelder via React portal. * Brukes med f.eks `document.getElementById("id")` eller ref (skaper ikke ny DOM node). * @default themeProviderRef */ parentElement?: HTMLElement; /** * Om `` skal vises med backdrop som gråer ut bakgrunnen. */ withBackdrop?: boolean; } & Pick>, 'id'>; declare const Drawer: { ({ children, header, placement, parentElement, size, className, style, htmlProps, maxWidth, minWidth, width, withBackdrop, ref, ...rest }: DrawerProps): react.ReactPortal | null; displayName: string; }; interface DrawerGroupProps { /**Barna til komponenten: trigger-element og ``. */ children: ReactNode; /** * Om `` er åpen ved første render. */ isInitiallyOpen?: boolean; /** * Implementerer kontrollert tilstand: om `` er åpen. */ isOpen?: boolean; /** * Implementerer kontrollert tilstand: funksjon som kontrollerer `isOpen`. */ setIsOpen?: Dispatch>; /**`id` til ``. */ drawerId?: string; /**Ekstra logikk som kjøres når `` åpnes. */ onOpen?: () => void; /**Ekstra logikk som kjøres når `` lukkes. */ onClose?: () => void; } declare const DrawerGroup: { ({ children, isInitiallyOpen, isOpen: propIsOpen, setIsOpen: propSetIsOpen, drawerId, onOpen, onClose, }: DrawerGroupProps): react.JSX.Element; displayName: string; }; type EmptyContentProps = { /**Tittel - kort oppsummering. */ headerText?: string; /**Nivå på overskriften. Sørg for at den følger hierarkiet på siden. * @default 2 */ headerHeadingLevel?: HeadingLevel; /**Melding - beskrivelse og forklaring på hvordan brukeren kan få innhold. Kan inneholde lenker og andre interaktive elementer. */ children: ReactNode; } & Omit, 'children'>; declare function EmptyContent({ headerText, children, headerHeadingLevel, ...rest }: EmptyContentProps): react.JSX.Element; declare namespace EmptyContent { var displayName: string; } type ErrorSummaryProps = BaseComponentPropsWithChildren; declare const ErrorSummary: { ({ heading: pHeading, className, style, children, id, htmlProps, ...props }: ErrorSummaryProps): react.JSX.Element; displayName: string; }; type ErrorSummaryItemProps = LinkProps; declare const ErrorSummaryItem: { ({ className, style, children, id, htmlProps, ...props }: ErrorSummaryItemProps): react.JSX.Element; displayName: string; }; declare const FAVSTAR_SIZES: ["medium", "large"]; type ComponentSize = (typeof FAVSTAR_SIZES)[number]; type FavStarProps = BaseComponentPropsWithChildren` uncontrolled så kan denne brukes til å sette den initielle "favoritt"-statusen. * @default false */ defaultChecked?: boolean; /** * Callback som blir kalt når brukeren endrer status på favorisering. */ onChange?: (checked: boolean) => void; /** * Størrelse på ``. `'medium'` er den mest vanlige størrelsen. * @default "medium" */ size?: ComponentSize; }, Omit, 'onChange'>>; declare const FavStar: { ({ id, className, style, onChange, checked: checkedProp, defaultChecked, size, htmlProps, ...rest }: FavStarProps): react.JSX.Element; displayName: string; }; interface FeedbackProps { /**Om knappene skal være plassert under eller ved siden av teksten. */ layout?: Layout; /**Label som er plassert over tommel opp/ned knappene. * @default "Hva syns du om tjenesten?" */ ratingLabel?: string; /**Label til fritekstfeltet når bruker har gitt tommel opp. * @default "Hva kan vi forbedre? (valgfritt)" */ positiveFeedbackLabel?: string; /**Label til fritekstfeltet når bruker har gitt tommel ned. * @default "Hva kan vi forbedre? (valgfritt)" */ negativeFeedbackLabel?: string; /**Tittel som vises når bruker har gitt tommel opp/ned, og enda ikke sendt inn kommentar. * @default "Tusen takk! Tilbakemeldingen din hjelper oss å forbedre løsningen" */ ratingSubmittedTitle?: string; /**Tittel som vises når bruker har gitt feedback (inkl. eventuell kommentar). * @default "Tusen takk! Tilbakemeldingen din hjelper oss å forbedre løsningen" */ submittedTitle?: string; /**Tip som vises under tekstfeltet når bruker skal sende inn kommentar. * @default "Ikke send inn personopplysninger eller annen sensitiv informasjon" */ textAreaTip?: string; /**Om tommel opp eller ned er valgt. Brukes når komponenten skal være styrt utenfra. */ ratingValue?: Rating | null; /**Verdien til fritekstfeltet. Brukes når komponenten skal være styrt utenfra. */ feedbackTextValue?: string; /**Tooltip-teksten til tommel-opp-knappen. * @default "Bra" */ thumbUpTooltip?: string; /**Tooltip-teksten til tommel-ned-knappen. * @default "Dårlig" */ thumbDownTooltip?: string; /**Om tilbakemeldingskomponenten skal ekskludere fritekstfeltet (i.e. kun ha tommel opp/ned). * @default false */ feedbackTextAreaExcluded?: boolean; /**Om knappene skal vise spinner. Gjelder både tommel opp/ned knappene, og "send inn" knappen. * @default false */ loading?: boolean; /**Om tilbakemelding er sendt inn. Brukes når komponenten skal være styrt utenfra. */ isSubmitted?: boolean; /**Callback når bruker har gitt tommel-rating. */ onRating?: (rating: Rating) => void; /**Callback når bruker skriver noe i fritekstfeltet. */ onFeedbackTextChange?: (feedbackText: string) => void; /**Callback når bruker sender inn feedback. */ onSubmit?: (rating: Rating, feedbackText: string) => void; } type Rating = 'positive' | 'negative'; type Layout = 'vertical' | 'horizontal'; declare const Feedback: ({ layout, ratingLabel, positiveFeedbackLabel, negativeFeedbackLabel, ratingSubmittedTitle, submittedTitle, textAreaTip, ratingValue: ratingProp, feedbackTextValue: feedbackTextProp, thumbUpTooltip, thumbDownTooltip, feedbackTextAreaExcluded, loading, isSubmitted: isSubmittedProp, onRating, onFeedbackTextChange, onSubmit, }: FeedbackProps) => react.JSX.Element; type FieldsetProps = BaseComponentPropsWithChildren; declare const Fieldset: { ({ id, className, style, htmlProps, ...rest }: FieldsetProps): react.JSX.Element; displayName: string; }; type FieldsetGroupProps = BaseComponentPropsWithChildren; declare const FieldsetGroup: { ({ id, className, style, htmlProps, ...rest }: FieldsetGroupProps): react.JSX.Element; displayName: string; }; type FileExtensionAccept = `.${string}`; type AnyMimeType = '*'; type ImageMimeType = 'png' | 'jpeg' | 'bmp' | 'gif' | 'svg+xml' | 'tiff' | 'webp'; type VideoMimeType = 'x-msvideo' | 'mp4' | 'mpeg' | 'ogg' | 'mp2t' | 'webm' | '3gpp' | '3gpp2'; type AudioMimeType = 'aac' | 'midi' | 'x-midi' | 'mpeg' | 'ogg' | 'opus' | 'wav' | 'webm' | '3gpp' | '3gpp2'; type ApplicationMimeType = 'octet-stream' | 'msword' | 'vnd.openxmlformats-officedocument.wordprocessingml.document' | 'epub+zip' | 'gzip' | 'java-archive' | 'json' | 'vnd.oasis.opendocument.presentation' | 'vnd.oasis.opendocument.spreadsheet' | 'vnd.oasis.opendocument.text' | 'pdf' | 'vnd.ms-powerpoint' | 'vnd.openxmlformats-officedocument.presentationml.presentation' | 'rtf' | 'x-sh' | 'x-tar' | 'vnd.visio' | 'xhtml+xml' | 'vnd.ms-excel' | 'vnd.openxmlformats-officedocument.spreadsheetml.sheet' | 'xml' | 'vnd.mozilla.xul+xml' | 'zip'; type MimeType = `image/${ImageMimeType | AnyMimeType}` | `video/${VideoMimeType | AnyMimeType}` | `audio/${AudioMimeType | AnyMimeType}` | `application/${ApplicationMimeType}`; type FileUploaderAccept = MimeType | FileExtensionAccept; interface RemoteFile { name: string; url: string; } type FileList = Array; type UploadStatus = 'uploading' | 'success' | 'error'; interface UploadInfo { uploadStatus?: UploadStatus; errorMessage?: string; } type FileStatusMap = Map; type FileUploaderHookProps = { /**Dersom komponenten skal styres internt. Utgangspunktet for filene som har blitt lastet opp. */ initialFiles: FileList | undefined; /**Dersom komponenten styres utenfra. Filene som har blitt lastet opp. */ value: FileList | undefined; /**Callback for når fil-listen endres. */ onChange: (newFiles: FileList) => void; /**Filendelser eller mime-typer filopplasteren skal akseptere. */ accept: Array | undefined; /**Om filopplasteren er avslått eller ikke. */ disabled?: boolean; /**Om filopplasteren er read-only. */ readOnly?: boolean; /**Maks antall filer som tillates. */ maxFiles: number | undefined; onKeyDown?: ComponentProps<'input'>['onKeyDown']; } & Pick; type FileUploaderProps = { /**Id til filopplasteren. */ id?: string; /**Ledetekst for slippsonen. Denne teksten skal, av UU-hensyn, henge sammen med den usynlige teksten: "velg fil med påfølgende knapp" * @default Dra og slipp filer her eller */ dropAreaLabel?: string; /**Ledetekst for opplastingsknappen. * @default Velg fil */ btnLabel?: string; /**Om det er påkrevd med minst én fil. */ required?: boolean; /**Callback for når fil-listen endres. */ onChange: (newFiles: FileList) => void; /**Om drag-and-drop zone skal vises. * @default true */ withDragAndDrop?: boolean; /**Om listen med opplastede filer skal skjules. Brukes kun hvis listen blir vist på egen måte. */ hideFileList?: boolean; /** Map som lar konsumenten styre info om opplasting på hver fil: status og feilmelding. Bruker `deriveId` prop som nøkkel. Statusinfo vises i fillisten. */ fileStatusMap?: Map; /** Funksjon som genererer en ID for hver fil. Brukes som nøkkel i `fileStatusMap` prop for å kunne mappe status på opplasting av hver fil og vise det i fillisten. */ deriveId?: (file: File | RemoteFile) => string; /** * Funksjon som lar brukeren prøve å laste opp en fil på nytt ved opplastlingfeil. Brukes sammen med `deriveId` og `fileStatusMap` props. */ onRetry?: (fileId: string) => void; } & Pick & Partial & Omit, 'onChange' | 'id'> & Pick; declare const FileUploader: { (props: FileUploaderProps): react.JSX.Element; displayName: string; }; type FooterProps = ComponentPropsWithRef<'footer'>; declare const Footer: ({ className, ...rest }: FooterProps) => react.JSX.Element; type FooterListHeaderProps = Omit; declare const FooterListHeader: (props: FooterListHeaderProps) => react.JSX.Element; type HideBreakpoint = 'xs' | 'sm' | 'md'; type FooterLogoProps = ComponentPropsWithRef<'img'> & { /**Brekkepunkt når logoen skal skjules på mindre skjerm. */ hideBreakpoint?: HideBreakpoint; }; declare const FooterLogo: ({ hideBreakpoint, ...rest }: FooterLogoProps) => react.JSX.Element; type FooterListProps = ComponentPropsWithRef<'ul'>; declare const FooterList: ({ className, ...rest }: FooterListProps) => react.JSX.Element; type FooterSocialsListProps = ComponentPropsWithRef<'ul'>; declare const FooterSocialsList: ({ className, ...rest }: FooterSocialsListProps) => react.JSX.Element; type FooterSocialsGroupProps = ComponentPropsWithRef<'div'>; declare const FooterSocialsGroup: ({ className, ...rest }: FooterSocialsGroupProps) => react.JSX.Element; type FooterListGroupProps = ComponentPropsWithRef<'div'>; declare const FooterListGroup: ({ className, ...rest }: FooterListGroupProps) => react.JSX.Element; type FooterLeftProps = ComponentPropsWithRef<'div'>; declare const FooterLeft: ({ className, ...rest }: FooterLeftProps) => react.JSX.Element; type FormSummaryProps = Pick; declare const FormSummary: (props: FormSummaryProps) => react.JSX.Element; type InputMessageType = 'error' | 'tip'; type InputMessageProps = BaseComponentProps>; declare const InputMessage: { ({ messageType, id, className, style, htmlProps, children, ...rest }: InputMessageProps): react.JSX.Element; displayName: string; }; interface RenderInputMessageProps { tip?: string; tipId?: string; errorMessage?: string; errorMessageId?: string; noSpacing?: boolean; } declare const renderInputMessage: ({ tip, tipId, errorMessage, errorMessageId, noSpacing, }: RenderInputMessageProps) => react.JSX.Element; type FormSummaryHeaderProps = ComponentPropsWithRef<'div'>; declare function FormSummaryHeader({ ...props }: FormSummaryHeaderProps): react.JSX.Element; type FormSummaryHeadingProps = { /** Heading level. */ level?: Exclude; } & Omit; declare function FormSummaryHeading({ level, ...props }: FormSummaryHeadingProps): react.JSX.Element; type FormSummaryEditButtonProps = { /**Formål med knappen. */ purpose?: ExtractStrict; } & Omit; declare function FormSummaryEditButton({ purpose, ...props }: FormSummaryEditButtonProps): react.JSX.Element; type FormSummaryFieldsProps = Omit; declare function FormSummaryFields({ ...props }: FormSummaryFieldsProps): react.JSX.Element; type FormSummaryFieldProps = ComponentPropsWithRef<'div'>; declare function FormSummaryField({ className, ...props }: FormSummaryFieldProps): react.JSX.Element; type FormSummaryLabelProps = DescriptionListTermProps; declare function FormSummaryLabel(props: FormSummaryLabelProps): react.JSX.Element; type FormSummaryValueProps = { /**Hvis data hentes fra ekstern kilde kan feltet vise innlastning. */ isLoading?: boolean; } & DescriptionListDescProps; declare function FormSummaryValue({ className, isLoading, children, ...props }: FormSummaryValueProps): react.JSX.Element; declare function FormSummaryEmptyValue(): react.JSX.Element; type FormSummaryErrorProps = Omit; declare function FormSummaryError({ ...props }: FormSummaryErrorProps): react.JSX.Element; declare const G_MESSAGE_PURPOSES: ["info", "warning", "danger"]; type GlobalMessagePurpose = (typeof G_MESSAGE_PURPOSES)[number]; type GlobalMessageProps = BaseComponentProps void; }>; declare const GlobalMessage: { ({ purpose, closable, onClose, children, id, className, style, htmlProps, ...rest }: GlobalMessageProps): react.JSX.Element | null; displayName: string; }; type InlineButtonProps = { /** * Enestående ikon; bruk av denne propen sørge for riktig visning av ikonet. */ icon?: SvgIcon; } & Pick & Omit, 'color'>; declare const InlineButton: ({ className, color, icon, children, ...rest }: InlineButtonProps) => react.JSX.Element; interface InlineEditContextType { onChange: (e: ChangeEvent) => void; onBlur: (e: FocusEvent) => void; onFocus: (e: FocusEvent) => void; isEditing: boolean; value: string | number | ReadonlyArray | undefined; emptiable: boolean; } interface TagToElementMap { input: HTMLInputElement; textarea: HTMLTextAreaElement; select: HTMLSelectElement; } type EditElementTag = keyof TagToElementMap; type EditElement = TagToElementMap[EditElementTag]; type PickedContextType = Partial>; type InlineEditHTMLProps = Omit, keyof PickedContextType | 'width'>; interface CommonInlineFieldProps { /**Spesifiserer error state. Hvis `errorMessage` ikke brukes må inputfeltet knyttes med ARIA til en feilmelding som vises andre steder i applikasjonen. */ error?: boolean; /**Feilmelding. Setter også error state. */ errorMessage?: string; /** Bredde på komponenten. * @default "140px" */ width?: ResponsiveProps['width']; /**Om redigeringsikonet skal vises. */ hideIcon?: boolean; } type InlineEditGenericProps = CommonInlineFieldProps & InlineEditHTMLProps & { /**Callback for når verdien blir lagret. */ onSetValue?: (value: string) => void; /**Spesifiserer om brukeren kan tømme inputfeltet. */ emptiable?: boolean; /**Ekstra callback ved `onChange`-event. */ onChange?: () => void; /**Ekstra callback ved `onFocus`-event. */ onFocus?: () => void; /**Ekstra callback ved `onBlur`-event. */ onBlur?: () => void; /**HTML `value`. */ value?: ComponentProps['value']; }; type InlineEditTextAreaProps = InlineEditGenericProps<'textarea'>; type InlineEditInputProps = InlineEditGenericProps<'input'>; type InlineEditSelectProps = InlineEditGenericProps<'select'>; declare const InlineEditTextArea: ({ onSetValue, emptiable, value, onFocus, onChange, onBlur, ref, ...rest }: InlineEditTextAreaProps) => react.JSX.Element; declare const InlineEditInput: ({ onSetValue, emptiable, value, onFocus, onChange, onBlur, ref, ...rest }: InlineEditInputProps) => react.JSX.Element; declare const InlineEditSelect: ({ onSetValue, emptiable, value, onFocus, onChange, onBlur, ref, ...rest }: InlineEditSelectProps) => react.JSX.Element; type NavigationLinkProps = { children: ReactNode; href: string; } & AnchorHTMLAttributes; type ContextMenuElementProps = { children: ReactNode; href?: string; icon?: SvgIcon; onClick?: () => void; } & (AnchorHTMLAttributes | ButtonHTMLAttributes); interface InternaHeaderUserProps { children: ReactNode; href?: string; } type InternalHeaderProps = BaseComponentProps; /**Lenker eller knapper som skal vises i kontekstmenyen. Støtter ikon i tillegg til tekst. */ contextMenuItems?: Array; /**URL til siden i navigasjonen brukeren er på. Gir highlight til navigasjonselementet i navItems med samme URL. */ currentPageHref?: string; /**Ekstra logikk som kjøres når currentPage endres. */ onCurrentPageChange?: () => void; }>; declare const InternalHeader: { (props: InternalHeaderProps): react.JSX.Element; displayName: string; }; type ListType = 'ordered' | 'unordered'; type ListTypographyType = TypographyBodyLongType | 'inherit'; type ListProps = BaseComponentPropsWithChildren` (punktliste) eller `
    ` (nummerert liste). * @default "unordered" */ listType?: ListType; /**Spesifiserer typografi for listen. Komponenten arver i utgangspunktet fra forelder, men hvis forelder stiller ikke med relevant styling må det velges `TypographyBodyType` som brukes i `` ellers på siden. * @default "inherit" */ typographyType?: ListTypographyType; }>; declare const List: { ({ listType, typographyType, children, id, className, style, htmlProps, ...rest }: ListProps): react.JSX.Element; displayName: string; }; type ListItemProps = ComponentPropsWithRef<'li'>; declare const ListItem: { ({ className, ...rest }: ListItemProps): react.JSX.Element; displayName: string; }; declare const L_MESSAGE_PURPOSES: ["info", "success", "warning", "danger", "tips"]; type LocalMessagePurpose = (typeof L_MESSAGE_PURPOSES)[number]; type LocalMessageLayout = 'horisontal' | 'vertical'; type LocalMessageProps = BaseComponentProps void; /**Layoutet i komponenten. Ved kompleks innhold anbefales `layout='vertical'`. * @default "horisontal" */ layout?: LocalMessageLayout; } & Pick>; declare const LocalMessage: { ({ purpose, closable, onClose, width, layout, children, id, className, style, htmlProps, ...rest }: LocalMessageProps): react.JSX.Element | null; displayName: string; }; type ModalProps = BaseComponentPropsWithChildren` skal åpnes. */ isOpen?: boolean; /**Funksjon kjørt ved lukking; gjør at `` blir lukkbar via: Esc-tast, klikk utenfor, klikk på dedikert lukkeknapp. */ onClose?: () => void; /**Fordeler DOM node for `` via React portal. Brukes med f.eks `document.getElementById("id")` eller `ref` (skaper ikke ny DOM node). * @default themeProviderRef */ parentElement?: HTMLElement; /**Header i ``. Returnerer default `` ved `string`. Setter også `aria-labelledby`. */ header?: string | ReactNode; /**Ref som brukes til returnering av fokus. */ triggerRef?: RefObject; /**Ref som skal motta fokus når `` åpnes. Hvis utelatt blir `` fokusert. */ initialFocusRef?: RefObject; /** Gjør at innholdet kan scrolles */ scrollable?: boolean; }>; declare const Modal: { ({ isOpen, parentElement, children, header, onClose, id, triggerRef, initialFocusRef, scrollable, className, style, htmlProps, ref, ...rest }: ModalProps): react.ReactPortal | null; displayName: string; }; type ModalBodyProps = BaseComponentPropsWithChildren`. */ scrollable?: boolean; /**Høyde på container. Kan resultere i scrolling. */ height?: ResponsiveProps['height']; }>; declare const ModalBody: { ({ children, id, className, style, scrollable, htmlProps, height, ...rest }: ModalBodyProps): react.JSX.Element; displayName: string; }; type ModalActionsProps = ComponentPropsWithRef<'div'>; declare const ModalActions: { (props: ModalActionsProps): react.JSX.Element; displayName: string; }; interface NewsPopoverSlide { /**`` bilde. */ image: ReactNode; /**Overskiftstekst. */ heading: string; /**Løpende tekst med detaljer. */ text: string; } type NewsPopoverProps = BaseComponentProps; /**Aktiv nyhet ved første render i ukontrollert tilstand. */ defaultActiveSlide?: number; /**Implementerer kontrollert tilstand: aktiv nyhet. */ activeSlide?: number; /** Implementerer kontrollert tilstand: setter `aktivSlide`. */ setActiveSlide?: Dispatch>; /**Om komponenten skal være åpen på første render i ukontrollert tilstand. */ isInitiallyOpen?: boolean; /**Implementerer kontrollert tilstand: om komponenten skal være åpen. */ isOpen?: boolean; /**Implementerer kontrollert tilstand: setter `isOpen`. */ setIsOpen?: Dispatch>; /** * Om komponenten skal lukkes på klikk utenfor. * @default true */ closeOnClickOutside?: boolean; /** * Brekkpunkt for små skjermer; * gjør at komponenten tar 100% bredde av forelderen. * @default 'xs' */ smallScreenBreakpoint?: Breakpoint; }>; declare const NewsPopover: { ({ id, className, style, htmlProps, header, news, defaultActiveSlide, activeSlide: activeSlideProp, setActiveSlide: setActiveSlideProp, isOpen: isOpenProp, isInitiallyOpen, setIsOpen: setIsOpenProp, smallScreenBreakpoint, closeOnClickOutside, ref, ...rest }: NewsPopoverProps): react.JSX.Element | null; displayName: string; }; declare const OverflowMenu: { ({ placement, offset, parentElement, portal, className, htmlProps, ref, style, ...rest }: OverflowMenuProps): react.JSX.Element; displayName: string; }; type OverflowMenuButtonProps = Omit, 'as'>; type OverflowMenuLinkProps = Omit, keyof DropdownItemButtonProps | 'as'>; type OverflowMenuSpanProps = Omit, keyof DropdownItemButtonProps | 'as'>; type OverflowMenuToggleProps = Omit, keyof DropdownItemButtonProps | 'as' | 'purpose' | 'icon'>; type OverflowMenuProps = Omit, 'id'>; declare const OverflowMenuButton: { ({ onClick, onClickAsync, closeMenuOnClickAsync, purpose, loading, ref, ...rest }: OverflowMenuButtonProps): react.JSX.Element; displayName: string; }; declare const OverflowMenuLink: { ({ onClick, ref, ...rest }: OverflowMenuLinkProps): react.JSX.Element; displayName: string; }; declare const OverflowMenuToggle: { ({ ref, ...rest }: OverflowMenuToggleProps): react.JSX.Element; displayName: string; }; type OverflowMenuDividerProps = Omit; declare const OverflowMenuDivider: { ({ id, className, style, htmlProps, ...rest }: OverflowMenuDividerProps): react.JSX.Element; displayName: string; }; type OverflowMenuListProps = StylelessListProps; declare const OverflowMenuList: (props: OverflowMenuListProps) => react.JSX.Element; declare const OverflowMenuSpan: { (props: OverflowMenuSpanProps): react.JSX.Element; displayName: string; }; type OverflowMenuListHeaderProps = ComponentPropsWithRef<'h2'>; declare const OverflowMenuListHeader: { (props: OverflowMenuListHeaderProps): react.JSX.Element; displayName: string; }; interface OverflowMenuGroupProps { /**Om `` er åpen ved første render. * @default false */ isInitiallyOpen?: boolean; /**Implementerer kontrollert tilstand: forteller `` om den skal være åpen. */ isOpen?: boolean; /**Implementerer kontrollert tilstand: funksjon for å kontrollere `isOpen`. */ setIsOpen?: Dispatch>; /**Callback når `` åpnes. */ onOpen?: () => void; /**Callback når `` lukkes. */ onClose?: () => void; /**Barn, anchor-elementet som første og `` som andre. */ children: ReactNode; /**Custom id for ``. */ overflowMenuId?: string; } declare const OverflowMenuGroup: { ({ children, onClose, onOpen, setIsOpen: propSetIsOpen, isOpen: propIsOpen, isInitiallyOpen, overflowMenuId, }: OverflowMenuGroupProps): react.JSX.Element; displayName: string; }; interface PaginationOption { label: string; value: number; } type PaginationProps = BaseComponentProps` for å velge antall per side skal vises. */ withSelect?: boolean; /**Custom options for `` og setter `readOnly` styling. */ readOnly?: InputProps['readOnly']; } & CommonInputProps & Pick & InputIconProps & ComponentPropsWithRef<'select'>; declare const NativeSelect: ({ ref, id, children, componentSize, label, multiple, readOnly, errorMessage, tip, required, "aria-required": ariaRequired, "aria-describedby": ariaDescribedby, width, className, style, onKeyDown, onMouseDown, clearable, afterLabelContent, onChange, icon, ...rest }: NativeSelectProps) => react.JSX.Element; declare const createSelectOptions: (...args: Array) => Array>; declare const RadioButton: { ({ id, name, label, disabled, readOnly, error, checked, value, children, required, onChange, "aria-describedby": ariaDescribedby, className, htmlProps, style, ...rest }: RadioButtonProps): react.JSX.Element; displayName: string; }; type RadioButtonGroupProps = BaseComponentPropsWithChildren, value: T | undefined) => void; /** Gjør alle barna påkrevd ved å gi dem `required` prop. Legger en markør (*) bak ledeteksten. */ required?: boolean; /**Verdi - en `` med denne verdien blir valgt med controlled state. */ value?: T | undefined; /**Default verdi - en `` med denne verdien blir forhåndsvalgt med uncontrolled state. */ defaultValue?: T | undefined; }, Omit, 'onChange'>>; declare const RadioButtonGroup: { ({ name, label, groupId, errorMessage, tip, disabled, readOnly, direction, value, defaultValue, children, required, onChange, id, className, style, htmlProps, ...rest }: RadioButtonGroupProps): react.JSX.Element; displayName: string; }; type SkeletonAppearance = 'circle' | 'rectangle'; type SkeletonProps = { /**CSS border radius. * @default "var(--dds-border-radius-surface)" */ borderRadius?: Property.BorderRadius; } & Pick & ComponentPropsWithRef<'div'>; declare const Skeleton: { ({ width, height, borderRadius, className, style, ref, ...rest }: SkeletonProps): react.JSX.Element; displayName: string; }; type SkipToContentProps = BaseComponentProps; declare const SkipToContent: { ({ text, top, id, className, htmlProps, style, ...rest }: SkipToContentProps): react.JSX.Element; displayName: string; }; type SpinnerProps = BaseComponentProps, 'color'>>; declare function Spinner(props: SpinnerProps): react.JSX.Element; declare namespace Spinner { var displayName: string; } type SplitButtonPurpose = ExtractStrict; type SplitButtonPrimaryActionProps = Omit; type SplitButtonSecondaryActionsProps = Array; type SplitButtonProps = Pick & { /**Props for primær handling. Samme props som for `