@stenajs-webui/panels 17.34.0 → 18.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"index.es.js","sources":["../src/components/action-menu-button/ActionMenuButton.tsx","../src/components/action-menu-button/ActionMenuPrimaryButton.tsx","../src/components/action-menu-button/ActionMenuSecondaryButton.tsx","../src/components/action-menu-button/ActionMenuFlatButton.tsx","../src/components/checkbox-menu/CheckboxMenu.tsx","../src/components/nav-bar/svg/bars.svg","../src/components/nav-bar/NavBarSideMenuButton.tsx","../src/components/nav-bar/NavbarHeightStyleUtil.ts","../src/components/nav-bar/NavBar.tsx","../src/components/nav-bar/NavBarButton.tsx","../src/components/nav-bar/NavBarHeading.tsx","../src/components/nav-bar/NavBarPopoverButton.tsx","../src/components/nav-bar/NavBarNotificationButton.tsx","../src/components/nav-bar/NavBarSearchField.tsx","../src/components/nav-bar/NavBarUserButton.tsx","../src/components/notifications/NotificationTheme.ts","../src/components/notifications/Notification.tsx","../src/components/collapsible/CollapsibleEmptyContent.tsx","../src/components/collapsible/CollapsibleContent.tsx","../src/components/collapsible/Collapsible.tsx","../src/components/collapsible/CollapsibleWithCheckbox.tsx","../src/components/collapsible/CollapsibleClickableContent.tsx","../src/components/collapsible/CollapsibleGroupHeading.tsx","../src/components/error-panel/ErrorPanel.tsx","../src/components/error-panel/ErrorScreen.tsx","../src/components/loading-panel/LoadingPanel.tsx","../src/components/loading-panel/LoadingScreen.tsx","../src/components/page-header/PageHeader.tsx","../src/components/page-header/PageHeaderRow.tsx","../src/components/page-header/PageHeading.tsx","../src/components/sidebar-menu/svg/close.svg","../src/components/sidebar-menu/SidebarMenuCloseButton.tsx","../src/components/sidebar-menu/SidebarMenuSeparator.tsx","../src/components/sidebar-menu/SidebarMenu.tsx","../src/components/sidebar-menu/rail/SidebarRailMenu.tsx","../src/components/sidebar-menu/SidebarMenuLink.tsx","../src/components/sidebar-menu/SidebarMenuHeading.tsx","../src/components/sidebar-menu/SidebarMenuCollapsible.tsx","../src/components/sidebar-menu/rail/renderer/RailRenderer.tsx","../src/components/selected-items-actions-panel/SelectedItemsActionsPanel.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { ReactNode, useMemo, useRef } from \"react\";\nimport {\n ActionMenu,\n ActionMenuContext,\n ActionMenuProps,\n FlatButton,\n PrimaryButton,\n PrimaryButtonProps,\n SecondaryButton,\n stenaAngleDown,\n} from \"@stenajs-webui/elements\";\nimport { useBoolean } from \"@stenajs-webui/core\";\nimport { Popover, PopoverProps } from \"@stenajs-webui/tooltip\";\nimport { Plugin as TippyPlugin, Props as TippyProps } from \"tippy.js\";\n\nexport interface ActionMenuButtonProps\n extends Omit<\n PrimaryButtonProps,\n \"variant\" | \"loading\" | \"loadingLabel\" | \"success\" | \"successLabel\"\n > {\n /** The content of the Action Menu. */\n renderItems: (close: () => void) => ReactNode;\n /** The placement of the Action Menu. */\n placement?: PopoverProps[\"placement\"];\n /** Z-index of the Action Menu */\n zIndex?: number;\n /** Portal target, HTML element. If not set, portal is not used. */\n portalTarget?: PopoverProps[\"appendTo\"];\n menuWidth?: ActionMenuProps[\"width\"];\n menuTop?: ActionMenuProps[\"top\"];\n buttonComponent:\n | typeof PrimaryButton\n | typeof SecondaryButton\n | typeof FlatButton;\n disableArrow?: boolean;\n}\n\nexport const ActionMenuButton: React.FC<ActionMenuButtonProps> = ({\n renderItems,\n placement = \"bottom\",\n buttonComponent: Button,\n rightIcon = stenaAngleDown,\n portalTarget = \"parent\",\n zIndex,\n menuWidth,\n menuTop,\n onClick,\n disableArrow = false,\n ...buttonProps\n}) => {\n const [isOpen, open, close, toggle] = useBoolean(false);\n\n const buttonRef = useRef<HTMLButtonElement>(null);\n\n const focusManager: TippyPlugin<TippyProps> = {\n name: \"focusManager\",\n defaultValue: true,\n fn({ popper }) {\n let restoreFocus = false;\n\n const closeOnEscape = (event: KeyboardEvent) => {\n if (event.key === \"Escape\") {\n restoreFocus = true;\n close();\n }\n if (event.key === \"Enter\" || event.key === \" \") {\n restoreFocus = true;\n }\n };\n\n return {\n onCreate() {\n popper.addEventListener(\"keydown\", closeOnEscape);\n },\n onDestroy() {\n popper.removeEventListener(\"keydown\", closeOnEscape);\n },\n onMount() {\n restoreFocus = false;\n popper\n .querySelector<HTMLElement>(\"button:not([disabled]), a[href]\")\n ?.focus();\n },\n onHide() {\n if (buttonRef.current && restoreFocus) {\n buttonRef.current.focus();\n }\n },\n };\n },\n };\n\n const contextValue = useMemo(() => ({ open, close }), [open, close]);\n\n const handleClick = (\n event: React.MouseEvent<HTMLButtonElement, MouseEvent>\n ) => {\n onClick?.(event);\n toggle();\n };\n\n return (\n <Popover\n disablePadding\n visible={isOpen}\n onClickOutside={close}\n placement={placement}\n content={\n isOpen && (\n <ActionMenu\n variant={\"outlined\"}\n width={menuWidth}\n top={menuTop}\n trapFocus\n >\n <ActionMenuContext.Provider value={contextValue}>\n {renderItems(close)}\n </ActionMenuContext.Provider>\n </ActionMenu>\n )\n }\n arrow={false}\n appendTo={portalTarget}\n zIndex={zIndex}\n plugins={[focusManager]}\n lazy\n >\n <Button\n rightIcon={disableArrow ? undefined : rightIcon}\n {...buttonProps}\n ref={buttonRef}\n onClick={handleClick}\n />\n </Popover>\n );\n};\n","import * as React from \"react\";\nimport { PrimaryButton, PrimaryButtonProps } from \"@stenajs-webui/elements\";\nimport { ActionMenuButton, ActionMenuButtonProps } from \"./ActionMenuButton\";\n\nexport interface ActionMenuPrimaryButtonProps\n extends Omit<ActionMenuButtonProps, \"buttonComponent\">,\n Pick<PrimaryButtonProps, \"variant\"> {}\n\nexport const ActionMenuPrimaryButton: React.FC<ActionMenuPrimaryButtonProps> = (\n props\n) => {\n return <ActionMenuButton buttonComponent={PrimaryButton} {...props} />;\n};\n","import * as React from \"react\";\nimport { SecondaryButton } from \"@stenajs-webui/elements\";\nimport { ActionMenuButton, ActionMenuButtonProps } from \"./ActionMenuButton\";\n\nexport interface ActionMenuSecondaryButtonProps\n extends Omit<ActionMenuButtonProps, \"buttonComponent\"> {}\n\nexport const ActionMenuSecondaryButton: React.FC<\n ActionMenuSecondaryButtonProps\n> = (props) => {\n return <ActionMenuButton buttonComponent={SecondaryButton} {...props} />;\n};\n","import * as React from \"react\";\nimport { FlatButton } from \"@stenajs-webui/elements\";\nimport { ActionMenuButton, ActionMenuButtonProps } from \"./ActionMenuButton\";\n\nexport interface ActionMenuFlatButtonProps\n extends Omit<ActionMenuButtonProps, \"buttonComponent\"> {}\n\nexport const ActionMenuFlatButton: React.FC<ActionMenuFlatButtonProps> = (\n props\n) => {\n return <ActionMenuButton buttonComponent={FlatButton} {...props} />;\n};\n","import * as React from \"react\";\nimport { ReactNode } from \"react\";\nimport { Box, Column, Indent, Row, useBoolean } from \"@stenajs-webui/core\";\nimport {\n ActionMenu,\n FlatButton,\n stenaAngleDown,\n} from \"@stenajs-webui/elements\";\nimport { Popover } from \"@stenajs-webui/tooltip\";\nimport { Checkbox, CheckboxProps } from \"@stenajs-webui/forms\";\n\nexport interface CheckboxMenuProps extends CheckboxProps {\n renderMenu: (close: () => void) => ReactNode;\n}\n\nconst border = `1px solid var(--lhds-color-ui-300)`;\n\nexport const CheckboxMenu: React.FC<CheckboxMenuProps> = ({\n renderMenu,\n ...checkboxProps\n}) => {\n const [isOpen, open, close] = useBoolean(false);\n return (\n <Popover\n onClickOutside={close}\n arrow={false}\n visible={isOpen}\n disablePadding\n content={\n renderMenu ? (\n <Column>\n <ActionMenu>{renderMenu(close)}</ActionMenu>\n </Column>\n ) : undefined\n }\n placement={\"bottom-start\"}\n variant={\"outlined\"}\n >\n <Box display={\"inline-block\"}>\n <Row\n spacing={0.5}\n indent\n alignItems={\"center\"}\n border={border}\n borderRadius={\"4px\"}\n >\n <Checkbox {...checkboxProps} />\n <Indent num={0.5} />\n <FlatButton size={\"small\"} onClick={open} leftIcon={stenaAngleDown} />\n </Row>\n </Box>\n </Popover>\n );\n};\n","export default \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBmaWxsPSIjRkZGIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0yMiw1IEwyLDUgQzIuMTE5OTIzNzMsNSAyLDQuODUwNzYxNTggMiw1IEwyLDMgQzIsMy4xNDkyMzg0MiAyLjExOTkyMzczLDMgMiwzIEwyMiwzIEMyMS44ODAwNzYzLDMgMjIsMy4xNDkyMzg0MiAyMiwzIEwyMiw1IEMyMiw0Ljg1MDc2MTU4IDIxLjg4MDA3NjMsNSAyMiw1IFogTTIyLDEzIEwyLDEzIEMyLjExOTkyMzczLDEzIDIsMTIuODUwNzYxNiAyLDEzIEwyLDExIEMyLDExLjE0OTIzODQgMi4xMTk5MjM3MywxMSAyLDExIEwyMiwxMSBDMjEuODgwMDc2MywxMSAyMiwxMS4xNDkyMzg0IDIyLDExIEwyMiwxMyBDMjIsMTIuODUwNzYxNiAyMS44ODAwNzYzLDEzIDIyLDEzIFogTTIyLDIxIEwyLDIxIEMyLjExOTkyMzczLDIxIDIsMjAuODUwNzYxNiAyLDIxIEwyLDE5IEMyLDE5LjE0OTIzODQgMi4xMTk5MjM3MywxOSAyLDE5IEwyMiwxOSBDMjEuODgwMDc2MywxOSAyMiwxOS4xNDkyMzg0IDIyLDE5IEwyMiwyMSBDMjIsMjAuODUwNzYxNiAyMS44ODAwNzYzLDIxIDIyLDIxIFoiLz4KPC9zdmc+Cg==\"","import * as React from \"react\";\nimport cx from \"classnames\";\nimport styles from \"./NavBarSideMenuButton.module.css\";\nimport { DivProps } from \"@stenajs-webui/core\";\nimport { ReactComponent as Hamburger } from \"./svg/bars.svg\";\n\nexport interface SidebarMenuButtonProps extends Pick<DivProps, \"className\"> {\n onClick?: (ev: React.MouseEvent<HTMLButtonElement>) => void;\n}\n\nexport const NavBarSideMenuButton: React.FC<SidebarMenuButtonProps> = ({\n className,\n onClick,\n}) => {\n return (\n <button\n onClick={onClick}\n className={cx(styles.sidebarMenuButton, className)}\n >\n <Hamburger className={styles.icon} />\n </button>\n );\n};\n","import { NavBarVariant } from \"./NavBar\";\n\nconst variantToHeight: Record<NavBarVariant, number> = {\n compact: 40,\n standard: 48,\n relaxed: 64,\n};\n\nexport const getNavbarHeight = (variant: NavBarVariant) =>\n variantToHeight[variant] + \"px\";\n","import { Box, Indent, Row } from \"@stenajs-webui/core\";\nimport * as React from \"react\";\nimport { ReactNode } from \"react\";\nimport cx from \"classnames\";\nimport styles from \"./NavBar.module.css\";\nimport {\n NavBarSideMenuButton,\n SidebarMenuButtonProps,\n} from \"./NavBarSideMenuButton\";\nimport { getNavbarHeight } from \"./NavbarHeightStyleUtil\";\n\nexport type NavBarVariant = \"compact\" | \"standard\" | \"relaxed\";\n\nexport interface NavBarProps {\n className?: string;\n showMenuButton?: boolean;\n menuButtonVisibility?: \"visible\" | \"hidden\";\n onClickMenuButton?: SidebarMenuButtonProps[\"onClick\"];\n right?: ReactNode;\n center?: ReactNode;\n left?: ReactNode;\n variant?: NavBarVariant;\n children?: ReactNode;\n}\n\nexport const NavBar: React.FC<NavBarProps> = ({\n left,\n className,\n showMenuButton = false,\n menuButtonVisibility = \"visible\",\n children,\n right,\n center,\n variant = \"standard\",\n onClickMenuButton,\n}) => {\n const currentFlex = center ? 1 : undefined;\n const height = getNavbarHeight(variant);\n return (\n <Row\n height={height}\n minHeight={height}\n justifyContent={\"space-between\"}\n style={{ [\"--swui-nav-bar-height\" as string]: height }}\n className={cx(styles.navBar, className)}\n >\n <Row\n flex={currentFlex}\n justifyContent={\"flex-start\"}\n alignItems={\"center\"}\n >\n {showMenuButton ? (\n <>\n {menuButtonVisibility === \"hidden\" ? (\n <Box width={\"var(--swui-nav-bar-height)\"} />\n ) : (\n <NavBarSideMenuButton onClick={onClickMenuButton} />\n )}\n <Indent />\n </>\n ) : (\n <Indent num={2} />\n )}\n {left ? (\n <>\n {left}\n <Indent num={2} />\n </>\n ) : (\n <Indent num={2} />\n )}\n {children && (\n <>\n <Row justifyContent={\"center\"} alignItems={\"center\"}>\n {React.Children.map(children, (child, index) => (\n <>\n {index > 0 && <Indent />}\n {child}\n </>\n ))}\n </Row>\n </>\n )}\n </Row>\n {center && (\n <Row justifyContent={\"center\"} alignItems={\"center\"}>\n {center}\n </Row>\n )}\n <Row justifyContent={\"flex-end\"} alignItems={\"center\"} flex={currentFlex}>\n {right}\n <Indent num={2} />\n </Row>\n </Row>\n );\n};\n","import { FlatButton, FlatButtonProps } from \"@stenajs-webui/elements\";\nimport * as React from \"react\";\nimport cx from \"classnames\";\nimport styles from \"./NavBarButton.module.css\";\n\nexport interface NavBarButtonProps extends FlatButtonProps {\n selected?: boolean;\n}\n\nexport const NavBarButton: React.FC<NavBarButtonProps> = ({\n selected,\n className,\n ...buttonProps\n}) => {\n return (\n <FlatButton\n {...buttonProps}\n className={cx(\n styles.navBarButton,\n selected && styles.selected,\n className\n )}\n />\n );\n};\n","import * as React from \"react\";\nimport { Heading, HeadingProps } from \"@stenajs-webui/core\";\n\ninterface NavBarHeadingProps extends HeadingProps {}\n\nexport const NavBarHeading: React.FC<NavBarHeadingProps> = (headingProps) => {\n return <Heading whiteSpace={\"nowrap\"} color={\"#fff\"} {...headingProps} />;\n};\n","import { useBoolean } from \"@stenajs-webui/core\";\nimport * as React from \"react\";\nimport { ReactNode } from \"react\";\nimport { NavBarButton, NavBarButtonProps } from \"./NavBarButton\";\nimport { Popover } from \"@stenajs-webui/tooltip\";\n\ntype RenderProp = (args: RenderPropArgs) => ReactNode;\n\ninterface RenderPropArgs {\n close: () => void;\n}\n\nexport interface NavBarPopoverButtonProps\n extends Omit<NavBarButtonProps, \"onClick\"> {\n content?: RenderProp;\n}\n\nexport const NavBarPopoverButton: React.FC<NavBarPopoverButtonProps> = ({\n content,\n children,\n ...navBarButtonProps\n}) => {\n const [isOpen, open, close] = useBoolean(false);\n\n return (\n <Popover\n onClickOutside={close}\n triggerTarget={document.body}\n visible={isOpen}\n content={\n <>\n {content && content({ close })}\n {children}\n </>\n }\n >\n <NavBarButton {...navBarButtonProps} onClick={open} />\n </Popover>\n );\n};\n","import { FlatButton, FlatButtonProps } from \"@stenajs-webui/elements\";\nimport * as React from \"react\";\nimport cx from \"classnames\";\nimport styles from \"./NavBarNotificationButton.module.css\";\nimport { IconDefinition } from \"@fortawesome/fontawesome-svg-core\";\nimport { stenaBell } from \"@stenajs-webui/elements\";\n\nexport interface NavBarNotificationButtonProps\n extends Omit<FlatButtonProps, \"leftIcon\" | \"rightIcon\" | \"label\"> {\n count: number;\n unread: boolean;\n icon?: IconDefinition;\n}\n\nexport const NavBarNotificationButton: React.FC<\n NavBarNotificationButtonProps\n> = ({\n count,\n unread = false,\n className,\n labelClassName,\n iconClassName,\n icon = stenaBell,\n ...buttonProps\n}) => {\n const hasCount = count > 0;\n\n return (\n <FlatButton\n {...buttonProps}\n leftIcon={icon}\n className={cx(\n { [styles.unread]: unread },\n { [styles.hasCount]: hasCount },\n styles.navBarNotificationButton,\n className\n )}\n label={hasCount ? String(count) : undefined}\n labelClassName={cx(labelClassName, styles.label)}\n iconClassName={cx(iconClassName, styles.icon)}\n />\n );\n};\n","import * as React from \"react\";\nimport { TextInput, TextInputProps } from \"@stenajs-webui/forms\";\nimport { Clickable } from \"@stenajs-webui/core\";\nimport { Icon, stenaSearch } from \"@stenajs-webui/elements\";\nimport cx from \"classnames\";\nimport styles from \"./NavBarSearchField.module.css\";\n\ninterface NavBarSearchFieldProps extends TextInputProps {}\n\nexport const NavBarSearchField: React.FC<NavBarSearchFieldProps> = ({\n placeholder = \"Search...\",\n className,\n wrapperClassName,\n ...textInputProps\n}) => {\n return (\n <TextInput\n wrapperClassName={cx(styles.navBarSearchField, wrapperClassName)}\n className={cx(styles.navBarSearchFieldInput, className)}\n placeholder={placeholder}\n contentRight={\n <Clickable>\n <Icon icon={stenaSearch} />\n </Clickable>\n }\n {...textInputProps}\n />\n );\n};\n","import { IconDefinition } from \"@fortawesome/fontawesome-svg-core\";\nimport { stenaUserCircle } from \"@stenajs-webui/elements\";\nimport cx from \"classnames\";\nimport * as React from \"react\";\nimport {\n ActionMenuFlatButton,\n ActionMenuFlatButtonProps,\n} from \"../action-menu-button/ActionMenuFlatButton\";\nimport styles from \"./NavBarUserButton.module.css\";\n\nexport interface NavBarUserButtonProps\n extends Omit<ActionMenuFlatButtonProps, \"label\" | \"leftIcon\" | \"rightIcon\"> {\n username?: string;\n initials?: string;\n icon?: IconDefinition;\n}\n\nexport const NavBarUserButton: React.FC<NavBarUserButtonProps> = ({\n className,\n username,\n initials,\n icon = stenaUserCircle,\n iconClassName,\n ...buttonProps\n}) => {\n return (\n <ActionMenuFlatButton\n {...buttonProps}\n className={cx(\n { [styles.initials]: initials != null },\n styles.navBarUserButton,\n className\n )}\n leftIcon={username != null ? icon : undefined}\n label={initials ?? username}\n disableArrow\n />\n );\n};\n","export interface NotificationTheme {\n notificationBg: string;\n notificationHoverBg: string;\n notificationDismissedBg: string;\n notificationDismissedHoverBg: string;\n}\n\nexport const defaultNotificationTheme: NotificationTheme = {\n notificationBg: \"#eaeaea\",\n notificationHoverBg: \"#eeeeee\",\n notificationDismissedBg: \"#ffffff\",\n notificationDismissedHoverBg: \"#f4f4f4\",\n};\n","import { IconDefinition } from \"@fortawesome/fontawesome-svg-core\";\nimport { Box, Clickable, Column, Row, Space, Text } from \"@stenajs-webui/core\";\nimport { Icon } from \"@stenajs-webui/elements\";\nimport { cssColor } from \"@stenajs-webui/theme\";\nimport { formatDistance } from \"date-fns\";\nimport * as React from \"react\";\nimport { ReactNode, useMemo } from \"react\";\nimport {\n defaultNotificationTheme,\n NotificationTheme,\n} from \"./NotificationTheme\";\n\nexport interface NotificationProps {\n title?: string;\n text?: string;\n content?: ReactNode;\n dismissed?: boolean;\n date?: Date;\n icon?: IconDefinition;\n iconColor?: string;\n onClick?: () => void;\n theme?: NotificationTheme;\n}\n\nexport const Notification: React.FC<NotificationProps> = ({\n onClick,\n icon,\n iconColor,\n title,\n text,\n content,\n date,\n dismissed,\n theme = defaultNotificationTheme,\n}) => {\n const agoLabel = useMemo(() => {\n if (date) {\n return `${formatDistance(date, new Date())} ago`;\n }\n return undefined;\n }, [date]);\n\n return (\n <Clickable onClick={onClick} style={{ textAlign: \"left\" }}>\n <Box\n background={\n dismissed ? theme.notificationDismissedBg : theme.notificationBg\n }\n hoverBackground={\n dismissed\n ? theme.notificationDismissedHoverBg\n : theme.notificationHoverBg\n }\n spacing\n indent\n >\n <Row width={\"250px\"}>\n {icon && (\n <Row width={\"34px\"} alignItems={\"center\"}>\n <Icon icon={icon} color={iconColor} />\n </Row>\n )}\n <Column flex={1}>\n {title && (\n <>\n <Text>{title}</Text>\n <Space half />\n </>\n )}\n {text && (\n <>\n <Text size={\"small\"}>{text}</Text>\n <Space half />\n </>\n )}\n {content && (\n <>\n {content}\n <Space half />\n </>\n )}\n <Text size={\"small\"} color={cssColor(\"--swui-text-disabled-color\")}>\n {agoLabel}\n </Text>\n </Column>\n </Row>\n </Box>\n </Clickable>\n );\n};\n","import { faInbox } from \"@fortawesome/free-solid-svg-icons/faInbox\";\nimport { Column, Space, Text } from \"@stenajs-webui/core\";\nimport { Icon } from \"@stenajs-webui/elements\";\nimport { cssColor } from \"@stenajs-webui/theme\";\nimport * as React from \"react\";\n\ninterface Props {}\n\nexport const CollapsibleEmptyContent: React.FC<Props> = () => {\n return (\n <Column indent spacing flex={1} alignItems={\"center\"}>\n <Icon icon={faInbox} color={cssColor(\"--lhds-color-ui-500\")} />\n <Space />\n <Text size={\"small\"} color={cssColor(\"--lhds-color-ui-500\")}>\n No content\n </Text>\n </Column>\n );\n};\n","import cx from \"classnames\";\nimport * as React from \"react\";\nimport { HTMLAttributes, ReactNode } from \"react\";\nimport styles from \"./Collapsible.module.css\";\nimport { CollapsibleEmptyContent } from \"./CollapsibleEmptyContent\";\n\nexport interface CollapsibleSimpleContentProps {\n contentLeft?: ReactNode;\n contentRight?: ReactNode;\n}\n\nexport const CollapsibleContent: React.FC<\n CollapsibleSimpleContentProps & HTMLAttributes<HTMLDivElement>\n> = ({ contentLeft, contentRight, className, children, ...props }) => {\n return (\n <div className={cx(styles.content, className)} {...props}>\n {contentLeft && <div className={styles.contentLeft}>{contentLeft}</div>}\n {children ?? <CollapsibleEmptyContent />}\n {contentRight && (\n <div className={styles.contentRight}>{contentRight}</div>\n )}\n </div>\n );\n};\n","import { IconDefinition } from \"@fortawesome/fontawesome-svg-core\";\nimport { faChevronDown } from \"@fortawesome/free-solid-svg-icons\";\nimport { faChevronUp } from \"@fortawesome/free-solid-svg-icons/faChevronUp\";\nimport { Clickable, ClickableProps, DivProps, Text } from \"@stenajs-webui/core\";\nimport { Icon } from \"@stenajs-webui/elements\";\nimport cx from \"classnames\";\nimport * as React from \"react\";\nimport { forwardRef } from \"react\";\nimport { CSSTransition } from \"react-transition-group\";\nimport styles from \"./Collapsible.module.css\";\nimport { CollapsibleContent } from \"./CollapsibleContent\";\nimport { CollapsibleEmptyContent } from \"./CollapsibleEmptyContent\";\n\nexport interface CollapsibleProps\n extends Omit<DivProps, \"onClick\">,\n Pick<ClickableProps, \"onClick\"> {\n label: string;\n contentLeft?: React.ReactNode;\n contentRight?: React.ReactNode;\n collapsed?: boolean;\n disabled?: boolean;\n unmountOnCollapse?: boolean;\n mountOnEnter?: boolean;\n icon?: IconDefinition;\n iconCollapsed?: IconDefinition;\n iconSize?: number;\n autoFocus?: boolean;\n}\n\nexport const mapCSSTime = (value: string): number => {\n const num = parseFloat(value);\n const match = value.match(/m?s/);\n\n switch (match?.[0]) {\n case \"s\":\n return num * 1000;\n case \"ms\":\n return num;\n default:\n return 0;\n }\n};\n\nexport const Collapsible = forwardRef<HTMLButtonElement, CollapsibleProps>(\n function Collapsible(\n {\n label,\n contentLeft,\n contentRight,\n collapsed = false,\n onClick,\n className,\n disabled = false,\n unmountOnCollapse = false,\n mountOnEnter = true,\n icon = faChevronUp,\n iconCollapsed = faChevronDown,\n iconSize = 8,\n children,\n autoFocus = false,\n ...divProps\n },\n ref\n ) {\n const divRef = React.useRef<HTMLDivElement>(null);\n\n const timeout = divRef.current\n ? mapCSSTime(\n getComputedStyle(divRef.current).getPropertyValue(\n \"--swui-collapsible-animation-time\"\n )\n )\n : undefined;\n\n return (\n <div\n className={cx(styles.collapsible, className)}\n aria-expanded={!collapsed}\n ref={divRef}\n {...divProps}\n >\n <Clickable\n disableFocusHighlight\n disableOpacityOnClick\n className={styles.header}\n onClick={onClick}\n disabled={disabled}\n autoFocus={autoFocus}\n ref={ref}\n >\n {contentLeft && (\n <div className={styles.contentLeft}>{contentLeft}</div>\n )}\n <div className={styles.label}>\n <Text\n color={\"var(--swui-collapsible-header-text-color)\"}\n className={styles.headerText}\n >\n {label}\n </Text>\n </div>\n {contentRight && (\n <div className={styles.contentRight}>{contentRight}</div>\n )}\n <Icon\n icon={collapsed ? iconCollapsed : icon}\n className={styles.indicator}\n size={iconSize}\n fixedWidth\n />\n </Clickable>\n <CSSTransition\n in={!collapsed}\n timeout={{\n enter: timeout,\n }}\n classNames={{\n enter: styles.contentEnter,\n enterActive: styles.contentEnterActive,\n exit: styles.contentExit,\n exitActive: styles.contentExitActive,\n exitDone: styles.contentExitDone,\n }}\n mountOnEnter={mountOnEnter}\n unmountOnExit={unmountOnCollapse}\n >\n <div role={\"region\"}>\n {children ?? (\n <CollapsibleContent>\n <CollapsibleEmptyContent />\n </CollapsibleContent>\n )}\n </div>\n </CSSTransition>\n </div>\n );\n }\n);\n","import { Checkbox, CheckboxProps } from \"@stenajs-webui/forms\";\nimport * as React from \"react\";\nimport { Collapsible, CollapsibleProps } from \"./Collapsible\";\n\nexport interface CollapsibleWithCheckboxProps\n extends Omit<CollapsibleProps, \"contentLeft\" | \"onChange\">,\n Pick<\n CheckboxProps,\n \"value\" | \"onValueChange\" | \"onChange\" | \"indeterminate\"\n > {}\n\nexport const CollapsibleWithCheckbox: React.FC<\n CollapsibleWithCheckboxProps\n> = ({\n value,\n onValueChange,\n onChange,\n indeterminate,\n ...collapsibleProps\n}) => {\n return (\n <Collapsible\n contentLeft={\n <Checkbox\n value={value}\n indeterminate={indeterminate}\n onValueChange={onValueChange}\n onChange={onChange}\n onClick={(ev) => ev.stopPropagation()}\n />\n }\n {...collapsibleProps}\n />\n );\n};\n","import { ButtonElementProps, Clickable } from \"@stenajs-webui/core\";\nimport cx from \"classnames\";\nimport * as React from \"react\";\nimport styles from \"./Collapsible.module.css\";\nimport { CollapsibleSimpleContentProps } from \"./CollapsibleContent\";\nimport { CollapsibleEmptyContent } from \"./CollapsibleEmptyContent\";\n\nexport interface CollapsibleClickableContentProps\n extends CollapsibleSimpleContentProps,\n ButtonElementProps {}\n\nexport const CollapsibleClickableContent: React.FC<\n CollapsibleClickableContentProps\n> = ({ contentLeft, contentRight, className, onClick, children, ...props }) => {\n return (\n <Clickable\n disableFocusHighlight\n disableOpacityOnClick\n className={cx(styles.content, className)}\n onClick={onClick}\n {...props}\n >\n {contentLeft && <div className={styles.contentLeft}>{contentLeft}</div>}\n {children ?? <CollapsibleEmptyContent />}\n {contentRight && (\n <div className={styles.contentRight}>{contentRight}</div>\n )}\n </Clickable>\n );\n};\n","import { DivProps } from \"@stenajs-webui/core\";\nimport cx from \"classnames\";\nimport * as React from \"react\";\nimport styles from \"./Collapsible.module.css\";\nimport {\n CollapsibleContent,\n CollapsibleSimpleContentProps,\n} from \"./CollapsibleContent\";\n\nexport interface CollapsibleGroupHeadingProps\n extends CollapsibleSimpleContentProps,\n DivProps {}\n\nexport const CollapsibleGroupHeading: React.FC<\n CollapsibleGroupHeadingProps\n> = ({ className, ...props }) => (\n <CollapsibleContent\n className={cx(styles.groupHeading, className)}\n {...props}\n />\n);\n","import { Box } from \"@stenajs-webui/core\";\nimport { Banner } from \"@stenajs-webui/elements\";\nimport * as React from \"react\";\n\nexport interface ErrorPanelProps {\n text?: string;\n}\n\nexport const ErrorPanel: React.FC<ErrorPanelProps> = ({\n text = \"Something unexpected happened.\",\n}) => {\n return (\n <Box justifyContent={\"center\"} alignItems={\"center\"}>\n <Banner variant={\"error\"} headerText={text} />\n </Box>\n );\n};\n","import { Box } from \"@stenajs-webui/core\";\nimport * as React from \"react\";\nimport { ErrorPanel, ErrorPanelProps } from \"./ErrorPanel\";\n\nexport const ErrorScreen: React.FC<ErrorPanelProps> = (props) => {\n return (\n <Box\n width={\"100%\"}\n height={\"100%\"}\n justifyContent={\"center\"}\n alignItems={\"center\"}\n >\n <ErrorPanel {...props} />\n </Box>\n );\n};\n","import { Box, Heading, Space } from \"@stenajs-webui/core\";\nimport { Spinner } from \"@stenajs-webui/elements\";\nimport * as React from \"react\";\n\nexport interface LoadingPanelProps {\n text?: string;\n}\n\nexport const LoadingPanel: React.FC<LoadingPanelProps> = ({\n text = \"Loading...\",\n}) => {\n return (\n <Box alignItems={\"center\"}>\n <Spinner size={\"small\"} />\n <Space num={4} />\n <Heading variant={\"h4\"}>{text}</Heading>\n </Box>\n );\n};\n","import { Box } from \"@stenajs-webui/core\";\nimport * as React from \"react\";\nimport { LoadingPanel, LoadingPanelProps } from \"./LoadingPanel\";\n\nexport const LoadingScreen: React.FC<LoadingPanelProps> = (props) => {\n return (\n <Box\n width={\"100%\"}\n height={\"100%\"}\n justifyContent={\"center\"}\n alignItems={\"center\"}\n >\n <LoadingPanel {...props} />\n </Box>\n );\n};\n","import { Box, Row, SeparatorLine, Space } from \"@stenajs-webui/core\";\nimport * as React from \"react\";\nimport { ReactNode } from \"react\";\nimport { cssColor } from \"@stenajs-webui/theme\";\n\nexport interface PageHeaderProps {\n renderBreadCrumbs?: () => ReactNode;\n renderPageHeading?: () => ReactNode;\n renderTabs?: () => ReactNode;\n children?: ReactNode;\n}\n\nexport const PageHeader: React.FC<PageHeaderProps> = ({\n renderBreadCrumbs,\n renderPageHeading,\n renderTabs,\n children,\n}) => {\n return (\n <Box shadow={\"box\"} background={cssColor(\"--lhds-color-ui-50\")}>\n <Box indent={3}>\n {renderBreadCrumbs && <Row spacing={1.25}>{renderBreadCrumbs()}</Row>}\n {renderPageHeading?.()}\n {renderTabs?.()}\n </Box>\n {children && (\n <>\n {!renderTabs && renderBreadCrumbs && <Space />}\n <SeparatorLine />\n {children}\n </>\n )}\n </Box>\n );\n};\n","import * as React from \"react\";\nimport { BoxProps, Row } from \"@stenajs-webui/core\";\n\nexport interface PageHeaderRowProps extends BoxProps {}\n\nexport const PageHeaderRow: React.FC<PageHeaderRowProps> = (props) => (\n <Row indent={3} spacing {...props} />\n);\n","import * as React from \"react\";\nimport { ReactNode } from \"react\";\nimport { Heading, Row } from \"@stenajs-webui/core\";\n\nexport type PageHeadingVariant = \"compact\" | \"standard\" | \"relaxed\";\n\ninterface PageHeadingProps {\n contentLeft?: ReactNode;\n contentRight?: ReactNode;\n heading: string;\n variant?: PageHeadingVariant;\n}\n\nconst variantToSpacing: Record<PageHeadingVariant, number> = {\n compact: 1,\n standard: 1.5,\n relaxed: 2,\n};\n\nexport const PageHeading: React.VFC<PageHeadingProps> = ({\n heading,\n variant = \"standard\",\n contentLeft,\n contentRight,\n}) => (\n <Row spacing={variantToSpacing[variant]} alignItems={\"center\"} gap={2}>\n <Heading variant={\"h3\"}>{heading}</Heading>\n <Row alignItems={\"center\"}>{contentLeft}</Row>\n <Row style={{ marginLeft: \"auto\" }} alignItems={\"center\"}>\n {contentRight}\n </Row>\n </Row>\n);\n","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTZweCIgaGVpZ2h0PSIxNnB4IiB2aWV3Qm94PSIwIDAgMTYgMTYiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8cGF0aCBkPSJNMC45Mjg5MzIxODgsMC45Mjg5MzIxODggQzEuMzE5NDU2NDgsMC41Mzg0MDc4OTYgMS45NTI2MjE0NiwwLjUzODQwNzg5NiAyLjM0MzE0NTc1LDAuOTI4OTMyMTg4IEwyLjM0MzE0NTc1LDAuOTI4OTMyMTg4IEw4LjAwMDAzODk3LDYuNTg1MDM4OTcgTDEzLjY1Njg1NDIsMC45Mjg5MzIxODggQzE0LjA0NzM3ODUsMC41Mzg0MDc4OTYgMTQuNjgwNTQzNSwwLjUzODQwNzg5NiAxNS4wNzEwNjc4LDAuOTI4OTMyMTg4IEMxNS40NjE1OTIxLDEuMzE5NDU2NDggMTUuNDYxNTkyMSwxLjk1MjYyMTQ2IDE1LjA3MTA2NzgsMi4zNDMxNDU3NSBMOS40MTUwMzg5Nyw4LjAwMDAzODk3IEwxNS4wNzEwNjc4LDEzLjY1Njg1NDIgQzE1LjQzMTU1MTgsMTQuMDE3MzM4MiAxNS40NTkyODEzLDE0LjU4NDU2OTMgMTUuMTU0MjU2NCwxNC45NzY4NjA1IEwxNS4wNzEwNjc4LDE1LjA3MTA2NzggQzE0LjY4MDU0MzUsMTUuNDYxNTkyMSAxNC4wNDczNzg1LDE1LjQ2MTU5MjEgMTMuNjU2ODU0MiwxNS4wNzEwNjc4IEwxMy42NTY4NTQyLDE1LjA3MTA2NzggTDguMDAwMDM4OTcsOS40MTUwMzg5NyBMMi4zNDMxNDU3NSwxNS4wNzEwNjc4IEMxLjk1MjYyMTQ2LDE1LjQ2MTU5MjEgMS4zMTk0NTY0OCwxNS40NjE1OTIxIDAuOTI4OTMyMTg4LDE1LjA3MTA2NzggQzAuNTM4NDA3ODk2LDE0LjY4MDU0MzUgMC41Mzg0MDc4OTYsMTQuMDQ3Mzc4NSAwLjkyODkzMjE4OCwxMy42NTY4NTQyIEw2LjU4NTAzODk3LDguMDAwMDM4OTcgTDAuOTI4OTMyMTg4LDIuMzQzMTQ1NzUgQzAuNTY4NDQ4MjI3LDEuOTgyNjYxNzkgMC41NDA3MTg2OTEsMS40MTU0MzA3MyAwLjg0NTc0MzU4MiwxLjAyMzEzOTUzIFoiIGlkPSJDb21iaW5lZC1TaGFwZSIgZmlsbD0iI0ZGRkZGRiIgLz4KPC9zdmc+Cg==\"","import * as React from \"react\";\nimport cx from \"classnames\";\nimport styles from \"./SidebarMenuCloseButton.module.css\";\nimport { Box, ButtonElementProps } from \"@stenajs-webui/core\";\nimport { ReactComponent as CloseIcon } from \"./svg/close.svg\";\n\nexport interface SidebarMenuCloseButtonProps extends ButtonElementProps {}\n\nexport const SidebarMenuCloseButton: React.FC<SidebarMenuCloseButtonProps> = ({\n className,\n onClick,\n}) => {\n return (\n <button\n onClick={onClick}\n className={cx(styles.sidebarMenuCloseButton, className)}\n >\n <Box className={styles.iconWrapper}>\n <CloseIcon className={styles.icon} />\n </Box>\n </button>\n );\n};\n","import { SeparatorLine, SeparatorLineProps } from \"@stenajs-webui/core\";\nimport { cssColor } from \"@stenajs-webui/theme\";\nimport * as React from \"react\";\n\nexport interface SidebarMenuSeparatorProps extends SeparatorLineProps {}\n\nexport const SidebarMenuSeparator: React.FC<SidebarMenuSeparatorProps> = (\n separatorLineProps\n) => (\n <SeparatorLine\n color={cssColor(\"--lhds-color-blue-600\")}\n {...separatorLineProps}\n />\n);\n","import { Box, BoxProps, Column, Space } from \"@stenajs-webui/core\";\nimport cx from \"classnames\";\nimport * as React from \"react\";\nimport styles from \"./SidebarMenu.module.css\";\nimport {\n SidebarMenuCloseButton,\n SidebarMenuCloseButtonProps,\n} from \"./SidebarMenuCloseButton\";\nimport { getNavbarHeight } from \"../nav-bar/NavbarHeightStyleUtil\";\nimport { NavBarVariant } from \"../nav-bar/NavBar\";\nimport { SidebarMenuSeparator } from \"./SidebarMenuSeparator\";\n\nexport type SidebarMenuVariant = NavBarVariant;\n\nexport interface SidebarMenuProps extends BoxProps {\n onCloseClick?: SidebarMenuCloseButtonProps[\"onClick\"];\n hideCloseButton?: boolean;\n collapsed?: boolean;\n variant?: SidebarMenuVariant;\n}\n\nexport const SidebarMenu: React.FC<SidebarMenuProps> = ({\n className,\n children,\n onCloseClick,\n collapsed = false,\n hideCloseButton = false,\n variant = \"standard\",\n ...boxProps\n}) => {\n const height = getNavbarHeight(variant);\n\n return (\n <Box\n className={cx(\n styles.sidebarMenu,\n collapsed ? styles.collapsed : null,\n className\n )}\n style={{\n [\"--swui-sidebar-menu-item-height\" as string]: height,\n [\"--swui-nav-bar-height\" as string]: height,\n }}\n data-collapsed={collapsed || undefined}\n {...boxProps}\n >\n {!hideCloseButton && (\n <>\n <SidebarMenuCloseButton onClick={onCloseClick} />\n <SidebarMenuSeparator />\n <Space />\n </>\n )}\n <Box\n className={styles.sidebarMenuContent}\n height={\"100%\"}\n background={\"var(--current-background-color)\"}\n >\n <Column flex={1}>{children}</Column>\n </Box>\n </Box>\n );\n};\n","import * as React from \"react\";\nimport { SidebarMenu, SidebarMenuVariant } from \"../SidebarMenu\";\nimport { NavBarSideMenuButton } from \"../../nav-bar/NavBarSideMenuButton\";\nimport { ReactNode } from \"react\";\n\ninterface RailMenuProps {\n variant?: SidebarMenuVariant;\n onClickMenuButton?: () => void;\n children?: ReactNode;\n}\n\nexport const SidebarRailMenu: React.FC<RailMenuProps> = ({\n variant,\n onClickMenuButton,\n children,\n}) => {\n return (\n <SidebarMenu\n collapsed\n position={\"fixed\"}\n left={0}\n top={0}\n hideCloseButton\n variant={variant}\n >\n <NavBarSideMenuButton onClick={onClickMenuButton} />\n {children}\n </SidebarMenu>\n );\n};\n","import { ButtonElementProps, Indent, Row } from \"@stenajs-webui/core\";\nimport * as React from \"react\";\nimport { CSSProperties, ReactNode } from \"react\";\nimport { ButtonContent, ButtonContentProps } from \"@stenajs-webui/elements\";\nimport contentStyles from \"./SidebarMenuContent.module.css\";\nimport cx from \"classnames\";\n\nexport type RenderLinkProps = ButtonElementProps & { activeClassName: string };\n\nexport interface SidebarMenuLinkProps\n extends ButtonElementProps,\n Pick<\n ButtonContentProps,\n | \"label\"\n | \"loading\"\n | \"left\"\n | \"leftIcon\"\n | \"right\"\n | \"rightIcon\"\n | \"success\"\n > {\n renderLink?: SidebarLinkRenderer;\n width?: CSSProperties[\"width\"];\n selected?: boolean;\n indent?: boolean;\n}\n\nexport type SidebarLinkRenderer = (props: RenderLinkProps) => ReactNode;\n\nexport const defaultRenderLink: SidebarLinkRenderer = ({\n activeClassName,\n ...props\n}) => {\n return <button {...props} />;\n};\n\nexport const SidebarMenuLink: React.FC<SidebarMenuLinkProps> = ({\n className,\n children,\n selected,\n indent,\n label,\n loading,\n left,\n leftIcon,\n right,\n rightIcon,\n success,\n width,\n renderLink = defaultRenderLink,\n style,\n ...buttonProps\n}) => {\n const hasContentLeft = left || leftIcon || loading || success;\n\n const innerClassName = cx(\n contentStyles.button,\n selected ? contentStyles.selected : undefined,\n className\n );\n\n const innerStyle = {\n ...style,\n width,\n height: \"var(--swui-sidebar-menu-item-height)\",\n };\n\n const innerChildren = (\n <Row spacing={1} flex={1} alignItems={\"center\"}>\n {!hasContentLeft && <Indent />}\n {indent && <Indent num={3.5} />}\n <ButtonContent\n label={label}\n loading={loading}\n left={left}\n leftIcon={leftIcon}\n right={right}\n rightIcon={rightIcon}\n success={success}\n labelClassName={contentStyles.label}\n spinnerClassName={contentStyles.spinner}\n iconClassName={cx(contentStyles.icon)}\n leftWrapperClassName={contentStyles.leftWrapper}\n />\n </Row>\n );\n\n return (\n <>\n {renderLink({\n ...buttonProps,\n activeClassName: contentStyles.selected,\n className: innerClassName,\n children: innerChildren,\n style: innerStyle,\n })}\n </>\n );\n};\n","import { Box, Text, TextProps } from \"@stenajs-webui/core\";\nimport * as React from \"react\";\nimport styles from \"./SidebarMenuHeading.module.css\";\nimport {\n CollapsibleContent,\n CollapsibleSimpleContentProps,\n} from \"../collapsible/CollapsibleContent\";\n\nexport interface SidebarMenuHeadingProps\n extends Pick<CollapsibleSimpleContentProps, \"contentLeft\" | \"contentRight\">,\n TextProps {\n label?: string;\n}\n\nexport const SidebarMenuHeading: React.FC<SidebarMenuHeadingProps> = ({\n className,\n label,\n contentLeft,\n contentRight,\n ...textProps\n}) => {\n return (\n <Box spacing={2} indent={2}>\n <CollapsibleContent\n className={styles.sidebarMenuHeading}\n contentLeft={contentLeft}\n contentRight={contentRight}\n >\n <Text\n variant={\"overline\"}\n color={\"var(--swui-sidebar-menu-heading-text-color)\"}\n {...textProps}\n >\n {label}\n </Text>\n </CollapsibleContent>\n </Box>\n );\n};\n","import * as React from \"react\";\nimport { ReactNode, useState } from \"react\";\nimport { Collapsible } from \"../collapsible/Collapsible\";\nimport { Box, Column, Indent } from \"@stenajs-webui/core\";\nimport { IconDefinition } from \"@fortawesome/fontawesome-svg-core\";\nimport styles from \"./SidebarMenuCollapsible.module.css\";\nimport { Icon } from \"@stenajs-webui/elements\";\n\nexport interface SidebarMenuCollapsibleProps {\n label: string;\n collapsed?: boolean;\n leftIcon?: IconDefinition;\n children?: ReactNode;\n}\n\nexport const SidebarMenuCollapsible: React.FC<SidebarMenuCollapsibleProps> = ({\n children,\n label,\n leftIcon,\n}) => {\n const [collapsed, setCollapsed] = useState<boolean>(false);\n\n return (\n <Box background={\"var(--current-background-color)\"}>\n <Collapsible\n className={styles.sidebarMenuCollapsible}\n label={label}\n collapsed={collapsed}\n onClick={() => setCollapsed(!collapsed)}\n contentLeft={\n leftIcon ? (\n <Box\n width={\"var(--swui-sidebar-menu-item-height)\"}\n alignItems={\"center\"}\n justifyContent={\"center\"}\n >\n <Icon\n icon={leftIcon}\n size={16}\n color={\"var(--current-text-color)\"}\n data-hover={true}\n />\n </Box>\n ) : (\n <Indent num={1} />\n )\n }\n >\n <Column flex={1}>{children}</Column>\n </Collapsible>\n </Box>\n );\n};\n","import { SidebarMenuLink } from \"../../SidebarMenuLink\";\nimport * as React from \"react\";\nimport { ReactNode } from \"react\";\nimport { SidebarMenuHeading } from \"../../SidebarMenuHeading\";\nimport { SidebarMenuSeparator } from \"../../SidebarMenuSeparator\";\nimport { SidebarMenuCollapsible } from \"../../SidebarMenuCollapsible\";\nimport { Box, exhaustSwitchCaseElseThrow } from \"@stenajs-webui/core\";\nimport { Popover } from \"@stenajs-webui/tooltip\";\nimport { SidebarItem } from \"./types\";\n\nexport const renderItemsExpanded = (\n items: SidebarItem[],\n indent = false\n): ReactNode[] => {\n return items.map((item, index) => {\n switch (item.type) {\n case \"heading\":\n return <SidebarMenuHeading key={index} label={item.label} />;\n case \"separator\":\n return <SidebarMenuSeparator key={index} />;\n case \"link\": {\n const { type, ...linkProps } = item;\n return <SidebarMenuLink key={index} indent={indent} {...linkProps} />;\n }\n case \"grouped\":\n return (\n <SidebarMenuCollapsible\n key={index}\n leftIcon={item.leftIcon}\n label={item.label}\n >\n {renderItemsExpanded(item.items, true)}\n </SidebarMenuCollapsible>\n );\n default:\n return exhaustSwitchCaseElseThrow(item);\n }\n });\n};\n\ninterface RailRendererOptions {\n popupMinWidth: string | number;\n}\n\nexport const renderItemsInRail = (\n items: SidebarItem[],\n { popupMinWidth }: RailRendererOptions\n): ReactNode[] => {\n return items.map((item, index) => {\n switch (item.type) {\n case \"heading\":\n return null;\n case \"separator\":\n return <SidebarMenuSeparator key={index} />;\n case \"link\": {\n const { type, label, ...linkProps } = item;\n return (\n <SidebarMenuLink\n key={index}\n title={label}\n width={\"var(--swui-sidebar-menu-item-height)\"}\n {...linkProps}\n />\n );\n }\n case \"grouped\":\n return (\n <div key={index}>\n <Popover\n appendTo={\"parent\"}\n arrow={false}\n offset={[0, 0]}\n placement={\"right-start\"}\n trigger={\"focusin mouseenter click\"}\n disablePadding\n lazy\n content={\n <Box\n minWidth={popupMinWidth}\n background={\"var(--lhds-color-blue-500)\"}\n >\n <SidebarMenuHeading label={item.label} />\n {renderItemsExpanded(item.items)}\n </Box>\n }\n >\n <SidebarMenuLink\n title={item.label}\n width={\"var(--swui-sidebar-menu-item-height)\"}\n leftIcon={item.leftIcon}\n />\n </Popover>\n </div>\n );\n default:\n return exhaustSwitchCaseElseThrow(item);\n }\n });\n};\n","import * as React from \"react\";\nimport { Box, Indent, Row, Space, Text } from \"@stenajs-webui/core\";\nimport { ReactNode } from \"react\";\nimport { cssColor } from \"@stenajs-webui/theme\";\n\ninterface SelectedItemsActionsProps {\n numItemsSelected?: number;\n label?: ReactNode | string;\n afterLabelContent?: ReactNode;\n rightContent?: ReactNode;\n}\n\nconst borderTop = `1px solid ${cssColor(\"--lhds-color-orange-400\")}`;\n\nexport const SelectedItemsActionsPanel: React.FC<SelectedItemsActionsProps> = ({\n numItemsSelected,\n label,\n afterLabelContent,\n rightContent,\n}) => (\n <Row\n indent={3}\n spacing\n minHeight={\"56px\"}\n justifyContent={\"space-between\"}\n alignItems={\"center\"}\n borderTop={borderTop}\n background={cssColor(\"--lhds-color-orange-50\")}\n >\n <Row alignItems={\"center\"}>\n {numItemsSelected != null || label != null ? (\n <>\n {numItemsSelected != null ? (\n <>\n <Text variant={\"bold\"}>{numItemsSelected}</Text>\n <Space />\n <Text>item{numItemsSelected === 1 ? \"\" : \"s\"} selected</Text>\n </>\n ) : label != null ? (\n <>{typeof label === \"string\" ? <Text>{label}</Text> : label}</>\n ) : null}\n </>\n ) : null}\n {afterLabelContent ? (\n <>\n <Indent />\n <Box>{afterLabelContent}</Box>\n </>\n ) : null}\n </Row>\n <Box>{rightContent}</Box>\n </Row>\n);\n"],"names":["ActionMenuButton","renderItems","placement","buttonComponent","Button","rightIcon","stenaAngleDown","portalTarget","zIndex","menuWidth","menuTop","onClick","disableArrow","buttonProps","isOpen","open","close","toggle","useBoolean","buttonRef","useRef","focusManager","name","defaultValue","fn","popper","restoreFocus","closeOnEscape","event","key","onCreate","addEventListener","onDestroy","removeEventListener","onMount","querySelector","focus","onHide","current","contextValue","useMemo","handleClick","Popover","_jsx","ActionMenu","ActionMenuContext","undefined","ActionMenuPrimaryButton","props","PrimaryButton","ActionMenuSecondaryButton","SecondaryButton","ActionMenuFlatButton","FlatButton","border","CheckboxMenu","renderMenu","checkboxProps","Column","Box","Row","Checkbox","Indent","SvgBars","React","NavBarSideMenuButton","className","cx","styles","sidebarMenuButton","Hamburger","icon","variantToHeight","getNavbarHeight","variant","NavBar","left","showMenuButton","menuButtonVisibility","children","right","center","onClickMenuButton","currentFlex","height","navBar","_jsxs","_Fragment","Children","map","child","index","NavBarButton","selected","navBarButton","NavBarHeading","headingProps","Heading","NavBarPopoverButton","content","navBarButtonProps","document","body","NavBarNotificationButton","count","unread","labelClassName","iconClassName","stenaBell","hasCount","navBarNotificationButton","String","label","NavBarSearchField","placeholder","wrapperClassName","textInputProps","TextInput","navBarSearchField","navBarSearchFieldInput","Clickable","Icon","stenaSearch","NavBarUserButton","username","initials","stenaUserCircle","navBarUserButton","defaultNotificationTheme","Notification","iconColor","title","text","date","dismissed","theme","agoLabel","formatDistance","Date","textAlign","notificationDismissedBg","notificationBg","notificationDismissedHoverBg","notificationHoverBg","Text","Space","cssColor","CollapsibleEmptyContent","faInbox","CollapsibleContent","contentLeft","contentRight","mapCSSTime","value","num","parseFloat","match","Collapsible","forwardRef","collapsed","disabled","unmountOnCollapse","mountOnEnter","faChevronUp","iconCollapsed","faChevronDown","iconSize","autoFocus","divProps","ref","divRef","timeout","getComputedStyle","getPropertyValue","collapsible","header","headerText","indicator","CSSTransition","enter","contentEnter","enterActive","contentEnterActive","exit","contentExit","exitActive","contentExitActive","exitDone","contentExitDone","CollapsibleWithCheckbox","onValueChange","onChange","indeterminate","collapsibleProps","ev","stopPropagation","CollapsibleClickableContent","CollapsibleGroupHeading","groupHeading","ErrorPanel","Banner","ErrorScreen","LoadingPanel","Spinner","LoadingScreen","PageHeader","renderBreadCrumbs","renderPageHeading","renderTabs","SeparatorLine","PageHeaderRow","variantToSpacing","compact","standard","relaxed","PageHeading","heading","marginLeft","SvgClose","SidebarMenuCloseButton","sidebarMenuCloseButton","iconWrapper","CloseIcon","SidebarMenuSeparator","separatorLineProps","SidebarMenu","onCloseClick","hideCloseButton","boxProps","sidebarMenu","sidebarMenuContent","SidebarRailMenu","defaultRenderLink","activeClassName","SidebarMenuLink","indent","loading","leftIcon","success","width","renderLink","style","hasContentLeft","innerClassName","contentStyles","button","innerStyle","innerChildren","ButtonContent","spinner","leftWrapper","SidebarMenuHeading","textProps","sidebarMenuHeading","SidebarMenuCollapsible","setCollapsed","useState","sidebarMenuCollapsible","renderItemsExpanded","items","item","type","linkProps","exhaustSwitchCaseElseThrow","renderItemsInRail","popupMinWidth","borderTop","SelectedItemsActionsPanel","numItemsSelected","afterLabelContent","rightContent"],"mappings":"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"}
1
+ {"version":3,"file":"index.es.js","sources":["../src/components/action-menu-button/ActionMenuButton.tsx","../src/components/action-menu-button/ActionMenuPrimaryButton.tsx","../src/components/action-menu-button/ActionMenuSecondaryButton.tsx","../src/components/action-menu-button/ActionMenuFlatButton.tsx","../src/components/checkbox-menu/CheckboxMenu.tsx","../src/components/nav-bar/svg/bars.svg","../src/components/nav-bar/NavBarSideMenuButton.tsx","../src/components/nav-bar/NavbarHeightStyleUtil.ts","../src/components/nav-bar/NavBar.tsx","../src/components/nav-bar/NavBarButton.tsx","../src/components/nav-bar/NavBarHeading.tsx","../src/components/nav-bar/NavBarPopoverButton.tsx","../src/components/nav-bar/NavBarNotificationButton.tsx","../src/components/nav-bar/NavBarSearchField.tsx","../src/components/nav-bar/NavBarUserButton.tsx","../src/components/notifications/NotificationHeader.tsx","../src/components/notifications/Notification.tsx","../src/components/notifications/Toast.tsx","../src/components/collapsible/CollapsibleEmptyContent.tsx","../src/components/collapsible/CollapsibleContent.tsx","../src/components/collapsible/Collapsible.tsx","../src/components/collapsible/CollapsibleWithCheckbox.tsx","../src/components/collapsible/CollapsibleClickableContent.tsx","../src/components/collapsible/CollapsibleGroupHeading.tsx","../src/components/error-panel/ErrorPanel.tsx","../src/components/error-panel/ErrorScreen.tsx","../src/components/loading-panel/LoadingPanel.tsx","../src/components/loading-panel/LoadingScreen.tsx","../src/components/page-header/PageHeader.tsx","../src/components/page-header/PageHeaderRow.tsx","../src/components/page-header/PageHeading.tsx","../src/components/sidebar-menu/svg/close.svg","../src/components/sidebar-menu/SidebarMenuCloseButton.tsx","../src/components/sidebar-menu/SidebarMenuSeparator.tsx","../src/components/sidebar-menu/SidebarMenu.tsx","../src/components/sidebar-menu/rail/SidebarRailMenu.tsx","../src/components/sidebar-menu/SidebarMenuLink.tsx","../src/components/sidebar-menu/SidebarMenuHeading.tsx","../src/components/sidebar-menu/SidebarMenuCollapsible.tsx","../src/components/sidebar-menu/rail/renderer/RailRenderer.tsx","../src/components/selected-items-actions-panel/SelectedItemsActionsPanel.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { ReactNode, useMemo, useRef } from \"react\";\nimport {\n ActionMenu,\n ActionMenuContext,\n ActionMenuProps,\n FlatButton,\n PrimaryButton,\n PrimaryButtonProps,\n SecondaryButton,\n stenaAngleDown,\n} from \"@stenajs-webui/elements\";\nimport { useBoolean } from \"@stenajs-webui/core\";\nimport { Popover, PopoverProps } from \"@stenajs-webui/tooltip\";\nimport { Plugin as TippyPlugin, Props as TippyProps } from \"tippy.js\";\n\nexport interface ActionMenuButtonProps\n extends Omit<\n PrimaryButtonProps,\n \"variant\" | \"loading\" | \"loadingLabel\" | \"success\" | \"successLabel\"\n > {\n /** The content of the Action Menu. */\n renderItems: (close: () => void) => ReactNode;\n /** The placement of the Action Menu. */\n placement?: PopoverProps[\"placement\"];\n /** Z-index of the Action Menu */\n zIndex?: number;\n /** Portal target, HTML element. If not set, portal is not used. */\n portalTarget?: PopoverProps[\"appendTo\"];\n menuWidth?: ActionMenuProps[\"width\"];\n menuTop?: ActionMenuProps[\"top\"];\n buttonComponent:\n | typeof PrimaryButton\n | typeof SecondaryButton\n | typeof FlatButton;\n disableArrow?: boolean;\n}\n\nexport const ActionMenuButton: React.FC<ActionMenuButtonProps> = ({\n renderItems,\n placement = \"bottom\",\n buttonComponent: Button,\n rightIcon = stenaAngleDown,\n portalTarget = \"parent\",\n zIndex,\n menuWidth,\n menuTop,\n onClick,\n disableArrow = false,\n ...buttonProps\n}) => {\n const [isOpen, open, close, toggle] = useBoolean(false);\n\n const buttonRef = useRef<HTMLButtonElement>(null);\n\n const focusManager: TippyPlugin<TippyProps> = {\n name: \"focusManager\",\n defaultValue: true,\n fn({ popper }) {\n let restoreFocus = false;\n\n const closeOnEscape = (event: KeyboardEvent) => {\n if (event.key === \"Escape\") {\n restoreFocus = true;\n close();\n }\n if (event.key === \"Enter\" || event.key === \" \") {\n restoreFocus = true;\n }\n };\n\n return {\n onCreate() {\n popper.addEventListener(\"keydown\", closeOnEscape);\n },\n onDestroy() {\n popper.removeEventListener(\"keydown\", closeOnEscape);\n },\n onMount() {\n restoreFocus = false;\n popper\n .querySelector<HTMLElement>(\"button:not([disabled]), a[href]\")\n ?.focus();\n },\n onHide() {\n if (buttonRef.current && restoreFocus) {\n buttonRef.current.focus();\n }\n },\n };\n },\n };\n\n const contextValue = useMemo(() => ({ open, close }), [open, close]);\n\n const handleClick = (\n event: React.MouseEvent<HTMLButtonElement, MouseEvent>\n ) => {\n onClick?.(event);\n toggle();\n };\n\n return (\n <Popover\n disablePadding\n visible={isOpen}\n onClickOutside={close}\n placement={placement}\n content={\n isOpen && (\n <ActionMenu\n variant={\"outlined\"}\n width={menuWidth}\n top={menuTop}\n trapFocus\n >\n <ActionMenuContext.Provider value={contextValue}>\n {renderItems(close)}\n </ActionMenuContext.Provider>\n </ActionMenu>\n )\n }\n arrow={false}\n appendTo={portalTarget}\n zIndex={zIndex}\n plugins={[focusManager]}\n lazy\n >\n <Button\n rightIcon={disableArrow ? undefined : rightIcon}\n {...buttonProps}\n ref={buttonRef}\n onClick={handleClick}\n />\n </Popover>\n );\n};\n","import * as React from \"react\";\nimport { PrimaryButton, PrimaryButtonProps } from \"@stenajs-webui/elements\";\nimport { ActionMenuButton, ActionMenuButtonProps } from \"./ActionMenuButton\";\n\nexport interface ActionMenuPrimaryButtonProps\n extends Omit<ActionMenuButtonProps, \"buttonComponent\">,\n Pick<PrimaryButtonProps, \"variant\"> {}\n\nexport const ActionMenuPrimaryButton: React.FC<ActionMenuPrimaryButtonProps> = (\n props\n) => {\n return <ActionMenuButton buttonComponent={PrimaryButton} {...props} />;\n};\n","import * as React from \"react\";\nimport { SecondaryButton } from \"@stenajs-webui/elements\";\nimport { ActionMenuButton, ActionMenuButtonProps } from \"./ActionMenuButton\";\n\nexport interface ActionMenuSecondaryButtonProps\n extends Omit<ActionMenuButtonProps, \"buttonComponent\"> {}\n\nexport const ActionMenuSecondaryButton: React.FC<\n ActionMenuSecondaryButtonProps\n> = (props) => {\n return <ActionMenuButton buttonComponent={SecondaryButton} {...props} />;\n};\n","import * as React from \"react\";\nimport { FlatButton } from \"@stenajs-webui/elements\";\nimport { ActionMenuButton, ActionMenuButtonProps } from \"./ActionMenuButton\";\n\nexport interface ActionMenuFlatButtonProps\n extends Omit<ActionMenuButtonProps, \"buttonComponent\"> {}\n\nexport const ActionMenuFlatButton: React.FC<ActionMenuFlatButtonProps> = (\n props\n) => {\n return <ActionMenuButton buttonComponent={FlatButton} {...props} />;\n};\n","import * as React from \"react\";\nimport { ReactNode } from \"react\";\nimport { Box, Column, Indent, Row, useBoolean } from \"@stenajs-webui/core\";\nimport {\n ActionMenu,\n FlatButton,\n stenaAngleDown,\n} from \"@stenajs-webui/elements\";\nimport { Popover } from \"@stenajs-webui/tooltip\";\nimport { Checkbox, CheckboxProps } from \"@stenajs-webui/forms\";\n\nexport interface CheckboxMenuProps extends CheckboxProps {\n renderMenu: (close: () => void) => ReactNode;\n}\n\nconst border = `1px solid var(--lhds-color-ui-300)`;\n\nexport const CheckboxMenu: React.FC<CheckboxMenuProps> = ({\n renderMenu,\n ...checkboxProps\n}) => {\n const [isOpen, open, close] = useBoolean(false);\n return (\n <Popover\n onClickOutside={close}\n arrow={false}\n visible={isOpen}\n disablePadding\n content={\n renderMenu ? (\n <Column>\n <ActionMenu>{renderMenu(close)}</ActionMenu>\n </Column>\n ) : undefined\n }\n placement={\"bottom-start\"}\n variant={\"outlined\"}\n >\n <Box display={\"inline-block\"}>\n <Row\n spacing={0.5}\n indent\n alignItems={\"center\"}\n border={border}\n borderRadius={\"4px\"}\n >\n <Checkbox {...checkboxProps} />\n <Indent num={0.5} />\n <FlatButton size={\"small\"} onClick={open} leftIcon={stenaAngleDown} />\n </Row>\n </Box>\n </Popover>\n );\n};\n","export default \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBmaWxsPSIjRkZGIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0yMiw1IEwyLDUgQzIuMTE5OTIzNzMsNSAyLDQuODUwNzYxNTggMiw1IEwyLDMgQzIsMy4xNDkyMzg0MiAyLjExOTkyMzczLDMgMiwzIEwyMiwzIEMyMS44ODAwNzYzLDMgMjIsMy4xNDkyMzg0MiAyMiwzIEwyMiw1IEMyMiw0Ljg1MDc2MTU4IDIxLjg4MDA3NjMsNSAyMiw1IFogTTIyLDEzIEwyLDEzIEMyLjExOTkyMzczLDEzIDIsMTIuODUwNzYxNiAyLDEzIEwyLDExIEMyLDExLjE0OTIzODQgMi4xMTk5MjM3MywxMSAyLDExIEwyMiwxMSBDMjEuODgwMDc2MywxMSAyMiwxMS4xNDkyMzg0IDIyLDExIEwyMiwxMyBDMjIsMTIuODUwNzYxNiAyMS44ODAwNzYzLDEzIDIyLDEzIFogTTIyLDIxIEwyLDIxIEMyLjExOTkyMzczLDIxIDIsMjAuODUwNzYxNiAyLDIxIEwyLDE5IEMyLDE5LjE0OTIzODQgMi4xMTk5MjM3MywxOSAyLDE5IEwyMiwxOSBDMjEuODgwMDc2MywxOSAyMiwxOS4xNDkyMzg0IDIyLDE5IEwyMiwyMSBDMjIsMjAuODUwNzYxNiAyMS44ODAwNzYzLDIxIDIyLDIxIFoiLz4KPC9zdmc+Cg==\"","import * as React from \"react\";\nimport cx from \"classnames\";\nimport styles from \"./NavBarSideMenuButton.module.css\";\nimport { DivProps } from \"@stenajs-webui/core\";\nimport { ReactComponent as Hamburger } from \"./svg/bars.svg\";\n\nexport interface SidebarMenuButtonProps extends Pick<DivProps, \"className\"> {\n onClick?: (ev: React.MouseEvent<HTMLButtonElement>) => void;\n}\n\nexport const NavBarSideMenuButton: React.FC<SidebarMenuButtonProps> = ({\n className,\n onClick,\n}) => {\n return (\n <button\n onClick={onClick}\n className={cx(styles.sidebarMenuButton, className)}\n >\n <Hamburger className={styles.icon} />\n </button>\n );\n};\n","import { NavBarVariant } from \"./NavBar\";\n\nconst variantToHeight: Record<NavBarVariant, number> = {\n compact: 40,\n standard: 48,\n relaxed: 64,\n};\n\nexport const getNavbarHeight = (variant: NavBarVariant) =>\n variantToHeight[variant] + \"px\";\n","import { Box, Indent, Row } from \"@stenajs-webui/core\";\nimport * as React from \"react\";\nimport { ReactNode } from \"react\";\nimport cx from \"classnames\";\nimport styles from \"./NavBar.module.css\";\nimport {\n NavBarSideMenuButton,\n SidebarMenuButtonProps,\n} from \"./NavBarSideMenuButton\";\nimport { getNavbarHeight } from \"./NavbarHeightStyleUtil\";\n\nexport type NavBarVariant = \"compact\" | \"standard\" | \"relaxed\";\n\nexport interface NavBarProps {\n className?: string;\n showMenuButton?: boolean;\n menuButtonVisibility?: \"visible\" | \"hidden\";\n onClickMenuButton?: SidebarMenuButtonProps[\"onClick\"];\n right?: ReactNode;\n center?: ReactNode;\n left?: ReactNode;\n variant?: NavBarVariant;\n children?: ReactNode;\n}\n\nexport const NavBar: React.FC<NavBarProps> = ({\n left,\n className,\n showMenuButton = false,\n menuButtonVisibility = \"visible\",\n children,\n right,\n center,\n variant = \"standard\",\n onClickMenuButton,\n}) => {\n const currentFlex = center ? 1 : undefined;\n const height = getNavbarHeight(variant);\n return (\n <Row\n height={height}\n minHeight={height}\n justifyContent={\"space-between\"}\n style={{ [\"--swui-nav-bar-height\" as string]: height }}\n className={cx(styles.navBar, className)}\n >\n <Row\n flex={currentFlex}\n justifyContent={\"flex-start\"}\n alignItems={\"center\"}\n >\n {showMenuButton ? (\n <>\n {menuButtonVisibility === \"hidden\" ? (\n <Box width={\"var(--swui-nav-bar-height)\"} />\n ) : (\n <NavBarSideMenuButton onClick={onClickMenuButton} />\n )}\n <Indent />\n </>\n ) : (\n <Indent num={2} />\n )}\n {left ? (\n <>\n {left}\n <Indent num={2} />\n </>\n ) : (\n <Indent num={2} />\n )}\n {children && (\n <>\n <Row justifyContent={\"center\"} alignItems={\"center\"}>\n {React.Children.map(children, (child, index) => (\n <>\n {index > 0 && <Indent />}\n {child}\n </>\n ))}\n </Row>\n </>\n )}\n </Row>\n {center && (\n <Row justifyContent={\"center\"} alignItems={\"center\"}>\n {center}\n </Row>\n )}\n <Row justifyContent={\"flex-end\"} alignItems={\"center\"} flex={currentFlex}>\n {right}\n <Indent num={2} />\n </Row>\n </Row>\n );\n};\n","import { FlatButton, FlatButtonProps } from \"@stenajs-webui/elements\";\nimport * as React from \"react\";\nimport cx from \"classnames\";\nimport styles from \"./NavBarButton.module.css\";\n\nexport interface NavBarButtonProps extends FlatButtonProps {\n selected?: boolean;\n}\n\nexport const NavBarButton: React.FC<NavBarButtonProps> = ({\n selected,\n className,\n ...buttonProps\n}) => {\n return (\n <FlatButton\n {...buttonProps}\n className={cx(\n styles.navBarButton,\n selected && styles.selected,\n className\n )}\n />\n );\n};\n","import * as React from \"react\";\nimport { Heading, HeadingProps } from \"@stenajs-webui/core\";\n\ninterface NavBarHeadingProps extends HeadingProps {}\n\nexport const NavBarHeading: React.FC<NavBarHeadingProps> = (headingProps) => {\n return <Heading whiteSpace={\"nowrap\"} color={\"#fff\"} {...headingProps} />;\n};\n","import { useBoolean } from \"@stenajs-webui/core\";\nimport * as React from \"react\";\nimport { ReactNode } from \"react\";\nimport { NavBarButton, NavBarButtonProps } from \"./NavBarButton\";\nimport { Popover } from \"@stenajs-webui/tooltip\";\n\ntype RenderProp = (args: RenderPropArgs) => ReactNode;\n\ninterface RenderPropArgs {\n close: () => void;\n}\n\nexport interface NavBarPopoverButtonProps\n extends Omit<NavBarButtonProps, \"onClick\"> {\n content?: RenderProp;\n}\n\nexport const NavBarPopoverButton: React.FC<NavBarPopoverButtonProps> = ({\n content,\n children,\n ...navBarButtonProps\n}) => {\n const [isOpen, open, close] = useBoolean(false);\n\n return (\n <Popover\n onClickOutside={close}\n triggerTarget={document.body}\n visible={isOpen}\n content={\n <>\n {content && content({ close })}\n {children}\n </>\n }\n >\n <NavBarButton {...navBarButtonProps} onClick={open} />\n </Popover>\n );\n};\n","import { FlatButton, FlatButtonProps } from \"@stenajs-webui/elements\";\nimport * as React from \"react\";\nimport cx from \"classnames\";\nimport styles from \"./NavBarNotificationButton.module.css\";\nimport { IconDefinition } from \"@fortawesome/fontawesome-svg-core\";\nimport { stenaBell } from \"@stenajs-webui/elements\";\n\nexport interface NavBarNotificationButtonProps\n extends Omit<FlatButtonProps, \"leftIcon\" | \"rightIcon\" | \"label\"> {\n count: number;\n unread: boolean;\n icon?: IconDefinition;\n}\n\nexport const NavBarNotificationButton: React.FC<\n NavBarNotificationButtonProps\n> = ({\n count,\n unread = false,\n className,\n labelClassName,\n iconClassName,\n icon = stenaBell,\n ...buttonProps\n}) => {\n const hasCount = count > 0;\n\n return (\n <FlatButton\n {...buttonProps}\n leftIcon={icon}\n className={cx(\n { [styles.unread]: unread },\n { [styles.hasCount]: hasCount },\n styles.navBarNotificationButton,\n className\n )}\n label={hasCount ? String(count) : undefined}\n labelClassName={cx(labelClassName, styles.label)}\n iconClassName={cx(iconClassName, styles.icon)}\n />\n );\n};\n","import * as React from \"react\";\nimport { TextInput, TextInputProps } from \"@stenajs-webui/forms\";\nimport { Clickable } from \"@stenajs-webui/core\";\nimport { Icon, stenaSearch } from \"@stenajs-webui/elements\";\nimport cx from \"classnames\";\nimport styles from \"./NavBarSearchField.module.css\";\n\ninterface NavBarSearchFieldProps extends TextInputProps {}\n\nexport const NavBarSearchField: React.FC<NavBarSearchFieldProps> = ({\n placeholder = \"Search...\",\n className,\n wrapperClassName,\n ...textInputProps\n}) => {\n return (\n <TextInput\n wrapperClassName={cx(styles.navBarSearchField, wrapperClassName)}\n className={cx(styles.navBarSearchFieldInput, className)}\n placeholder={placeholder}\n contentRight={\n <Clickable>\n <Icon icon={stenaSearch} />\n </Clickable>\n }\n {...textInputProps}\n />\n );\n};\n","import { IconDefinition } from \"@fortawesome/fontawesome-svg-core\";\nimport { stenaUserCircle } from \"@stenajs-webui/elements\";\nimport cx from \"classnames\";\nimport * as React from \"react\";\nimport {\n ActionMenuFlatButton,\n ActionMenuFlatButtonProps,\n} from \"../action-menu-button/ActionMenuFlatButton\";\nimport styles from \"./NavBarUserButton.module.css\";\n\nexport interface NavBarUserButtonProps\n extends Omit<ActionMenuFlatButtonProps, \"label\" | \"leftIcon\" | \"rightIcon\"> {\n username?: string;\n initials?: string;\n icon?: IconDefinition;\n}\n\nexport const NavBarUserButton: React.FC<NavBarUserButtonProps> = ({\n className,\n username,\n initials,\n icon = stenaUserCircle,\n iconClassName,\n ...buttonProps\n}) => {\n return (\n <ActionMenuFlatButton\n {...buttonProps}\n className={cx(\n { [styles.initials]: initials != null },\n styles.navBarUserButton,\n className\n )}\n leftIcon={username != null ? icon : undefined}\n label={initials ?? username}\n disableArrow\n />\n );\n};\n","import { Box, Row, Txt } from \"@stenajs-webui/core\";\nimport * as React from \"react\";\nimport { IconDefinition } from \"@fortawesome/fontawesome-svg-core\";\nimport { FlatButton, Icon, stenaTimes } from \"@stenajs-webui/elements\";\nimport { cssColor } from \"@stenajs-webui/theme\";\n\nexport interface NotificationHeaderProps {\n /** Text. */\n text: string;\n /** Timestamp. */\n timestamp?: string;\n /** Icon. */\n icon?: IconDefinition;\n /** Icon description for accessibility. */\n iconAriaLabel?: string;\n /** Icon colour. */\n iconColor?: string;\n /** Left content instead of icon. */\n contentLeft?: React.ReactNode;\n /** Right content. */\n contentRight?: React.ReactNode;\n /** What happens on clicking close. */\n onClose?: () => void;\n}\n\nexport const NotificationHeader: React.FC<NotificationHeaderProps> = ({\n text,\n timestamp,\n icon,\n iconAriaLabel,\n iconColor,\n contentLeft,\n contentRight,\n onClose,\n}) => (\n <Row alignItems={\"flex-start\"} indent spacing>\n <Row indent={2} spacing gap={2} flex={1} alignItems={\"flex-start\"}>\n {contentLeft && (\n <Box minHeight={20} justifyContent={\"center\"}>\n {contentLeft}\n </Box>\n )}\n {!contentLeft && icon && (\n <Icon\n icon={icon}\n size={20}\n color={iconColor}\n aria-label={iconAriaLabel}\n />\n )}\n <Box minHeight={20} justifyContent={\"center\"} flex={1} gap={0.5}>\n <Txt variant={\"bold\"}>{text}</Txt>\n {timestamp && (\n <Txt size={\"small\"} color={cssColor(\"--lhds-color-ui-600\")}>\n {timestamp}\n </Txt>\n )}\n </Box>\n {contentRight}\n </Row>\n {onClose && (\n <Box\n flex={\"none\"}\n justifyContent={\"center\"}\n style={{\n height: \"calc(20px + 2 * var(--swui-metrics-spacing))\",\n }}\n >\n <FlatButton\n leftIcon={stenaTimes}\n onClick={onClose}\n aria-label={\"Close\"}\n />\n </Box>\n )}\n </Row>\n);\n","import { BoxProps, Column, Space } from \"@stenajs-webui/core\";\nimport * as React from \"react\";\nimport {\n NotificationHeader,\n NotificationHeaderProps,\n} from \"./NotificationHeader\";\n\nexport interface NotificationProps\n extends Pick<BoxProps, \"children\" | \"background\">,\n NotificationHeaderProps {}\n\nexport const Notification: React.FC<NotificationProps> = ({\n children,\n background,\n ...headerProps\n}) => (\n <Column background={background}>\n <NotificationHeader {...headerProps} />\n {children && (\n <Column indent={3}>\n {children}\n <Space num={2} />\n </Column>\n )}\n </Column>\n);\n","import { Box, BoxProps, Space } from \"@stenajs-webui/core\";\nimport { cssColor } from \"@stenajs-webui/theme\";\nimport * as React from \"react\";\nimport styles from \"./Toast.module.css\";\nimport cx from \"classnames\";\nimport {\n NotificationHeader,\n NotificationHeaderProps,\n} from \"./NotificationHeader\";\n\nexport interface ToastProps\n extends Pick<BoxProps, \"children\" | \"width\" | \"maxWidth\">,\n Omit<NotificationHeaderProps, \"contentRight\"> {\n /** What happens on clicking the toast. */\n onClick?: () => void;\n /** Description of what happens on clicking the toast for accessibility. */\n onClickAriaLabel?: string;\n}\n\nexport const Toast: React.FC<ToastProps> = ({\n onClick,\n onClickAriaLabel,\n children,\n width = 264,\n maxWidth,\n ...headerProps\n}) => (\n <Box\n borderRadius={8}\n background={cssColor(\"--lhds-color-ui-50\")}\n shadow={\"popover\"}\n width={width}\n maxWidth={maxWidth}\n role={\"alert\"}\n position={\"relative\"}\n >\n <Box className={cx({ [styles.nonClickable]: onClick })}>\n <NotificationHeader {...headerProps} />\n </Box>\n {children && (\n <Box indent={3} className={cx({ [styles.nonClickable]: onClick })}>\n {children}\n <Space num={2} />\n </Box>\n )}\n {onClick && (\n <button\n onClick={onClick}\n className={styles.clickable}\n aria-label={onClickAriaLabel}\n ></button>\n )}\n </Box>\n);\n","import { faInbox } from \"@fortawesome/free-solid-svg-icons/faInbox\";\nimport { Column, Space, Text } from \"@stenajs-webui/core\";\nimport { Icon } from \"@stenajs-webui/elements\";\nimport { cssColor } from \"@stenajs-webui/theme\";\nimport * as React from \"react\";\n\ninterface Props {}\n\nexport const CollapsibleEmptyContent: React.FC<Props> = () => {\n return (\n <Column indent spacing flex={1} alignItems={\"center\"}>\n <Icon icon={faInbox} color={cssColor(\"--lhds-color-ui-500\")} />\n <Space />\n <Text size={\"small\"} color={cssColor(\"--lhds-color-ui-500\")}>\n No content\n </Text>\n </Column>\n );\n};\n","import cx from \"classnames\";\nimport * as React from \"react\";\nimport { HTMLAttributes, ReactNode } from \"react\";\nimport styles from \"./Collapsible.module.css\";\nimport { CollapsibleEmptyContent } from \"./CollapsibleEmptyContent\";\n\nexport interface CollapsibleSimpleContentProps {\n contentLeft?: ReactNode;\n contentRight?: ReactNode;\n}\n\nexport const CollapsibleContent: React.FC<\n CollapsibleSimpleContentProps & HTMLAttributes<HTMLDivElement>\n> = ({ contentLeft, contentRight, className, children, ...props }) => {\n return (\n <div className={cx(styles.content, className)} {...props}>\n {contentLeft && <div className={styles.contentLeft}>{contentLeft}</div>}\n {children ?? <CollapsibleEmptyContent />}\n {contentRight && (\n <div className={styles.contentRight}>{contentRight}</div>\n )}\n </div>\n );\n};\n","import { IconDefinition } from \"@fortawesome/fontawesome-svg-core\";\nimport { faChevronDown } from \"@fortawesome/free-solid-svg-icons\";\nimport { faChevronUp } from \"@fortawesome/free-solid-svg-icons/faChevronUp\";\nimport { Clickable, ClickableProps, DivProps, Text } from \"@stenajs-webui/core\";\nimport { Icon } from \"@stenajs-webui/elements\";\nimport cx from \"classnames\";\nimport * as React from \"react\";\nimport { forwardRef } from \"react\";\nimport { CSSTransition } from \"react-transition-group\";\nimport styles from \"./Collapsible.module.css\";\nimport { CollapsibleContent } from \"./CollapsibleContent\";\nimport { CollapsibleEmptyContent } from \"./CollapsibleEmptyContent\";\n\nexport interface CollapsibleProps\n extends Omit<DivProps, \"onClick\">,\n Pick<ClickableProps, \"onClick\"> {\n label: string;\n contentLeft?: React.ReactNode;\n contentRight?: React.ReactNode;\n collapsed?: boolean;\n disabled?: boolean;\n unmountOnCollapse?: boolean;\n mountOnEnter?: boolean;\n icon?: IconDefinition;\n iconCollapsed?: IconDefinition;\n iconSize?: number;\n autoFocus?: boolean;\n}\n\nexport const mapCSSTime = (value: string): number => {\n const num = parseFloat(value);\n const match = value.match(/m?s/);\n\n switch (match?.[0]) {\n case \"s\":\n return num * 1000;\n case \"ms\":\n return num;\n default:\n return 0;\n }\n};\n\nexport const Collapsible = forwardRef<HTMLButtonElement, CollapsibleProps>(\n function Collapsible(\n {\n label,\n contentLeft,\n contentRight,\n collapsed = false,\n onClick,\n className,\n disabled = false,\n unmountOnCollapse = false,\n mountOnEnter = true,\n icon = faChevronUp,\n iconCollapsed = faChevronDown,\n iconSize = 8,\n children,\n autoFocus = false,\n ...divProps\n },\n ref\n ) {\n const divRef = React.useRef<HTMLDivElement>(null);\n\n const timeout = divRef.current\n ? mapCSSTime(\n getComputedStyle(divRef.current).getPropertyValue(\n \"--swui-collapsible-animation-time\"\n )\n )\n : undefined;\n\n return (\n <div\n className={cx(styles.collapsible, className)}\n aria-expanded={!collapsed}\n ref={divRef}\n {...divProps}\n >\n <Clickable\n disableFocusHighlight\n disableOpacityOnClick\n className={styles.header}\n onClick={onClick}\n disabled={disabled}\n autoFocus={autoFocus}\n ref={ref}\n >\n {contentLeft && (\n <div className={styles.contentLeft}>{contentLeft}</div>\n )}\n <div className={styles.label}>\n <Text\n color={\"var(--swui-collapsible-header-text-color)\"}\n className={styles.headerText}\n >\n {label}\n </Text>\n </div>\n {contentRight && (\n <div className={styles.contentRight}>{contentRight}</div>\n )}\n <Icon\n icon={collapsed ? iconCollapsed : icon}\n className={styles.indicator}\n size={iconSize}\n fixedWidth\n />\n </Clickable>\n <CSSTransition\n in={!collapsed}\n timeout={{\n enter: timeout,\n }}\n classNames={{\n enter: styles.contentEnter,\n enterActive: styles.contentEnterActive,\n exit: styles.contentExit,\n exitActive: styles.contentExitActive,\n exitDone: styles.contentExitDone,\n }}\n mountOnEnter={mountOnEnter}\n unmountOnExit={unmountOnCollapse}\n >\n <div role={\"region\"}>\n {children ?? (\n <CollapsibleContent>\n <CollapsibleEmptyContent />\n </CollapsibleContent>\n )}\n </div>\n </CSSTransition>\n </div>\n );\n }\n);\n","import { Checkbox, CheckboxProps } from \"@stenajs-webui/forms\";\nimport * as React from \"react\";\nimport { Collapsible, CollapsibleProps } from \"./Collapsible\";\n\nexport interface CollapsibleWithCheckboxProps\n extends Omit<CollapsibleProps, \"contentLeft\" | \"onChange\">,\n Pick<\n CheckboxProps,\n \"value\" | \"onValueChange\" | \"onChange\" | \"indeterminate\"\n > {}\n\nexport const CollapsibleWithCheckbox: React.FC<\n CollapsibleWithCheckboxProps\n> = ({\n value,\n onValueChange,\n onChange,\n indeterminate,\n ...collapsibleProps\n}) => {\n return (\n <Collapsible\n contentLeft={\n <Checkbox\n value={value}\n indeterminate={indeterminate}\n onValueChange={onValueChange}\n onChange={onChange}\n onClick={(ev) => ev.stopPropagation()}\n />\n }\n {...collapsibleProps}\n />\n );\n};\n","import { ButtonElementProps, Clickable } from \"@stenajs-webui/core\";\nimport cx from \"classnames\";\nimport * as React from \"react\";\nimport styles from \"./Collapsible.module.css\";\nimport { CollapsibleSimpleContentProps } from \"./CollapsibleContent\";\nimport { CollapsibleEmptyContent } from \"./CollapsibleEmptyContent\";\n\nexport interface CollapsibleClickableContentProps\n extends CollapsibleSimpleContentProps,\n ButtonElementProps {}\n\nexport const CollapsibleClickableContent: React.FC<\n CollapsibleClickableContentProps\n> = ({ contentLeft, contentRight, className, onClick, children, ...props }) => {\n return (\n <Clickable\n disableFocusHighlight\n disableOpacityOnClick\n className={cx(styles.content, className)}\n onClick={onClick}\n {...props}\n >\n {contentLeft && <div className={styles.contentLeft}>{contentLeft}</div>}\n {children ?? <CollapsibleEmptyContent />}\n {contentRight && (\n <div className={styles.contentRight}>{contentRight}</div>\n )}\n </Clickable>\n );\n};\n","import { DivProps } from \"@stenajs-webui/core\";\nimport cx from \"classnames\";\nimport * as React from \"react\";\nimport styles from \"./Collapsible.module.css\";\nimport {\n CollapsibleContent,\n CollapsibleSimpleContentProps,\n} from \"./CollapsibleContent\";\n\nexport interface CollapsibleGroupHeadingProps\n extends CollapsibleSimpleContentProps,\n DivProps {}\n\nexport const CollapsibleGroupHeading: React.FC<\n CollapsibleGroupHeadingProps\n> = ({ className, ...props }) => (\n <CollapsibleContent\n className={cx(styles.groupHeading, className)}\n {...props}\n />\n);\n","import { Box } from \"@stenajs-webui/core\";\nimport { Banner } from \"@stenajs-webui/elements\";\nimport * as React from \"react\";\n\nexport interface ErrorPanelProps {\n text?: string;\n}\n\nexport const ErrorPanel: React.FC<ErrorPanelProps> = ({\n text = \"Something unexpected happened.\",\n}) => {\n return (\n <Box justifyContent={\"center\"} alignItems={\"center\"}>\n <Banner variant={\"error\"} headerText={text} />\n </Box>\n );\n};\n","import { Box } from \"@stenajs-webui/core\";\nimport * as React from \"react\";\nimport { ErrorPanel, ErrorPanelProps } from \"./ErrorPanel\";\n\nexport const ErrorScreen: React.FC<ErrorPanelProps> = (props) => {\n return (\n <Box\n width={\"100%\"}\n height={\"100%\"}\n justifyContent={\"center\"}\n alignItems={\"center\"}\n >\n <ErrorPanel {...props} />\n </Box>\n );\n};\n","import { Box, Heading, Space } from \"@stenajs-webui/core\";\nimport { Spinner } from \"@stenajs-webui/elements\";\nimport * as React from \"react\";\n\nexport interface LoadingPanelProps {\n text?: string;\n}\n\nexport const LoadingPanel: React.FC<LoadingPanelProps> = ({\n text = \"Loading...\",\n}) => {\n return (\n <Box alignItems={\"center\"}>\n <Spinner size={\"small\"} />\n <Space num={4} />\n <Heading variant={\"h4\"}>{text}</Heading>\n </Box>\n );\n};\n","import { Box } from \"@stenajs-webui/core\";\nimport * as React from \"react\";\nimport { LoadingPanel, LoadingPanelProps } from \"./LoadingPanel\";\n\nexport const LoadingScreen: React.FC<LoadingPanelProps> = (props) => {\n return (\n <Box\n width={\"100%\"}\n height={\"100%\"}\n justifyContent={\"center\"}\n alignItems={\"center\"}\n >\n <LoadingPanel {...props} />\n </Box>\n );\n};\n","import { Box, Row, SeparatorLine, Space } from \"@stenajs-webui/core\";\nimport * as React from \"react\";\nimport { ReactNode } from \"react\";\nimport { cssColor } from \"@stenajs-webui/theme\";\n\nexport interface PageHeaderProps {\n renderBreadCrumbs?: () => ReactNode;\n renderPageHeading?: () => ReactNode;\n renderTabs?: () => ReactNode;\n children?: ReactNode;\n}\n\nexport const PageHeader: React.FC<PageHeaderProps> = ({\n renderBreadCrumbs,\n renderPageHeading,\n renderTabs,\n children,\n}) => {\n return (\n <Box shadow={\"box\"} background={cssColor(\"--lhds-color-ui-50\")}>\n <Box indent={3}>\n {renderBreadCrumbs && <Row spacing={1.25}>{renderBreadCrumbs()}</Row>}\n {renderPageHeading?.()}\n {renderTabs?.()}\n </Box>\n {children && (\n <>\n {!renderTabs && renderBreadCrumbs && <Space />}\n <SeparatorLine />\n {children}\n </>\n )}\n </Box>\n );\n};\n","import * as React from \"react\";\nimport { BoxProps, Row } from \"@stenajs-webui/core\";\n\nexport interface PageHeaderRowProps extends BoxProps {}\n\nexport const PageHeaderRow: React.FC<PageHeaderRowProps> = (props) => (\n <Row indent={3} spacing {...props} />\n);\n","import * as React from \"react\";\nimport { ReactNode } from \"react\";\nimport { Heading, Row } from \"@stenajs-webui/core\";\n\nexport type PageHeadingVariant = \"compact\" | \"standard\" | \"relaxed\";\n\ninterface PageHeadingProps {\n contentLeft?: ReactNode;\n contentRight?: ReactNode;\n heading: string;\n variant?: PageHeadingVariant;\n}\n\nconst variantToSpacing: Record<PageHeadingVariant, number> = {\n compact: 1,\n standard: 1.5,\n relaxed: 2,\n};\n\nexport const PageHeading: React.VFC<PageHeadingProps> = ({\n heading,\n variant = \"standard\",\n contentLeft,\n contentRight,\n}) => (\n <Row spacing={variantToSpacing[variant]} alignItems={\"center\"} gap={2}>\n <Heading variant={\"h3\"}>{heading}</Heading>\n <Row alignItems={\"center\"}>{contentLeft}</Row>\n <Row style={{ marginLeft: \"auto\" }} alignItems={\"center\"}>\n {contentRight}\n </Row>\n </Row>\n);\n","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTZweCIgaGVpZ2h0PSIxNnB4IiB2aWV3Qm94PSIwIDAgMTYgMTYiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8cGF0aCBkPSJNMC45Mjg5MzIxODgsMC45Mjg5MzIxODggQzEuMzE5NDU2NDgsMC41Mzg0MDc4OTYgMS45NTI2MjE0NiwwLjUzODQwNzg5NiAyLjM0MzE0NTc1LDAuOTI4OTMyMTg4IEwyLjM0MzE0NTc1LDAuOTI4OTMyMTg4IEw4LjAwMDAzODk3LDYuNTg1MDM4OTcgTDEzLjY1Njg1NDIsMC45Mjg5MzIxODggQzE0LjA0NzM3ODUsMC41Mzg0MDc4OTYgMTQuNjgwNTQzNSwwLjUzODQwNzg5NiAxNS4wNzEwNjc4LDAuOTI4OTMyMTg4IEMxNS40NjE1OTIxLDEuMzE5NDU2NDggMTUuNDYxNTkyMSwxLjk1MjYyMTQ2IDE1LjA3MTA2NzgsMi4zNDMxNDU3NSBMOS40MTUwMzg5Nyw4LjAwMDAzODk3IEwxNS4wNzEwNjc4LDEzLjY1Njg1NDIgQzE1LjQzMTU1MTgsMTQuMDE3MzM4MiAxNS40NTkyODEzLDE0LjU4NDU2OTMgMTUuMTU0MjU2NCwxNC45NzY4NjA1IEwxNS4wNzEwNjc4LDE1LjA3MTA2NzggQzE0LjY4MDU0MzUsMTUuNDYxNTkyMSAxNC4wNDczNzg1LDE1LjQ2MTU5MjEgMTMuNjU2ODU0MiwxNS4wNzEwNjc4IEwxMy42NTY4NTQyLDE1LjA3MTA2NzggTDguMDAwMDM4OTcsOS40MTUwMzg5NyBMMi4zNDMxNDU3NSwxNS4wNzEwNjc4IEMxLjk1MjYyMTQ2LDE1LjQ2MTU5MjEgMS4zMTk0NTY0OCwxNS40NjE1OTIxIDAuOTI4OTMyMTg4LDE1LjA3MTA2NzggQzAuNTM4NDA3ODk2LDE0LjY4MDU0MzUgMC41Mzg0MDc4OTYsMTQuMDQ3Mzc4NSAwLjkyODkzMjE4OCwxMy42NTY4NTQyIEw2LjU4NTAzODk3LDguMDAwMDM4OTcgTDAuOTI4OTMyMTg4LDIuMzQzMTQ1NzUgQzAuNTY4NDQ4MjI3LDEuOTgyNjYxNzkgMC41NDA3MTg2OTEsMS40MTU0MzA3MyAwLjg0NTc0MzU4MiwxLjAyMzEzOTUzIFoiIGlkPSJDb21iaW5lZC1TaGFwZSIgZmlsbD0iI0ZGRkZGRiIgLz4KPC9zdmc+Cg==\"","import * as React from \"react\";\nimport cx from \"classnames\";\nimport styles from \"./SidebarMenuCloseButton.module.css\";\nimport { Box, ButtonElementProps } from \"@stenajs-webui/core\";\nimport { ReactComponent as CloseIcon } from \"./svg/close.svg\";\n\nexport interface SidebarMenuCloseButtonProps extends ButtonElementProps {}\n\nexport const SidebarMenuCloseButton: React.FC<SidebarMenuCloseButtonProps> = ({\n className,\n onClick,\n}) => {\n return (\n <button\n onClick={onClick}\n className={cx(styles.sidebarMenuCloseButton, className)}\n >\n <Box className={styles.iconWrapper}>\n <CloseIcon className={styles.icon} />\n </Box>\n </button>\n );\n};\n","import { SeparatorLine, SeparatorLineProps } from \"@stenajs-webui/core\";\nimport { cssColor } from \"@stenajs-webui/theme\";\nimport * as React from \"react\";\n\nexport interface SidebarMenuSeparatorProps extends SeparatorLineProps {}\n\nexport const SidebarMenuSeparator: React.FC<SidebarMenuSeparatorProps> = (\n separatorLineProps\n) => (\n <SeparatorLine\n color={cssColor(\"--lhds-color-blue-600\")}\n {...separatorLineProps}\n />\n);\n","import { Box, BoxProps, Column, Space } from \"@stenajs-webui/core\";\nimport cx from \"classnames\";\nimport * as React from \"react\";\nimport styles from \"./SidebarMenu.module.css\";\nimport {\n SidebarMenuCloseButton,\n SidebarMenuCloseButtonProps,\n} from \"./SidebarMenuCloseButton\";\nimport { getNavbarHeight } from \"../nav-bar/NavbarHeightStyleUtil\";\nimport { NavBarVariant } from \"../nav-bar/NavBar\";\nimport { SidebarMenuSeparator } from \"./SidebarMenuSeparator\";\n\nexport type SidebarMenuVariant = NavBarVariant;\n\nexport interface SidebarMenuProps extends BoxProps {\n onCloseClick?: SidebarMenuCloseButtonProps[\"onClick\"];\n hideCloseButton?: boolean;\n collapsed?: boolean;\n variant?: SidebarMenuVariant;\n}\n\nexport const SidebarMenu: React.FC<SidebarMenuProps> = ({\n className,\n children,\n onCloseClick,\n collapsed = false,\n hideCloseButton = false,\n variant = \"standard\",\n ...boxProps\n}) => {\n const height = getNavbarHeight(variant);\n\n return (\n <Box\n className={cx(\n styles.sidebarMenu,\n collapsed ? styles.collapsed : null,\n className\n )}\n style={{\n [\"--swui-sidebar-menu-item-height\" as string]: height,\n [\"--swui-nav-bar-height\" as string]: height,\n }}\n data-collapsed={collapsed || undefined}\n {...boxProps}\n >\n {!hideCloseButton && (\n <>\n <SidebarMenuCloseButton onClick={onCloseClick} />\n <SidebarMenuSeparator />\n <Space />\n </>\n )}\n <Box\n className={styles.sidebarMenuContent}\n height={\"100%\"}\n background={\"var(--current-background-color)\"}\n >\n <Column flex={1}>{children}</Column>\n </Box>\n </Box>\n );\n};\n","import * as React from \"react\";\nimport { SidebarMenu, SidebarMenuVariant } from \"../SidebarMenu\";\nimport { NavBarSideMenuButton } from \"../../nav-bar/NavBarSideMenuButton\";\nimport { ReactNode } from \"react\";\n\ninterface RailMenuProps {\n variant?: SidebarMenuVariant;\n onClickMenuButton?: () => void;\n children?: ReactNode;\n}\n\nexport const SidebarRailMenu: React.FC<RailMenuProps> = ({\n variant,\n onClickMenuButton,\n children,\n}) => {\n return (\n <SidebarMenu\n collapsed\n position={\"fixed\"}\n left={0}\n top={0}\n hideCloseButton\n variant={variant}\n >\n <NavBarSideMenuButton onClick={onClickMenuButton} />\n {children}\n </SidebarMenu>\n );\n};\n","import { ButtonElementProps, Indent, Row } from \"@stenajs-webui/core\";\nimport * as React from \"react\";\nimport { CSSProperties, ReactNode } from \"react\";\nimport { ButtonContent, ButtonContentProps } from \"@stenajs-webui/elements\";\nimport contentStyles from \"./SidebarMenuContent.module.css\";\nimport cx from \"classnames\";\n\nexport type RenderLinkProps = ButtonElementProps & { activeClassName: string };\n\nexport interface SidebarMenuLinkProps\n extends ButtonElementProps,\n Pick<\n ButtonContentProps,\n | \"label\"\n | \"loading\"\n | \"left\"\n | \"leftIcon\"\n | \"right\"\n | \"rightIcon\"\n | \"success\"\n > {\n renderLink?: SidebarLinkRenderer;\n width?: CSSProperties[\"width\"];\n selected?: boolean;\n indent?: boolean;\n}\n\nexport type SidebarLinkRenderer = (props: RenderLinkProps) => ReactNode;\n\nexport const defaultRenderLink: SidebarLinkRenderer = ({\n activeClassName,\n ...props\n}) => {\n return <button {...props} />;\n};\n\nexport const SidebarMenuLink: React.FC<SidebarMenuLinkProps> = ({\n className,\n children,\n selected,\n indent,\n label,\n loading,\n left,\n leftIcon,\n right,\n rightIcon,\n success,\n width,\n renderLink = defaultRenderLink,\n style,\n ...buttonProps\n}) => {\n const hasContentLeft = left || leftIcon || loading || success;\n\n const innerClassName = cx(\n contentStyles.button,\n selected ? contentStyles.selected : undefined,\n className\n );\n\n const innerStyle = {\n ...style,\n width,\n height: \"var(--swui-sidebar-menu-item-height)\",\n };\n\n const innerChildren = (\n <Row spacing={1} flex={1} alignItems={\"center\"}>\n {!hasContentLeft && <Indent />}\n {indent && <Indent num={3.5} />}\n <ButtonContent\n label={label}\n loading={loading}\n left={left}\n leftIcon={leftIcon}\n right={right}\n rightIcon={rightIcon}\n success={success}\n labelClassName={contentStyles.label}\n spinnerClassName={contentStyles.spinner}\n iconClassName={cx(contentStyles.icon)}\n leftWrapperClassName={contentStyles.leftWrapper}\n />\n </Row>\n );\n\n return (\n <>\n {renderLink({\n ...buttonProps,\n activeClassName: contentStyles.selected,\n className: innerClassName,\n children: innerChildren,\n style: innerStyle,\n })}\n </>\n );\n};\n","import { Box, Text, TextProps } from \"@stenajs-webui/core\";\nimport * as React from \"react\";\nimport styles from \"./SidebarMenuHeading.module.css\";\nimport {\n CollapsibleContent,\n CollapsibleSimpleContentProps,\n} from \"../collapsible/CollapsibleContent\";\n\nexport interface SidebarMenuHeadingProps\n extends Pick<CollapsibleSimpleContentProps, \"contentLeft\" | \"contentRight\">,\n TextProps {\n label?: string;\n}\n\nexport const SidebarMenuHeading: React.FC<SidebarMenuHeadingProps> = ({\n className,\n label,\n contentLeft,\n contentRight,\n ...textProps\n}) => {\n return (\n <Box spacing={2} indent={2}>\n <CollapsibleContent\n className={styles.sidebarMenuHeading}\n contentLeft={contentLeft}\n contentRight={contentRight}\n >\n <Text\n variant={\"overline\"}\n color={\"var(--swui-sidebar-menu-heading-text-color)\"}\n {...textProps}\n >\n {label}\n </Text>\n </CollapsibleContent>\n </Box>\n );\n};\n","import * as React from \"react\";\nimport { ReactNode, useState } from \"react\";\nimport { Collapsible } from \"../collapsible/Collapsible\";\nimport { Box, Column, Indent } from \"@stenajs-webui/core\";\nimport { IconDefinition } from \"@fortawesome/fontawesome-svg-core\";\nimport styles from \"./SidebarMenuCollapsible.module.css\";\nimport { Icon } from \"@stenajs-webui/elements\";\n\nexport interface SidebarMenuCollapsibleProps {\n label: string;\n collapsed?: boolean;\n leftIcon?: IconDefinition;\n children?: ReactNode;\n}\n\nexport const SidebarMenuCollapsible: React.FC<SidebarMenuCollapsibleProps> = ({\n children,\n label,\n leftIcon,\n}) => {\n const [collapsed, setCollapsed] = useState<boolean>(false);\n\n return (\n <Box background={\"var(--current-background-color)\"}>\n <Collapsible\n className={styles.sidebarMenuCollapsible}\n label={label}\n collapsed={collapsed}\n onClick={() => setCollapsed(!collapsed)}\n contentLeft={\n leftIcon ? (\n <Box\n width={\"var(--swui-sidebar-menu-item-height)\"}\n alignItems={\"center\"}\n justifyContent={\"center\"}\n >\n <Icon\n icon={leftIcon}\n size={16}\n color={\"var(--current-text-color)\"}\n data-hover={true}\n />\n </Box>\n ) : (\n <Indent num={1} />\n )\n }\n >\n <Column flex={1}>{children}</Column>\n </Collapsible>\n </Box>\n );\n};\n","import { SidebarMenuLink } from \"../../SidebarMenuLink\";\nimport * as React from \"react\";\nimport { ReactNode } from \"react\";\nimport { SidebarMenuHeading } from \"../../SidebarMenuHeading\";\nimport { SidebarMenuSeparator } from \"../../SidebarMenuSeparator\";\nimport { SidebarMenuCollapsible } from \"../../SidebarMenuCollapsible\";\nimport { Box, exhaustSwitchCaseElseThrow } from \"@stenajs-webui/core\";\nimport { Popover } from \"@stenajs-webui/tooltip\";\nimport { SidebarItem } from \"./types\";\n\nexport const renderItemsExpanded = (\n items: SidebarItem[],\n indent = false\n): ReactNode[] => {\n return items.map((item, index) => {\n switch (item.type) {\n case \"heading\":\n return <SidebarMenuHeading key={index} label={item.label} />;\n case \"separator\":\n return <SidebarMenuSeparator key={index} />;\n case \"link\": {\n const { type, ...linkProps } = item;\n return <SidebarMenuLink key={index} indent={indent} {...linkProps} />;\n }\n case \"grouped\":\n return (\n <SidebarMenuCollapsible\n key={index}\n leftIcon={item.leftIcon}\n label={item.label}\n >\n {renderItemsExpanded(item.items, true)}\n </SidebarMenuCollapsible>\n );\n default:\n return exhaustSwitchCaseElseThrow(item);\n }\n });\n};\n\ninterface RailRendererOptions {\n popupMinWidth: string | number;\n}\n\nexport const renderItemsInRail = (\n items: SidebarItem[],\n { popupMinWidth }: RailRendererOptions\n): ReactNode[] => {\n return items.map((item, index) => {\n switch (item.type) {\n case \"heading\":\n return null;\n case \"separator\":\n return <SidebarMenuSeparator key={index} />;\n case \"link\": {\n const { type, label, ...linkProps } = item;\n return (\n <SidebarMenuLink\n key={index}\n title={label}\n width={\"var(--swui-sidebar-menu-item-height)\"}\n {...linkProps}\n />\n );\n }\n case \"grouped\":\n return (\n <div key={index}>\n <Popover\n appendTo={\"parent\"}\n arrow={false}\n offset={[0, 0]}\n placement={\"right-start\"}\n trigger={\"focusin mouseenter click\"}\n disablePadding\n lazy\n content={\n <Box\n minWidth={popupMinWidth}\n background={\"var(--lhds-color-blue-500)\"}\n >\n <SidebarMenuHeading label={item.label} />\n {renderItemsExpanded(item.items)}\n </Box>\n }\n >\n <SidebarMenuLink\n title={item.label}\n width={\"var(--swui-sidebar-menu-item-height)\"}\n leftIcon={item.leftIcon}\n />\n </Popover>\n </div>\n );\n default:\n return exhaustSwitchCaseElseThrow(item);\n }\n });\n};\n","import * as React from \"react\";\nimport { Box, Indent, Row, Space, Text } from \"@stenajs-webui/core\";\nimport { ReactNode } from \"react\";\nimport { cssColor } from \"@stenajs-webui/theme\";\n\ninterface SelectedItemsActionsProps {\n numItemsSelected?: number;\n label?: ReactNode | string;\n afterLabelContent?: ReactNode;\n rightContent?: ReactNode;\n}\n\nconst borderTop = `1px solid ${cssColor(\"--lhds-color-orange-400\")}`;\n\nexport const SelectedItemsActionsPanel: React.FC<SelectedItemsActionsProps> = ({\n numItemsSelected,\n label,\n afterLabelContent,\n rightContent,\n}) => (\n <Row\n indent={3}\n spacing\n minHeight={\"56px\"}\n justifyContent={\"space-between\"}\n alignItems={\"center\"}\n borderTop={borderTop}\n background={cssColor(\"--lhds-color-orange-50\")}\n >\n <Row alignItems={\"center\"}>\n {numItemsSelected != null || label != null ? (\n <>\n {numItemsSelected != null ? (\n <>\n <Text variant={\"bold\"}>{numItemsSelected}</Text>\n <Space />\n <Text>item{numItemsSelected === 1 ? \"\" : \"s\"} selected</Text>\n </>\n ) : label != null ? (\n <>{typeof label === \"string\" ? <Text>{label}</Text> : label}</>\n ) : null}\n </>\n ) : null}\n {afterLabelContent ? (\n <>\n <Indent />\n <Box>{afterLabelContent}</Box>\n </>\n ) : null}\n </Row>\n <Box>{rightContent}</Box>\n </Row>\n);\n"],"names":["ActionMenuButton","renderItems","placement","buttonComponent","Button","rightIcon","stenaAngleDown","portalTarget","zIndex","menuWidth","menuTop","onClick","disableArrow","buttonProps","isOpen","open","close","toggle","useBoolean","buttonRef","useRef","focusManager","name","defaultValue","fn","popper","restoreFocus","closeOnEscape","event","key","onCreate","addEventListener","onDestroy","removeEventListener","onMount","querySelector","focus","onHide","current","contextValue","useMemo","handleClick","Popover","_jsx","ActionMenu","ActionMenuContext","undefined","ActionMenuPrimaryButton","props","PrimaryButton","ActionMenuSecondaryButton","SecondaryButton","ActionMenuFlatButton","FlatButton","border","CheckboxMenu","renderMenu","checkboxProps","Column","Box","Row","Checkbox","Indent","SvgBars","React","NavBarSideMenuButton","className","cx","styles","sidebarMenuButton","Hamburger","icon","variantToHeight","getNavbarHeight","variant","NavBar","left","showMenuButton","menuButtonVisibility","children","right","center","onClickMenuButton","currentFlex","height","navBar","_jsxs","_Fragment","Children","map","child","index","NavBarButton","selected","navBarButton","NavBarHeading","headingProps","Heading","NavBarPopoverButton","content","navBarButtonProps","document","body","NavBarNotificationButton","count","unread","labelClassName","iconClassName","stenaBell","hasCount","navBarNotificationButton","String","label","NavBarSearchField","placeholder","wrapperClassName","textInputProps","TextInput","navBarSearchField","navBarSearchFieldInput","Clickable","Icon","stenaSearch","NavBarUserButton","username","initials","stenaUserCircle","navBarUserButton","NotificationHeader","text","timestamp","iconAriaLabel","iconColor","contentLeft","contentRight","onClose","Txt","cssColor","stenaTimes","Notification","background","headerProps","Space","Toast","onClickAriaLabel","width","maxWidth","nonClickable","clickable","CollapsibleEmptyContent","faInbox","Text","CollapsibleContent","mapCSSTime","value","num","parseFloat","match","Collapsible","forwardRef","collapsed","disabled","unmountOnCollapse","mountOnEnter","faChevronUp","iconCollapsed","faChevronDown","iconSize","autoFocus","divProps","ref","divRef","timeout","getComputedStyle","getPropertyValue","collapsible","header","headerText","indicator","CSSTransition","enter","contentEnter","enterActive","contentEnterActive","exit","contentExit","exitActive","contentExitActive","exitDone","contentExitDone","CollapsibleWithCheckbox","onValueChange","onChange","indeterminate","collapsibleProps","ev","stopPropagation","CollapsibleClickableContent","CollapsibleGroupHeading","groupHeading","ErrorPanel","Banner","ErrorScreen","LoadingPanel","Spinner","LoadingScreen","PageHeader","renderBreadCrumbs","renderPageHeading","renderTabs","SeparatorLine","PageHeaderRow","variantToSpacing","compact","standard","relaxed","PageHeading","heading","marginLeft","SvgClose","SidebarMenuCloseButton","sidebarMenuCloseButton","iconWrapper","CloseIcon","SidebarMenuSeparator","separatorLineProps","SidebarMenu","onCloseClick","hideCloseButton","boxProps","sidebarMenu","sidebarMenuContent","SidebarRailMenu","defaultRenderLink","activeClassName","SidebarMenuLink","indent","loading","leftIcon","success","renderLink","style","hasContentLeft","innerClassName","contentStyles","button","innerStyle","innerChildren","ButtonContent","spinner","leftWrapper","SidebarMenuHeading","textProps","sidebarMenuHeading","SidebarMenuCollapsible","setCollapsed","useState","sidebarMenuCollapsible","renderItemsExpanded","items","item","type","linkProps","exhaustSwitchCaseElseThrow","renderItemsInRail","popupMinWidth","borderTop","SelectedItemsActionsPanel","numItemsSelected","afterLabelContent","rightContent"],"mappings":"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"}