@redsift/design-system 7.0.0-alpha.0 → 7.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.js +2 -0
- package/index.js.map +1 -1
- package/package.json +3 -3
package/index.js
CHANGED
|
@@ -870,6 +870,7 @@ const StyledSideNavigationMenuItem = styled.a`
|
|
|
870
870
|
|
|
871
871
|
.redsift-icon.first {
|
|
872
872
|
padding-right: 16px;
|
|
873
|
+
box-sizing: unset;
|
|
873
874
|
}
|
|
874
875
|
|
|
875
876
|
span {
|
|
@@ -1167,6 +1168,7 @@ const StyledSideNavigationMenu = styled.div`
|
|
|
1167
1168
|
|
|
1168
1169
|
.redsift-icon.first {
|
|
1169
1170
|
padding-right: 16px;
|
|
1171
|
+
box-sizing: unset;
|
|
1170
1172
|
}
|
|
1171
1173
|
|
|
1172
1174
|
span {
|
package/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/types.ts","../src/components/icon-button/types.ts","../src/components/icon/types.ts","../src/components/icon/styles.ts","../src/components/icon/Icon.tsx","../src/utils/warnIfNoAccessibleLabelFound.ts","../src/components/button/types.ts","../src/components/button/styles.ts","../src/components/button/Button.tsx","../src/components/icon-button/styles.ts","../src/components/icon-button/IconButton.tsx","../src/components/app-container/context.ts","../src/hooks/useIsLoaded.ts","../src/components/app-bar/styles.ts","../src/components/app-bar/AppBar.tsx","../src/components/app-side-panel/styles.ts","../src/components/app-side-panel/AppSidePanel.tsx","../src/components/side-navigation-menu/types.ts","../src/components/side-navigation-menu-bar/context.ts","../src/components/side-navigation-menu/context.ts","../src/components/side-navigation-menu-item/styles.ts","../src/components/badge/types.ts","../src/components/badge/styles.ts","../src/components/badge/Badge.tsx","../src/components/side-navigation-menu-item/SideNavigationMenuItem.tsx","../src/components/side-navigation-menu/styles.ts","../src/components/side-navigation-menu/reducer.ts","../src/components/side-navigation-menu/SideNavigationMenu.tsx","../src/components/side-navigation-menu-bar/styles.ts","../src/hooks/useBoundingRect.ts","../src/components/side-navigation-menu-bar/SideNavigationMenuBar.tsx","../src/components/side-navigation-menu-bar/useSideNavigationMenuBar.tsx","../src/components/app-side-panel/useAppSidePanel.tsx","../src/components/app-content/styles.ts","../src/components/app-content/AppContent.tsx","../src/components/app-container/styles.ts","../src/components/app-container/AppContainer.tsx","../src/components/breadcrumb-item/styles.ts","../src/components/breadcrumb-item/BreadcrumbItem.tsx","../src/components/breadcrumbs/styles.ts","../src/components/breadcrumbs/Breadcrumbs.tsx","../src/components/button-link/ButtonLink.tsx","../src/components/checkbox-group/context.ts","../src/components/checkbox/styles.ts","../src/components/checkbox/Checkbox.tsx","../src/components/checkbox-group/types.ts","../src/components/checkbox-group/styles.ts","../src/components/checkbox-group/CheckboxGroup.tsx","../src/components/link/styles.ts","../src/components/link/Link.tsx","../src/components/link-button/LinkButton.tsx","../src/components/shield/types.ts","../src/components/shield/styles.ts","../src/components/shield/Shield.tsx"],"sourcesContent":["import { ReactElement, Ref } from 'react';\n\n/** Component Type. */\nexport type Comp<P, T = HTMLElement> = {\n (props: P & { ref?: Ref<T> }): ReactElement | null;\n /** React component type. */\n readonly $$typeof: symbol;\n /** Component default props. */\n defaultProps?: Partial<P>;\n /** Component name. */\n displayName?: string;\n /** Component base class name. */\n className?: string;\n};\n\n/**\n * JS falsy values.\n * (excluding `NaN` as it can't be distinguished from `number`)\n */\nexport type Falsy = false | undefined | null | 0 | '';\n\n/** Get types of the values of a record. */\nexport type ValueOf<T extends Record<any, any>> = T[keyof T];\n\n/**\n * Color palette.\n */\nexport const ColorPalette = {\n default: 'default',\n success: 'success',\n error: 'error',\n warning: 'warning',\n info: 'info',\n question: 'question',\n 'no-data': 'no-data',\n} as const;\nexport type ColorPalette = ValueOf<typeof ColorPalette>;\n\nexport const ProductColorPalette = {\n website: 'website',\n ondmarc: 'ondmarc',\n oninbox: 'oninbox',\n ondomain: 'ondomain',\n hardenize: 'hardenize',\n tools: 'tools',\n} as const;\nexport type ProductColorPalette = ValueOf<typeof ProductColorPalette>;\n","import { ComponentProps } from 'react';\nimport { PressEvent } from '@react-types/shared';\nimport { ColorPalette, ProductColorPalette, ValueOf } from '~/types';\n\n/**\n * Component variant.\n */\nexport const IconButtonVariant = {\n primary: 'primary',\n secondary: 'secondary',\n unstyled: 'unstyled',\n} as const;\nexport type IconButtonVariant = ValueOf<typeof IconButtonVariant>;\n\n/**\n * Component color.\n */\nexport type IconButtonColor =\n | typeof ColorPalette.default\n | typeof ColorPalette.error\n | ProductColorPalette;\n\n/**\n * Component props.\n */\nexport interface IconButtonProps extends ComponentProps<'button'> {\n /** Color variant. */\n color?: IconButtonColor;\n /**\n * Icon path data (`d` property of the `path` SVG element).<br />\n * See <a href=\"https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths\">https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths</a>.<br />\n * Recommended path data come from mdi/js.<br />\n * See <a href=\"https://www.npmjs.com/package/@mdi/js\">https://www.npmjs.com/package/@mdi/js</a>.\n */\n icon: string;\n /** Whether the component is active or not. */\n isActive?: boolean;\n /** Whether the component is disabled or not. */\n isDisabled?: boolean;\n /** Preferred method to handle click, press and touch. */\n onPress?: (e: PressEvent) => void;\n /** Button variant. */\n variant?: IconButtonVariant;\n}\n\nexport type StyledIconButtonProps = Omit<\n IconButtonProps,\n 'isActive' | 'isDisabled' | 'variant' | 'color' | 'icon'\n> & {\n $color: IconButtonProps['color'];\n $isActive: IconButtonProps['isActive'];\n $isDisabled: IconButtonProps['isDisabled'];\n $variant: IconButtonProps['variant'];\n};\n","import { ComponentProps, ReactElement } from 'react';\nimport { ColorPalette, ProductColorPalette, ValueOf } from '~/types';\n\n/**\n * Component size.\n */\nexport const IconSize = {\n xsmall: 'xsmall',\n small: 'small',\n medium: 'medium',\n large: 'large',\n} as const;\nexport type IconSize = ValueOf<typeof IconSize>;\n\n/**\n * Component props.\n */\nexport interface IconProps extends ComponentProps<'i'> {\n /** Indicates whether the element is exposed to an accessibility API. */\n 'aria-hidden'?: boolean | 'false' | 'true';\n /** A screen reader only label for the Icon. */\n 'aria-label'?: string;\n /** Color variant. Either from color palette or hex or rgb strings. */\n color?: ColorPalette | ProductColorPalette | string;\n /** Whether the icon has a badge attached to it. */\n badge?: ReactElement;\n /**\n * Icon path data (`d` property of the `path` SVG element).<br />\n * See <a href=\"https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths\">https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths</a>.<br />\n * Recommended path data come from mdi/js.<br />\n * See <a href=\"https://www.npmjs.com/package/@mdi/js\">https://www.npmjs.com/package/@mdi/js</a>.\n */\n icon: string;\n /** Icon size. */\n size?: IconSize;\n /** Additional properties to forward to the SVG tag. */\n svgProps?: ComponentProps<'svg'>;\n}\n\nexport type StyledIconProps = Omit<\n IconProps,\n 'color' | 'size' | 'icon' | 'svgProps'\n> & {\n $color: IconProps['color'];\n $size: IconProps['size'];\n};\n","import styled, { css } from 'styled-components';\nimport { ColorPalette, ProductColorPalette } from '~/types';\nimport { StyledIconProps, IconSize } from './types';\n\n/**\n * Component style.\n */\nexport const StyledIcon = styled.span<StyledIconProps>`\n font-style: normal;\n position: relative;\n\n ${({ $color }) =>\n $color &&\n [...Object.keys(ColorPalette), ...Object.keys(ProductColorPalette)].indexOf(\n $color\n ) !== -1\n ? css`\n color: var(--redsift-color-${$color}-primary);\n `\n : css`\n color: ${$color || css`var(--redsift-color-neutral-darkgrey)`};\n `}\n\n ${({ $size }) => {\n switch ($size) {\n case IconSize.large:\n return css`\n font-size: 28px;\n height: 28px;\n line-height: 28px;\n width: 28px;\n\n & .redsift-badge-standard {\n position: absolute;\n right: -24px;\n top: -4px;\n }\n\n & .redsift-badge-dot {\n position: absolute;\n right: -14px;\n top: 2px;\n }\n `;\n case IconSize.small:\n return css`\n font-size: 20px;\n height: 20px;\n line-height: 20px;\n width: 20px;\n\n & .redsift-badge-standard {\n position: absolute;\n right: -24px;\n top: -8px;\n }\n\n & .redsift-badge-dot {\n position: absolute;\n right: -14px;\n top: 1px;\n }\n `;\n case IconSize.xsmall:\n return css`\n font-size: 16px;\n height: 16px;\n line-height: 16px;\n width: 16px;\n\n & .redsift-badge-standard {\n position: absolute;\n right: -24px;\n top: -12px;\n }\n\n & .redsift-badge-dot {\n position: absolute;\n right: -14px;\n top: -1px;\n }\n `;\n case IconSize.medium:\n default:\n return css`\n font-size: 24px;\n height: 24px;\n line-height: 24px;\n width: 24px;\n\n & .redsift-badge-standard {\n position: absolute;\n right: -24px;\n top: -5px;\n }\n\n & .redsift-badge-dot {\n position: absolute;\n right: -14px;\n top: 1px;\n }\n `;\n }\n }}\n`;\n","import React, { forwardRef, RefObject } from 'react';\nimport classNames from 'classnames';\nimport { Comp } from '~/types';\nimport { StyledIcon } from './styles';\nimport { IconProps, IconSize } from './types';\n\nconst COMPONENT_NAME = 'RedSiftIcon';\nconst CLASSNAME = 'redsift-icon';\nconst DEFAULT_PROPS: Partial<IconProps> = {\n size: IconSize.medium,\n};\n\n/**\n * The Icon component.\n */\nexport const Icon: Comp<IconProps, HTMLSpanElement> = forwardRef(\n (props, ref) => {\n const {\n 'aria-hidden': ariaHidden,\n 'aria-label': ariaLabel,\n badge,\n className,\n color,\n icon,\n size,\n svgProps,\n ...forwardedProps\n } = props;\n\n return (\n <StyledIcon\n {...forwardedProps}\n $color={color}\n $size={size}\n aria-hidden={ariaLabel ? (ariaHidden ? ariaHidden : undefined) : true}\n aria-label={ariaLabel}\n className={classNames(Icon.className, className)}\n ref={ref as RefObject<HTMLSpanElement>}\n >\n <svg\n {...svgProps}\n aria-hidden={ariaLabel ? (ariaHidden ? ariaHidden : undefined) : true}\n aria-label={ariaLabel}\n focusable=\"false\"\n height=\"1em\"\n preserveAspectRatio=\"xMidYMid meet\"\n role=\"img\"\n style={{ verticalAlign: '-0.125em' }}\n viewBox=\"0 0 24 24\"\n width=\"1em\"\n >\n <path d={icon} fill=\"currentColor\" />\n </svg>\n {badge ? badge : null}\n </StyledIcon>\n );\n }\n);\nIcon.className = CLASSNAME;\nIcon.defaultProps = DEFAULT_PROPS;\nIcon.displayName = COMPONENT_NAME;\n","import { ComponentProps } from 'react';\n\n/**\n * Display a warning if no label was found for screen readers and assistive technologies.\n *\n * @param props Component props containing the aria-label and aria-labelledby params to check for.\n * @param additionalKeysToCheck Additional props to check that can act as a label for screen readers (i.e. children).\n */\nexport const warnIfNoAccessibleLabelFound = (\n props: ComponentProps<keyof JSX.IntrinsicElements>,\n additionalKeysToCheck?: any[]\n): void => {\n const { 'aria-label': ariaLabel, 'aria-labelledby': ariaLabelledby } = props;\n\n const hasText =\n additionalKeysToCheck &&\n additionalKeysToCheck.filter((key) => !!key).length > 0;\n const hasAriaLabel = Boolean(ariaLabel || ariaLabelledby);\n\n if (!hasAriaLabel && !hasText) {\n console.warn('You must provide a label for accessibility');\n }\n};\n","import { ComponentProps } from 'react';\nimport { PressEvent } from '@react-types/shared';\nimport { ColorPalette, ProductColorPalette, ValueOf } from '~/types';\n\n/**\n * Component variant.\n */\nexport const ButtonVariant = {\n primary: 'primary',\n secondary: 'secondary',\n unstyled: 'unstyled',\n} as const;\nexport type ButtonVariant = ValueOf<typeof ButtonVariant>;\n\n/**\n * Component color.\n */\nexport type ButtonColor =\n | typeof ColorPalette.default\n | typeof ColorPalette.error\n | ProductColorPalette;\n\n/**\n * Component props.\n */\nexport interface ButtonProps extends ComponentProps<'button'> {\n /** Color variant. The product colors are available but should only be used to display the Button in the color of another product. To display a Button with a color of the current product, use `default`. */\n color?: ButtonColor;\n /** Whether the component take the full width or not. */\n fullWidth?: boolean;\n /** Whether the component is active or not. */\n isActive?: boolean;\n /** Whether the component is disabled or not. */\n isDisabled?: boolean;\n /**\n * Icon path data (`d` property of the `path` SVG element).<br />\n * See <a href=\"https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths\">https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths</a>.<br />\n * Recommended path data come from mdi/js.<br />\n * See <a href=\"https://www.npmjs.com/package/@mdi/js\">https://www.npmjs.com/package/@mdi/js</a>.\n */\n leftIcon?: string;\n /** Preferred method to handle click, press and touch. */\n onPress?: (e: PressEvent) => void;\n /**\n * Icon path data (`d` property of the `path` SVG element).<br />\n * See <a href=\"https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths\">https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths</a>.<br />\n * Recommended path data come from mdi/js.<br />\n * See <a href=\"https://www.npmjs.com/package/@mdi/js\">https://www.npmjs.com/package/@mdi/js</a>.\n */\n rightIcon?: string;\n /** Button variant. */\n variant?: ButtonVariant;\n}\n\nexport type StyledButtonProps = Omit<\n ButtonProps,\n 'isActive' | 'isDisabled' | 'variant' | 'color' | 'size' | 'fullWidth'\n> & {\n $color: ButtonProps['color'];\n $fullWidth?: ButtonProps['fullWidth'];\n $isActive: ButtonProps['isActive'];\n $isDisabled: ButtonProps['isDisabled'];\n $variant: ButtonProps['variant'];\n};\n","import styled, { css } from 'styled-components';\nimport { StyledButtonProps, ButtonVariant } from './types';\n\n/**\n * Component style.\n */\nexport const StyledButton = styled.button<StyledButtonProps>`\n align-items: center;\n background: none;\n border: none;\n display: flex;\n font-family: var(--redsift-typography-button-font-family);\n font-size: var(--redsift-typography-button-font-size);\n font-weight: var(--redsift-typography-button-font-weight);\n justify-content: center;\n line-height: var(--redsift-typography-button-line-height);\n text-decoration: none;\n text-transform: var(--redsift-typography-button-text-transform);\n\n ${({ $variant, $color, $isActive, $isDisabled }) => css`\n padding: ${$variant === ButtonVariant.secondary ? '7px 15px' : '8px 16px'};\n\n ${$variant === ButtonVariant.secondary\n ? css`\n background-color: ${$isActive\n ? `var(--redsift-color-${$color}-active)`\n : $isDisabled\n ? 'var(--redsift-color-neutral-white)'\n : 'var(--redsift-color-neutral-white)'};\n &,\n .redsift-icon {\n color: ${$isDisabled\n ? 'var(--redsift-color-neutral-midgrey)'\n : `var(--redsift-color-${$color}-primary)`};\n }\n `\n : $variant === ButtonVariant.unstyled\n ? css`\n background-color: ${$isActive\n ? `var(--redsift-color-${$color}-active)`\n : $isDisabled\n ? 'none'\n : 'none'};\n &,\n .redsift-icon {\n color: ${$isDisabled\n ? 'var(--redsift-color-neutral-midgrey)'\n : `var(--redsift-color-${$color}-primary)`};\n }\n `\n : css`\n background-color: ${$isActive\n ? `var(--redsift-color-${$color}-primary-active)`\n : $isDisabled\n ? 'var(--redsift-color-neutral-lightgrey)'\n : `var(--redsift-color-${$color}-primary)`};\n &,\n .redsift-icon {\n color: ${$isDisabled\n ? 'var(--redsift-color-neutral-midgrey)'\n : 'var(--redsift-color-neutral-white)'};\n }\n `}\n\n ${$variant === ButtonVariant.secondary\n ? css`\n border: 1px solid\n ${$isDisabled\n ? 'var(--redsift-color-neutral-midgrey)'\n : `var(--redsift-color-${$color}-primary)`};\n `\n : ''}\n `};\n\n .redsift-icon.left {\n margin-right: 8px;\n }\n\n .redsift-icon.right {\n margin-left: 8px;\n }\n\n &:hover,\n &:focus-visible {\n outline: none;\n\n ${({ $variant, $color, $isActive, $isDisabled }) => css`\n cursor: ${$isDisabled ? 'default' : 'pointer'};\n\n ${$variant === ButtonVariant.secondary\n ? css`\n background-color: ${$isActive\n ? `var(--redsift-color-${$color}-active-hover)`\n : $isDisabled\n ? 'var(--redsift-color-neutral-white)'\n : `var(--redsift-color-${$color}-hover)`};\n &,\n .redsift-icon {\n color: ${$isDisabled\n ? 'var(--redsift-color-neutral-midgrey)'\n : `var(--redsift-color-${$color}-secondary)`};\n }\n `\n : $variant === ButtonVariant.unstyled\n ? css`\n background-color: ${$isActive\n ? `var(--redsift-color-${$color}-active-hover)`\n : $isDisabled\n ? 'none'\n : `var(--redsift-color-${$color}-hover)`};\n &,\n .redsift-icon {\n color: ${$isDisabled\n ? 'var(--redsift-color-neutral-midgrey)'\n : `var(--redsift-color-${$color}-secondary)`};\n }\n `\n : css`\n background-color: ${$isDisabled\n ? 'var(--redsift-color-neutral-lightgrey)'\n : `var(--redsift-color-${$color}-secondary)`};\n &,\n .redsift-icon {\n color: ${$isDisabled\n ? 'var(--redsift-color-neutral-midgrey)'\n : 'var(--redsift-color-neutral-white)'};\n }\n `}\n\n ${$variant === ButtonVariant.secondary\n ? css`\n border: 1px solid\n ${$isDisabled\n ? 'var(--redsift-color-neutral-midgrey)'\n : `var(--redsift-color-${$color}-primary)`};\n `\n : `\n border: none;\n `}\n `};\n }\n\n ${({ $fullWidth }) =>\n $fullWidth\n ? `\n width: 100%;\n flex-grow: 1;\n\n .redsift-icon.left {\n margin-right: unset;\n }\n\n .redsift-icon.right {\n margin-left: unset;\n }\n\n span {\n margin-right: 8px;\n margin-left: 8px;\n }\n `\n : ''}\n`;\n","import React, { forwardRef, RefObject, useRef } from 'react';\nimport classNames from 'classnames';\nimport { useButton } from '@react-aria/button';\nimport { AriaButtonProps } from '@react-types/button';\nimport { ColorPalette, Comp } from '~/types';\nimport { Icon } from '~/components/icon';\nimport { StyledButton } from './styles';\nimport { ButtonProps, ButtonVariant } from './types';\n\nconst COMPONENT_NAME = 'RedSiftButton';\nconst CLASSNAME = 'redsift-button';\nconst DEFAULT_PROPS: Partial<ButtonProps> = {\n color: ColorPalette.default,\n variant: ButtonVariant.primary,\n};\n\n/**\n * The Button is a semantic button that looks like a button.\n *\n * For a semantic link that looks like a button, please use the ButtonLink component.\n * For a semantic link that looks like a link, please use the Link component.\n * For a semantic button that looks like a link, please use the LinkButton component.\n */\nexport const Button: Comp<ButtonProps, HTMLButtonElement> = forwardRef(\n (props, ref) => {\n const buttonRef = ref || useRef<HTMLButtonElement>();\n const { buttonProps } = useButton(\n {\n ...props,\n preventFocusOnPress: true,\n } as AriaButtonProps<'button'>,\n buttonRef as RefObject<HTMLButtonElement>\n );\n\n const {\n children,\n className,\n color,\n disabled,\n fullWidth,\n isActive,\n isDisabled,\n leftIcon,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n onPress,\n rightIcon,\n variant,\n ...forwardedProps\n } = props;\n\n return (\n <StyledButton\n {...forwardedProps}\n {...buttonProps}\n $color={color}\n $fullWidth={fullWidth}\n $isActive={isActive}\n $isDisabled={isDisabled || disabled}\n $variant={variant}\n aria-disabled={isDisabled || disabled}\n className={classNames(Button.className, className)}\n disabled={isDisabled || disabled}\n ref={buttonRef as RefObject<HTMLButtonElement>}\n >\n {leftIcon ? (\n <Icon icon={leftIcon} aria-hidden=\"true\" className=\"left\" />\n ) : null}\n {children && <span>{children}</span>}\n {rightIcon ? (\n <Icon icon={rightIcon} aria-hidden=\"true\" className=\"right\" />\n ) : null}\n </StyledButton>\n );\n }\n);\nButton.className = CLASSNAME;\nButton.defaultProps = DEFAULT_PROPS;\nButton.displayName = COMPONENT_NAME;\n","import styled, { css } from 'styled-components';\nimport { StyledButton } from '~/components/button';\nimport { IconButtonVariant, StyledIconButtonProps } from './types';\n\n/**\n * Component style.\n */\nexport const StyledIconButton = styled(StyledButton)<StyledIconButtonProps>`\n ${({ $variant }) => css`\n padding: ${$variant === IconButtonVariant.secondary ? '7px' : '8px'};\n `};\n`;\n","import React, { forwardRef, RefObject, useRef } from 'react';\nimport classNames from 'classnames';\nimport { useButton } from '@react-aria/button';\nimport { AriaButtonProps } from '@react-types/button';\nimport { ColorPalette, Comp } from '~/types';\nimport { Icon } from '~/components/icon';\nimport { warnIfNoAccessibleLabelFound } from '~/utils/warnIfNoAccessibleLabelFound';\nimport { StyledIconButton } from './styles';\nimport { IconButtonProps, IconButtonVariant } from './types';\n\nconst COMPONENT_NAME = 'RedSiftIconButton';\nconst CLASSNAME = 'redsift-icon-button';\nconst DEFAULT_PROPS: Partial<IconButtonProps> = {\n color: ColorPalette.default,\n variant: IconButtonVariant.unstyled,\n};\n\n/**\n * The Icon Button is a component that contains only one icon as a child, without text.\n *\n * This component should use aria-label, aria-labelledby or aria-describedby to make this\n * component usable with a screen reader.\n */\nexport const IconButton: Comp<IconButtonProps, HTMLButtonElement> = forwardRef(\n (props, ref) => {\n const buttonRef = ref || useRef<HTMLButtonElement>();\n const { buttonProps } = useButton(\n {\n ...props,\n preventFocusOnPress: true,\n } as AriaButtonProps<'button'>,\n buttonRef as RefObject<HTMLButtonElement>\n );\n\n const {\n className,\n color,\n disabled,\n icon,\n isActive,\n isDisabled,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n onPress,\n variant,\n ...forwardedProps\n } = props;\n\n warnIfNoAccessibleLabelFound(props);\n\n return (\n <StyledIconButton\n {...forwardedProps}\n {...buttonProps}\n $color={isDisabled || disabled ? undefined : color}\n $isActive={isActive}\n $isDisabled={isDisabled || disabled}\n $variant={variant}\n aria-disabled={isDisabled || disabled}\n className={classNames(IconButton.className, className)}\n disabled={isDisabled || disabled}\n ref={buttonRef as RefObject<HTMLButtonElement>}\n >\n <Icon icon={icon} color={isDisabled || disabled ? undefined : color} />\n </StyledIconButton>\n );\n }\n);\nIconButton.className = CLASSNAME;\nIconButton.defaultProps = DEFAULT_PROPS;\nIconButton.displayName = COMPONENT_NAME;\n","import React from 'react';\nimport { AppContainerState } from './types';\n\nexport const AppContainerContext =\n React.createContext<AppContainerState | null>(null);\n","import { useState, useEffect } from 'react';\n\nexport const useIsLoaded = () => {\n const [isLoaded, setIsLoaded] = useState(false);\n\n useEffect(() => {\n setIsLoaded(true);\n });\n\n return {\n isLoaded,\n };\n};\n","import styled, { css } from 'styled-components';\nimport { StyledAppBarProps } from './types';\n\n/**\n * Component style.\n */\nexport const StyledAppBar = styled.header<StyledAppBarProps>`\n align-content: center;\n align-items: center;\n background-color: var(--redsift-color-default-primary);\n color: var(--redsift-color-neutral-white);\n display: flex;\n flex-direction: row;\n height: 72px;\n justify-content: space-between;\n left: 0;\n position: fixed;\n top: 0;\n z-index: 1;\n\n ${({ $isSidePanelCollapsed }) =>\n !$isSidePanelCollapsed\n ? css`\n transform: translate(240px);\n width: calc(100% - 240px);\n `\n : `\n transform: translate(0px);\n width: 100%;\n `}\n\n ${({ $isLoaded }) =>\n $isLoaded\n ? css`\n transition: transform 0.25s ease-out, width 0.25s ease-out;\n `\n : ''}\n\n h1 {\n margin: unset;\n padding: unset;\n }\n\n .redsift-app-bar__left {\n align-content: center;\n align-items: center;\n display: inline-flex;\n flex-direction: row;\n gap: 8px;\n justify-content: center;\n margin-left: 24px;\n }\n\n .redsift-app-bar-left__expand-button,\n .redsift-app-bar-left__collapse-button {\n margin-left: -8px;\n }\n\n .redsift-app-bar__right {\n display: inline-flex;\n margin: 16px;\n }\n`;\n","import React, { forwardRef, RefObject, useContext } from 'react';\nimport classNames from 'classnames';\nimport { mdiMenu, mdiMenuOpen } from '@redsift/icons';\nimport { Comp } from '~/types';\nimport { IconButton, IconButtonVariant } from '~/components/icon-button';\nimport { AppContainerContext } from '~/components/app-container/context';\nimport { useIsLoaded } from '~/hooks/useIsLoaded';\nimport { StyledAppBar } from './styles';\nimport { AppBarProps } from './types';\n\nconst COMPONENT_NAME = 'RedSiftAppBar';\nconst CLASSNAME = 'redsift-app-bar';\nconst DEFAULT_PROPS: Partial<AppBarProps> = {};\n\n/**\n * The AppBar component.\n */\nexport const AppBar: Comp<AppBarProps, HTMLHeadingElement> = forwardRef(\n (props, ref) => {\n const {\n children,\n className,\n collapseIconButtonProps,\n collapseIconButtonRef,\n expandIconButtonProps,\n expandIconButtonRef,\n fallbackTitle,\n title: propsTitle,\n ...forwardedProps\n } = props;\n\n const { isLoaded } = useIsLoaded();\n const appContainerState = useContext(AppContainerContext);\n\n return (\n <StyledAppBar\n {...forwardedProps}\n $isLoaded={isLoaded}\n $isSidePanelCollapsed={\n appContainerState ? appContainerState.isSidePanelCollapsed : true\n }\n className={classNames(AppBar.className, className)}\n ref={ref as RefObject<HTMLHeadingElement>}\n >\n <div className={`${AppBar.className}__left`}>\n {appContainerState ? (\n <>\n {appContainerState.isSidePanelCollapsed ? (\n <IconButton\n className={`${AppBar.className}-left__expand-button`}\n {...expandIconButtonProps}\n aria-label=\"Expand left side panel\"\n icon={mdiMenu}\n onPress={appContainerState.expandSidePanel}\n ref={collapseIconButtonRef as RefObject<HTMLButtonElement>}\n variant={IconButtonVariant.primary}\n />\n ) : (\n <IconButton\n className={`${AppBar.className}-left__collapse-button`}\n {...collapseIconButtonProps}\n aria-label=\"Collapse left side panel\"\n icon={mdiMenuOpen}\n onPress={appContainerState.collapseSidePanel}\n ref={expandIconButtonRef as RefObject<HTMLButtonElement>}\n variant={IconButtonVariant.primary}\n />\n )}\n </>\n ) : null}\n {propsTitle && typeof propsTitle !== 'string' ? (\n <>{propsTitle}</>\n ) : typeof propsTitle === 'string' ? (\n <h1>{propsTitle}</h1>\n ) : appContainerState && appContainerState.title ? (\n <h1>{appContainerState.title}</h1>\n ) : fallbackTitle ? (\n <h1>{fallbackTitle}</h1>\n ) : null}\n </div>\n <div className={`${AppBar.className}__right`}>{children}</div>\n </StyledAppBar>\n );\n }\n);\nAppBar.className = CLASSNAME;\nAppBar.defaultProps = DEFAULT_PROPS;\nAppBar.displayName = COMPONENT_NAME;\n","import styled from 'styled-components';\nimport { StyledAppSidePanelProps } from './types';\n\n/**\n * Component style.\n */\nexport const StyledAppSidePanel = styled.div<StyledAppSidePanelProps>`\n align-items: center;\n background-color: var(--redsift-side-navigation-color-background);\n flex-direction: column;\n height: 100%;\n left: 0px;\n overflow: hidden;\n position: fixed;\n top: 0;\n transform: ${({ $isCollapsed }) =>\n !$isCollapsed ? 'translate(0px)' : 'translate(-240px)'};\n transition: transform 0.25s ease-out, visibility 0.25s ease-out;\n visibility: ${({ $isCollapsed }) => (!$isCollapsed ? 'visible' : 'hidden')};\n width: 240px;\n z-index: 1;\n\n .redsift-app-side-panel__header {\n align-items: center;\n box-sizing: border-box;\n display: flex;\n flex-direction: row;\n gap: 8px;\n justify-content: space-between;\n padding: 16px;\n width: 100%;\n height: 72px;\n }\n\n .redsift-app-side-panel__header > img {\n max-height: 36px;\n max-width: 160px;\n }\n\n .redsift-app-side-panel__featured {\n box-sizing: border-box;\n margin-bottom: 16px;\n padding: 0px 16px;\n width: 100%;\n }\n\n [dir='rtl'] & {\n left: unset;\n right: 0px;\n transform: unset;\n transition: unset;\n }\n`;\n","import React, { forwardRef, RefObject, useContext } from 'react';\nimport classNames from 'classnames';\nimport { Comp } from '~/types';\nimport { AppContainerContext } from '~/components/app-container/context';\nimport { StyledAppSidePanel } from './styles';\nimport { AppSidePanelProps } from './types';\n\nconst COMPONENT_NAME = 'RedSiftAppSidePanel';\nconst CLASSNAME = 'redsift-app-side-panel';\nconst DEFAULT_PROPS: Partial<AppSidePanelProps> = {};\n\n/**\n * The AppSidePanel component.\n */\nexport const AppSidePanel: Comp<AppSidePanelProps, HTMLDivElement> = forwardRef(\n (props, ref) => {\n const {\n children,\n className,\n featuredElements,\n isCollapsed = false,\n logo,\n ...forwardedProps\n } = props;\n\n const appContainerState = useContext(AppContainerContext);\n\n return (\n <StyledAppSidePanel\n {...forwardedProps}\n $isCollapsed={\n !!(isCollapsed || appContainerState?.isSidePanelCollapsed)\n }\n className={classNames(AppSidePanel.className, className)}\n ref={ref as RefObject<HTMLDivElement>}\n >\n {logo || appContainerState?.hasAppBar ? (\n <div className={`${AppSidePanel.className}__header`}>\n {logo ? (\n React.isValidElement(logo) ? (\n logo\n ) : (\n <img src={logo.src} alt={logo.alt} />\n )\n ) : null}\n </div>\n ) : null}\n {featuredElements ? (\n <div className={`${AppSidePanel.className}__featured`}>\n {featuredElements}\n </div>\n ) : null}\n {children}\n </StyledAppSidePanel>\n );\n }\n);\nAppSidePanel.className = CLASSNAME;\nAppSidePanel.defaultProps = DEFAULT_PROPS;\nAppSidePanel.displayName = COMPONENT_NAME;\n","import { ComponentProps, MutableRefObject } from 'react';\nimport { IconProps } from '~/components/icon';\n\n/**\n * Context props.\n */\nexport type SideNavigationMenuContextProps = {\n menuItems: Set<HTMLAnchorElement | HTMLButtonElement>;\n};\n\n/**\n * Reducer props.\n */\nexport type SideNavigationMenuReducerState = {\n isExpanded: boolean;\n currentIndex: number;\n previousIndex: number;\n};\n\nexport enum SideNavigationMenuReducerActionType {\n Expand = 'expand',\n Collapse = 'collapse',\n Move = 'move',\n}\n\nexport type SideNavigationMenuReducerAction = {\n type: SideNavigationMenuReducerActionType;\n index?: number;\n};\n\n/**\n * Component props.\n */\nexport interface SideNavigationMenuProps extends ComponentProps<'div'> {\n /** Custom props to pass to the button. */\n buttonProps?: ComponentProps<'button'>;\n /** Custom ref to pass to the button. */\n buttonRef?: MutableRefObject<HTMLButtonElement>;\n /** Whether or not the menu contains children that have a badge. */\n hasBadge?: boolean;\n /**\n * Icon path data (`d` property of the `path` SVG element).<br />\n * See <a href=\"https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths\">https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths</a>.<br />\n * Recommended path data come from mdi/js.<br />\n * See <a href=\"https://www.npmjs.com/package/@mdi/js\">https://www.npmjs.com/package/@mdi/js</a>.\n */\n icon?: string;\n /** Custom props to pass to the Icon component. */\n iconProps?: Omit<IconProps, 'icon'>;\n /** Custom ref to pass to the Icon component. */\n iconRef?: MutableRefObject<HTMLElement>;\n /** Whether the component is disabled or not. */\n isDisabled?: boolean;\n /** Whether the menu is expanded or not. */\n isExpanded?: boolean;\n /** Custom props to pass to the menu. */\n menuProps?: ComponentProps<'ul'>;\n /** Custom ref to pass to the menu. */\n menuRef?: MutableRefObject<HTMLUListElement>;\n /** Whether the component should hide icons or not. */\n withoutIcons?: boolean;\n}\n\nexport type StyledSideNavigationMenuProps = Omit<\n SideNavigationMenuProps,\n 'isDisabled' | 'isExpanded' | 'withoutIcons'\n> & {\n $isDisabled: SideNavigationMenuProps['isDisabled'];\n $isExpanded: SideNavigationMenuProps['isExpanded'];\n $withoutIcons: SideNavigationMenuProps['withoutIcons'];\n};\n","import React from 'react';\nimport { SideNavigationMenuBarContextProps } from './types';\n\nexport const SideNavigationMenuBarContext =\n React.createContext<SideNavigationMenuBarContextProps>(null!);\n","import React from 'react';\nimport { SideNavigationMenuContextProps } from './types';\n\nexport const SideNavigationMenuContext =\n React.createContext<SideNavigationMenuContextProps>(null!);\n","import styled, { css } from 'styled-components';\nimport { StyledSideNavigationMenuItemProps } from './types';\n\n/**\n * Component style.\n */\nexport const StyledSideNavigationMenuItem = styled.a<StyledSideNavigationMenuItemProps>`\n /**\n * Common style\n */\n ${({ $isDisabled }) =>\n !$isDisabled\n ? css`\n color: var(--redsift-side-navigation-color-menu-item-text-resting);\n `\n : css`\n color: var(--redsift-side-navigation-color-menu-item-text-disabled);\n `}\n align-items: center;\n display: flex;\n font-family: var(--redsift-typography-body-font-family);\n font-size: var(--redsift-typography-body-font-size);\n font-weight: var(--redsift-typography-body-font-weight);\n line-height: var(--redsift-typography-body-line-height);\n text-decoration: none;\n\n &:hover,\n &:focus-visible {\n outline: none;\n\n ${({ $isDisabled }) =>\n !$isDisabled\n ? css`\n background-color: var(\n --redsift-side-navigation-color-menu-item-background-hover\n );\n color: var(--redsift-side-navigation-color-menu-item-text-hover);\n `\n : ''}\n }\n\n ${({ $isSecondLevel, $withoutIcons }) =>\n !$isSecondLevel\n ? css`\n /**\n * First-level items\n */\n\n background-color: var(--redsift-side-navigation-color-background);\n padding: 8px 16px;\n\n .redsift-icon.first {\n padding-right: 16px;\n }\n\n span {\n padding-right: 12px;\n }\n\n [dir='rtl'] & {\n padding-right: unset;\n\n .redsift-icon.first {\n padding-left: 16px;\n padding-right: unset;\n }\n\n span {\n padding-left: 12px;\n padding-right: unset;\n }\n }\n `\n : `\n /**\n * Second-level items\n */\n\n background-color: var(--redsift-side-navigation-color-menu-item-background-secondary);\n padding-bottom: 8px;\n padding-left: ${!$withoutIcons ? '52px' : '16px'};\n padding-right: 8px;\n padding-top: 8px;\n\n span {\n padding-right: 12px;\n }\n\n [dir=\"rtl\"] & {\n padding-left: unset;\n padding-right: 16px;\n\n span {\n padding-left: 12px;\n padding-right: unset;\n }\n }\n `}\n\n ${({ $isCurrent, $isDisabled }) =>\n $isCurrent && !$isDisabled\n ? css`\n background-color: var(\n --redsift-side-navigation-color-menu-item-background-active\n );\n box-shadow: inset -4px 0px 0px var(--redsift-side-navigation-color-menu-item-active);\n `\n : ''}\n`;\n","import { ComponentProps } from 'react';\nimport { ColorPalette, ProductColorPalette, ValueOf } from '~/types';\n\n/**\n * Component variant.\n */\nexport const BadgeVariant = {\n dot: 'dot',\n standard: 'standard',\n} as const;\nexport type BadgeVariant = ValueOf<typeof BadgeVariant>;\n\n/**\n * Component props.\n */\nexport interface BadgeProps extends ComponentProps<'div'> {\n /** Whether the badge should automatically break content. */\n autoBreak?: boolean;\n /** Color variant. The product colors are available but should only be used to display the Badge in the color of another product. To display a Badge with a color of the current product, use `default`. */\n color?: ColorPalette | ProductColorPalette;\n /** Whether the Badge has its colors reversed or not. */\n isReversed?: boolean;\n /** Badge variant. */\n variant?: BadgeVariant;\n}\n\nexport type StyledBadgeProps = Omit<\n BadgeProps,\n 'color' | 'variant' | 'isReversed' | 'autoBreak'\n> & {\n $autoBreak: BadgeProps['autoBreak'];\n $color: BadgeProps['color'];\n $isReversed: BadgeProps['isReversed'];\n $variant: BadgeProps['variant'];\n};\n","import styled, { css } from 'styled-components';\nimport { BadgeVariant, StyledBadgeProps } from './types';\n\n/**\n * Component style.\n */\nexport const StyledBadge = styled.div<StyledBadgeProps>`\n ${({ $color, $isReversed }) => {\n if ($isReversed) {\n return css`\n background-color: var(--redsift-color-neutral-white);\n\n &,\n .redsift-icon {\n color: var(--redsift-color-${$color}-primary);\n }\n `;\n } else {\n return css`\n background-color: var(--redsift-color-${$color}-primary);\n\n &,\n .redsift-icon {\n color: var(--redsift-color-neutral-white);\n }\n `;\n }\n }}\n\n ${({ $variant, $autoBreak }) => {\n switch ($variant) {\n case BadgeVariant.dot:\n return css`\n border-radius: 50%;\n height: 8px;\n margin-bottom: 12px;\n margin-right: 12px;\n width: 8px;\n `;\n case BadgeVariant.standard:\n default:\n return css`\n border-radius: 64px;\n min-width: 8px;\n padding: 0 6px;\n text-align: center;\n width: fit-content;\n word-break: ${$autoBreak ? 'break-word' : 'normal'};\n\n &,\n .redsift-icon {\n font-family: var(--redsift-typography-badge-font-family);\n font-size: var(--redsift-typography-badge-font-size);\n font-weight: var(--redsift-typography-badge-font-weight);\n line-height: var(--redsift-typography-badge-line-height);\n }\n `;\n }\n }}\n`;\n","import React, { forwardRef, RefObject } from 'react';\nimport classNames from 'classnames';\nimport { ColorPalette, Comp } from '~/types';\nimport { StyledBadge } from './styles';\nimport { BadgeProps, BadgeVariant } from './types';\n\nconst COMPONENT_NAME = 'RedSiftBadge';\nconst CLASSNAME = 'redsift-badge';\nconst DEFAULT_PROPS: Partial<BadgeProps> = {\n color: ColorPalette.question,\n variant: BadgeVariant.dot,\n};\n\n/**\n * The Badge component.\n */\nexport const Badge: Comp<BadgeProps, HTMLDivElement> = forwardRef(\n (props, ref) => {\n const {\n autoBreak,\n children,\n className,\n color,\n isReversed,\n variant,\n ...forwardedProps\n } = props;\n\n return (\n <StyledBadge\n {...forwardedProps}\n $autoBreak={autoBreak}\n $color={color}\n $isReversed={isReversed}\n $variant={variant}\n className={classNames(\n Badge.className,\n `${Badge.className}-${variant}`,\n className\n )}\n ref={ref as RefObject<HTMLDivElement>}\n >\n {variant === BadgeVariant.standard ? children : null}\n </StyledBadge>\n );\n }\n);\nBadge.className = CLASSNAME;\nBadge.defaultProps = DEFAULT_PROPS;\nBadge.displayName = COMPONENT_NAME;\n","import React, {\n forwardRef,\n MutableRefObject,\n useContext,\n useEffect,\n useRef,\n useState,\n} from 'react';\nimport classNames from 'classnames';\nimport { Comp } from '~/types';\nimport { Icon, IconSize } from '~/components/icon';\nimport { warnIfNoAccessibleLabelFound } from '~/utils/warnIfNoAccessibleLabelFound';\nimport { SideNavigationMenuBarContext } from '~/components/side-navigation-menu-bar/context';\nimport { SideNavigationMenuContext } from '~/components/side-navigation-menu/context';\nimport { AppContainerContext } from '~/components/app-container/context';\nimport { StyledSideNavigationMenuItem } from './styles';\nimport { SideNavigationMenuItemProps } from './types';\nimport { Badge, BadgeVariant } from '~/components/badge';\n\nconst COMPONENT_NAME = 'RedSiftSideNavigationMenuItem';\nconst CLASSNAME = 'redsift-side-navigation-menu-item';\nconst DEFAULT_PROPS: Partial<SideNavigationMenuItemProps> = {};\n\n/**\n * The SideNavigationMenuItem component.\n */\nexport const SideNavigationMenuItem: Comp<\n SideNavigationMenuItemProps,\n HTMLAnchorElement\n> = forwardRef((props, ref) => {\n const menuItemRef = ref || useRef<HTMLAnchorElement>();\n\n const {\n badge,\n badgeProps,\n children,\n className,\n href,\n icon,\n iconProps,\n iconRef = useRef<HTMLElement>(),\n isCurrent,\n isDisabled,\n isSecondLevel,\n onClick,\n onKeyDown,\n tabIndex,\n withoutIcons,\n ...forwardedProps\n } = props;\n\n warnIfNoAccessibleLabelFound(props, [children]);\n\n const appContainerState = useContext(AppContainerContext);\n useEffect(() => {\n if (appContainerState && isCurrent && typeof children === 'string') {\n appContainerState.setTitle(children);\n }\n\n return () => {\n if (appContainerState) {\n appContainerState.setTitle(undefined);\n }\n };\n }, [isCurrent]);\n\n const sideNavigationMenuBarContext = useContext(SideNavigationMenuBarContext);\n const sideNavigationMenuContext = useContext(SideNavigationMenuContext);\n const [isFirstChild, setIsFirstChild] = useState(false);\n const { menuItems } =\n sideNavigationMenuContext || sideNavigationMenuBarContext || {};\n\n useEffect(() => {\n if (!(sideNavigationMenuContext || sideNavigationMenuBarContext)) {\n setIsFirstChild(true);\n return;\n }\n\n const menuItemNode = (menuItemRef as MutableRefObject<HTMLAnchorElement>)\n .current;\n\n if (menuItemNode) {\n if (!menuItems.size) {\n setIsFirstChild(true);\n }\n\n menuItems.add(menuItemNode);\n }\n\n return () => {\n menuItems.delete(menuItemNode);\n };\n }, [menuItems]);\n\n return (\n <StyledSideNavigationMenuItem\n role=\"menuitem\"\n {...forwardedProps}\n $isCurrent={isCurrent}\n $isDisabled={isDisabled}\n $isSecondLevel={isSecondLevel}\n $withoutIcons={withoutIcons}\n aria-current={isCurrent ? 'page' : undefined}\n aria-disabled={isDisabled}\n className={classNames(SideNavigationMenuItem.className, className)}\n href={!isDisabled ? href : undefined}\n onClick={isDisabled ? undefined : onClick}\n onKeyDown={isDisabled ? undefined : onKeyDown}\n ref={menuItemRef as MutableRefObject<HTMLAnchorElement>}\n tabIndex={\n tabIndex !== undefined\n ? tabIndex\n : !sideNavigationMenuContext && isFirstChild\n ? 0\n : -1\n }\n >\n {icon ? (\n <Icon\n color=\"var(--redsift-side-navigation-color-menu-item-text-resting)\"\n {...iconProps}\n icon={icon}\n ref={iconRef as MutableRefObject<HTMLElement>}\n className=\"first\"\n size={IconSize.small}\n />\n ) : null}\n <span>{children}</span>\n {badge ? (\n <Badge variant={BadgeVariant.standard} color=\"error\" {...badgeProps}>\n {badge}\n </Badge>\n ) : null}\n </StyledSideNavigationMenuItem>\n );\n});\nSideNavigationMenuItem.className = CLASSNAME;\nSideNavigationMenuItem.defaultProps = DEFAULT_PROPS;\nSideNavigationMenuItem.displayName = COMPONENT_NAME;\n","import styled, { css } from 'styled-components';\nimport { StyledSideNavigationMenuProps } from './types';\n\n/**\n * Component style.\n */\nexport const StyledSideNavigationMenu = styled.div<StyledSideNavigationMenuProps>`\n > button {\n background-color: var(--redsift-side-navigation-color-background);\n border: none;\n ${({ $isDisabled }) =>\n !$isDisabled\n ? css`\n color: var(--redsift-side-navigation-color-menu-item-text-resting);\n `\n : css`\n color: var(--redsift-side-navigation-color-menu-item-text-disabled);\n `}\n align-items: center;\n display: flex;\n font-family: var(--redsift-typography-body-font-family);\n font-size: var(--redsift-typography-body-font-size);\n font-weight: var(--redsift-typography-body-font-weight);\n line-height: var(--redsift-typography-body-line-height);\n padding: 8px 16px;\n text-decoration: none;\n width: 100%;\n }\n\n ul {\n list-style: none;\n margin: unset;\n padding: unset;\n }\n\n .redsift-icon.first {\n padding-right: 16px;\n }\n\n span {\n padding-right: 12px;\n }\n\n [dir='rtl'] & {\n .redsift-icon.first {\n padding-left: 16px;\n padding-right: unset;\n }\n\n span {\n padding-left: 12px;\n padding-right: unset;\n }\n }\n\n > button:hover,\n > button:focus-visible {\n outline: none;\n\n ${({ $isDisabled }) =>\n !$isDisabled\n ? css`\n background-color: var(\n --redsift-side-navigation-color-menu-item-background-hover\n );\n color: var(--redsift-side-navigation-color-menu-item-text-hover);\n cursor: pointer;\n\n .redsift-side-navigation-menu__expand-icon {\n color: var(--redsift-side-navigation-color-menu-item-text-hover);\n }\n `\n : ''}\n }\n\n .redsift-side-navigation-menu__expand-icon {\n ${({ $isDisabled }) =>\n !$isDisabled\n ? css`\n color: var(--redsift-side-navigation-color-menu-item-text-resting);\n `\n : css`\n color: var(--redsift-side-navigation-color-menu-item-text-disabled);\n `}\n margin-left: auto;\n }\n\n [dir='rtl'] & {\n .redsift-side-navigation-menu__expand-icon {\n margin-left: unset;\n margin-right: auto;\n }\n }\n\n /**\n * Display children or not\n */\n\n > ul {\n ${({ $isExpanded }) =>\n $isExpanded\n ? css`\n display: block;\n `\n : css`\n display: none;\n `}\n }\n`;\n","import {\n SideNavigationMenuReducerState,\n SideNavigationMenuReducerAction,\n SideNavigationMenuReducerActionType,\n} from './types';\n\nexport const SideNavigationMenuReducer = (\n state: SideNavigationMenuReducerState,\n action: SideNavigationMenuReducerAction\n): SideNavigationMenuReducerState => {\n switch (action.type) {\n case SideNavigationMenuReducerActionType.Expand:\n return { ...state, isExpanded: true };\n case SideNavigationMenuReducerActionType.Collapse:\n return {\n isExpanded: false,\n currentIndex: null!,\n previousIndex: null!,\n };\n case SideNavigationMenuReducerActionType.Move:\n return {\n ...state,\n isExpanded: true,\n currentIndex: action.index!,\n previousIndex: state.currentIndex,\n };\n }\n};\n","import React, {\n forwardRef,\n KeyboardEvent,\n MouseEvent,\n MutableRefObject,\n ReactElement,\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useReducer,\n useRef,\n useState,\n} from 'react';\nimport classNames from 'classnames';\nimport { mdiChevronDown, mdiChevronRight } from '@redsift/icons';\nimport { Comp } from '~/types';\nimport {\n SideNavigationMenuItem,\n SideNavigationMenuItemProps,\n} from '~/components/side-navigation-menu-item';\nimport { Icon, IconSize } from '~/components/icon';\nimport { Badge } from '~/components/badge';\nimport { StyledSideNavigationMenu } from './styles';\nimport {\n SideNavigationMenuContextProps,\n SideNavigationMenuProps,\n SideNavigationMenuReducerActionType,\n} from './types';\nimport { SideNavigationMenuContext } from './context';\nimport { SideNavigationMenuReducer } from './reducer';\nimport { SideNavigationMenuBarContext } from '../side-navigation-menu-bar/context';\nimport { warnIfNoAccessibleLabelFound } from '~/utils/warnIfNoAccessibleLabelFound';\n\nconst COMPONENT_NAME = 'RedSiftSideNavigationMenu';\nconst CLASSNAME = 'redsift-side-navigation-menu';\nconst DEFAULT_PROPS: Partial<SideNavigationMenuProps> = {};\n\n/**\n * The SideNavigationMenu component.\n */\nexport const SideNavigationMenu: Comp<SideNavigationMenuProps, HTMLDivElement> =\n forwardRef((props, ref) => {\n const {\n 'aria-label': ariaLabel,\n buttonProps = {},\n buttonRef = useRef<HTMLButtonElement>() as MutableRefObject<HTMLButtonElement>,\n children,\n className,\n hasBadge,\n icon,\n iconProps,\n iconRef = useRef<HTMLElement>(),\n isDisabled,\n isExpanded: propsIsExpanded,\n menuProps = {},\n menuRef = useRef<HTMLUListElement>(),\n tabIndex,\n withoutIcons,\n ...forwardedProps\n } = props;\n\n warnIfNoAccessibleLabelFound(props);\n\n const sideNavigationMenuBarContext = useContext(\n SideNavigationMenuBarContext\n );\n const [isFirstChild, setIsFirstChild] = useState(false);\n const { menuItems: menubarItems } = sideNavigationMenuBarContext || {};\n\n /**\n * Create an array containing only valid children which can only be SideNavigationMenuItem.\n * This prevent the navigation menubar to have more than two levels.\n */\n const childArray: ReactElement[] = [];\n React.Children.forEach(children, (child) => {\n if (\n React.isValidElement(child) &&\n (child.type as Comp<SideNavigationMenuItemProps>).displayName ===\n SideNavigationMenuItem.displayName\n ) {\n childArray.push(child);\n }\n });\n const renderedMenuItems = childArray.map((child, index) => {\n return (\n <li key={child.key ?? index} role=\"none\">\n {React.cloneElement(child, {\n icon: undefined, // Second-level item should not have icon\n isDisabled: child.props.isDisabled || isDisabled || undefined,\n isSecondLevel: true,\n key: child.key ?? index,\n withoutIcons,\n })}\n </li>\n );\n });\n\n const menuItems = useRef<Set<HTMLAnchorElement | HTMLButtonElement>>(\n new Set()\n ).current;\n const [state, dispatch] = useReducer(SideNavigationMenuReducer, {\n currentIndex: null!,\n isExpanded: Boolean(propsIsExpanded),\n previousIndex: null!,\n });\n const { isExpanded, currentIndex, previousIndex } = state;\n\n const first = useCallback(\n () =>\n dispatch({ type: SideNavigationMenuReducerActionType.Move, index: 0 }),\n []\n );\n\n const last = useCallback(\n () =>\n dispatch({\n type: SideNavigationMenuReducerActionType.Move,\n index: menuItems.size - 1,\n }),\n [menuItems.size]\n );\n\n const move = useCallback(\n (index: number) =>\n dispatch({ type: SideNavigationMenuReducerActionType.Move, index }),\n []\n );\n\n const open = useCallback(\n () => dispatch({ type: SideNavigationMenuReducerActionType.Expand }),\n []\n );\n\n const close = useCallback(\n (focusButton?: boolean) => {\n if (isExpanded) {\n if (focusButton) {\n buttonRef.current.focus();\n }\n\n dispatch({ type: SideNavigationMenuReducerActionType.Collapse });\n }\n },\n [isExpanded]\n );\n\n const previous = () => {\n const index = currentIndex === 0 ? menuItems.size - 1 : currentIndex - 1;\n move(index);\n };\n\n const next = () => {\n const index = currentIndex === menuItems.size - 1 ? 0 : currentIndex + 1;\n move(index);\n };\n\n const match = (e: React.KeyboardEvent<HTMLUListElement>) => {\n const items = Array.from(menuItems);\n\n // Reorder the array, starting with the currentNode\n const reorderedItems = [\n ...items.slice(currentIndex),\n ...items.slice(0, currentIndex),\n ];\n\n // Find all nodes that begin with the pressed letter\n const matches = reorderedItems.filter((menuItem) => {\n const { textContent } = menuItem;\n // istanbul ignore next\n const firstLetter = textContent?.toLowerCase().charAt(0);\n return e.key === firstLetter;\n });\n\n // Exit early if there are no matches\n if (!matches.length) {\n return;\n }\n\n // If the focused item is a match, focus the next match.\n // Otherwise, focus the first match\n const currentNode = items[currentIndex];\n const nextMatch = matches.includes(currentNode) ? matches[1] : matches[0];\n const index = items.findIndex((item) => {\n return item === nextMatch;\n });\n\n move(index);\n };\n\n const value = useMemo<SideNavigationMenuContextProps>(\n () => ({ menuItems }),\n [menuItems]\n );\n\n useEffect(() => {\n const items = Array.from(menuItems);\n\n if (currentIndex !== previousIndex) {\n const currentNode = items[currentIndex] as HTMLElement;\n currentNode?.focus();\n }\n }, [menuItems, currentIndex, previousIndex]);\n\n useEffect(() => {\n if (!sideNavigationMenuBarContext) {\n setIsFirstChild(true);\n return;\n }\n\n const menuItemNode = (buttonRef as MutableRefObject<HTMLButtonElement>)\n .current;\n\n if (menuItemNode) {\n menubarItems.add(menuItemNode);\n }\n\n return () => {\n menubarItems.delete(menuItemNode);\n };\n }, [menubarItems]);\n\n const keyDownOnButton = (e: KeyboardEvent<HTMLButtonElement>) => {\n if (isDisabled) {\n return;\n }\n const currentNode = e.target as HTMLUListElement;\n\n switch (e.code) {\n case 'Enter':\n case 'Space':\n e.stopPropagation();\n currentNode.click();\n first();\n break;\n case 'ArrowRight':\n e.stopPropagation();\n first();\n break;\n case 'ArrowLeft':\n last();\n break;\n default:\n break;\n }\n };\n\n const buttonEventHandler = {\n onClick: (event: MouseEvent<HTMLButtonElement>) => {\n if (isDisabled) {\n return;\n }\n\n buttonProps.onClick?.(event);\n event.stopPropagation();\n if (isExpanded) {\n close();\n } else {\n open();\n }\n },\n onKeyDown: (event: KeyboardEvent<HTMLButtonElement>) => {\n buttonProps.onKeyDown?.(event);\n keyDownOnButton(event);\n },\n };\n\n const keyDownOnMenuItemList = (e: KeyboardEvent<HTMLUListElement>) => {\n const currentNode = e.target as HTMLUListElement;\n\n switch (e.code) {\n case 'ArrowUp':\n e.stopPropagation();\n e.preventDefault();\n previous();\n break;\n case 'ArrowDown':\n e.stopPropagation();\n e.preventDefault();\n next();\n break;\n case 'ArrowLeft':\n e.preventDefault();\n e.stopPropagation();\n close(true);\n break;\n case 'ArrowRight':\n e.preventDefault();\n close(!sideNavigationMenuBarContext);\n break;\n case 'Home':\n e.stopPropagation();\n e.preventDefault();\n first();\n break;\n case 'End':\n e.stopPropagation();\n e.preventDefault();\n last();\n break;\n case 'Enter':\n case 'Space':\n e.preventDefault();\n currentNode.click();\n break;\n case 'Escape':\n e.stopPropagation();\n e.preventDefault();\n close(true);\n break;\n default:\n e.stopPropagation();\n match(e);\n break;\n }\n };\n\n const menuItemListEventHandler = {\n onKeyDown: (event: KeyboardEvent<HTMLUListElement>) => {\n menuProps.onKeyDown?.(event);\n keyDownOnMenuItemList(event);\n },\n onClick: (event: MouseEvent<HTMLUListElement>) => {\n if (isDisabled) {\n return;\n }\n menuProps.onClick?.(event);\n },\n };\n\n return (\n <StyledSideNavigationMenu\n {...forwardedProps}\n $isDisabled={isDisabled}\n $isExpanded={isExpanded}\n $withoutIcons={withoutIcons}\n className={classNames(SideNavigationMenu.className, className)}\n ref={ref as MutableRefObject<HTMLDivElement>}\n tabIndex={undefined}\n >\n <SideNavigationMenuContext.Provider value={value}>\n <button\n {...buttonProps}\n aria-disabled={isDisabled}\n aria-expanded={isExpanded ? 'true' : 'false'}\n aria-haspopup=\"true\"\n ref={buttonRef as MutableRefObject<HTMLButtonElement>}\n role=\"menuitem\"\n tabIndex={tabIndex !== undefined ? tabIndex : isFirstChild ? 0 : -1}\n type=\"button\"\n {...buttonEventHandler}\n >\n {icon ? (\n <Icon\n color=\"var(--redsift-side-navigation-color-menu-item-text-resting)\"\n {...iconProps}\n icon={icon}\n ref={iconRef as MutableRefObject<HTMLElement>}\n className={classNames(iconProps?.className, 'first')}\n size={IconSize.small}\n />\n ) : null}\n <span>{ariaLabel}</span>\n {hasBadge && !isExpanded ? <Badge color=\"error\" /> : null}\n {isExpanded ? (\n <Icon\n icon={mdiChevronDown}\n className={`${SideNavigationMenu.className}__expand-icon`}\n size={IconSize.small}\n />\n ) : (\n <Icon\n icon={mdiChevronRight}\n className={`${SideNavigationMenu.className}__expand-icon`}\n size={IconSize.small}\n />\n )}\n </button>\n <ul\n {...menuProps}\n aria-label={ariaLabel}\n aria-orientation=\"vertical\"\n hidden={!isExpanded}\n ref={menuRef as MutableRefObject<HTMLUListElement>}\n role=\"menu\"\n {...menuItemListEventHandler}\n >\n {renderedMenuItems}\n </ul>\n </SideNavigationMenuContext.Provider>\n </StyledSideNavigationMenu>\n );\n });\nSideNavigationMenu.className = CLASSNAME;\nSideNavigationMenu.defaultProps = DEFAULT_PROPS;\nSideNavigationMenu.displayName = COMPONENT_NAME;\n","import styled, { css } from 'styled-components';\nimport { StyledSideNavigationMenuBarProps } from './types';\n\n/**\n * Component style.\n */\nexport const StyledSideNavigationMenuBar = styled.nav<StyledSideNavigationMenuBarProps>`\n background-color: var(--redsift-side-navigation-color-background);\n overflow-y: auto;\n width: 240px;\n\n ${({ $marginTop = 0 }) =>\n $marginTop\n ? css`\n height: calc(100% - ${$marginTop}px);\n `\n : ''}\n\n ul {\n list-style: none;\n margin: unset;\n padding: unset;\n }\n\n scrollbar-color: var(--redsift-side-navigation-color-scrollbar-resting)\n transparent;\n scrollbar-width: thin;\n\n &::-webkit-scrollbar {\n block-size: 9px;\n inline-size: 9px;\n }\n\n &::-webkit-scrollbar-thumb {\n background-clip: padding-box;\n background-color: var(--redsift-side-navigation-color-scrollbar-resting);\n border-radius: 0px;\n border-left: 2px solid transparent;\n border-right: 2px solid transparent;\n }\n\n &::-webkit-scrollbar-track {\n background-color: transparent;\n }\n\n &::-webkit-scrollbar-thumb:horizontal,\n &::-webkit-scrollbar-thumb:vertical {\n &:hover {\n background-color: var(--redsift-side-navigation-color-scrollbar-hover);\n }\n }\n\n &::-webkit-scrollbar-corner {\n visibility: hidden;\n }\n`;\n","import { useState, useEffect, MutableRefObject } from 'react';\n\n/**\n * Get the bounding rect of a component.\n */\nexport const useBoundingClientRect = (\n ref: MutableRefObject<HTMLElement>,\n deps?: any[]\n) => {\n const [boundingRect, setBoundingRect] = useState<DOMRect>({} as DOMRect);\n\n useEffect(() => {\n if (ref.current) {\n setBoundingRect(ref.current.getBoundingClientRect());\n }\n }, deps);\n\n return boundingRect;\n};\n","import React, {\n forwardRef,\n KeyboardEvent,\n MutableRefObject,\n ReactElement,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport classNames from 'classnames';\nimport { Comp } from '~/types';\nimport {\n SideNavigationMenu,\n SideNavigationMenuProps,\n} from '~/components/side-navigation-menu';\nimport {\n SideNavigationMenuItem,\n SideNavigationMenuItemProps,\n} from '~/components/side-navigation-menu-item';\nimport { warnIfNoAccessibleLabelFound } from '~/utils/warnIfNoAccessibleLabelFound';\nimport { StyledSideNavigationMenuBar } from './styles';\nimport {\n SideNavigationMenuBarProps,\n SideNavigationMenuBarContextProps,\n} from './types';\nimport { SideNavigationMenuBarContext } from './context';\nimport { useBoundingClientRect } from '~/hooks/useBoundingRect';\n\nconst COMPONENT_NAME = 'RedSiftSideNavigationMenuBar';\nconst CLASSNAME = 'redsift-side-navigation-menu-bar';\nconst DEFAULT_PROPS: Partial<SideNavigationMenuBarProps> = {};\n\n/**\n * Hook to store the previous index for further use\n */\nconst usePrevious = (value: number) => {\n const ref = useRef(0);\n\n useEffect(() => {\n ref.current = value;\n }, [value]);\n\n return ref.current;\n};\n\n/**\n * The SideNavigationMenuBar component.\n */\nexport const SideNavigationMenuBar: Comp<\n SideNavigationMenuBarProps,\n HTMLElement\n> = forwardRef((props, ref) => {\n const navRef = (ref ||\n useRef<HTMLElement>()) as MutableRefObject<HTMLElement>;\n\n const {\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledby,\n children,\n className,\n isDisabled,\n menubarProps = {},\n menubarRef = useRef<HTMLUListElement>(),\n withoutIcons,\n ...forwardedProps\n } = props;\n\n warnIfNoAccessibleLabelFound(props);\n const { top } = useBoundingClientRect(navRef, [children]);\n\n /**\n * Create an array containing only valid children being either SideNavigationMenu or SideNavigationMenuItem.\n */\n const childArray: ReactElement[] = [];\n React.Children.forEach(children, (child) => {\n if (\n React.isValidElement(child) &&\n [\n SideNavigationMenu.displayName,\n SideNavigationMenuItem.displayName,\n ].includes(\n (\n child.type as Comp<\n SideNavigationMenuProps | SideNavigationMenuItemProps\n >\n ).displayName\n )\n ) {\n childArray.push(child);\n }\n });\n const navItems = childArray.map((child, index) => {\n return (\n <li key={child.key ?? index} role=\"none\">\n {React.cloneElement(child, {\n isDisabled: child.props.isDisabled || isDisabled || undefined,\n key: child.key ?? index,\n // First-level children should have icon, even empty one (except when withoutIcons is set to true)\n icon: withoutIcons ? undefined : child.props.icon || 'M 0,0',\n withoutIcons,\n tabIndex: index === 0 ? 0 : -1,\n })}\n </li>\n );\n });\n\n const menuItems = useRef<Set<HTMLAnchorElement | HTMLButtonElement>>(\n new Set()\n ).current;\n const [currentIndex, setCurrentIndex] = useState(0);\n const previousIndex = usePrevious(currentIndex);\n\n const first = () => setCurrentIndex(0);\n\n const last = () => setCurrentIndex(menuItems.size - 1);\n\n const next = () => {\n const index = currentIndex === menuItems.size - 1 ? 0 : currentIndex + 1;\n setCurrentIndex(index);\n };\n\n const previous = () => {\n const index = currentIndex === 0 ? menuItems.size - 1 : currentIndex - 1;\n setCurrentIndex(index);\n };\n\n const match = (event: React.KeyboardEvent<HTMLUListElement>) => {\n const items = Array.from(menuItems);\n\n // Reorder the array, starting with the currentNode\n const reorderedItems = [\n ...items.slice(currentIndex),\n ...items.slice(0, currentIndex),\n ];\n\n // Find all nodes that begin with the pressed letter\n const matches = reorderedItems.filter((menuItem) => {\n const { textContent } = menuItem;\n // istanbul ignore next\n const firstLetter = textContent?.toLowerCase().charAt(0);\n return event.key === firstLetter;\n });\n\n // Exit early if there are no matches\n if (!matches.length) {\n return;\n }\n\n // If the focused item is a match, focus the next match.\n // Otherwise, focus the first match\n const currentNode = items[currentIndex];\n const nextMatch = matches.includes(currentNode) ? matches[1] : matches[0];\n const index = items.findIndex((item) => {\n return item === nextMatch;\n });\n\n setCurrentIndex(index);\n };\n\n const keyDown = (e: KeyboardEvent<HTMLUListElement>) => {\n menubarProps.onKeyDown?.(e);\n e.stopPropagation();\n\n const currentNode = e.target as HTMLUListElement;\n // istanbul ignore next\n const parentMenu = currentNode?.parentNode?.parentNode as HTMLElement;\n const isFromSubmenu = parentMenu.getAttribute('role') === 'menu';\n\n switch (e.code) {\n case 'ArrowUp':\n e.preventDefault();\n previous();\n break;\n case 'ArrowDown':\n e.preventDefault();\n next();\n break;\n case 'ArrowRight':\n e.preventDefault();\n if (isFromSubmenu) {\n next();\n }\n break;\n case 'End':\n e.preventDefault();\n last();\n break;\n case 'Home':\n e.preventDefault();\n first();\n break;\n case 'Enter':\n case 'Space':\n e.preventDefault();\n currentNode.click();\n break;\n default:\n match(e);\n break;\n }\n };\n\n const value = useMemo<SideNavigationMenuBarContextProps>(\n () => ({ menuItems }),\n [menuItems]\n );\n\n useEffect(() => {\n if (currentIndex !== previousIndex) {\n const items = Array.from(menuItems);\n const currentNode = items[currentIndex] as HTMLElement;\n const previousNode = items[previousIndex] as HTMLElement;\n\n // istanbul ignore next\n previousNode?.setAttribute('tabindex', '-1');\n currentNode?.setAttribute('tabindex', '0');\n currentNode?.focus();\n }\n }, [currentIndex, previousIndex, menuItems]);\n\n return (\n <StyledSideNavigationMenuBar\n {...forwardedProps}\n $isDisabled={isDisabled}\n $marginTop={top}\n $withoutIcons={withoutIcons}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledby}\n className={classNames(SideNavigationMenuBar.className, className)}\n ref={navRef as MutableRefObject<HTMLElement>}\n >\n <SideNavigationMenuBarContext.Provider value={value}>\n <ul\n {...menubarProps}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledby}\n aria-orientation=\"vertical\"\n onKeyDown={keyDown}\n ref={menubarRef as MutableRefObject<HTMLUListElement>}\n role=\"menubar\"\n >\n {navItems}\n </ul>\n </SideNavigationMenuBarContext.Provider>\n </StyledSideNavigationMenuBar>\n );\n});\nSideNavigationMenuBar.className = CLASSNAME;\nSideNavigationMenuBar.defaultProps = DEFAULT_PROPS;\nSideNavigationMenuBar.displayName = COMPONENT_NAME;\n","import React, { MutableRefObject } from 'react';\nimport { SideNavigationMenu } from '~/components/side-navigation-menu';\nimport { SideNavigationMenuItem } from '~/components/side-navigation-menu-item';\nimport {\n MenuBarItems,\n MenuItem,\n Menu,\n SideNavigationMenuBarProps,\n} from './types';\n\nconst isMenu = (item: MenuItem | Menu): item is Menu => {\n return (item as Menu).children !== undefined;\n};\n\nexport interface UseSideNavigationMenuBarProps {\n items: MenuBarItems;\n isActive?: (href: string) => boolean;\n}\n\nexport const useSideNavigationMenuBar = ({\n items,\n isActive,\n}: UseSideNavigationMenuBarProps): Omit<SideNavigationMenuBarProps, 'ref'> => {\n const menuBarChildren: SideNavigationMenuBarProps['children'][] = [];\n\n items.map((item) => {\n if (!isMenu(item)) {\n const { title, href, ref, ...rest } = item;\n menuBarChildren.push(\n <SideNavigationMenuItem\n key={title}\n isCurrent={isActive ? isActive(href!) : undefined}\n {...rest}\n href={href}\n ref={ref as MutableRefObject<HTMLAnchorElement>}\n >\n {title}\n </SideNavigationMenuItem>\n );\n } else {\n const { title, children, ref, ...rest } = item;\n menuBarChildren.push(\n <SideNavigationMenu\n key={title}\n aria-label={title}\n isExpanded={\n isActive\n ? children.filter((child) => isActive(child.href!)).length > 0\n : undefined\n }\n hasBadge={children.filter((child) => child.badge).length > 0}\n {...rest}\n ref={ref as MutableRefObject<HTMLDivElement>}\n >\n {children.map((child) => {\n const { title, href, ref, ...rest } = child;\n return (\n <SideNavigationMenuItem\n key={title}\n href={href}\n isCurrent={isActive ? isActive(href!) : undefined}\n {...rest}\n ref={ref as MutableRefObject<HTMLAnchorElement>}\n >\n {title}\n </SideNavigationMenuItem>\n );\n })}\n </SideNavigationMenu>\n );\n }\n });\n\n return {\n children: menuBarChildren,\n };\n};\n","import React from 'react';\nimport {\n SideNavigationMenuBar,\n useSideNavigationMenuBar,\n UseSideNavigationMenuBarProps,\n} from '~/components/side-navigation-menu-bar';\nimport { AppSidePanelProps } from './types';\n\nexport const useAppSidePanel = ({\n items,\n isActive,\n}: UseSideNavigationMenuBarProps): Omit<AppSidePanelProps, 'ref'> => {\n const sideNavigationMenuBarProps = useSideNavigationMenuBar({\n items,\n isActive,\n });\n\n return {\n children: (\n <SideNavigationMenuBar\n {...sideNavigationMenuBarProps}\n aria-label=\"Navigation\"\n />\n ),\n };\n};\n","import styled, { css } from 'styled-components';\nimport { ProductColorPalette } from '~/types';\nimport { StyledAppContentProps } from './types';\n\n/**\n * Component style.\n */\nexport const StyledAppContent = styled.main<StyledAppContentProps>`\n box-sizing: border-box;\n margin-top: 72px;\n min-height: calc(100vh - 72px);\n padding: 16px 32px;\n\n ${({ $isSidePanelCollapsed }) =>\n !$isSidePanelCollapsed\n ? css`\n transform: translate(240px);\n width: calc(100% - 240px);\n `\n : `\n transform: translate(0px);\n width: 100%;\n `}\n\n ${({ $isLoaded }) =>\n $isLoaded\n ? css`\n transition: transform 0.25s ease-out, width 0.25s ease-out;\n `\n : ''}\n\n ${({ $productTheme }) =>\n $productTheme &&\n Object.keys(ProductColorPalette).indexOf($productTheme) !== -1\n ? css`\n --redsift-color-default-primary: var(\n --redsift-color-${$productTheme}-primary\n );\n --redsift-color-default-secondary: var(\n --redsift-color-${$productTheme}-secondary\n );\n --redsift-color-default-hover: var(\n --redsift-color-${$productTheme}-hover\n );\n --redsift-color-default-active: var(\n --redsift-color-${$productTheme}-active\n );\n --redsift-color-default-active-hover: var(\n --redsift-color-${$productTheme}-active-hover\n );\n --redsift-color-default-primary-active: var(\n --redsift-color-${$productTheme}-primary-active\n );\n `\n : ''}\n`;\n","import React, { forwardRef, RefObject, useContext } from 'react';\nimport classNames from 'classnames';\nimport { Comp } from '~/types';\nimport { AppContainerContext } from '~/components/app-container/context';\nimport { useIsLoaded } from '~/hooks/useIsLoaded';\nimport { StyledAppContent } from './styles';\nimport { AppContentProps } from './types';\n\nconst COMPONENT_NAME = 'RedSiftAppContent';\nconst CLASSNAME = 'redsift-app-content';\nconst DEFAULT_PROPS: Partial<AppContentProps> = {};\n\n/**\n * The AppContent component.\n */\nexport const AppContent: Comp<AppContentProps, HTMLElement> = forwardRef(\n (props, ref) => {\n const { children, className, productTheme, ...forwardedProps } = props;\n\n const { isLoaded } = useIsLoaded();\n const appContainerState = useContext(AppContainerContext);\n\n return (\n <StyledAppContent\n {...forwardedProps}\n $isLoaded={isLoaded}\n $isSidePanelCollapsed={\n appContainerState ? appContainerState.isSidePanelCollapsed : true\n }\n $productTheme={productTheme}\n className={classNames(AppContent.className, className)}\n ref={ref as RefObject<HTMLElement>}\n >\n {children}\n </StyledAppContent>\n );\n }\n);\nAppContent.className = CLASSNAME;\nAppContent.defaultProps = DEFAULT_PROPS;\nAppContent.displayName = COMPONENT_NAME;\n","import styled, { css } from 'styled-components';\nimport { ProductColorPalette } from '~/types';\nimport { StyledAppContainerProps } from './types';\n\n/**\n * Component style.\n */\nexport const StyledAppContainer = styled.div<StyledAppContainerProps>`\n ${({ $productTheme }) =>\n $productTheme &&\n Object.keys(ProductColorPalette).indexOf($productTheme) !== -1\n ? css`\n --redsift-color-default-primary: var(\n --redsift-color-${$productTheme}-primary\n );\n --redsift-color-default-secondary: var(\n --redsift-color-${$productTheme}-secondary\n );\n --redsift-color-default-hover: var(\n --redsift-color-${$productTheme}-hover\n );\n --redsift-color-default-active: var(\n --redsift-color-${$productTheme}-active\n );\n --redsift-color-default-active-hover: var(\n --redsift-color-${$productTheme}-active-hover\n );\n --redsift-color-default-primary-active: var(\n --redsift-color-${$productTheme}-primary-active\n );\n `\n : ''}\n`;\n","import React, { forwardRef, RefObject, useMemo, useState } from 'react';\nimport classNames from 'classnames';\nimport { Comp } from '~/types';\nimport { AppBar, AppBarProps } from '~/components/app-bar';\nimport { AppSidePanelProps, AppSidePanel } from '~/components/app-side-panel';\nimport { AppContentProps, AppContent } from '~/components/app-content';\nimport { AppContainerProps } from './types';\nimport { AppContainerContext } from './context';\nimport { StyledAppContainer } from './styles';\n\nconst COMPONENT_NAME = 'RedSiftAppContainer';\nconst CLASSNAME = 'redsift-app-container';\nconst DEFAULT_PROPS: Partial<AppContainerProps> = {};\n\n/**\n * The AppContainer component.\n */\nexport const AppContainer: Comp<AppContainerProps, HTMLDivElement> = forwardRef(\n (props, ref) => {\n const { children, className, productTheme, ...forwardedProps } = props;\n\n const { hasAppBar, hasAppSidePanel, hasAppContent } = useMemo(() => {\n let hasAppBar = false;\n let hasAppSidePanel = false;\n let hasAppContent = false;\n\n React.Children.forEach(children, (child) => {\n if (React.isValidElement(child)) {\n if (\n (child.type as Comp<AppBarProps>).displayName === AppBar.displayName\n ) {\n hasAppBar = true;\n } else if (\n (child.type as Comp<AppSidePanelProps>).displayName ===\n AppSidePanel.displayName\n ) {\n hasAppSidePanel = true;\n } else if (\n (child.type as Comp<AppContentProps>).displayName ===\n AppContent.displayName\n ) {\n hasAppContent = true;\n }\n }\n });\n\n return {\n hasAppBar,\n hasAppSidePanel,\n hasAppContent,\n };\n }, [children]);\n\n if (!(hasAppBar && hasAppSidePanel && hasAppContent)) {\n console.warn(\n 'The AppContainer should contain an AppSidePanel, an AppBar and an AppContent to work properly.'\n );\n }\n\n const [isSidePanelCollapsed, setIsSidePanelCollapsed] =\n useState<boolean>(false);\n const [title, setTitle] = useState<string | undefined>();\n\n const state = {\n collapseSidePanel() {\n setIsSidePanelCollapsed(true);\n },\n expandSidePanel() {\n setIsSidePanelCollapsed(false);\n },\n hasAppBar,\n hasAppSidePanel,\n hasAppContent,\n setTitle(title: string) {\n setTitle(title);\n },\n isSidePanelCollapsed,\n title,\n };\n\n return (\n <StyledAppContainer\n {...forwardedProps}\n $productTheme={productTheme}\n className={classNames(AppContainer.className, className)}\n ref={ref as RefObject<HTMLDivElement>}\n >\n <AppContainerContext.Provider value={state}>\n {children}\n </AppContainerContext.Provider>\n </StyledAppContainer>\n );\n }\n);\nAppContainer.className = CLASSNAME;\nAppContainer.defaultProps = DEFAULT_PROPS;\nAppContainer.displayName = COMPONENT_NAME;\n","import styled, { css } from 'styled-components';\nimport { StyledBreadcrumbItemProps } from './types';\n\n/**\n * Component style.\n */\nexport const StyledBreadcrumbItem = styled.a<StyledBreadcrumbItemProps>`\n background: none;\n border: none;\n font-family: var(--redsift-typography-body-font-family);\n font-size: var(--redsift-typography-body-font-size);\n font-weight: var(--redsift-typography-body-font-weight);\n line-height: var(--redsift-typography-body-line-height);\n padding: 4px;\n text-decoration: none;\n\n ${({ $isDisabled, $isCurrent }) => css`\n ${$isDisabled\n ? `\n color: var(--redsift-color-neutral-midgrey);\n `\n : $isCurrent\n ? `\n color: var(--redsift-color-default-primary);\n `\n : `\n color: var(--redsift-color-neutral-darkgrey);\n `}\n\n ${!$isDisabled &&\n !$isCurrent &&\n css`\n &:hover,\n &:focus-visible {\n cursor: pointer;\n text-decoration: underline;\n text-underline-offset: 2px;\n }\n `}\n `}\n\n &:focus-visible {\n outline: 2px solid var(--redsift-color-neutral-darkgrey);\n }\n`;\n","import React, { forwardRef, RefObject } from 'react';\nimport classNames from 'classnames';\nimport { Comp } from '~/types';\nimport { warnIfNoAccessibleLabelFound } from '~/utils/warnIfNoAccessibleLabelFound';\nimport { StyledBreadcrumbItem } from './styles';\nimport { BreadcrumbItemProps } from './types';\n\nconst COMPONENT_NAME = 'RedSiftBreadcrumbItem';\nconst CLASSNAME = 'redsift-breadcrumb-item';\nconst DEFAULT_PROPS: Partial<BreadcrumbItemProps> = {};\n\n/**\n * The BreadcrumbItem components is a list of links to the parent pages of the current page in hierarchical order.\n */\nexport const BreadcrumbItem: Comp<BreadcrumbItemProps, HTMLAnchorElement> =\n forwardRef((props, ref) => {\n const {\n children,\n className,\n href,\n isCurrent,\n isDisabled,\n ...forwardedProps\n } = props;\n\n warnIfNoAccessibleLabelFound(props, [children]);\n\n return (\n <StyledBreadcrumbItem\n role=\"link\"\n tabIndex={!isDisabled && !isCurrent ? 0 : undefined}\n {...forwardedProps}\n $isCurrent={isCurrent}\n $isDisabled={isDisabled}\n aria-current={isCurrent ? 'page' : undefined}\n aria-disabled={isDisabled || isCurrent}\n className={classNames(BreadcrumbItem.className, className)}\n href={!isDisabled && !isCurrent ? href : undefined}\n ref={ref as RefObject<HTMLAnchorElement>}\n >\n {children}\n </StyledBreadcrumbItem>\n );\n });\nBreadcrumbItem.className = CLASSNAME;\nBreadcrumbItem.defaultProps = DEFAULT_PROPS;\nBreadcrumbItem.displayName = COMPONENT_NAME;\n","import styled, { css } from 'styled-components';\nimport { StyledBreadcrumbsProps } from './types';\n\n/**\n * Component style.\n */\nexport const StyledBreadcrumbs = styled.nav<StyledBreadcrumbsProps>`\n ol {\n display: inline-flex;\n list-style: none;\n padding: unset;\n }\n\n .redsift-breadcrumbs__separator {\n font-family: var(--redsift-typography-body-font-family);\n font-size: var(--redsift-typography-body-font-size);\n font-weight: var(--redsift-typography-body-font-weight);\n line-height: var(--redsift-typography-body-line-height);\n margin: 0px 4px;\n\n ${({ $isDisabled }) =>\n $isDisabled\n ? css`\n color: var(--redsift-color-neutral-midgrey);\n `\n : css`\n color: var(--redsift-color-neutral-black);\n `}\n }\n`;\n","import React, { forwardRef, ReactElement, RefObject } from 'react';\nimport classNames from 'classnames';\nimport { Comp } from '~/types';\nimport { BreadcrumbItem } from '~/components/breadcrumb-item';\nimport { warnIfNoAccessibleLabelFound } from '~/utils/warnIfNoAccessibleLabelFound';\nimport { StyledBreadcrumbs } from './styles';\nimport { BreadcrumbsProps } from './types';\n\nconst COMPONENT_NAME = 'RedSiftBreadcrumbs';\nconst CLASSNAME = 'redsift-breadcrumbs';\nconst DEFAULT_PROPS: Partial<BreadcrumbsProps> = {};\n\n/**\n * The Breadcrumbs components is a list of links to the parent pages of the current page in hierarchical order.\n */\nexport const Breadcrumbs: Comp<BreadcrumbsProps, HTMLElement> = forwardRef(\n (props, ref) => {\n const { children, className, isDisabled, ...forwardedProps } = props;\n\n warnIfNoAccessibleLabelFound(props);\n\n const childArray: ReactElement[] = [];\n React.Children.forEach(children, (child) => {\n if (React.isValidElement(child)) {\n childArray.push(child);\n }\n });\n\n const breadcrumbItems = childArray.map((child, index) => {\n const isCurrent = index === childArray.length - 1;\n\n return (\n <li key={index}>\n <BreadcrumbItem\n isDisabled={child.props.isDisabled || isDisabled || undefined}\n {...child.props}\n key={child.key ?? index}\n isCurrent={isCurrent}\n />\n {isCurrent === false ? (\n <span className={`${Breadcrumbs.className}__separator`}>{'/'}</span>\n ) : null}\n </li>\n );\n });\n\n return (\n <StyledBreadcrumbs\n {...forwardedProps}\n $isDisabled={isDisabled}\n className={classNames(Breadcrumbs.className, className)}\n ref={ref as RefObject<HTMLElement>}\n >\n <ol>{breadcrumbItems}</ol>\n </StyledBreadcrumbs>\n );\n }\n);\nBreadcrumbs.className = CLASSNAME;\nBreadcrumbs.defaultProps = DEFAULT_PROPS;\nBreadcrumbs.displayName = COMPONENT_NAME;\n","import React, { forwardRef, RefObject } from 'react';\nimport classNames from 'classnames';\nimport { ColorPalette, Comp } from '~/types';\nimport { Icon } from '~/components/icon';\nimport { ButtonVariant, StyledButton } from '~/components/button';\nimport { ButtonLinkProps } from './types';\n\nconst COMPONENT_NAME = 'RedSiftButtonLink';\nconst CLASSNAME = 'redsift-button-link';\nconst DEFAULT_PROPS: Partial<ButtonLinkProps> = {\n color: ColorPalette.default,\n variant: ButtonVariant.primary,\n};\n\n/**\n * The ButtonLink is a semantic link that looks like a button.\n *\n * For a semantic button that looks like a button, please use the Button component.\n * For a semantic link that looks like a link, please use the Link component.\n * For a semantic button that looks like a link, please use the LinkButton component.\n */\nexport const ButtonLink: Comp<ButtonLinkProps, HTMLAnchorElement> = forwardRef(\n (props, ref) => {\n const {\n as,\n children,\n className,\n color,\n href,\n isActive,\n isDisabled,\n leftIcon,\n rightIcon,\n target,\n variant,\n ...forwardedProps\n } = props;\n\n return (\n <StyledButton\n as={as || 'a'}\n role=\"link\"\n tabIndex={!isDisabled ? 0 : undefined}\n {...forwardedProps}\n $color={color}\n $isActive={isActive}\n $isDisabled={isDisabled}\n $variant={variant}\n className={classNames(ButtonLink.className, className)}\n href={!isDisabled ? href : undefined}\n ref={ref as RefObject<HTMLAnchorElement>}\n target={target}\n >\n {leftIcon ? (\n <Icon icon={leftIcon} aria-hidden=\"true\" className=\"left\" />\n ) : null}\n {children && <span>{children}</span>}\n {rightIcon ? (\n <Icon icon={rightIcon} aria-hidden=\"true\" className=\"right\" />\n ) : null}\n </StyledButton>\n );\n }\n);\nButtonLink.className = CLASSNAME;\nButtonLink.defaultProps = DEFAULT_PROPS;\nButtonLink.displayName = COMPONENT_NAME;\n","import React from 'react';\nimport { CheckboxGroupState } from './types';\n\nexport const CheckboxGroupContext =\n React.createContext<CheckboxGroupState | null>(null);\n","import styled, { css } from 'styled-components';\nimport { StyledCheckboxProps } from './types';\n\n/**\n * Component style.\n */\nexport const StyledCheckbox = styled.label<StyledCheckboxProps>`\n align-items: baseline;\n background: none;\n border: none;\n display: inline-flex;\n position: relative;\n width: fit-content;\n\n input {\n height: 100%;\n margin: 0;\n opacity: 0;\n overflow: visible;\n padding: 0;\n position: absolute;\n width: 100%;\n }\n\n span.label {\n ${({ $isDisabled, $isInvalid }) =>\n $isDisabled\n ? css`\n color: var(--redsift-color-neutral-midgrey);\n `\n : $isInvalid\n ? css`\n color: var(--redsift-color-error-primary);\n `\n : css`\n color: var(--redsift-color-neutral-black);\n `}\n\n font-family: var(--redsift-typography-body-font-family);\n font-size: var(--redsift-typography-body-font-size);\n font-weight: var(--redsift-typography-body-font-weight);\n line-height: var(--redsift-typography-body-line-height);\n padding-right: 16px;\n position: relative;\n top: -4px;\n\n [dir='rtl'] & {\n padding-left: 16px;\n padding-right: 0px;\n }\n }\n\n .redsift-icon {\n padding: 8px;\n width: 24px;\n\n ${({ $isDisabled, $isInvalid, $isFocusVisible }) => css`\n ${$isDisabled\n ? css`\n color: var(--redsift-color-neutral-midgrey);\n `\n : $isInvalid\n ? css`\n color: var(--redsift-color-error-primary);\n `\n : css`\n color: var(--redsift-color-default-primary);\n `}\n\n ${$isFocusVisible\n ? css`\n background-color: var(--redsift-color-default-hover);\n border-radius: 21px;\n `\n : ''}\n `}\n }\n\n &:hover,\n &:focus-visible {\n outline: none;\n\n ${({ $isDisabled }) =>\n !$isDisabled\n ? css`\n .redsift-icon {\n background-color: var(--redsift-color-default-hover);\n border-radius: 21px;\n }\n `\n : ''}\n }\n\n ${({ $isFocusVisible }) =>\n $isFocusVisible\n ? css`\n .redsift-icon {\n background-color: var(--redsift-color-default-hover);\n border-radius: 21px;\n }\n `\n : ''}\n`;\n","import React, {\n ComponentProps,\n forwardRef,\n MutableRefObject,\n useCallback,\n useContext,\n useEffect,\n useState,\n} from 'react';\nimport classNames from 'classnames';\nimport { useFocusRing } from '@react-aria/focus';\nimport {\n mdiCheckboxBlankOutline,\n mdiMinusBox,\n mdiCheckboxMarked,\n} from '@redsift/icons';\nimport { Comp } from '~/types';\nimport { Icon } from '~/components/icon';\nimport { CheckboxGroupContext } from '~/components/checkbox-group/context';\nimport { warnIfNoAccessibleLabelFound } from '~/utils/warnIfNoAccessibleLabelFound';\nimport { CheckboxProps } from './types';\nimport { StyledCheckbox } from './styles';\n\nconst COMPONENT_NAME = 'RedSiftCheckbox';\nconst CLASSNAME = 'redsift-checkbox';\nconst DEFAULT_PROPS: Partial<CheckboxProps> = {};\n\n/**\n * The Checkbox component.\n * Works both inside a CheckboxGroup or as standalone.\n * Can be used as controlled or uncontrolled.\n */\nexport const Checkbox: Comp<CheckboxProps, HTMLLabelElement> = forwardRef(\n (props, ref) => {\n const groupState = useContext(CheckboxGroupContext);\n\n let {\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledby,\n autoFocus,\n children,\n className,\n defaultSelected,\n inputProps,\n inputRef,\n isControlled,\n isDisabled,\n isIndeterminate,\n isInvalid,\n isReadOnly,\n isRequired,\n isSelected: propsIsSelected,\n name,\n onChange,\n value,\n ...forwardedProps\n } = props;\n\n const { isFocusVisible, focusProps } = useFocusRing({ autoFocus });\n isDisabled = isDisabled || groupState?.isDisabled;\n isReadOnly = isReadOnly || groupState?.isReadOnly;\n\n const [isSelected, setSelected] = useState(\n propsIsSelected ||\n defaultSelected ||\n groupState?.value.includes(value as string)\n );\n useEffect(() => {\n if (groupState) {\n setSelected(groupState.value.includes(value as string));\n }\n }, [groupState?.value]);\n\n warnIfNoAccessibleLabelFound(props as ComponentProps<'label'>, [children]);\n\n if (groupState && !isControlled) {\n if (propsIsSelected != null) {\n console.warn(\n 'isSelected is unsupported on individual <Checkbox> elements within a <CheckboxGroup> unless the <Checkbox> is controlled. Please apply this prop to the group instead or pass isControlled to the component.'\n );\n }\n if (defaultSelected != null) {\n console.warn(\n 'defaultSelected is unsupported on individual <Checkbox> elements within a <CheckboxGroup> unless the <Checkbox> is controlled. Please apply this prop to the group instead or pass isControlled to the component.'\n );\n }\n if (props.value == null) {\n console.warn(\n 'A <Checkbox> element within a <CheckboxGroup> requires a `value` property unless the <Checkbox> is controlled.'\n );\n }\n }\n\n const handleChange = useCallback(\n (event: React.ChangeEvent<HTMLInputElement>) => {\n if (isDisabled || isReadOnly) {\n return;\n }\n\n if (groupState) {\n if (!groupState.value.includes(value as string)) {\n groupState.addValue(value as string);\n } else {\n groupState.removeValue(value as string);\n }\n }\n\n if (onChange) {\n onChange(!isSelected, value, name, event, groupState!);\n }\n setSelected(event.target.checked);\n },\n [onChange, groupState]\n );\n\n return (\n <StyledCheckbox\n {...forwardedProps}\n $isDisabled={isDisabled}\n $isFocusVisible={isFocusVisible}\n $isInvalid={isInvalid || (isRequired && !isSelected)}\n $isRequired={isRequired}\n $isSelected={isSelected}\n className={classNames(Checkbox.className, className)}\n ref={ref as MutableRefObject<HTMLLabelElement>}\n >\n <input\n {...inputProps}\n {...focusProps}\n aria-checked={\n isSelected || (isControlled && propsIsSelected)\n ? 'true'\n : isIndeterminate\n ? 'mixed'\n : 'false'\n }\n aria-disabled={isDisabled}\n aria-invalid={isInvalid || (isRequired && !isSelected)}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledby}\n aria-readonly={isReadOnly}\n aria-required={isRequired}\n checked={isSelected ? true : false}\n disabled={isDisabled}\n name={name}\n onChange={handleChange}\n ref={inputRef as MutableRefObject<HTMLInputElement>}\n type=\"checkbox\"\n value={value}\n />\n {isSelected || (isControlled && propsIsSelected) ? (\n <Icon icon={mdiCheckboxMarked} />\n ) : isIndeterminate ? (\n <Icon icon={mdiMinusBox} />\n ) : (\n <Icon icon={mdiCheckboxBlankOutline} />\n )}\n {children ? <span className=\"label\">{children}</span> : null}\n </StyledCheckbox>\n );\n }\n);\nCheckbox.className = CLASSNAME;\nCheckbox.defaultProps = DEFAULT_PROPS;\nCheckbox.displayName = COMPONENT_NAME;\n","import { ComponentProps } from 'react';\nimport { ValueOf } from '~/types';\n\n/**\n * Context props.\n */\nexport type CheckboxGroupState = {\n /** Adds a value to the set of selected values. */\n addValue(value: string): void;\n /** Whether the checkbox group is disabled or not. */\n readonly isDisabled: boolean;\n /** Whether the checkbox group is read only or not. */\n readonly isReadOnly: boolean;\n /** Removes a value from the set of selected values. */\n removeValue(value: string): void;\n /** Sets the selected values. */\n setValue(value: string[]): void;\n /** Current selected values. */\n readonly value: readonly string[];\n};\n\n/**\n * Component orientation.\n */\nexport const CheckboxGroupOrientation = {\n horizontal: 'horizontal',\n vertical: 'vertical',\n} as const;\nexport type CheckboxGroupOrientation = ValueOf<typeof CheckboxGroupOrientation>;\n\n/**\n * Component props.\n */\nexport interface CheckboxGroupProps\n extends Omit<ComponentProps<'div'>, 'onChange'> {\n /**\n * Default selected values.\n * Used for uncontrolled version.\n */\n defaultValues?: string[];\n /** Description of the checkbox group. */\n description?: string;\n /** Whether the component is disabled or not. */\n isDisabled?: boolean;\n /** Whether the component is invalid or not. */\n isInvalid?: boolean;\n /** Whether the component is read only or not. */\n isReadOnly?: boolean;\n /** Whether the component is required or not. */\n isRequired?: boolean;\n /** Label of the checkbox group. */\n label?: string;\n /** Method to handle component change. */\n onChange?(values: string[]): void;\n /** Method to handle component change. */\n orientation?: CheckboxGroupOrientation;\n /** List of possible values. Useful to select all. */\n possibleValues?: string[];\n /**\n * Currently selected values.\n * Used for controlled version.\n */\n value?: string[];\n}\n\nexport type StyledCheckboxGroupProps = Omit<\n CheckboxGroupProps,\n 'isDisabled' | 'isInvalid' | 'isReadOnly' | 'orientation' | 'isRequired'\n> & {\n $isDisabled: CheckboxGroupProps['isDisabled'];\n $isInvalid: CheckboxGroupProps['isInvalid'];\n $isReadOnly: CheckboxGroupProps['isReadOnly'];\n $isRequired: CheckboxGroupProps['isRequired'];\n $orientation: CheckboxGroupProps['orientation'];\n};\n","import styled from 'styled-components';\nimport { CheckboxGroupOrientation, StyledCheckboxGroupProps } from './types';\n\n/**\n * Component style.\n */\nexport const StyledCheckboxGroup = styled.div<StyledCheckboxGroupProps>`\n display: flex;\n flex-direction: column;\n\n ${({ $orientation }) =>\n $orientation === CheckboxGroupOrientation.vertical\n ? `\n div.redsift-checkbox-group-boxes {\n display: flex;\n flex-direction: column;\n }\n `\n : `\n div.redsift-checkbox-group-boxes {\n display: flex;\n flex-direction: row;\n }\n `}\n\n span.redsift-checkbox-group-label {\n font-family: var(--redsift-typography-body-font-family);\n font-weight: var(--redsift-typography-body-font-weight);\n font-size: var(--redsift-typography-body-font-size);\n line-height: var(--redsift-typography-body-line-height);\n\n color: var(--redsift-color-neutral-black);\n ${({ $isDisabled }) =>\n $isDisabled\n ? `\n color: var(--redsift-color-neutral-midgrey);\n `\n : ''}\n ${({ $isInvalid }) =>\n $isInvalid\n ? `\n color: var(--redsift-color-error-primary);\n `\n : ''}\n }\n\n span.redsift-checkbox-group-description {\n font-family: var(--redsift-typography-helper-font-family);\n font-weight: var(--redsift-typography-helper-font-weight);\n font-size: var(--redsift-typography-helper-font-size);\n line-height: var(--redsift-typography-helper-line-height);\n\n color: var(--redsift-color-neutral-darkgrey);\n ${({ $isDisabled }) =>\n $isDisabled\n ? `\n color: var(--redsift-color-neutral-midgrey);\n `\n : ''}\n ${({ $isInvalid }) =>\n $isInvalid\n ? `\n color: var(--redsift-color-error-primary);\n `\n : ''}\n }\n`;\n","import React, { forwardRef, RefObject, useEffect, useState } from 'react';\nimport classNames from 'classnames';\nimport { ColorPalette, Comp } from '~/types';\nimport { CheckboxGroupOrientation, CheckboxGroupProps } from './types';\nimport { CheckboxGroupContext } from './context';\nimport { StyledCheckboxGroup } from './styles';\n\nconst COMPONENT_NAME = 'RedSiftCheckboxGroup';\nconst CLASSNAME = 'redsift-checkbox-group';\nconst DEFAULT_PROPS: Partial<CheckboxGroupProps> = {\n color: ColorPalette.default,\n orientation: CheckboxGroupOrientation.vertical,\n};\n\n/**\n * The CheckboxGroup component.\n * Can be used as controlled or uncontrolled.\n */\nexport const CheckboxGroup: Comp<CheckboxGroupProps, HTMLDivElement> =\n forwardRef((props, ref) => {\n const {\n children,\n className,\n defaultValues,\n description,\n isDisabled,\n isInvalid,\n isReadOnly,\n isRequired,\n label,\n onChange,\n orientation,\n possibleValues,\n value,\n ...forwardedProps\n } = props;\n\n const [selectedValues, setValue] = useState<string[]>(\n value || defaultValues || []\n );\n useEffect(() => {\n if (value) {\n state.setValue(value);\n }\n }, [value]);\n\n const state = {\n value: selectedValues,\n isDisabled: isDisabled || false,\n isReadOnly: isReadOnly || false,\n possibleValues: possibleValues,\n setValue(values: string[]) {\n if (isReadOnly || isDisabled) {\n return;\n }\n\n setValue(values);\n },\n addValue(value: string) {\n if (!selectedValues.includes(value)) {\n setValue(selectedValues.concat(value));\n if (onChange) {\n onChange(selectedValues.concat(value));\n }\n }\n },\n removeValue(value: string) {\n if (selectedValues.includes(value)) {\n setValue(\n selectedValues.filter((existingValue) => existingValue !== value)\n );\n if (onChange) {\n onChange(\n selectedValues.filter((existingValue) => existingValue !== value)\n );\n }\n }\n },\n };\n\n return (\n <StyledCheckboxGroup\n {...forwardedProps}\n $isDisabled={isDisabled}\n $isInvalid={isInvalid}\n $isReadOnly={isReadOnly}\n $isRequired={isRequired}\n $orientation={orientation}\n aria-disabled={isDisabled}\n className={classNames(CheckboxGroup.className, className)}\n ref={ref as RefObject<HTMLDivElement>}\n role=\"group\"\n >\n <span className={`${CheckboxGroup.className}-label`}>\n {label}\n {isRequired ? ' *' : null}\n </span>\n <div className={`${CheckboxGroup.className}-boxes`}>\n <CheckboxGroupContext.Provider value={state}>\n {children}\n </CheckboxGroupContext.Provider>\n </div>\n <span className={`${CheckboxGroup.className}-description`}>\n {description}\n </span>\n </StyledCheckboxGroup>\n );\n });\nCheckboxGroup.className = CLASSNAME;\nCheckboxGroup.defaultProps = DEFAULT_PROPS;\nCheckboxGroup.displayName = COMPONENT_NAME;\n","import styled, { css } from 'styled-components';\nimport { StyledLinkProps } from './types';\n\n/**\n * Component style.\n */\nexport const StyledLink = styled.a<StyledLinkProps>`\n background: none;\n border: none;\n color: inherit;\n cursor: text !important;\n font-family: var(--redsift-typography-link-font-family);\n font-size: var(--redsift-typography-link-font-size);\n font-weight: var(--redsift-typography-link-font-weight);\n line-height: var(--redsift-typography-link-line-height);\n padding: unset;\n text-decoration: none;\n\n ${({ $isDisabled }) =>\n !$isDisabled\n ? css`\n color: var(--redsift-color-success-primary);\n text-decoration: underline;\n text-decoration-color: var(--redsift-color-success-secondary);\n text-underline-offset: 2px;\n\n &:hover,\n &:focus-visible {\n cursor: pointer !important;\n text-decoration-color: var(--redsift-color-success-primary);\n }\n `\n : ''}\n\n &:focus-visible {\n outline: 2px solid var(--redsift-color-success-primary);\n }\n`;\n","import React, { forwardRef, RefObject } from 'react';\nimport classNames from 'classnames';\nimport { Comp } from '~/types';\nimport { StyledLink } from './styles';\nimport { LinkProps } from './types';\n\nconst COMPONENT_NAME = 'RedSiftLink';\nconst CLASSNAME = 'redsift-link';\nconst DEFAULT_PROPS: Partial<LinkProps> = {};\n\n/**\n * The Link is a semantic link that looks like a link.\n * Shoud be used for internal and external navigation only.\n *\n * For a semantic link that looks like a button, please use the ButtonLink component.\n * For a semantic button that looks like a button, please use the Button component.\n * For a semantic button that looks like a link, please use the LinkButton component.\n */\nexport const Link: Comp<LinkProps, HTMLAnchorElement> = forwardRef(\n (props, ref) => {\n const { children, className, href, isDisabled, ...forwardedProps } = props;\n\n return (\n <StyledLink\n aria-disabled={isDisabled}\n role=\"link\"\n tabIndex={!isDisabled ? 0 : undefined}\n {...forwardedProps}\n $isDisabled={isDisabled}\n className={classNames(Link.className, className)}\n href={!isDisabled ? href : undefined}\n ref={ref as RefObject<HTMLAnchorElement>}\n >\n {children}\n </StyledLink>\n );\n }\n);\nLink.className = CLASSNAME;\nLink.defaultProps = DEFAULT_PROPS;\nLink.displayName = COMPONENT_NAME;\n","import React, { forwardRef, RefObject, useRef } from 'react';\nimport classNames from 'classnames';\nimport { useButton } from '@react-aria/button';\nimport { AriaButtonProps } from '@react-types/button';\nimport { Comp } from '~/types';\nimport { StyledLink } from '~/components/link';\nimport { LinkButtonProps } from './types';\n\nconst COMPONENT_NAME = 'RedSiftLinkButton';\nconst CLASSNAME = 'redsift-link-button';\nconst DEFAULT_PROPS: Partial<LinkButtonProps> = {};\n\n/**\n * The LinkButton is a semantic button that looks like a link.\n *\n * For a semantic button that looks like a button, please use the Button component.\n * For a semantic link that looks like a link, please use the Link component.\n * For a semantic link that looks like a button, please use the ButtonLink component.\n */\nexport const LinkButton: Comp<LinkButtonProps, HTMLButtonElement> = forwardRef(\n (props, ref) => {\n const buttonRef = ref || useRef<HTMLButtonElement>();\n const { buttonProps } = useButton(\n {\n ...props,\n preventFocusOnPress: true,\n } as AriaButtonProps<'button'>,\n buttonRef as RefObject<HTMLButtonElement>\n );\n\n const {\n children,\n className,\n disabled,\n isDisabled,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n onPress,\n ...forwardedProps\n } = props;\n\n return (\n <StyledLink\n as=\"button\"\n {...forwardedProps}\n {...buttonProps}\n $isDisabled={isDisabled || disabled}\n aria-disabled={isDisabled || disabled}\n className={classNames(LinkButton.className, className)}\n disabled={isDisabled || disabled}\n // @ts-ignore\n ref={buttonRef as RefObject<HTMLButtonElement>}\n >\n {children}\n </StyledLink>\n );\n }\n);\nLinkButton.className = CLASSNAME;\nLinkButton.defaultProps = DEFAULT_PROPS;\nLinkButton.displayName = COMPONENT_NAME;\n","import { ComponentProps } from 'react';\nimport { ColorPalette, ProductColorPalette, ValueOf } from '~/types';\n\n/**\n * Component variant.\n */\nexport const ShieldVariant = {\n success: 'success',\n successLocked: 'successLocked',\n successUnlocked: 'successUnlocked',\n fail: 'fail',\n failLocked: 'failLocked',\n failUnlocked: 'failUnlocked',\n warning: 'warning',\n warningLocked: 'warningLocked',\n warningUnlocked: 'warningUnlocked',\n ignored: 'ignored',\n noData: 'noData',\n question: 'question',\n email: 'email',\n} as const;\n\nexport type ShieldVariant = ValueOf<typeof ShieldVariant>;\n\n/**\n * Component props.\n */\nexport interface ShieldProps extends ComponentProps<'div'> {\n /** Indicates whether the element is exposed to an accessibility API. */\n 'aria-hidden'?: boolean | 'false' | 'true';\n /** A screen reader only label for the Icon. */\n 'aria-label'?: string;\n /** Additional properties to forward to the SVG tag. */\n svgProps?: ComponentProps<'svg'>;\n /** Whether the shield has an outline or not. */\n isOutlined?: boolean;\n /** Whether the shield has its colors reversed or not. */\n isReversed?: boolean;\n /** Shield variant. */\n variant?: ShieldVariant;\n}\n\nexport type StyledShieldProps = Omit<ShieldProps, 'color'> & {\n $color?: ColorPalette | ProductColorPalette | string;\n $isOutlined: ShieldProps['isOutlined'];\n $isReversed: ShieldProps['isReversed'];\n $variant: ShieldProps['variant'];\n};\n","import styled, { css } from 'styled-components';\nimport { StyledShieldProps } from './types';\n\nexport const StyledShield = styled.div<StyledShieldProps>`\n height: 24px;\n width: 20px;\n\n ${({ $color, $isOutlined, $isReversed }) => {\n if ($isReversed && $isOutlined) {\n return css`\n & .shield {\n fill: var(--redsift-color-${$color}-primary);\n stroke: #ffffff;\n stroke-width: 2;\n }\n & .icon {\n fill-rule: evenodd;\n clip-rule: evenodd;\n fill: #ffffff;\n }\n `;\n } else if ($isOutlined) {\n return css`\n & .shield {\n fill: #ffffff;\n stroke: var(--redsift-color-${$color}-primary);\n stroke-width: 2;\n }\n & .icon {\n fill-rule: evenodd;\n clip-rule: evenodd;\n fill: var(--redsift-color-${$color}-primary);\n }\n `;\n } else if ($isReversed) {\n return css`\n & .shield {\n fill: #ffffff;\n }\n & .icon {\n fill-rule: evenodd;\n clip-rule: evenodd;\n fill: var(--redsift-color-${$color}-primary);\n }\n `;\n } else {\n return css`\n & .shield {\n fill: var(--redsift-color-${$color}-primary);\n }\n & .icon {\n fill-rule: evenodd;\n clip-rule: evenodd;\n fill: #ffffff;\n }\n `;\n }\n }}\n`;\n","import React, { forwardRef, RefObject } from 'react';\nimport classNames from 'classnames';\nimport { ColorPalette, Comp, ProductColorPalette } from '~/types';\n\nimport { ShieldProps, ShieldVariant } from './types';\nimport { StyledShield } from './styles';\n\nconst COMPONENT_NAME = 'RedSiftShield';\nconst CLASSNAME = 'redsift-shield';\nconst DEFAULT_PROPS: Partial<ShieldProps> = {\n variant: ShieldVariant.success,\n};\n\nconst getVariant = (variant: ShieldVariant) => {\n switch (variant) {\n case ShieldVariant.email:\n return {\n color: ProductColorPalette.website,\n icon: 'M14.7,6.3H5.3c-0.6,0-1.2,0.5-1.2,1.2l0,7c0,0.6,0.5,1.2,1.2,1.2h9.3c0.6,0,1.2-0.5,1.2-1.2v-7 C15.8,6.9,15.3,6.3,14.7,6.3z M14.7,14.5H5.3V8.7l4.7,2.9l4.7-2.9V14.5z M10,10.4L5.3,7.5h9.3L10,10.4z',\n };\n case ShieldVariant.fail:\n return {\n color: ColorPalette.error,\n icon: 'M9,15V5h2v10H9z M9,19v-2h2v2H9z',\n };\n case ShieldVariant.failLocked:\n return {\n color: ColorPalette.error,\n icon: 'M13.5,9.7h-0.6V8.5c0-1.6-1.3-2.9-2.9-2.9S7.1,6.9,7.1,8.5v1.2H6.5c-0.6,0-1.2,0.5-1.2,1.2v5.8 c0,0.6,0.5,1.2,1.2,1.2h7c0.6,0,1.2-0.5,1.2-1.2v-5.8C14.7,10.2,14.1,9.7,13.5,9.7z M10,14.9c-0.6,0-1.2-0.5-1.2-1.2 s0.5-1.2,1.2-1.2c0.6,0,1.2,0.5,1.2,1.2S10.6,14.9,10,14.9z M11.8,9.7H8.2V8.5c0-1,0.8-1.8,1.8-1.8s1.8,0.8,1.8,1.8V9.7z',\n };\n case ShieldVariant.failUnlocked:\n return {\n color: ColorPalette.error,\n icon: 'M10,14.9c0.6,0,1.2-0.5,1.2-1.2s-0.5-1.2-1.2-1.2c-0.6,0-1.2,0.5-1.2,1.2S9.4,14.9,10,14.9z M13.5,9.7h-0.6V8.5 c0-1.6-1.3-2.9-2.9-2.9S7.1,6.9,7.1,8.5h1.1c0-1,0.8-1.8,1.8-1.8s1.8,0.8,1.8,1.8v1.2H6.5c-0.6,0-1.2,0.5-1.2,1.2v5.8 c0,0.6,0.5,1.2,1.2,1.2h7c0.6,0,1.2-0.5,1.2-1.2v-5.8C14.7,10.2,14.1,9.7,13.5,9.7z M13.5,16.7h-7v-5.8h7V16.7z',\n };\n case ShieldVariant.ignored:\n return {\n color: ColorPalette['no-data'],\n icon: 'M10,6.2c-3.2,0-5.8,2.6-5.8,5.8c0,3.2,2.6,5.8,5.8,5.8s5.8-2.6,5.8-5.8C15.8,8.8,13.2,6.2,10,6.2z M5.3,12 c0-2.6,2.1-4.7,4.7-4.7c1.1,0,2.1,0.4,2.9,1l-6.5,6.5C5.7,14.1,5.3,13.1,5.3,12z M10,16.7c-1.1,0-2.1-0.4-2.9-1l6.5-6.5 c0.6,0.8,1,1.8,1,2.9C14.7,14.6,12.6,16.7,10,16.7z',\n };\n case ShieldVariant.noData:\n return {\n color: ColorPalette['no-data'],\n icon: 'M16,13H4v-2h12V13z',\n };\n case ShieldVariant.question:\n return {\n color: ColorPalette.question,\n icon: 'M9,17h2v-2H9V17z M10,5C7.8,5,6,6.8,6,9h2c0-1.1,0.9-2,2-2s2,0.9,2,2c0,2-3,1.8-3,5h2c0-2.2,3-2.5,3-5 C14,6.8,12.2,5,10,5z',\n };\n case ShieldVariant.success:\n return {\n color: ColorPalette.success,\n icon: 'M8,16.6l8.5-8.5l-1.4-1.4L8,13.7l-2.8-2.8l-1.4,1.4L8,16.6z',\n };\n case ShieldVariant.successLocked:\n return {\n color: ColorPalette.success,\n icon: 'M13.5,9.7h-0.6V8.5c0-1.6-1.3-2.9-2.9-2.9S7.1,6.9,7.1,8.5v1.2H6.5c-0.6,0-1.2,0.5-1.2,1.2v5.8 c0,0.6,0.5,1.2,1.2,1.2h7c0.6,0,1.2-0.5,1.2-1.2v-5.8C14.7,10.2,14.1,9.7,13.5,9.7z M10,14.9c-0.6,0-1.2-0.5-1.2-1.2 s0.5-1.2,1.2-1.2c0.6,0,1.2,0.5,1.2,1.2S10.6,14.9,10,14.9z M11.8,9.7H8.2V8.5c0-1,0.8-1.8,1.8-1.8s1.8,0.8,1.8,1.8V9.7z',\n };\n case ShieldVariant.successUnlocked:\n return {\n color: ColorPalette.success,\n icon: 'M10,14.9c0.6,0,1.2-0.5,1.2-1.2s-0.5-1.2-1.2-1.2c-0.6,0-1.2,0.5-1.2,1.2S9.4,14.9,10,14.9z M13.5,9.7h-0.6V8.5 c0-1.6-1.3-2.9-2.9-2.9S7.1,6.9,7.1,8.5h1.1c0-1,0.8-1.8,1.8-1.8s1.8,0.8,1.8,1.8v1.2H6.5c-0.6,0-1.2,0.5-1.2,1.2v5.8 c0,0.6,0.5,1.2,1.2,1.2h7c0.6,0,1.2-0.5,1.2-1.2v-5.8C14.7,10.2,14.1,9.7,13.5,9.7z M13.5,16.7h-7v-5.8h7V16.7z',\n };\n case ShieldVariant.warning:\n return {\n color: ColorPalette.warning,\n icon: 'M10,5c0.7,0,1.4,0.4,1.7,1l4,7c0.4,0.6,0.4,1.4,0,2c-0.4,0.6-1,1-1.7,1H6c-0.7,0-1.4-0.4-1.7-1 c-0.4-0.6-0.4-1.4,0-2l4-7C8.6,5.4,9.3,5,10,5z M10,7l-4,7h8L10,7z',\n };\n case ShieldVariant.warningLocked:\n return {\n color: ColorPalette.warning,\n icon: 'M13.5,9.7h-0.6V8.5c0-1.6-1.3-2.9-2.9-2.9S7.1,6.9,7.1,8.5v1.2H6.5c-0.6,0-1.2,0.5-1.2,1.2v5.8 c0,0.6,0.5,1.2,1.2,1.2h7c0.6,0,1.2-0.5,1.2-1.2v-5.8C14.7,10.2,14.1,9.7,13.5,9.7z M10,14.9c-0.6,0-1.2-0.5-1.2-1.2 s0.5-1.2,1.2-1.2c0.6,0,1.2,0.5,1.2,1.2S10.6,14.9,10,14.9z M11.8,9.7H8.2V8.5c0-1,0.8-1.8,1.8-1.8s1.8,0.8,1.8,1.8V9.7z',\n };\n case ShieldVariant.warningUnlocked:\n return {\n color: ColorPalette.warning,\n icon: 'M10,14.9c0.6,0,1.2-0.5,1.2-1.2s-0.5-1.2-1.2-1.2c-0.6,0-1.2,0.5-1.2,1.2S9.4,14.9,10,14.9z M13.5,9.7h-0.6V8.5 c0-1.6-1.3-2.9-2.9-2.9S7.1,6.9,7.1,8.5h1.1c0-1,0.8-1.8,1.8-1.8s1.8,0.8,1.8,1.8v1.2H6.5c-0.6,0-1.2,0.5-1.2,1.2v5.8 c0,0.6,0.5,1.2,1.2,1.2h7c0.6,0,1.2-0.5,1.2-1.2v-5.8C14.7,10.2,14.1,9.7,13.5,9.7z M13.5,16.7h-7v-5.8h7V16.7z',\n };\n }\n};\n\n/**\n * The Shield component.\n */\nexport const Shield: Comp<ShieldProps, HTMLDivElement> = forwardRef(\n (props, ref) => {\n const {\n 'aria-hidden': ariaHidden,\n 'aria-label': ariaLabel,\n className,\n svgProps,\n isOutlined,\n isReversed,\n variant,\n ...forwardedProps\n } = props;\n\n const color = getVariant(variant!).color;\n const icon = getVariant(variant!).icon;\n\n return (\n <StyledShield\n {...forwardedProps}\n aria-hidden={ariaLabel ? (ariaHidden ? ariaHidden : undefined) : true}\n aria-label={ariaLabel}\n className={classNames(Shield.className, className)}\n ref={ref as RefObject<HTMLDivElement>}\n $color={color}\n $isOutlined={isOutlined}\n $isReversed={isReversed}\n $variant={variant}\n >\n <svg\n {...svgProps}\n aria-hidden={ariaLabel ? (ariaHidden ? ariaHidden : undefined) : true}\n aria-label={ariaLabel}\n focusable=\"false\"\n preserveAspectRatio=\"xMidYMid meet\"\n role=\"img\"\n style={{ verticalAlign: '-0.125em' }}\n viewBox=\"0 0 20 24\"\n width=\"20\"\n height=\"24\"\n >\n <path\n d={\n isOutlined\n ? 'M1,10.9V5l9-3.9L19,5v5.9c0,5.5-3.9,10.7-9,12.1C4.9,21.6,1,16.4,1,10.9z'\n : 'M10,0L0,4.4v6.5C0,17,4.3,22.6,10,24c5.7-1.4,10-7,10-13.1V4.4L10,0z'\n }\n className=\"shield\"\n />\n <path d={icon} className=\"icon\" />\n </svg>\n </StyledShield>\n );\n }\n);\nShield.className = CLASSNAME;\nShield.defaultProps = DEFAULT_PROPS;\nShield.displayName = COMPONENT_NAME;\n"],"names":["ColorPalette","default","success","error","warning","info","question","ProductColorPalette","website","ondmarc","oninbox","ondomain","hardenize","tools","IconButtonVariant","primary","secondary","unstyled","IconSize","xsmall","small","medium","large","StyledIcon","styled","span","$color","Object","keys","indexOf","css","$size","COMPONENT_NAME","CLASSNAME","DEFAULT_PROPS","size","Icon","forwardRef","props","ref","ariaHidden","ariaLabel","badge","className","color","icon","svgProps","forwardedProps","_excluded","undefined","classNames","verticalAlign","defaultProps","displayName","warnIfNoAccessibleLabelFound","additionalKeysToCheck","ariaLabelledby","hasText","filter","key","length","hasAriaLabel","Boolean","console","warn","ButtonVariant","StyledButton","button","$variant","$isActive","$isDisabled","$fullWidth","variant","Button","buttonRef","useRef","buttonProps","useButton","_objectSpread","preventFocusOnPress","children","disabled","fullWidth","isActive","isDisabled","leftIcon","onPress","rightIcon","StyledIconButton","IconButton","AppContainerContext","React","createContext","useIsLoaded","isLoaded","setIsLoaded","useState","useEffect","StyledAppBar","header","$isSidePanelCollapsed","$isLoaded","AppBar","collapseIconButtonProps","collapseIconButtonRef","expandIconButtonProps","expandIconButtonRef","fallbackTitle","title","propsTitle","appContainerState","useContext","isSidePanelCollapsed","mdiMenu","expandSidePanel","mdiMenuOpen","collapseSidePanel","StyledAppSidePanel","div","$isCollapsed","AppSidePanel","featuredElements","isCollapsed","logo","hasAppBar","isValidElement","src","alt","SideNavigationMenuReducerActionType","SideNavigationMenuBarContext","SideNavigationMenuContext","StyledSideNavigationMenuItem","a","$isSecondLevel","$withoutIcons","$isCurrent","BadgeVariant","dot","standard","StyledBadge","$isReversed","$autoBreak","Badge","autoBreak","isReversed","SideNavigationMenuItem","menuItemRef","badgeProps","href","iconProps","iconRef","isCurrent","isSecondLevel","onClick","onKeyDown","tabIndex","withoutIcons","setTitle","sideNavigationMenuBarContext","sideNavigationMenuContext","isFirstChild","setIsFirstChild","menuItems","menuItemNode","current","add","delete","StyledSideNavigationMenu","$isExpanded","SideNavigationMenuReducer","state","action","type","Expand","isExpanded","Collapse","currentIndex","previousIndex","Move","index","SideNavigationMenu","hasBadge","propsIsExpanded","menuProps","menuRef","menubarItems","childArray","Children","forEach","child","push","renderedMenuItems","map","cloneElement","Set","dispatch","useReducer","first","useCallback","last","move","open","close","focusButton","focus","previous","next","match","e","items","Array","from","reorderedItems","slice","matches","menuItem","textContent","firstLetter","toLowerCase","charAt","currentNode","nextMatch","includes","findIndex","item","value","useMemo","keyDownOnButton","target","code","stopPropagation","click","buttonEventHandler","event","keyDownOnMenuItemList","preventDefault","menuItemListEventHandler","mdiChevronDown","mdiChevronRight","StyledSideNavigationMenuBar","nav","$marginTop","useBoundingClientRect","deps","boundingRect","setBoundingRect","getBoundingClientRect","usePrevious","SideNavigationMenuBar","navRef","menubarProps","menubarRef","top","navItems","setCurrentIndex","keyDown","parentMenu","parentNode","isFromSubmenu","getAttribute","previousNode","setAttribute","isMenu","useSideNavigationMenuBar","menuBarChildren","rest","useAppSidePanel","sideNavigationMenuBarProps","StyledAppContent","main","$productTheme","AppContent","productTheme","StyledAppContainer","AppContainer","hasAppSidePanel","hasAppContent","setIsSidePanelCollapsed","StyledBreadcrumbItem","BreadcrumbItem","StyledBreadcrumbs","Breadcrumbs","breadcrumbItems","ButtonLink","as","CheckboxGroupContext","StyledCheckbox","label","$isInvalid","$isFocusVisible","Checkbox","groupState","autoFocus","defaultSelected","inputProps","inputRef","isControlled","isIndeterminate","isInvalid","isReadOnly","isRequired","isSelected","propsIsSelected","name","onChange","isFocusVisible","focusProps","useFocusRing","setSelected","handleChange","addValue","removeValue","checked","mdiCheckboxMarked","mdiMinusBox","mdiCheckboxBlankOutline","CheckboxGroupOrientation","horizontal","vertical","StyledCheckboxGroup","$orientation","orientation","CheckboxGroup","defaultValues","description","possibleValues","selectedValues","setValue","values","concat","existingValue","StyledLink","Link","LinkButton","ShieldVariant","successLocked","successUnlocked","fail","failLocked","failUnlocked","warningLocked","warningUnlocked","ignored","noData","email","StyledShield","$isOutlined","getVariant","Shield","isOutlined"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/types.ts","../src/components/icon-button/types.ts","../src/components/icon/types.ts","../src/components/icon/styles.ts","../src/components/icon/Icon.tsx","../src/utils/warnIfNoAccessibleLabelFound.ts","../src/components/button/types.ts","../src/components/button/styles.ts","../src/components/button/Button.tsx","../src/components/icon-button/styles.ts","../src/components/icon-button/IconButton.tsx","../src/components/app-container/context.ts","../src/hooks/useIsLoaded.ts","../src/components/app-bar/styles.ts","../src/components/app-bar/AppBar.tsx","../src/components/app-side-panel/styles.ts","../src/components/app-side-panel/AppSidePanel.tsx","../src/components/side-navigation-menu/types.ts","../src/components/side-navigation-menu-bar/context.ts","../src/components/side-navigation-menu/context.ts","../src/components/side-navigation-menu-item/styles.ts","../src/components/badge/types.ts","../src/components/badge/styles.ts","../src/components/badge/Badge.tsx","../src/components/side-navigation-menu-item/SideNavigationMenuItem.tsx","../src/components/side-navigation-menu/styles.ts","../src/components/side-navigation-menu/reducer.ts","../src/components/side-navigation-menu/SideNavigationMenu.tsx","../src/components/side-navigation-menu-bar/styles.ts","../src/hooks/useBoundingRect.ts","../src/components/side-navigation-menu-bar/SideNavigationMenuBar.tsx","../src/components/side-navigation-menu-bar/useSideNavigationMenuBar.tsx","../src/components/app-side-panel/useAppSidePanel.tsx","../src/components/app-content/styles.ts","../src/components/app-content/AppContent.tsx","../src/components/app-container/styles.ts","../src/components/app-container/AppContainer.tsx","../src/components/breadcrumb-item/styles.ts","../src/components/breadcrumb-item/BreadcrumbItem.tsx","../src/components/breadcrumbs/styles.ts","../src/components/breadcrumbs/Breadcrumbs.tsx","../src/components/button-link/ButtonLink.tsx","../src/components/checkbox-group/context.ts","../src/components/checkbox/styles.ts","../src/components/checkbox/Checkbox.tsx","../src/components/checkbox-group/types.ts","../src/components/checkbox-group/styles.ts","../src/components/checkbox-group/CheckboxGroup.tsx","../src/components/link/styles.ts","../src/components/link/Link.tsx","../src/components/link-button/LinkButton.tsx","../src/components/shield/types.ts","../src/components/shield/styles.ts","../src/components/shield/Shield.tsx"],"sourcesContent":["import { ReactElement, Ref } from 'react';\n\n/** Component Type. */\nexport type Comp<P, T = HTMLElement> = {\n (props: P & { ref?: Ref<T> }): ReactElement | null;\n /** React component type. */\n readonly $$typeof: symbol;\n /** Component default props. */\n defaultProps?: Partial<P>;\n /** Component name. */\n displayName?: string;\n /** Component base class name. */\n className?: string;\n};\n\n/**\n * JS falsy values.\n * (excluding `NaN` as it can't be distinguished from `number`)\n */\nexport type Falsy = false | undefined | null | 0 | '';\n\n/** Get types of the values of a record. */\nexport type ValueOf<T extends Record<any, any>> = T[keyof T];\n\n/**\n * Color palette.\n */\nexport const ColorPalette = {\n default: 'default',\n success: 'success',\n error: 'error',\n warning: 'warning',\n info: 'info',\n question: 'question',\n 'no-data': 'no-data',\n} as const;\nexport type ColorPalette = ValueOf<typeof ColorPalette>;\n\nexport const ProductColorPalette = {\n website: 'website',\n ondmarc: 'ondmarc',\n oninbox: 'oninbox',\n ondomain: 'ondomain',\n hardenize: 'hardenize',\n tools: 'tools',\n} as const;\nexport type ProductColorPalette = ValueOf<typeof ProductColorPalette>;\n","import { ComponentProps } from 'react';\nimport { PressEvent } from '@react-types/shared';\nimport { ColorPalette, ProductColorPalette, ValueOf } from '~/types';\n\n/**\n * Component variant.\n */\nexport const IconButtonVariant = {\n primary: 'primary',\n secondary: 'secondary',\n unstyled: 'unstyled',\n} as const;\nexport type IconButtonVariant = ValueOf<typeof IconButtonVariant>;\n\n/**\n * Component color.\n */\nexport type IconButtonColor =\n | typeof ColorPalette.default\n | typeof ColorPalette.error\n | ProductColorPalette;\n\n/**\n * Component props.\n */\nexport interface IconButtonProps extends ComponentProps<'button'> {\n /** Color variant. */\n color?: IconButtonColor;\n /**\n * Icon path data (`d` property of the `path` SVG element).<br />\n * See <a href=\"https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths\">https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths</a>.<br />\n * Recommended path data come from mdi/js.<br />\n * See <a href=\"https://www.npmjs.com/package/@mdi/js\">https://www.npmjs.com/package/@mdi/js</a>.\n */\n icon: string;\n /** Whether the component is active or not. */\n isActive?: boolean;\n /** Whether the component is disabled or not. */\n isDisabled?: boolean;\n /** Preferred method to handle click, press and touch. */\n onPress?: (e: PressEvent) => void;\n /** Button variant. */\n variant?: IconButtonVariant;\n}\n\nexport type StyledIconButtonProps = Omit<\n IconButtonProps,\n 'isActive' | 'isDisabled' | 'variant' | 'color' | 'icon'\n> & {\n $color: IconButtonProps['color'];\n $isActive: IconButtonProps['isActive'];\n $isDisabled: IconButtonProps['isDisabled'];\n $variant: IconButtonProps['variant'];\n};\n","import { ComponentProps, ReactElement } from 'react';\nimport { ColorPalette, ProductColorPalette, ValueOf } from '~/types';\n\n/**\n * Component size.\n */\nexport const IconSize = {\n xsmall: 'xsmall',\n small: 'small',\n medium: 'medium',\n large: 'large',\n} as const;\nexport type IconSize = ValueOf<typeof IconSize>;\n\n/**\n * Component props.\n */\nexport interface IconProps extends ComponentProps<'i'> {\n /** Indicates whether the element is exposed to an accessibility API. */\n 'aria-hidden'?: boolean | 'false' | 'true';\n /** A screen reader only label for the Icon. */\n 'aria-label'?: string;\n /** Color variant. Either from color palette or hex or rgb strings. */\n color?: ColorPalette | ProductColorPalette | string;\n /** Whether the icon has a badge attached to it. */\n badge?: ReactElement;\n /**\n * Icon path data (`d` property of the `path` SVG element).<br />\n * See <a href=\"https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths\">https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths</a>.<br />\n * Recommended path data come from mdi/js.<br />\n * See <a href=\"https://www.npmjs.com/package/@mdi/js\">https://www.npmjs.com/package/@mdi/js</a>.\n */\n icon: string;\n /** Icon size. */\n size?: IconSize;\n /** Additional properties to forward to the SVG tag. */\n svgProps?: ComponentProps<'svg'>;\n}\n\nexport type StyledIconProps = Omit<\n IconProps,\n 'color' | 'size' | 'icon' | 'svgProps'\n> & {\n $color: IconProps['color'];\n $size: IconProps['size'];\n};\n","import styled, { css } from 'styled-components';\nimport { ColorPalette, ProductColorPalette } from '~/types';\nimport { StyledIconProps, IconSize } from './types';\n\n/**\n * Component style.\n */\nexport const StyledIcon = styled.span<StyledIconProps>`\n font-style: normal;\n position: relative;\n\n ${({ $color }) =>\n $color &&\n [...Object.keys(ColorPalette), ...Object.keys(ProductColorPalette)].indexOf(\n $color\n ) !== -1\n ? css`\n color: var(--redsift-color-${$color}-primary);\n `\n : css`\n color: ${$color || css`var(--redsift-color-neutral-darkgrey)`};\n `}\n\n ${({ $size }) => {\n switch ($size) {\n case IconSize.large:\n return css`\n font-size: 28px;\n height: 28px;\n line-height: 28px;\n width: 28px;\n\n & .redsift-badge-standard {\n position: absolute;\n right: -24px;\n top: -4px;\n }\n\n & .redsift-badge-dot {\n position: absolute;\n right: -14px;\n top: 2px;\n }\n `;\n case IconSize.small:\n return css`\n font-size: 20px;\n height: 20px;\n line-height: 20px;\n width: 20px;\n\n & .redsift-badge-standard {\n position: absolute;\n right: -24px;\n top: -8px;\n }\n\n & .redsift-badge-dot {\n position: absolute;\n right: -14px;\n top: 1px;\n }\n `;\n case IconSize.xsmall:\n return css`\n font-size: 16px;\n height: 16px;\n line-height: 16px;\n width: 16px;\n\n & .redsift-badge-standard {\n position: absolute;\n right: -24px;\n top: -12px;\n }\n\n & .redsift-badge-dot {\n position: absolute;\n right: -14px;\n top: -1px;\n }\n `;\n case IconSize.medium:\n default:\n return css`\n font-size: 24px;\n height: 24px;\n line-height: 24px;\n width: 24px;\n\n & .redsift-badge-standard {\n position: absolute;\n right: -24px;\n top: -5px;\n }\n\n & .redsift-badge-dot {\n position: absolute;\n right: -14px;\n top: 1px;\n }\n `;\n }\n }}\n`;\n","import React, { forwardRef, RefObject } from 'react';\nimport classNames from 'classnames';\nimport { Comp } from '~/types';\nimport { StyledIcon } from './styles';\nimport { IconProps, IconSize } from './types';\n\nconst COMPONENT_NAME = 'RedSiftIcon';\nconst CLASSNAME = 'redsift-icon';\nconst DEFAULT_PROPS: Partial<IconProps> = {\n size: IconSize.medium,\n};\n\n/**\n * The Icon component.\n */\nexport const Icon: Comp<IconProps, HTMLSpanElement> = forwardRef(\n (props, ref) => {\n const {\n 'aria-hidden': ariaHidden,\n 'aria-label': ariaLabel,\n badge,\n className,\n color,\n icon,\n size,\n svgProps,\n ...forwardedProps\n } = props;\n\n return (\n <StyledIcon\n {...forwardedProps}\n $color={color}\n $size={size}\n aria-hidden={ariaLabel ? (ariaHidden ? ariaHidden : undefined) : true}\n aria-label={ariaLabel}\n className={classNames(Icon.className, className)}\n ref={ref as RefObject<HTMLSpanElement>}\n >\n <svg\n {...svgProps}\n aria-hidden={ariaLabel ? (ariaHidden ? ariaHidden : undefined) : true}\n aria-label={ariaLabel}\n focusable=\"false\"\n height=\"1em\"\n preserveAspectRatio=\"xMidYMid meet\"\n role=\"img\"\n style={{ verticalAlign: '-0.125em' }}\n viewBox=\"0 0 24 24\"\n width=\"1em\"\n >\n <path d={icon} fill=\"currentColor\" />\n </svg>\n {badge ? badge : null}\n </StyledIcon>\n );\n }\n);\nIcon.className = CLASSNAME;\nIcon.defaultProps = DEFAULT_PROPS;\nIcon.displayName = COMPONENT_NAME;\n","import { ComponentProps } from 'react';\n\n/**\n * Display a warning if no label was found for screen readers and assistive technologies.\n *\n * @param props Component props containing the aria-label and aria-labelledby params to check for.\n * @param additionalKeysToCheck Additional props to check that can act as a label for screen readers (i.e. children).\n */\nexport const warnIfNoAccessibleLabelFound = (\n props: ComponentProps<keyof JSX.IntrinsicElements>,\n additionalKeysToCheck?: any[]\n): void => {\n const { 'aria-label': ariaLabel, 'aria-labelledby': ariaLabelledby } = props;\n\n const hasText =\n additionalKeysToCheck &&\n additionalKeysToCheck.filter((key) => !!key).length > 0;\n const hasAriaLabel = Boolean(ariaLabel || ariaLabelledby);\n\n if (!hasAriaLabel && !hasText) {\n console.warn('You must provide a label for accessibility');\n }\n};\n","import { ComponentProps } from 'react';\nimport { PressEvent } from '@react-types/shared';\nimport { ColorPalette, ProductColorPalette, ValueOf } from '~/types';\n\n/**\n * Component variant.\n */\nexport const ButtonVariant = {\n primary: 'primary',\n secondary: 'secondary',\n unstyled: 'unstyled',\n} as const;\nexport type ButtonVariant = ValueOf<typeof ButtonVariant>;\n\n/**\n * Component color.\n */\nexport type ButtonColor =\n | typeof ColorPalette.default\n | typeof ColorPalette.error\n | ProductColorPalette;\n\n/**\n * Component props.\n */\nexport interface ButtonProps extends ComponentProps<'button'> {\n /** Color variant. The product colors are available but should only be used to display the Button in the color of another product. To display a Button with a color of the current product, use `default`. */\n color?: ButtonColor;\n /** Whether the component take the full width or not. */\n fullWidth?: boolean;\n /** Whether the component is active or not. */\n isActive?: boolean;\n /** Whether the component is disabled or not. */\n isDisabled?: boolean;\n /**\n * Icon path data (`d` property of the `path` SVG element).<br />\n * See <a href=\"https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths\">https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths</a>.<br />\n * Recommended path data come from mdi/js.<br />\n * See <a href=\"https://www.npmjs.com/package/@mdi/js\">https://www.npmjs.com/package/@mdi/js</a>.\n */\n leftIcon?: string;\n /** Preferred method to handle click, press and touch. */\n onPress?: (e: PressEvent) => void;\n /**\n * Icon path data (`d` property of the `path` SVG element).<br />\n * See <a href=\"https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths\">https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths</a>.<br />\n * Recommended path data come from mdi/js.<br />\n * See <a href=\"https://www.npmjs.com/package/@mdi/js\">https://www.npmjs.com/package/@mdi/js</a>.\n */\n rightIcon?: string;\n /** Button variant. */\n variant?: ButtonVariant;\n}\n\nexport type StyledButtonProps = Omit<\n ButtonProps,\n 'isActive' | 'isDisabled' | 'variant' | 'color' | 'size' | 'fullWidth'\n> & {\n $color: ButtonProps['color'];\n $fullWidth?: ButtonProps['fullWidth'];\n $isActive: ButtonProps['isActive'];\n $isDisabled: ButtonProps['isDisabled'];\n $variant: ButtonProps['variant'];\n};\n","import styled, { css } from 'styled-components';\nimport { StyledButtonProps, ButtonVariant } from './types';\n\n/**\n * Component style.\n */\nexport const StyledButton = styled.button<StyledButtonProps>`\n align-items: center;\n background: none;\n border: none;\n display: flex;\n font-family: var(--redsift-typography-button-font-family);\n font-size: var(--redsift-typography-button-font-size);\n font-weight: var(--redsift-typography-button-font-weight);\n justify-content: center;\n line-height: var(--redsift-typography-button-line-height);\n text-decoration: none;\n text-transform: var(--redsift-typography-button-text-transform);\n\n ${({ $variant, $color, $isActive, $isDisabled }) => css`\n padding: ${$variant === ButtonVariant.secondary ? '7px 15px' : '8px 16px'};\n\n ${$variant === ButtonVariant.secondary\n ? css`\n background-color: ${$isActive\n ? `var(--redsift-color-${$color}-active)`\n : $isDisabled\n ? 'var(--redsift-color-neutral-white)'\n : 'var(--redsift-color-neutral-white)'};\n &,\n .redsift-icon {\n color: ${$isDisabled\n ? 'var(--redsift-color-neutral-midgrey)'\n : `var(--redsift-color-${$color}-primary)`};\n }\n `\n : $variant === ButtonVariant.unstyled\n ? css`\n background-color: ${$isActive\n ? `var(--redsift-color-${$color}-active)`\n : $isDisabled\n ? 'none'\n : 'none'};\n &,\n .redsift-icon {\n color: ${$isDisabled\n ? 'var(--redsift-color-neutral-midgrey)'\n : `var(--redsift-color-${$color}-primary)`};\n }\n `\n : css`\n background-color: ${$isActive\n ? `var(--redsift-color-${$color}-primary-active)`\n : $isDisabled\n ? 'var(--redsift-color-neutral-lightgrey)'\n : `var(--redsift-color-${$color}-primary)`};\n &,\n .redsift-icon {\n color: ${$isDisabled\n ? 'var(--redsift-color-neutral-midgrey)'\n : 'var(--redsift-color-neutral-white)'};\n }\n `}\n\n ${$variant === ButtonVariant.secondary\n ? css`\n border: 1px solid\n ${$isDisabled\n ? 'var(--redsift-color-neutral-midgrey)'\n : `var(--redsift-color-${$color}-primary)`};\n `\n : ''}\n `};\n\n .redsift-icon.left {\n margin-right: 8px;\n }\n\n .redsift-icon.right {\n margin-left: 8px;\n }\n\n &:hover,\n &:focus-visible {\n outline: none;\n\n ${({ $variant, $color, $isActive, $isDisabled }) => css`\n cursor: ${$isDisabled ? 'default' : 'pointer'};\n\n ${$variant === ButtonVariant.secondary\n ? css`\n background-color: ${$isActive\n ? `var(--redsift-color-${$color}-active-hover)`\n : $isDisabled\n ? 'var(--redsift-color-neutral-white)'\n : `var(--redsift-color-${$color}-hover)`};\n &,\n .redsift-icon {\n color: ${$isDisabled\n ? 'var(--redsift-color-neutral-midgrey)'\n : `var(--redsift-color-${$color}-secondary)`};\n }\n `\n : $variant === ButtonVariant.unstyled\n ? css`\n background-color: ${$isActive\n ? `var(--redsift-color-${$color}-active-hover)`\n : $isDisabled\n ? 'none'\n : `var(--redsift-color-${$color}-hover)`};\n &,\n .redsift-icon {\n color: ${$isDisabled\n ? 'var(--redsift-color-neutral-midgrey)'\n : `var(--redsift-color-${$color}-secondary)`};\n }\n `\n : css`\n background-color: ${$isDisabled\n ? 'var(--redsift-color-neutral-lightgrey)'\n : `var(--redsift-color-${$color}-secondary)`};\n &,\n .redsift-icon {\n color: ${$isDisabled\n ? 'var(--redsift-color-neutral-midgrey)'\n : 'var(--redsift-color-neutral-white)'};\n }\n `}\n\n ${$variant === ButtonVariant.secondary\n ? css`\n border: 1px solid\n ${$isDisabled\n ? 'var(--redsift-color-neutral-midgrey)'\n : `var(--redsift-color-${$color}-primary)`};\n `\n : `\n border: none;\n `}\n `};\n }\n\n ${({ $fullWidth }) =>\n $fullWidth\n ? `\n width: 100%;\n flex-grow: 1;\n\n .redsift-icon.left {\n margin-right: unset;\n }\n\n .redsift-icon.right {\n margin-left: unset;\n }\n\n span {\n margin-right: 8px;\n margin-left: 8px;\n }\n `\n : ''}\n`;\n","import React, { forwardRef, RefObject, useRef } from 'react';\nimport classNames from 'classnames';\nimport { useButton } from '@react-aria/button';\nimport { AriaButtonProps } from '@react-types/button';\nimport { ColorPalette, Comp } from '~/types';\nimport { Icon } from '~/components/icon';\nimport { StyledButton } from './styles';\nimport { ButtonProps, ButtonVariant } from './types';\n\nconst COMPONENT_NAME = 'RedSiftButton';\nconst CLASSNAME = 'redsift-button';\nconst DEFAULT_PROPS: Partial<ButtonProps> = {\n color: ColorPalette.default,\n variant: ButtonVariant.primary,\n};\n\n/**\n * The Button is a semantic button that looks like a button.\n *\n * For a semantic link that looks like a button, please use the ButtonLink component.\n * For a semantic link that looks like a link, please use the Link component.\n * For a semantic button that looks like a link, please use the LinkButton component.\n */\nexport const Button: Comp<ButtonProps, HTMLButtonElement> = forwardRef(\n (props, ref) => {\n const buttonRef = ref || useRef<HTMLButtonElement>();\n const { buttonProps } = useButton(\n {\n ...props,\n preventFocusOnPress: true,\n } as AriaButtonProps<'button'>,\n buttonRef as RefObject<HTMLButtonElement>\n );\n\n const {\n children,\n className,\n color,\n disabled,\n fullWidth,\n isActive,\n isDisabled,\n leftIcon,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n onPress,\n rightIcon,\n variant,\n ...forwardedProps\n } = props;\n\n return (\n <StyledButton\n {...forwardedProps}\n {...buttonProps}\n $color={color}\n $fullWidth={fullWidth}\n $isActive={isActive}\n $isDisabled={isDisabled || disabled}\n $variant={variant}\n aria-disabled={isDisabled || disabled}\n className={classNames(Button.className, className)}\n disabled={isDisabled || disabled}\n ref={buttonRef as RefObject<HTMLButtonElement>}\n >\n {leftIcon ? (\n <Icon icon={leftIcon} aria-hidden=\"true\" className=\"left\" />\n ) : null}\n {children && <span>{children}</span>}\n {rightIcon ? (\n <Icon icon={rightIcon} aria-hidden=\"true\" className=\"right\" />\n ) : null}\n </StyledButton>\n );\n }\n);\nButton.className = CLASSNAME;\nButton.defaultProps = DEFAULT_PROPS;\nButton.displayName = COMPONENT_NAME;\n","import styled, { css } from 'styled-components';\nimport { StyledButton } from '~/components/button';\nimport { IconButtonVariant, StyledIconButtonProps } from './types';\n\n/**\n * Component style.\n */\nexport const StyledIconButton = styled(StyledButton)<StyledIconButtonProps>`\n ${({ $variant }) => css`\n padding: ${$variant === IconButtonVariant.secondary ? '7px' : '8px'};\n `};\n`;\n","import React, { forwardRef, RefObject, useRef } from 'react';\nimport classNames from 'classnames';\nimport { useButton } from '@react-aria/button';\nimport { AriaButtonProps } from '@react-types/button';\nimport { ColorPalette, Comp } from '~/types';\nimport { Icon } from '~/components/icon';\nimport { warnIfNoAccessibleLabelFound } from '~/utils/warnIfNoAccessibleLabelFound';\nimport { StyledIconButton } from './styles';\nimport { IconButtonProps, IconButtonVariant } from './types';\n\nconst COMPONENT_NAME = 'RedSiftIconButton';\nconst CLASSNAME = 'redsift-icon-button';\nconst DEFAULT_PROPS: Partial<IconButtonProps> = {\n color: ColorPalette.default,\n variant: IconButtonVariant.unstyled,\n};\n\n/**\n * The Icon Button is a component that contains only one icon as a child, without text.\n *\n * This component should use aria-label, aria-labelledby or aria-describedby to make this\n * component usable with a screen reader.\n */\nexport const IconButton: Comp<IconButtonProps, HTMLButtonElement> = forwardRef(\n (props, ref) => {\n const buttonRef = ref || useRef<HTMLButtonElement>();\n const { buttonProps } = useButton(\n {\n ...props,\n preventFocusOnPress: true,\n } as AriaButtonProps<'button'>,\n buttonRef as RefObject<HTMLButtonElement>\n );\n\n const {\n className,\n color,\n disabled,\n icon,\n isActive,\n isDisabled,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n onPress,\n variant,\n ...forwardedProps\n } = props;\n\n warnIfNoAccessibleLabelFound(props);\n\n return (\n <StyledIconButton\n {...forwardedProps}\n {...buttonProps}\n $color={isDisabled || disabled ? undefined : color}\n $isActive={isActive}\n $isDisabled={isDisabled || disabled}\n $variant={variant}\n aria-disabled={isDisabled || disabled}\n className={classNames(IconButton.className, className)}\n disabled={isDisabled || disabled}\n ref={buttonRef as RefObject<HTMLButtonElement>}\n >\n <Icon icon={icon} color={isDisabled || disabled ? undefined : color} />\n </StyledIconButton>\n );\n }\n);\nIconButton.className = CLASSNAME;\nIconButton.defaultProps = DEFAULT_PROPS;\nIconButton.displayName = COMPONENT_NAME;\n","import React from 'react';\nimport { AppContainerState } from './types';\n\nexport const AppContainerContext =\n React.createContext<AppContainerState | null>(null);\n","import { useState, useEffect } from 'react';\n\nexport const useIsLoaded = () => {\n const [isLoaded, setIsLoaded] = useState(false);\n\n useEffect(() => {\n setIsLoaded(true);\n });\n\n return {\n isLoaded,\n };\n};\n","import styled, { css } from 'styled-components';\nimport { StyledAppBarProps } from './types';\n\n/**\n * Component style.\n */\nexport const StyledAppBar = styled.header<StyledAppBarProps>`\n align-content: center;\n align-items: center;\n background-color: var(--redsift-color-default-primary);\n color: var(--redsift-color-neutral-white);\n display: flex;\n flex-direction: row;\n height: 72px;\n justify-content: space-between;\n left: 0;\n position: fixed;\n top: 0;\n z-index: 1;\n\n ${({ $isSidePanelCollapsed }) =>\n !$isSidePanelCollapsed\n ? css`\n transform: translate(240px);\n width: calc(100% - 240px);\n `\n : `\n transform: translate(0px);\n width: 100%;\n `}\n\n ${({ $isLoaded }) =>\n $isLoaded\n ? css`\n transition: transform 0.25s ease-out, width 0.25s ease-out;\n `\n : ''}\n\n h1 {\n margin: unset;\n padding: unset;\n }\n\n .redsift-app-bar__left {\n align-content: center;\n align-items: center;\n display: inline-flex;\n flex-direction: row;\n gap: 8px;\n justify-content: center;\n margin-left: 24px;\n }\n\n .redsift-app-bar-left__expand-button,\n .redsift-app-bar-left__collapse-button {\n margin-left: -8px;\n }\n\n .redsift-app-bar__right {\n display: inline-flex;\n margin: 16px;\n }\n`;\n","import React, { forwardRef, RefObject, useContext } from 'react';\nimport classNames from 'classnames';\nimport { mdiMenu, mdiMenuOpen } from '@redsift/icons';\nimport { Comp } from '~/types';\nimport { IconButton, IconButtonVariant } from '~/components/icon-button';\nimport { AppContainerContext } from '~/components/app-container/context';\nimport { useIsLoaded } from '~/hooks/useIsLoaded';\nimport { StyledAppBar } from './styles';\nimport { AppBarProps } from './types';\n\nconst COMPONENT_NAME = 'RedSiftAppBar';\nconst CLASSNAME = 'redsift-app-bar';\nconst DEFAULT_PROPS: Partial<AppBarProps> = {};\n\n/**\n * The AppBar component.\n */\nexport const AppBar: Comp<AppBarProps, HTMLHeadingElement> = forwardRef(\n (props, ref) => {\n const {\n children,\n className,\n collapseIconButtonProps,\n collapseIconButtonRef,\n expandIconButtonProps,\n expandIconButtonRef,\n fallbackTitle,\n title: propsTitle,\n ...forwardedProps\n } = props;\n\n const { isLoaded } = useIsLoaded();\n const appContainerState = useContext(AppContainerContext);\n\n return (\n <StyledAppBar\n {...forwardedProps}\n $isLoaded={isLoaded}\n $isSidePanelCollapsed={\n appContainerState ? appContainerState.isSidePanelCollapsed : true\n }\n className={classNames(AppBar.className, className)}\n ref={ref as RefObject<HTMLHeadingElement>}\n >\n <div className={`${AppBar.className}__left`}>\n {appContainerState ? (\n <>\n {appContainerState.isSidePanelCollapsed ? (\n <IconButton\n className={`${AppBar.className}-left__expand-button`}\n {...expandIconButtonProps}\n aria-label=\"Expand left side panel\"\n icon={mdiMenu}\n onPress={appContainerState.expandSidePanel}\n ref={collapseIconButtonRef as RefObject<HTMLButtonElement>}\n variant={IconButtonVariant.primary}\n />\n ) : (\n <IconButton\n className={`${AppBar.className}-left__collapse-button`}\n {...collapseIconButtonProps}\n aria-label=\"Collapse left side panel\"\n icon={mdiMenuOpen}\n onPress={appContainerState.collapseSidePanel}\n ref={expandIconButtonRef as RefObject<HTMLButtonElement>}\n variant={IconButtonVariant.primary}\n />\n )}\n </>\n ) : null}\n {propsTitle && typeof propsTitle !== 'string' ? (\n <>{propsTitle}</>\n ) : typeof propsTitle === 'string' ? (\n <h1>{propsTitle}</h1>\n ) : appContainerState && appContainerState.title ? (\n <h1>{appContainerState.title}</h1>\n ) : fallbackTitle ? (\n <h1>{fallbackTitle}</h1>\n ) : null}\n </div>\n <div className={`${AppBar.className}__right`}>{children}</div>\n </StyledAppBar>\n );\n }\n);\nAppBar.className = CLASSNAME;\nAppBar.defaultProps = DEFAULT_PROPS;\nAppBar.displayName = COMPONENT_NAME;\n","import styled from 'styled-components';\nimport { StyledAppSidePanelProps } from './types';\n\n/**\n * Component style.\n */\nexport const StyledAppSidePanel = styled.div<StyledAppSidePanelProps>`\n align-items: center;\n background-color: var(--redsift-side-navigation-color-background);\n flex-direction: column;\n height: 100%;\n left: 0px;\n overflow: hidden;\n position: fixed;\n top: 0;\n transform: ${({ $isCollapsed }) =>\n !$isCollapsed ? 'translate(0px)' : 'translate(-240px)'};\n transition: transform 0.25s ease-out, visibility 0.25s ease-out;\n visibility: ${({ $isCollapsed }) => (!$isCollapsed ? 'visible' : 'hidden')};\n width: 240px;\n z-index: 1;\n\n .redsift-app-side-panel__header {\n align-items: center;\n box-sizing: border-box;\n display: flex;\n flex-direction: row;\n gap: 8px;\n justify-content: space-between;\n padding: 16px;\n width: 100%;\n height: 72px;\n }\n\n .redsift-app-side-panel__header > img {\n max-height: 36px;\n max-width: 160px;\n }\n\n .redsift-app-side-panel__featured {\n box-sizing: border-box;\n margin-bottom: 16px;\n padding: 0px 16px;\n width: 100%;\n }\n\n [dir='rtl'] & {\n left: unset;\n right: 0px;\n transform: unset;\n transition: unset;\n }\n`;\n","import React, { forwardRef, RefObject, useContext } from 'react';\nimport classNames from 'classnames';\nimport { Comp } from '~/types';\nimport { AppContainerContext } from '~/components/app-container/context';\nimport { StyledAppSidePanel } from './styles';\nimport { AppSidePanelProps } from './types';\n\nconst COMPONENT_NAME = 'RedSiftAppSidePanel';\nconst CLASSNAME = 'redsift-app-side-panel';\nconst DEFAULT_PROPS: Partial<AppSidePanelProps> = {};\n\n/**\n * The AppSidePanel component.\n */\nexport const AppSidePanel: Comp<AppSidePanelProps, HTMLDivElement> = forwardRef(\n (props, ref) => {\n const {\n children,\n className,\n featuredElements,\n isCollapsed = false,\n logo,\n ...forwardedProps\n } = props;\n\n const appContainerState = useContext(AppContainerContext);\n\n return (\n <StyledAppSidePanel\n {...forwardedProps}\n $isCollapsed={\n !!(isCollapsed || appContainerState?.isSidePanelCollapsed)\n }\n className={classNames(AppSidePanel.className, className)}\n ref={ref as RefObject<HTMLDivElement>}\n >\n {logo || appContainerState?.hasAppBar ? (\n <div className={`${AppSidePanel.className}__header`}>\n {logo ? (\n React.isValidElement(logo) ? (\n logo\n ) : (\n <img src={logo.src} alt={logo.alt} />\n )\n ) : null}\n </div>\n ) : null}\n {featuredElements ? (\n <div className={`${AppSidePanel.className}__featured`}>\n {featuredElements}\n </div>\n ) : null}\n {children}\n </StyledAppSidePanel>\n );\n }\n);\nAppSidePanel.className = CLASSNAME;\nAppSidePanel.defaultProps = DEFAULT_PROPS;\nAppSidePanel.displayName = COMPONENT_NAME;\n","import { ComponentProps, MutableRefObject } from 'react';\nimport { IconProps } from '~/components/icon';\n\n/**\n * Context props.\n */\nexport type SideNavigationMenuContextProps = {\n menuItems: Set<HTMLAnchorElement | HTMLButtonElement>;\n};\n\n/**\n * Reducer props.\n */\nexport type SideNavigationMenuReducerState = {\n isExpanded: boolean;\n currentIndex: number;\n previousIndex: number;\n};\n\nexport enum SideNavigationMenuReducerActionType {\n Expand = 'expand',\n Collapse = 'collapse',\n Move = 'move',\n}\n\nexport type SideNavigationMenuReducerAction = {\n type: SideNavigationMenuReducerActionType;\n index?: number;\n};\n\n/**\n * Component props.\n */\nexport interface SideNavigationMenuProps extends ComponentProps<'div'> {\n /** Custom props to pass to the button. */\n buttonProps?: ComponentProps<'button'>;\n /** Custom ref to pass to the button. */\n buttonRef?: MutableRefObject<HTMLButtonElement>;\n /** Whether or not the menu contains children that have a badge. */\n hasBadge?: boolean;\n /**\n * Icon path data (`d` property of the `path` SVG element).<br />\n * See <a href=\"https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths\">https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths</a>.<br />\n * Recommended path data come from mdi/js.<br />\n * See <a href=\"https://www.npmjs.com/package/@mdi/js\">https://www.npmjs.com/package/@mdi/js</a>.\n */\n icon?: string;\n /** Custom props to pass to the Icon component. */\n iconProps?: Omit<IconProps, 'icon'>;\n /** Custom ref to pass to the Icon component. */\n iconRef?: MutableRefObject<HTMLElement>;\n /** Whether the component is disabled or not. */\n isDisabled?: boolean;\n /** Whether the menu is expanded or not. */\n isExpanded?: boolean;\n /** Custom props to pass to the menu. */\n menuProps?: ComponentProps<'ul'>;\n /** Custom ref to pass to the menu. */\n menuRef?: MutableRefObject<HTMLUListElement>;\n /** Whether the component should hide icons or not. */\n withoutIcons?: boolean;\n}\n\nexport type StyledSideNavigationMenuProps = Omit<\n SideNavigationMenuProps,\n 'isDisabled' | 'isExpanded' | 'withoutIcons'\n> & {\n $isDisabled: SideNavigationMenuProps['isDisabled'];\n $isExpanded: SideNavigationMenuProps['isExpanded'];\n $withoutIcons: SideNavigationMenuProps['withoutIcons'];\n};\n","import React from 'react';\nimport { SideNavigationMenuBarContextProps } from './types';\n\nexport const SideNavigationMenuBarContext =\n React.createContext<SideNavigationMenuBarContextProps>(null!);\n","import React from 'react';\nimport { SideNavigationMenuContextProps } from './types';\n\nexport const SideNavigationMenuContext =\n React.createContext<SideNavigationMenuContextProps>(null!);\n","import styled, { css } from 'styled-components';\nimport { StyledSideNavigationMenuItemProps } from './types';\n\n/**\n * Component style.\n */\nexport const StyledSideNavigationMenuItem = styled.a<StyledSideNavigationMenuItemProps>`\n /**\n * Common style\n */\n ${({ $isDisabled }) =>\n !$isDisabled\n ? css`\n color: var(--redsift-side-navigation-color-menu-item-text-resting);\n `\n : css`\n color: var(--redsift-side-navigation-color-menu-item-text-disabled);\n `}\n align-items: center;\n display: flex;\n font-family: var(--redsift-typography-body-font-family);\n font-size: var(--redsift-typography-body-font-size);\n font-weight: var(--redsift-typography-body-font-weight);\n line-height: var(--redsift-typography-body-line-height);\n text-decoration: none;\n\n &:hover,\n &:focus-visible {\n outline: none;\n\n ${({ $isDisabled }) =>\n !$isDisabled\n ? css`\n background-color: var(\n --redsift-side-navigation-color-menu-item-background-hover\n );\n color: var(--redsift-side-navigation-color-menu-item-text-hover);\n `\n : ''}\n }\n\n ${({ $isSecondLevel, $withoutIcons }) =>\n !$isSecondLevel\n ? css`\n /**\n * First-level items\n */\n\n background-color: var(--redsift-side-navigation-color-background);\n padding: 8px 16px;\n\n .redsift-icon.first {\n padding-right: 16px;\n box-sizing: unset;\n }\n\n span {\n padding-right: 12px;\n }\n\n [dir='rtl'] & {\n padding-right: unset;\n\n .redsift-icon.first {\n padding-left: 16px;\n padding-right: unset;\n }\n\n span {\n padding-left: 12px;\n padding-right: unset;\n }\n }\n `\n : `\n /**\n * Second-level items\n */\n\n background-color: var(--redsift-side-navigation-color-menu-item-background-secondary);\n padding-bottom: 8px;\n padding-left: ${!$withoutIcons ? '52px' : '16px'};\n padding-right: 8px;\n padding-top: 8px;\n\n span {\n padding-right: 12px;\n }\n\n [dir=\"rtl\"] & {\n padding-left: unset;\n padding-right: 16px;\n\n span {\n padding-left: 12px;\n padding-right: unset;\n }\n }\n `}\n\n ${({ $isCurrent, $isDisabled }) =>\n $isCurrent && !$isDisabled\n ? css`\n background-color: var(\n --redsift-side-navigation-color-menu-item-background-active\n );\n box-shadow: inset -4px 0px 0px var(--redsift-side-navigation-color-menu-item-active);\n `\n : ''}\n`;\n","import { ComponentProps } from 'react';\nimport { ColorPalette, ProductColorPalette, ValueOf } from '~/types';\n\n/**\n * Component variant.\n */\nexport const BadgeVariant = {\n dot: 'dot',\n standard: 'standard',\n} as const;\nexport type BadgeVariant = ValueOf<typeof BadgeVariant>;\n\n/**\n * Component props.\n */\nexport interface BadgeProps extends ComponentProps<'div'> {\n /** Whether the badge should automatically break content. */\n autoBreak?: boolean;\n /** Color variant. The product colors are available but should only be used to display the Badge in the color of another product. To display a Badge with a color of the current product, use `default`. */\n color?: ColorPalette | ProductColorPalette;\n /** Whether the Badge has its colors reversed or not. */\n isReversed?: boolean;\n /** Badge variant. */\n variant?: BadgeVariant;\n}\n\nexport type StyledBadgeProps = Omit<\n BadgeProps,\n 'color' | 'variant' | 'isReversed' | 'autoBreak'\n> & {\n $autoBreak: BadgeProps['autoBreak'];\n $color: BadgeProps['color'];\n $isReversed: BadgeProps['isReversed'];\n $variant: BadgeProps['variant'];\n};\n","import styled, { css } from 'styled-components';\nimport { BadgeVariant, StyledBadgeProps } from './types';\n\n/**\n * Component style.\n */\nexport const StyledBadge = styled.div<StyledBadgeProps>`\n ${({ $color, $isReversed }) => {\n if ($isReversed) {\n return css`\n background-color: var(--redsift-color-neutral-white);\n\n &,\n .redsift-icon {\n color: var(--redsift-color-${$color}-primary);\n }\n `;\n } else {\n return css`\n background-color: var(--redsift-color-${$color}-primary);\n\n &,\n .redsift-icon {\n color: var(--redsift-color-neutral-white);\n }\n `;\n }\n }}\n\n ${({ $variant, $autoBreak }) => {\n switch ($variant) {\n case BadgeVariant.dot:\n return css`\n border-radius: 50%;\n height: 8px;\n margin-bottom: 12px;\n margin-right: 12px;\n width: 8px;\n `;\n case BadgeVariant.standard:\n default:\n return css`\n border-radius: 64px;\n min-width: 8px;\n padding: 0 6px;\n text-align: center;\n width: fit-content;\n word-break: ${$autoBreak ? 'break-word' : 'normal'};\n\n &,\n .redsift-icon {\n font-family: var(--redsift-typography-badge-font-family);\n font-size: var(--redsift-typography-badge-font-size);\n font-weight: var(--redsift-typography-badge-font-weight);\n line-height: var(--redsift-typography-badge-line-height);\n }\n `;\n }\n }}\n`;\n","import React, { forwardRef, RefObject } from 'react';\nimport classNames from 'classnames';\nimport { ColorPalette, Comp } from '~/types';\nimport { StyledBadge } from './styles';\nimport { BadgeProps, BadgeVariant } from './types';\n\nconst COMPONENT_NAME = 'RedSiftBadge';\nconst CLASSNAME = 'redsift-badge';\nconst DEFAULT_PROPS: Partial<BadgeProps> = {\n color: ColorPalette.question,\n variant: BadgeVariant.dot,\n};\n\n/**\n * The Badge component.\n */\nexport const Badge: Comp<BadgeProps, HTMLDivElement> = forwardRef(\n (props, ref) => {\n const {\n autoBreak,\n children,\n className,\n color,\n isReversed,\n variant,\n ...forwardedProps\n } = props;\n\n return (\n <StyledBadge\n {...forwardedProps}\n $autoBreak={autoBreak}\n $color={color}\n $isReversed={isReversed}\n $variant={variant}\n className={classNames(\n Badge.className,\n `${Badge.className}-${variant}`,\n className\n )}\n ref={ref as RefObject<HTMLDivElement>}\n >\n {variant === BadgeVariant.standard ? children : null}\n </StyledBadge>\n );\n }\n);\nBadge.className = CLASSNAME;\nBadge.defaultProps = DEFAULT_PROPS;\nBadge.displayName = COMPONENT_NAME;\n","import React, {\n forwardRef,\n MutableRefObject,\n useContext,\n useEffect,\n useRef,\n useState,\n} from 'react';\nimport classNames from 'classnames';\nimport { Comp } from '~/types';\nimport { Icon, IconSize } from '~/components/icon';\nimport { warnIfNoAccessibleLabelFound } from '~/utils/warnIfNoAccessibleLabelFound';\nimport { SideNavigationMenuBarContext } from '~/components/side-navigation-menu-bar/context';\nimport { SideNavigationMenuContext } from '~/components/side-navigation-menu/context';\nimport { AppContainerContext } from '~/components/app-container/context';\nimport { StyledSideNavigationMenuItem } from './styles';\nimport { SideNavigationMenuItemProps } from './types';\nimport { Badge, BadgeVariant } from '~/components/badge';\n\nconst COMPONENT_NAME = 'RedSiftSideNavigationMenuItem';\nconst CLASSNAME = 'redsift-side-navigation-menu-item';\nconst DEFAULT_PROPS: Partial<SideNavigationMenuItemProps> = {};\n\n/**\n * The SideNavigationMenuItem component.\n */\nexport const SideNavigationMenuItem: Comp<\n SideNavigationMenuItemProps,\n HTMLAnchorElement\n> = forwardRef((props, ref) => {\n const menuItemRef = ref || useRef<HTMLAnchorElement>();\n\n const {\n badge,\n badgeProps,\n children,\n className,\n href,\n icon,\n iconProps,\n iconRef = useRef<HTMLElement>(),\n isCurrent,\n isDisabled,\n isSecondLevel,\n onClick,\n onKeyDown,\n tabIndex,\n withoutIcons,\n ...forwardedProps\n } = props;\n\n warnIfNoAccessibleLabelFound(props, [children]);\n\n const appContainerState = useContext(AppContainerContext);\n useEffect(() => {\n if (appContainerState && isCurrent && typeof children === 'string') {\n appContainerState.setTitle(children);\n }\n\n return () => {\n if (appContainerState) {\n appContainerState.setTitle(undefined);\n }\n };\n }, [isCurrent]);\n\n const sideNavigationMenuBarContext = useContext(SideNavigationMenuBarContext);\n const sideNavigationMenuContext = useContext(SideNavigationMenuContext);\n const [isFirstChild, setIsFirstChild] = useState(false);\n const { menuItems } =\n sideNavigationMenuContext || sideNavigationMenuBarContext || {};\n\n useEffect(() => {\n if (!(sideNavigationMenuContext || sideNavigationMenuBarContext)) {\n setIsFirstChild(true);\n return;\n }\n\n const menuItemNode = (menuItemRef as MutableRefObject<HTMLAnchorElement>)\n .current;\n\n if (menuItemNode) {\n if (!menuItems.size) {\n setIsFirstChild(true);\n }\n\n menuItems.add(menuItemNode);\n }\n\n return () => {\n menuItems.delete(menuItemNode);\n };\n }, [menuItems]);\n\n return (\n <StyledSideNavigationMenuItem\n role=\"menuitem\"\n {...forwardedProps}\n $isCurrent={isCurrent}\n $isDisabled={isDisabled}\n $isSecondLevel={isSecondLevel}\n $withoutIcons={withoutIcons}\n aria-current={isCurrent ? 'page' : undefined}\n aria-disabled={isDisabled}\n className={classNames(SideNavigationMenuItem.className, className)}\n href={!isDisabled ? href : undefined}\n onClick={isDisabled ? undefined : onClick}\n onKeyDown={isDisabled ? undefined : onKeyDown}\n ref={menuItemRef as MutableRefObject<HTMLAnchorElement>}\n tabIndex={\n tabIndex !== undefined\n ? tabIndex\n : !sideNavigationMenuContext && isFirstChild\n ? 0\n : -1\n }\n >\n {icon ? (\n <Icon\n color=\"var(--redsift-side-navigation-color-menu-item-text-resting)\"\n {...iconProps}\n icon={icon}\n ref={iconRef as MutableRefObject<HTMLElement>}\n className=\"first\"\n size={IconSize.small}\n />\n ) : null}\n <span>{children}</span>\n {badge ? (\n <Badge variant={BadgeVariant.standard} color=\"error\" {...badgeProps}>\n {badge}\n </Badge>\n ) : null}\n </StyledSideNavigationMenuItem>\n );\n});\nSideNavigationMenuItem.className = CLASSNAME;\nSideNavigationMenuItem.defaultProps = DEFAULT_PROPS;\nSideNavigationMenuItem.displayName = COMPONENT_NAME;\n","import styled, { css } from 'styled-components';\nimport { StyledSideNavigationMenuProps } from './types';\n\n/**\n * Component style.\n */\nexport const StyledSideNavigationMenu = styled.div<StyledSideNavigationMenuProps>`\n > button {\n background-color: var(--redsift-side-navigation-color-background);\n border: none;\n ${({ $isDisabled }) =>\n !$isDisabled\n ? css`\n color: var(--redsift-side-navigation-color-menu-item-text-resting);\n `\n : css`\n color: var(--redsift-side-navigation-color-menu-item-text-disabled);\n `}\n align-items: center;\n display: flex;\n font-family: var(--redsift-typography-body-font-family);\n font-size: var(--redsift-typography-body-font-size);\n font-weight: var(--redsift-typography-body-font-weight);\n line-height: var(--redsift-typography-body-line-height);\n padding: 8px 16px;\n text-decoration: none;\n width: 100%;\n }\n\n ul {\n list-style: none;\n margin: unset;\n padding: unset;\n }\n\n .redsift-icon.first {\n padding-right: 16px;\n box-sizing: unset;\n }\n\n span {\n padding-right: 12px;\n }\n\n [dir='rtl'] & {\n .redsift-icon.first {\n padding-left: 16px;\n padding-right: unset;\n }\n\n span {\n padding-left: 12px;\n padding-right: unset;\n }\n }\n\n > button:hover,\n > button:focus-visible {\n outline: none;\n\n ${({ $isDisabled }) =>\n !$isDisabled\n ? css`\n background-color: var(\n --redsift-side-navigation-color-menu-item-background-hover\n );\n color: var(--redsift-side-navigation-color-menu-item-text-hover);\n cursor: pointer;\n\n .redsift-side-navigation-menu__expand-icon {\n color: var(--redsift-side-navigation-color-menu-item-text-hover);\n }\n `\n : ''}\n }\n\n .redsift-side-navigation-menu__expand-icon {\n ${({ $isDisabled }) =>\n !$isDisabled\n ? css`\n color: var(--redsift-side-navigation-color-menu-item-text-resting);\n `\n : css`\n color: var(--redsift-side-navigation-color-menu-item-text-disabled);\n `}\n margin-left: auto;\n }\n\n [dir='rtl'] & {\n .redsift-side-navigation-menu__expand-icon {\n margin-left: unset;\n margin-right: auto;\n }\n }\n\n /**\n * Display children or not\n */\n\n > ul {\n ${({ $isExpanded }) =>\n $isExpanded\n ? css`\n display: block;\n `\n : css`\n display: none;\n `}\n }\n`;\n","import {\n SideNavigationMenuReducerState,\n SideNavigationMenuReducerAction,\n SideNavigationMenuReducerActionType,\n} from './types';\n\nexport const SideNavigationMenuReducer = (\n state: SideNavigationMenuReducerState,\n action: SideNavigationMenuReducerAction\n): SideNavigationMenuReducerState => {\n switch (action.type) {\n case SideNavigationMenuReducerActionType.Expand:\n return { ...state, isExpanded: true };\n case SideNavigationMenuReducerActionType.Collapse:\n return {\n isExpanded: false,\n currentIndex: null!,\n previousIndex: null!,\n };\n case SideNavigationMenuReducerActionType.Move:\n return {\n ...state,\n isExpanded: true,\n currentIndex: action.index!,\n previousIndex: state.currentIndex,\n };\n }\n};\n","import React, {\n forwardRef,\n KeyboardEvent,\n MouseEvent,\n MutableRefObject,\n ReactElement,\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useReducer,\n useRef,\n useState,\n} from 'react';\nimport classNames from 'classnames';\nimport { mdiChevronDown, mdiChevronRight } from '@redsift/icons';\nimport { Comp } from '~/types';\nimport {\n SideNavigationMenuItem,\n SideNavigationMenuItemProps,\n} from '~/components/side-navigation-menu-item';\nimport { Icon, IconSize } from '~/components/icon';\nimport { Badge } from '~/components/badge';\nimport { StyledSideNavigationMenu } from './styles';\nimport {\n SideNavigationMenuContextProps,\n SideNavigationMenuProps,\n SideNavigationMenuReducerActionType,\n} from './types';\nimport { SideNavigationMenuContext } from './context';\nimport { SideNavigationMenuReducer } from './reducer';\nimport { SideNavigationMenuBarContext } from '../side-navigation-menu-bar/context';\nimport { warnIfNoAccessibleLabelFound } from '~/utils/warnIfNoAccessibleLabelFound';\n\nconst COMPONENT_NAME = 'RedSiftSideNavigationMenu';\nconst CLASSNAME = 'redsift-side-navigation-menu';\nconst DEFAULT_PROPS: Partial<SideNavigationMenuProps> = {};\n\n/**\n * The SideNavigationMenu component.\n */\nexport const SideNavigationMenu: Comp<SideNavigationMenuProps, HTMLDivElement> =\n forwardRef((props, ref) => {\n const {\n 'aria-label': ariaLabel,\n buttonProps = {},\n buttonRef = useRef<HTMLButtonElement>() as MutableRefObject<HTMLButtonElement>,\n children,\n className,\n hasBadge,\n icon,\n iconProps,\n iconRef = useRef<HTMLElement>(),\n isDisabled,\n isExpanded: propsIsExpanded,\n menuProps = {},\n menuRef = useRef<HTMLUListElement>(),\n tabIndex,\n withoutIcons,\n ...forwardedProps\n } = props;\n\n warnIfNoAccessibleLabelFound(props);\n\n const sideNavigationMenuBarContext = useContext(\n SideNavigationMenuBarContext\n );\n const [isFirstChild, setIsFirstChild] = useState(false);\n const { menuItems: menubarItems } = sideNavigationMenuBarContext || {};\n\n /**\n * Create an array containing only valid children which can only be SideNavigationMenuItem.\n * This prevent the navigation menubar to have more than two levels.\n */\n const childArray: ReactElement[] = [];\n React.Children.forEach(children, (child) => {\n if (\n React.isValidElement(child) &&\n (child.type as Comp<SideNavigationMenuItemProps>).displayName ===\n SideNavigationMenuItem.displayName\n ) {\n childArray.push(child);\n }\n });\n const renderedMenuItems = childArray.map((child, index) => {\n return (\n <li key={child.key ?? index} role=\"none\">\n {React.cloneElement(child, {\n icon: undefined, // Second-level item should not have icon\n isDisabled: child.props.isDisabled || isDisabled || undefined,\n isSecondLevel: true,\n key: child.key ?? index,\n withoutIcons,\n })}\n </li>\n );\n });\n\n const menuItems = useRef<Set<HTMLAnchorElement | HTMLButtonElement>>(\n new Set()\n ).current;\n const [state, dispatch] = useReducer(SideNavigationMenuReducer, {\n currentIndex: null!,\n isExpanded: Boolean(propsIsExpanded),\n previousIndex: null!,\n });\n const { isExpanded, currentIndex, previousIndex } = state;\n\n const first = useCallback(\n () =>\n dispatch({ type: SideNavigationMenuReducerActionType.Move, index: 0 }),\n []\n );\n\n const last = useCallback(\n () =>\n dispatch({\n type: SideNavigationMenuReducerActionType.Move,\n index: menuItems.size - 1,\n }),\n [menuItems.size]\n );\n\n const move = useCallback(\n (index: number) =>\n dispatch({ type: SideNavigationMenuReducerActionType.Move, index }),\n []\n );\n\n const open = useCallback(\n () => dispatch({ type: SideNavigationMenuReducerActionType.Expand }),\n []\n );\n\n const close = useCallback(\n (focusButton?: boolean) => {\n if (isExpanded) {\n if (focusButton) {\n buttonRef.current.focus();\n }\n\n dispatch({ type: SideNavigationMenuReducerActionType.Collapse });\n }\n },\n [isExpanded]\n );\n\n const previous = () => {\n const index = currentIndex === 0 ? menuItems.size - 1 : currentIndex - 1;\n move(index);\n };\n\n const next = () => {\n const index = currentIndex === menuItems.size - 1 ? 0 : currentIndex + 1;\n move(index);\n };\n\n const match = (e: React.KeyboardEvent<HTMLUListElement>) => {\n const items = Array.from(menuItems);\n\n // Reorder the array, starting with the currentNode\n const reorderedItems = [\n ...items.slice(currentIndex),\n ...items.slice(0, currentIndex),\n ];\n\n // Find all nodes that begin with the pressed letter\n const matches = reorderedItems.filter((menuItem) => {\n const { textContent } = menuItem;\n // istanbul ignore next\n const firstLetter = textContent?.toLowerCase().charAt(0);\n return e.key === firstLetter;\n });\n\n // Exit early if there are no matches\n if (!matches.length) {\n return;\n }\n\n // If the focused item is a match, focus the next match.\n // Otherwise, focus the first match\n const currentNode = items[currentIndex];\n const nextMatch = matches.includes(currentNode) ? matches[1] : matches[0];\n const index = items.findIndex((item) => {\n return item === nextMatch;\n });\n\n move(index);\n };\n\n const value = useMemo<SideNavigationMenuContextProps>(\n () => ({ menuItems }),\n [menuItems]\n );\n\n useEffect(() => {\n const items = Array.from(menuItems);\n\n if (currentIndex !== previousIndex) {\n const currentNode = items[currentIndex] as HTMLElement;\n currentNode?.focus();\n }\n }, [menuItems, currentIndex, previousIndex]);\n\n useEffect(() => {\n if (!sideNavigationMenuBarContext) {\n setIsFirstChild(true);\n return;\n }\n\n const menuItemNode = (buttonRef as MutableRefObject<HTMLButtonElement>)\n .current;\n\n if (menuItemNode) {\n menubarItems.add(menuItemNode);\n }\n\n return () => {\n menubarItems.delete(menuItemNode);\n };\n }, [menubarItems]);\n\n const keyDownOnButton = (e: KeyboardEvent<HTMLButtonElement>) => {\n if (isDisabled) {\n return;\n }\n const currentNode = e.target as HTMLUListElement;\n\n switch (e.code) {\n case 'Enter':\n case 'Space':\n e.stopPropagation();\n currentNode.click();\n first();\n break;\n case 'ArrowRight':\n e.stopPropagation();\n first();\n break;\n case 'ArrowLeft':\n last();\n break;\n default:\n break;\n }\n };\n\n const buttonEventHandler = {\n onClick: (event: MouseEvent<HTMLButtonElement>) => {\n if (isDisabled) {\n return;\n }\n\n buttonProps.onClick?.(event);\n event.stopPropagation();\n if (isExpanded) {\n close();\n } else {\n open();\n }\n },\n onKeyDown: (event: KeyboardEvent<HTMLButtonElement>) => {\n buttonProps.onKeyDown?.(event);\n keyDownOnButton(event);\n },\n };\n\n const keyDownOnMenuItemList = (e: KeyboardEvent<HTMLUListElement>) => {\n const currentNode = e.target as HTMLUListElement;\n\n switch (e.code) {\n case 'ArrowUp':\n e.stopPropagation();\n e.preventDefault();\n previous();\n break;\n case 'ArrowDown':\n e.stopPropagation();\n e.preventDefault();\n next();\n break;\n case 'ArrowLeft':\n e.preventDefault();\n e.stopPropagation();\n close(true);\n break;\n case 'ArrowRight':\n e.preventDefault();\n close(!sideNavigationMenuBarContext);\n break;\n case 'Home':\n e.stopPropagation();\n e.preventDefault();\n first();\n break;\n case 'End':\n e.stopPropagation();\n e.preventDefault();\n last();\n break;\n case 'Enter':\n case 'Space':\n e.preventDefault();\n currentNode.click();\n break;\n case 'Escape':\n e.stopPropagation();\n e.preventDefault();\n close(true);\n break;\n default:\n e.stopPropagation();\n match(e);\n break;\n }\n };\n\n const menuItemListEventHandler = {\n onKeyDown: (event: KeyboardEvent<HTMLUListElement>) => {\n menuProps.onKeyDown?.(event);\n keyDownOnMenuItemList(event);\n },\n onClick: (event: MouseEvent<HTMLUListElement>) => {\n if (isDisabled) {\n return;\n }\n menuProps.onClick?.(event);\n },\n };\n\n return (\n <StyledSideNavigationMenu\n {...forwardedProps}\n $isDisabled={isDisabled}\n $isExpanded={isExpanded}\n $withoutIcons={withoutIcons}\n className={classNames(SideNavigationMenu.className, className)}\n ref={ref as MutableRefObject<HTMLDivElement>}\n tabIndex={undefined}\n >\n <SideNavigationMenuContext.Provider value={value}>\n <button\n {...buttonProps}\n aria-disabled={isDisabled}\n aria-expanded={isExpanded ? 'true' : 'false'}\n aria-haspopup=\"true\"\n ref={buttonRef as MutableRefObject<HTMLButtonElement>}\n role=\"menuitem\"\n tabIndex={tabIndex !== undefined ? tabIndex : isFirstChild ? 0 : -1}\n type=\"button\"\n {...buttonEventHandler}\n >\n {icon ? (\n <Icon\n color=\"var(--redsift-side-navigation-color-menu-item-text-resting)\"\n {...iconProps}\n icon={icon}\n ref={iconRef as MutableRefObject<HTMLElement>}\n className={classNames(iconProps?.className, 'first')}\n size={IconSize.small}\n />\n ) : null}\n <span>{ariaLabel}</span>\n {hasBadge && !isExpanded ? <Badge color=\"error\" /> : null}\n {isExpanded ? (\n <Icon\n icon={mdiChevronDown}\n className={`${SideNavigationMenu.className}__expand-icon`}\n size={IconSize.small}\n />\n ) : (\n <Icon\n icon={mdiChevronRight}\n className={`${SideNavigationMenu.className}__expand-icon`}\n size={IconSize.small}\n />\n )}\n </button>\n <ul\n {...menuProps}\n aria-label={ariaLabel}\n aria-orientation=\"vertical\"\n hidden={!isExpanded}\n ref={menuRef as MutableRefObject<HTMLUListElement>}\n role=\"menu\"\n {...menuItemListEventHandler}\n >\n {renderedMenuItems}\n </ul>\n </SideNavigationMenuContext.Provider>\n </StyledSideNavigationMenu>\n );\n });\nSideNavigationMenu.className = CLASSNAME;\nSideNavigationMenu.defaultProps = DEFAULT_PROPS;\nSideNavigationMenu.displayName = COMPONENT_NAME;\n","import styled, { css } from 'styled-components';\nimport { StyledSideNavigationMenuBarProps } from './types';\n\n/**\n * Component style.\n */\nexport const StyledSideNavigationMenuBar = styled.nav<StyledSideNavigationMenuBarProps>`\n background-color: var(--redsift-side-navigation-color-background);\n overflow-y: auto;\n width: 240px;\n\n ${({ $marginTop = 0 }) =>\n $marginTop\n ? css`\n height: calc(100% - ${$marginTop}px);\n `\n : ''}\n\n ul {\n list-style: none;\n margin: unset;\n padding: unset;\n }\n\n scrollbar-color: var(--redsift-side-navigation-color-scrollbar-resting)\n transparent;\n scrollbar-width: thin;\n\n &::-webkit-scrollbar {\n block-size: 9px;\n inline-size: 9px;\n }\n\n &::-webkit-scrollbar-thumb {\n background-clip: padding-box;\n background-color: var(--redsift-side-navigation-color-scrollbar-resting);\n border-radius: 0px;\n border-left: 2px solid transparent;\n border-right: 2px solid transparent;\n }\n\n &::-webkit-scrollbar-track {\n background-color: transparent;\n }\n\n &::-webkit-scrollbar-thumb:horizontal,\n &::-webkit-scrollbar-thumb:vertical {\n &:hover {\n background-color: var(--redsift-side-navigation-color-scrollbar-hover);\n }\n }\n\n &::-webkit-scrollbar-corner {\n visibility: hidden;\n }\n`;\n","import { useState, useEffect, MutableRefObject } from 'react';\n\n/**\n * Get the bounding rect of a component.\n */\nexport const useBoundingClientRect = (\n ref: MutableRefObject<HTMLElement>,\n deps?: any[]\n) => {\n const [boundingRect, setBoundingRect] = useState<DOMRect>({} as DOMRect);\n\n useEffect(() => {\n if (ref.current) {\n setBoundingRect(ref.current.getBoundingClientRect());\n }\n }, deps);\n\n return boundingRect;\n};\n","import React, {\n forwardRef,\n KeyboardEvent,\n MutableRefObject,\n ReactElement,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport classNames from 'classnames';\nimport { Comp } from '~/types';\nimport {\n SideNavigationMenu,\n SideNavigationMenuProps,\n} from '~/components/side-navigation-menu';\nimport {\n SideNavigationMenuItem,\n SideNavigationMenuItemProps,\n} from '~/components/side-navigation-menu-item';\nimport { warnIfNoAccessibleLabelFound } from '~/utils/warnIfNoAccessibleLabelFound';\nimport { StyledSideNavigationMenuBar } from './styles';\nimport {\n SideNavigationMenuBarProps,\n SideNavigationMenuBarContextProps,\n} from './types';\nimport { SideNavigationMenuBarContext } from './context';\nimport { useBoundingClientRect } from '~/hooks/useBoundingRect';\n\nconst COMPONENT_NAME = 'RedSiftSideNavigationMenuBar';\nconst CLASSNAME = 'redsift-side-navigation-menu-bar';\nconst DEFAULT_PROPS: Partial<SideNavigationMenuBarProps> = {};\n\n/**\n * Hook to store the previous index for further use\n */\nconst usePrevious = (value: number) => {\n const ref = useRef(0);\n\n useEffect(() => {\n ref.current = value;\n }, [value]);\n\n return ref.current;\n};\n\n/**\n * The SideNavigationMenuBar component.\n */\nexport const SideNavigationMenuBar: Comp<\n SideNavigationMenuBarProps,\n HTMLElement\n> = forwardRef((props, ref) => {\n const navRef = (ref ||\n useRef<HTMLElement>()) as MutableRefObject<HTMLElement>;\n\n const {\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledby,\n children,\n className,\n isDisabled,\n menubarProps = {},\n menubarRef = useRef<HTMLUListElement>(),\n withoutIcons,\n ...forwardedProps\n } = props;\n\n warnIfNoAccessibleLabelFound(props);\n const { top } = useBoundingClientRect(navRef, [children]);\n\n /**\n * Create an array containing only valid children being either SideNavigationMenu or SideNavigationMenuItem.\n */\n const childArray: ReactElement[] = [];\n React.Children.forEach(children, (child) => {\n if (\n React.isValidElement(child) &&\n [\n SideNavigationMenu.displayName,\n SideNavigationMenuItem.displayName,\n ].includes(\n (\n child.type as Comp<\n SideNavigationMenuProps | SideNavigationMenuItemProps\n >\n ).displayName\n )\n ) {\n childArray.push(child);\n }\n });\n const navItems = childArray.map((child, index) => {\n return (\n <li key={child.key ?? index} role=\"none\">\n {React.cloneElement(child, {\n isDisabled: child.props.isDisabled || isDisabled || undefined,\n key: child.key ?? index,\n // First-level children should have icon, even empty one (except when withoutIcons is set to true)\n icon: withoutIcons ? undefined : child.props.icon || 'M 0,0',\n withoutIcons,\n tabIndex: index === 0 ? 0 : -1,\n })}\n </li>\n );\n });\n\n const menuItems = useRef<Set<HTMLAnchorElement | HTMLButtonElement>>(\n new Set()\n ).current;\n const [currentIndex, setCurrentIndex] = useState(0);\n const previousIndex = usePrevious(currentIndex);\n\n const first = () => setCurrentIndex(0);\n\n const last = () => setCurrentIndex(menuItems.size - 1);\n\n const next = () => {\n const index = currentIndex === menuItems.size - 1 ? 0 : currentIndex + 1;\n setCurrentIndex(index);\n };\n\n const previous = () => {\n const index = currentIndex === 0 ? menuItems.size - 1 : currentIndex - 1;\n setCurrentIndex(index);\n };\n\n const match = (event: React.KeyboardEvent<HTMLUListElement>) => {\n const items = Array.from(menuItems);\n\n // Reorder the array, starting with the currentNode\n const reorderedItems = [\n ...items.slice(currentIndex),\n ...items.slice(0, currentIndex),\n ];\n\n // Find all nodes that begin with the pressed letter\n const matches = reorderedItems.filter((menuItem) => {\n const { textContent } = menuItem;\n // istanbul ignore next\n const firstLetter = textContent?.toLowerCase().charAt(0);\n return event.key === firstLetter;\n });\n\n // Exit early if there are no matches\n if (!matches.length) {\n return;\n }\n\n // If the focused item is a match, focus the next match.\n // Otherwise, focus the first match\n const currentNode = items[currentIndex];\n const nextMatch = matches.includes(currentNode) ? matches[1] : matches[0];\n const index = items.findIndex((item) => {\n return item === nextMatch;\n });\n\n setCurrentIndex(index);\n };\n\n const keyDown = (e: KeyboardEvent<HTMLUListElement>) => {\n menubarProps.onKeyDown?.(e);\n e.stopPropagation();\n\n const currentNode = e.target as HTMLUListElement;\n // istanbul ignore next\n const parentMenu = currentNode?.parentNode?.parentNode as HTMLElement;\n const isFromSubmenu = parentMenu.getAttribute('role') === 'menu';\n\n switch (e.code) {\n case 'ArrowUp':\n e.preventDefault();\n previous();\n break;\n case 'ArrowDown':\n e.preventDefault();\n next();\n break;\n case 'ArrowRight':\n e.preventDefault();\n if (isFromSubmenu) {\n next();\n }\n break;\n case 'End':\n e.preventDefault();\n last();\n break;\n case 'Home':\n e.preventDefault();\n first();\n break;\n case 'Enter':\n case 'Space':\n e.preventDefault();\n currentNode.click();\n break;\n default:\n match(e);\n break;\n }\n };\n\n const value = useMemo<SideNavigationMenuBarContextProps>(\n () => ({ menuItems }),\n [menuItems]\n );\n\n useEffect(() => {\n if (currentIndex !== previousIndex) {\n const items = Array.from(menuItems);\n const currentNode = items[currentIndex] as HTMLElement;\n const previousNode = items[previousIndex] as HTMLElement;\n\n // istanbul ignore next\n previousNode?.setAttribute('tabindex', '-1');\n currentNode?.setAttribute('tabindex', '0');\n currentNode?.focus();\n }\n }, [currentIndex, previousIndex, menuItems]);\n\n return (\n <StyledSideNavigationMenuBar\n {...forwardedProps}\n $isDisabled={isDisabled}\n $marginTop={top}\n $withoutIcons={withoutIcons}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledby}\n className={classNames(SideNavigationMenuBar.className, className)}\n ref={navRef as MutableRefObject<HTMLElement>}\n >\n <SideNavigationMenuBarContext.Provider value={value}>\n <ul\n {...menubarProps}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledby}\n aria-orientation=\"vertical\"\n onKeyDown={keyDown}\n ref={menubarRef as MutableRefObject<HTMLUListElement>}\n role=\"menubar\"\n >\n {navItems}\n </ul>\n </SideNavigationMenuBarContext.Provider>\n </StyledSideNavigationMenuBar>\n );\n});\nSideNavigationMenuBar.className = CLASSNAME;\nSideNavigationMenuBar.defaultProps = DEFAULT_PROPS;\nSideNavigationMenuBar.displayName = COMPONENT_NAME;\n","import React, { MutableRefObject } from 'react';\nimport { SideNavigationMenu } from '~/components/side-navigation-menu';\nimport { SideNavigationMenuItem } from '~/components/side-navigation-menu-item';\nimport {\n MenuBarItems,\n MenuItem,\n Menu,\n SideNavigationMenuBarProps,\n} from './types';\n\nconst isMenu = (item: MenuItem | Menu): item is Menu => {\n return (item as Menu).children !== undefined;\n};\n\nexport interface UseSideNavigationMenuBarProps {\n items: MenuBarItems;\n isActive?: (href: string) => boolean;\n}\n\nexport const useSideNavigationMenuBar = ({\n items,\n isActive,\n}: UseSideNavigationMenuBarProps): Omit<SideNavigationMenuBarProps, 'ref'> => {\n const menuBarChildren: SideNavigationMenuBarProps['children'][] = [];\n\n items.map((item) => {\n if (!isMenu(item)) {\n const { title, href, ref, ...rest } = item;\n menuBarChildren.push(\n <SideNavigationMenuItem\n key={title}\n isCurrent={isActive ? isActive(href!) : undefined}\n {...rest}\n href={href}\n ref={ref as MutableRefObject<HTMLAnchorElement>}\n >\n {title}\n </SideNavigationMenuItem>\n );\n } else {\n const { title, children, ref, ...rest } = item;\n menuBarChildren.push(\n <SideNavigationMenu\n key={title}\n aria-label={title}\n isExpanded={\n isActive\n ? children.filter((child) => isActive(child.href!)).length > 0\n : undefined\n }\n hasBadge={children.filter((child) => child.badge).length > 0}\n {...rest}\n ref={ref as MutableRefObject<HTMLDivElement>}\n >\n {children.map((child) => {\n const { title, href, ref, ...rest } = child;\n return (\n <SideNavigationMenuItem\n key={title}\n href={href}\n isCurrent={isActive ? isActive(href!) : undefined}\n {...rest}\n ref={ref as MutableRefObject<HTMLAnchorElement>}\n >\n {title}\n </SideNavigationMenuItem>\n );\n })}\n </SideNavigationMenu>\n );\n }\n });\n\n return {\n children: menuBarChildren,\n };\n};\n","import React from 'react';\nimport {\n SideNavigationMenuBar,\n useSideNavigationMenuBar,\n UseSideNavigationMenuBarProps,\n} from '~/components/side-navigation-menu-bar';\nimport { AppSidePanelProps } from './types';\n\nexport const useAppSidePanel = ({\n items,\n isActive,\n}: UseSideNavigationMenuBarProps): Omit<AppSidePanelProps, 'ref'> => {\n const sideNavigationMenuBarProps = useSideNavigationMenuBar({\n items,\n isActive,\n });\n\n return {\n children: (\n <SideNavigationMenuBar\n {...sideNavigationMenuBarProps}\n aria-label=\"Navigation\"\n />\n ),\n };\n};\n","import styled, { css } from 'styled-components';\nimport { ProductColorPalette } from '~/types';\nimport { StyledAppContentProps } from './types';\n\n/**\n * Component style.\n */\nexport const StyledAppContent = styled.main<StyledAppContentProps>`\n box-sizing: border-box;\n margin-top: 72px;\n min-height: calc(100vh - 72px);\n padding: 16px 32px;\n\n ${({ $isSidePanelCollapsed }) =>\n !$isSidePanelCollapsed\n ? css`\n transform: translate(240px);\n width: calc(100% - 240px);\n `\n : `\n transform: translate(0px);\n width: 100%;\n `}\n\n ${({ $isLoaded }) =>\n $isLoaded\n ? css`\n transition: transform 0.25s ease-out, width 0.25s ease-out;\n `\n : ''}\n\n ${({ $productTheme }) =>\n $productTheme &&\n Object.keys(ProductColorPalette).indexOf($productTheme) !== -1\n ? css`\n --redsift-color-default-primary: var(\n --redsift-color-${$productTheme}-primary\n );\n --redsift-color-default-secondary: var(\n --redsift-color-${$productTheme}-secondary\n );\n --redsift-color-default-hover: var(\n --redsift-color-${$productTheme}-hover\n );\n --redsift-color-default-active: var(\n --redsift-color-${$productTheme}-active\n );\n --redsift-color-default-active-hover: var(\n --redsift-color-${$productTheme}-active-hover\n );\n --redsift-color-default-primary-active: var(\n --redsift-color-${$productTheme}-primary-active\n );\n `\n : ''}\n`;\n","import React, { forwardRef, RefObject, useContext } from 'react';\nimport classNames from 'classnames';\nimport { Comp } from '~/types';\nimport { AppContainerContext } from '~/components/app-container/context';\nimport { useIsLoaded } from '~/hooks/useIsLoaded';\nimport { StyledAppContent } from './styles';\nimport { AppContentProps } from './types';\n\nconst COMPONENT_NAME = 'RedSiftAppContent';\nconst CLASSNAME = 'redsift-app-content';\nconst DEFAULT_PROPS: Partial<AppContentProps> = {};\n\n/**\n * The AppContent component.\n */\nexport const AppContent: Comp<AppContentProps, HTMLElement> = forwardRef(\n (props, ref) => {\n const { children, className, productTheme, ...forwardedProps } = props;\n\n const { isLoaded } = useIsLoaded();\n const appContainerState = useContext(AppContainerContext);\n\n return (\n <StyledAppContent\n {...forwardedProps}\n $isLoaded={isLoaded}\n $isSidePanelCollapsed={\n appContainerState ? appContainerState.isSidePanelCollapsed : true\n }\n $productTheme={productTheme}\n className={classNames(AppContent.className, className)}\n ref={ref as RefObject<HTMLElement>}\n >\n {children}\n </StyledAppContent>\n );\n }\n);\nAppContent.className = CLASSNAME;\nAppContent.defaultProps = DEFAULT_PROPS;\nAppContent.displayName = COMPONENT_NAME;\n","import styled, { css } from 'styled-components';\nimport { ProductColorPalette } from '~/types';\nimport { StyledAppContainerProps } from './types';\n\n/**\n * Component style.\n */\nexport const StyledAppContainer = styled.div<StyledAppContainerProps>`\n ${({ $productTheme }) =>\n $productTheme &&\n Object.keys(ProductColorPalette).indexOf($productTheme) !== -1\n ? css`\n --redsift-color-default-primary: var(\n --redsift-color-${$productTheme}-primary\n );\n --redsift-color-default-secondary: var(\n --redsift-color-${$productTheme}-secondary\n );\n --redsift-color-default-hover: var(\n --redsift-color-${$productTheme}-hover\n );\n --redsift-color-default-active: var(\n --redsift-color-${$productTheme}-active\n );\n --redsift-color-default-active-hover: var(\n --redsift-color-${$productTheme}-active-hover\n );\n --redsift-color-default-primary-active: var(\n --redsift-color-${$productTheme}-primary-active\n );\n `\n : ''}\n`;\n","import React, { forwardRef, RefObject, useMemo, useState } from 'react';\nimport classNames from 'classnames';\nimport { Comp } from '~/types';\nimport { AppBar, AppBarProps } from '~/components/app-bar';\nimport { AppSidePanelProps, AppSidePanel } from '~/components/app-side-panel';\nimport { AppContentProps, AppContent } from '~/components/app-content';\nimport { AppContainerProps } from './types';\nimport { AppContainerContext } from './context';\nimport { StyledAppContainer } from './styles';\n\nconst COMPONENT_NAME = 'RedSiftAppContainer';\nconst CLASSNAME = 'redsift-app-container';\nconst DEFAULT_PROPS: Partial<AppContainerProps> = {};\n\n/**\n * The AppContainer component.\n */\nexport const AppContainer: Comp<AppContainerProps, HTMLDivElement> = forwardRef(\n (props, ref) => {\n const { children, className, productTheme, ...forwardedProps } = props;\n\n const { hasAppBar, hasAppSidePanel, hasAppContent } = useMemo(() => {\n let hasAppBar = false;\n let hasAppSidePanel = false;\n let hasAppContent = false;\n\n React.Children.forEach(children, (child) => {\n if (React.isValidElement(child)) {\n if (\n (child.type as Comp<AppBarProps>).displayName === AppBar.displayName\n ) {\n hasAppBar = true;\n } else if (\n (child.type as Comp<AppSidePanelProps>).displayName ===\n AppSidePanel.displayName\n ) {\n hasAppSidePanel = true;\n } else if (\n (child.type as Comp<AppContentProps>).displayName ===\n AppContent.displayName\n ) {\n hasAppContent = true;\n }\n }\n });\n\n return {\n hasAppBar,\n hasAppSidePanel,\n hasAppContent,\n };\n }, [children]);\n\n if (!(hasAppBar && hasAppSidePanel && hasAppContent)) {\n console.warn(\n 'The AppContainer should contain an AppSidePanel, an AppBar and an AppContent to work properly.'\n );\n }\n\n const [isSidePanelCollapsed, setIsSidePanelCollapsed] =\n useState<boolean>(false);\n const [title, setTitle] = useState<string | undefined>();\n\n const state = {\n collapseSidePanel() {\n setIsSidePanelCollapsed(true);\n },\n expandSidePanel() {\n setIsSidePanelCollapsed(false);\n },\n hasAppBar,\n hasAppSidePanel,\n hasAppContent,\n setTitle(title: string) {\n setTitle(title);\n },\n isSidePanelCollapsed,\n title,\n };\n\n return (\n <StyledAppContainer\n {...forwardedProps}\n $productTheme={productTheme}\n className={classNames(AppContainer.className, className)}\n ref={ref as RefObject<HTMLDivElement>}\n >\n <AppContainerContext.Provider value={state}>\n {children}\n </AppContainerContext.Provider>\n </StyledAppContainer>\n );\n }\n);\nAppContainer.className = CLASSNAME;\nAppContainer.defaultProps = DEFAULT_PROPS;\nAppContainer.displayName = COMPONENT_NAME;\n","import styled, { css } from 'styled-components';\nimport { StyledBreadcrumbItemProps } from './types';\n\n/**\n * Component style.\n */\nexport const StyledBreadcrumbItem = styled.a<StyledBreadcrumbItemProps>`\n background: none;\n border: none;\n font-family: var(--redsift-typography-body-font-family);\n font-size: var(--redsift-typography-body-font-size);\n font-weight: var(--redsift-typography-body-font-weight);\n line-height: var(--redsift-typography-body-line-height);\n padding: 4px;\n text-decoration: none;\n\n ${({ $isDisabled, $isCurrent }) => css`\n ${$isDisabled\n ? `\n color: var(--redsift-color-neutral-midgrey);\n `\n : $isCurrent\n ? `\n color: var(--redsift-color-default-primary);\n `\n : `\n color: var(--redsift-color-neutral-darkgrey);\n `}\n\n ${!$isDisabled &&\n !$isCurrent &&\n css`\n &:hover,\n &:focus-visible {\n cursor: pointer;\n text-decoration: underline;\n text-underline-offset: 2px;\n }\n `}\n `}\n\n &:focus-visible {\n outline: 2px solid var(--redsift-color-neutral-darkgrey);\n }\n`;\n","import React, { forwardRef, RefObject } from 'react';\nimport classNames from 'classnames';\nimport { Comp } from '~/types';\nimport { warnIfNoAccessibleLabelFound } from '~/utils/warnIfNoAccessibleLabelFound';\nimport { StyledBreadcrumbItem } from './styles';\nimport { BreadcrumbItemProps } from './types';\n\nconst COMPONENT_NAME = 'RedSiftBreadcrumbItem';\nconst CLASSNAME = 'redsift-breadcrumb-item';\nconst DEFAULT_PROPS: Partial<BreadcrumbItemProps> = {};\n\n/**\n * The BreadcrumbItem components is a list of links to the parent pages of the current page in hierarchical order.\n */\nexport const BreadcrumbItem: Comp<BreadcrumbItemProps, HTMLAnchorElement> =\n forwardRef((props, ref) => {\n const {\n children,\n className,\n href,\n isCurrent,\n isDisabled,\n ...forwardedProps\n } = props;\n\n warnIfNoAccessibleLabelFound(props, [children]);\n\n return (\n <StyledBreadcrumbItem\n role=\"link\"\n tabIndex={!isDisabled && !isCurrent ? 0 : undefined}\n {...forwardedProps}\n $isCurrent={isCurrent}\n $isDisabled={isDisabled}\n aria-current={isCurrent ? 'page' : undefined}\n aria-disabled={isDisabled || isCurrent}\n className={classNames(BreadcrumbItem.className, className)}\n href={!isDisabled && !isCurrent ? href : undefined}\n ref={ref as RefObject<HTMLAnchorElement>}\n >\n {children}\n </StyledBreadcrumbItem>\n );\n });\nBreadcrumbItem.className = CLASSNAME;\nBreadcrumbItem.defaultProps = DEFAULT_PROPS;\nBreadcrumbItem.displayName = COMPONENT_NAME;\n","import styled, { css } from 'styled-components';\nimport { StyledBreadcrumbsProps } from './types';\n\n/**\n * Component style.\n */\nexport const StyledBreadcrumbs = styled.nav<StyledBreadcrumbsProps>`\n ol {\n display: inline-flex;\n list-style: none;\n padding: unset;\n }\n\n .redsift-breadcrumbs__separator {\n font-family: var(--redsift-typography-body-font-family);\n font-size: var(--redsift-typography-body-font-size);\n font-weight: var(--redsift-typography-body-font-weight);\n line-height: var(--redsift-typography-body-line-height);\n margin: 0px 4px;\n\n ${({ $isDisabled }) =>\n $isDisabled\n ? css`\n color: var(--redsift-color-neutral-midgrey);\n `\n : css`\n color: var(--redsift-color-neutral-black);\n `}\n }\n`;\n","import React, { forwardRef, ReactElement, RefObject } from 'react';\nimport classNames from 'classnames';\nimport { Comp } from '~/types';\nimport { BreadcrumbItem } from '~/components/breadcrumb-item';\nimport { warnIfNoAccessibleLabelFound } from '~/utils/warnIfNoAccessibleLabelFound';\nimport { StyledBreadcrumbs } from './styles';\nimport { BreadcrumbsProps } from './types';\n\nconst COMPONENT_NAME = 'RedSiftBreadcrumbs';\nconst CLASSNAME = 'redsift-breadcrumbs';\nconst DEFAULT_PROPS: Partial<BreadcrumbsProps> = {};\n\n/**\n * The Breadcrumbs components is a list of links to the parent pages of the current page in hierarchical order.\n */\nexport const Breadcrumbs: Comp<BreadcrumbsProps, HTMLElement> = forwardRef(\n (props, ref) => {\n const { children, className, isDisabled, ...forwardedProps } = props;\n\n warnIfNoAccessibleLabelFound(props);\n\n const childArray: ReactElement[] = [];\n React.Children.forEach(children, (child) => {\n if (React.isValidElement(child)) {\n childArray.push(child);\n }\n });\n\n const breadcrumbItems = childArray.map((child, index) => {\n const isCurrent = index === childArray.length - 1;\n\n return (\n <li key={index}>\n <BreadcrumbItem\n isDisabled={child.props.isDisabled || isDisabled || undefined}\n {...child.props}\n key={child.key ?? index}\n isCurrent={isCurrent}\n />\n {isCurrent === false ? (\n <span className={`${Breadcrumbs.className}__separator`}>{'/'}</span>\n ) : null}\n </li>\n );\n });\n\n return (\n <StyledBreadcrumbs\n {...forwardedProps}\n $isDisabled={isDisabled}\n className={classNames(Breadcrumbs.className, className)}\n ref={ref as RefObject<HTMLElement>}\n >\n <ol>{breadcrumbItems}</ol>\n </StyledBreadcrumbs>\n );\n }\n);\nBreadcrumbs.className = CLASSNAME;\nBreadcrumbs.defaultProps = DEFAULT_PROPS;\nBreadcrumbs.displayName = COMPONENT_NAME;\n","import React, { forwardRef, RefObject } from 'react';\nimport classNames from 'classnames';\nimport { ColorPalette, Comp } from '~/types';\nimport { Icon } from '~/components/icon';\nimport { ButtonVariant, StyledButton } from '~/components/button';\nimport { ButtonLinkProps } from './types';\n\nconst COMPONENT_NAME = 'RedSiftButtonLink';\nconst CLASSNAME = 'redsift-button-link';\nconst DEFAULT_PROPS: Partial<ButtonLinkProps> = {\n color: ColorPalette.default,\n variant: ButtonVariant.primary,\n};\n\n/**\n * The ButtonLink is a semantic link that looks like a button.\n *\n * For a semantic button that looks like a button, please use the Button component.\n * For a semantic link that looks like a link, please use the Link component.\n * For a semantic button that looks like a link, please use the LinkButton component.\n */\nexport const ButtonLink: Comp<ButtonLinkProps, HTMLAnchorElement> = forwardRef(\n (props, ref) => {\n const {\n as,\n children,\n className,\n color,\n href,\n isActive,\n isDisabled,\n leftIcon,\n rightIcon,\n target,\n variant,\n ...forwardedProps\n } = props;\n\n return (\n <StyledButton\n as={as || 'a'}\n role=\"link\"\n tabIndex={!isDisabled ? 0 : undefined}\n {...forwardedProps}\n $color={color}\n $isActive={isActive}\n $isDisabled={isDisabled}\n $variant={variant}\n className={classNames(ButtonLink.className, className)}\n href={!isDisabled ? href : undefined}\n ref={ref as RefObject<HTMLAnchorElement>}\n target={target}\n >\n {leftIcon ? (\n <Icon icon={leftIcon} aria-hidden=\"true\" className=\"left\" />\n ) : null}\n {children && <span>{children}</span>}\n {rightIcon ? (\n <Icon icon={rightIcon} aria-hidden=\"true\" className=\"right\" />\n ) : null}\n </StyledButton>\n );\n }\n);\nButtonLink.className = CLASSNAME;\nButtonLink.defaultProps = DEFAULT_PROPS;\nButtonLink.displayName = COMPONENT_NAME;\n","import React from 'react';\nimport { CheckboxGroupState } from './types';\n\nexport const CheckboxGroupContext =\n React.createContext<CheckboxGroupState | null>(null);\n","import styled, { css } from 'styled-components';\nimport { StyledCheckboxProps } from './types';\n\n/**\n * Component style.\n */\nexport const StyledCheckbox = styled.label<StyledCheckboxProps>`\n align-items: baseline;\n background: none;\n border: none;\n display: inline-flex;\n position: relative;\n width: fit-content;\n\n input {\n height: 100%;\n margin: 0;\n opacity: 0;\n overflow: visible;\n padding: 0;\n position: absolute;\n width: 100%;\n }\n\n span.label {\n ${({ $isDisabled, $isInvalid }) =>\n $isDisabled\n ? css`\n color: var(--redsift-color-neutral-midgrey);\n `\n : $isInvalid\n ? css`\n color: var(--redsift-color-error-primary);\n `\n : css`\n color: var(--redsift-color-neutral-black);\n `}\n\n font-family: var(--redsift-typography-body-font-family);\n font-size: var(--redsift-typography-body-font-size);\n font-weight: var(--redsift-typography-body-font-weight);\n line-height: var(--redsift-typography-body-line-height);\n padding-right: 16px;\n position: relative;\n top: -4px;\n\n [dir='rtl'] & {\n padding-left: 16px;\n padding-right: 0px;\n }\n }\n\n .redsift-icon {\n padding: 8px;\n width: 24px;\n\n ${({ $isDisabled, $isInvalid, $isFocusVisible }) => css`\n ${$isDisabled\n ? css`\n color: var(--redsift-color-neutral-midgrey);\n `\n : $isInvalid\n ? css`\n color: var(--redsift-color-error-primary);\n `\n : css`\n color: var(--redsift-color-default-primary);\n `}\n\n ${$isFocusVisible\n ? css`\n background-color: var(--redsift-color-default-hover);\n border-radius: 21px;\n `\n : ''}\n `}\n }\n\n &:hover,\n &:focus-visible {\n outline: none;\n\n ${({ $isDisabled }) =>\n !$isDisabled\n ? css`\n .redsift-icon {\n background-color: var(--redsift-color-default-hover);\n border-radius: 21px;\n }\n `\n : ''}\n }\n\n ${({ $isFocusVisible }) =>\n $isFocusVisible\n ? css`\n .redsift-icon {\n background-color: var(--redsift-color-default-hover);\n border-radius: 21px;\n }\n `\n : ''}\n`;\n","import React, {\n ComponentProps,\n forwardRef,\n MutableRefObject,\n useCallback,\n useContext,\n useEffect,\n useState,\n} from 'react';\nimport classNames from 'classnames';\nimport { useFocusRing } from '@react-aria/focus';\nimport {\n mdiCheckboxBlankOutline,\n mdiMinusBox,\n mdiCheckboxMarked,\n} from '@redsift/icons';\nimport { Comp } from '~/types';\nimport { Icon } from '~/components/icon';\nimport { CheckboxGroupContext } from '~/components/checkbox-group/context';\nimport { warnIfNoAccessibleLabelFound } from '~/utils/warnIfNoAccessibleLabelFound';\nimport { CheckboxProps } from './types';\nimport { StyledCheckbox } from './styles';\n\nconst COMPONENT_NAME = 'RedSiftCheckbox';\nconst CLASSNAME = 'redsift-checkbox';\nconst DEFAULT_PROPS: Partial<CheckboxProps> = {};\n\n/**\n * The Checkbox component.\n * Works both inside a CheckboxGroup or as standalone.\n * Can be used as controlled or uncontrolled.\n */\nexport const Checkbox: Comp<CheckboxProps, HTMLLabelElement> = forwardRef(\n (props, ref) => {\n const groupState = useContext(CheckboxGroupContext);\n\n let {\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledby,\n autoFocus,\n children,\n className,\n defaultSelected,\n inputProps,\n inputRef,\n isControlled,\n isDisabled,\n isIndeterminate,\n isInvalid,\n isReadOnly,\n isRequired,\n isSelected: propsIsSelected,\n name,\n onChange,\n value,\n ...forwardedProps\n } = props;\n\n const { isFocusVisible, focusProps } = useFocusRing({ autoFocus });\n isDisabled = isDisabled || groupState?.isDisabled;\n isReadOnly = isReadOnly || groupState?.isReadOnly;\n\n const [isSelected, setSelected] = useState(\n propsIsSelected ||\n defaultSelected ||\n groupState?.value.includes(value as string)\n );\n useEffect(() => {\n if (groupState) {\n setSelected(groupState.value.includes(value as string));\n }\n }, [groupState?.value]);\n\n warnIfNoAccessibleLabelFound(props as ComponentProps<'label'>, [children]);\n\n if (groupState && !isControlled) {\n if (propsIsSelected != null) {\n console.warn(\n 'isSelected is unsupported on individual <Checkbox> elements within a <CheckboxGroup> unless the <Checkbox> is controlled. Please apply this prop to the group instead or pass isControlled to the component.'\n );\n }\n if (defaultSelected != null) {\n console.warn(\n 'defaultSelected is unsupported on individual <Checkbox> elements within a <CheckboxGroup> unless the <Checkbox> is controlled. Please apply this prop to the group instead or pass isControlled to the component.'\n );\n }\n if (props.value == null) {\n console.warn(\n 'A <Checkbox> element within a <CheckboxGroup> requires a `value` property unless the <Checkbox> is controlled.'\n );\n }\n }\n\n const handleChange = useCallback(\n (event: React.ChangeEvent<HTMLInputElement>) => {\n if (isDisabled || isReadOnly) {\n return;\n }\n\n if (groupState) {\n if (!groupState.value.includes(value as string)) {\n groupState.addValue(value as string);\n } else {\n groupState.removeValue(value as string);\n }\n }\n\n if (onChange) {\n onChange(!isSelected, value, name, event, groupState!);\n }\n setSelected(event.target.checked);\n },\n [onChange, groupState]\n );\n\n return (\n <StyledCheckbox\n {...forwardedProps}\n $isDisabled={isDisabled}\n $isFocusVisible={isFocusVisible}\n $isInvalid={isInvalid || (isRequired && !isSelected)}\n $isRequired={isRequired}\n $isSelected={isSelected}\n className={classNames(Checkbox.className, className)}\n ref={ref as MutableRefObject<HTMLLabelElement>}\n >\n <input\n {...inputProps}\n {...focusProps}\n aria-checked={\n isSelected || (isControlled && propsIsSelected)\n ? 'true'\n : isIndeterminate\n ? 'mixed'\n : 'false'\n }\n aria-disabled={isDisabled}\n aria-invalid={isInvalid || (isRequired && !isSelected)}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledby}\n aria-readonly={isReadOnly}\n aria-required={isRequired}\n checked={isSelected ? true : false}\n disabled={isDisabled}\n name={name}\n onChange={handleChange}\n ref={inputRef as MutableRefObject<HTMLInputElement>}\n type=\"checkbox\"\n value={value}\n />\n {isSelected || (isControlled && propsIsSelected) ? (\n <Icon icon={mdiCheckboxMarked} />\n ) : isIndeterminate ? (\n <Icon icon={mdiMinusBox} />\n ) : (\n <Icon icon={mdiCheckboxBlankOutline} />\n )}\n {children ? <span className=\"label\">{children}</span> : null}\n </StyledCheckbox>\n );\n }\n);\nCheckbox.className = CLASSNAME;\nCheckbox.defaultProps = DEFAULT_PROPS;\nCheckbox.displayName = COMPONENT_NAME;\n","import { ComponentProps } from 'react';\nimport { ValueOf } from '~/types';\n\n/**\n * Context props.\n */\nexport type CheckboxGroupState = {\n /** Adds a value to the set of selected values. */\n addValue(value: string): void;\n /** Whether the checkbox group is disabled or not. */\n readonly isDisabled: boolean;\n /** Whether the checkbox group is read only or not. */\n readonly isReadOnly: boolean;\n /** Removes a value from the set of selected values. */\n removeValue(value: string): void;\n /** Sets the selected values. */\n setValue(value: string[]): void;\n /** Current selected values. */\n readonly value: readonly string[];\n};\n\n/**\n * Component orientation.\n */\nexport const CheckboxGroupOrientation = {\n horizontal: 'horizontal',\n vertical: 'vertical',\n} as const;\nexport type CheckboxGroupOrientation = ValueOf<typeof CheckboxGroupOrientation>;\n\n/**\n * Component props.\n */\nexport interface CheckboxGroupProps\n extends Omit<ComponentProps<'div'>, 'onChange'> {\n /**\n * Default selected values.\n * Used for uncontrolled version.\n */\n defaultValues?: string[];\n /** Description of the checkbox group. */\n description?: string;\n /** Whether the component is disabled or not. */\n isDisabled?: boolean;\n /** Whether the component is invalid or not. */\n isInvalid?: boolean;\n /** Whether the component is read only or not. */\n isReadOnly?: boolean;\n /** Whether the component is required or not. */\n isRequired?: boolean;\n /** Label of the checkbox group. */\n label?: string;\n /** Method to handle component change. */\n onChange?(values: string[]): void;\n /** Method to handle component change. */\n orientation?: CheckboxGroupOrientation;\n /** List of possible values. Useful to select all. */\n possibleValues?: string[];\n /**\n * Currently selected values.\n * Used for controlled version.\n */\n value?: string[];\n}\n\nexport type StyledCheckboxGroupProps = Omit<\n CheckboxGroupProps,\n 'isDisabled' | 'isInvalid' | 'isReadOnly' | 'orientation' | 'isRequired'\n> & {\n $isDisabled: CheckboxGroupProps['isDisabled'];\n $isInvalid: CheckboxGroupProps['isInvalid'];\n $isReadOnly: CheckboxGroupProps['isReadOnly'];\n $isRequired: CheckboxGroupProps['isRequired'];\n $orientation: CheckboxGroupProps['orientation'];\n};\n","import styled from 'styled-components';\nimport { CheckboxGroupOrientation, StyledCheckboxGroupProps } from './types';\n\n/**\n * Component style.\n */\nexport const StyledCheckboxGroup = styled.div<StyledCheckboxGroupProps>`\n display: flex;\n flex-direction: column;\n\n ${({ $orientation }) =>\n $orientation === CheckboxGroupOrientation.vertical\n ? `\n div.redsift-checkbox-group-boxes {\n display: flex;\n flex-direction: column;\n }\n `\n : `\n div.redsift-checkbox-group-boxes {\n display: flex;\n flex-direction: row;\n }\n `}\n\n span.redsift-checkbox-group-label {\n font-family: var(--redsift-typography-body-font-family);\n font-weight: var(--redsift-typography-body-font-weight);\n font-size: var(--redsift-typography-body-font-size);\n line-height: var(--redsift-typography-body-line-height);\n\n color: var(--redsift-color-neutral-black);\n ${({ $isDisabled }) =>\n $isDisabled\n ? `\n color: var(--redsift-color-neutral-midgrey);\n `\n : ''}\n ${({ $isInvalid }) =>\n $isInvalid\n ? `\n color: var(--redsift-color-error-primary);\n `\n : ''}\n }\n\n span.redsift-checkbox-group-description {\n font-family: var(--redsift-typography-helper-font-family);\n font-weight: var(--redsift-typography-helper-font-weight);\n font-size: var(--redsift-typography-helper-font-size);\n line-height: var(--redsift-typography-helper-line-height);\n\n color: var(--redsift-color-neutral-darkgrey);\n ${({ $isDisabled }) =>\n $isDisabled\n ? `\n color: var(--redsift-color-neutral-midgrey);\n `\n : ''}\n ${({ $isInvalid }) =>\n $isInvalid\n ? `\n color: var(--redsift-color-error-primary);\n `\n : ''}\n }\n`;\n","import React, { forwardRef, RefObject, useEffect, useState } from 'react';\nimport classNames from 'classnames';\nimport { ColorPalette, Comp } from '~/types';\nimport { CheckboxGroupOrientation, CheckboxGroupProps } from './types';\nimport { CheckboxGroupContext } from './context';\nimport { StyledCheckboxGroup } from './styles';\n\nconst COMPONENT_NAME = 'RedSiftCheckboxGroup';\nconst CLASSNAME = 'redsift-checkbox-group';\nconst DEFAULT_PROPS: Partial<CheckboxGroupProps> = {\n color: ColorPalette.default,\n orientation: CheckboxGroupOrientation.vertical,\n};\n\n/**\n * The CheckboxGroup component.\n * Can be used as controlled or uncontrolled.\n */\nexport const CheckboxGroup: Comp<CheckboxGroupProps, HTMLDivElement> =\n forwardRef((props, ref) => {\n const {\n children,\n className,\n defaultValues,\n description,\n isDisabled,\n isInvalid,\n isReadOnly,\n isRequired,\n label,\n onChange,\n orientation,\n possibleValues,\n value,\n ...forwardedProps\n } = props;\n\n const [selectedValues, setValue] = useState<string[]>(\n value || defaultValues || []\n );\n useEffect(() => {\n if (value) {\n state.setValue(value);\n }\n }, [value]);\n\n const state = {\n value: selectedValues,\n isDisabled: isDisabled || false,\n isReadOnly: isReadOnly || false,\n possibleValues: possibleValues,\n setValue(values: string[]) {\n if (isReadOnly || isDisabled) {\n return;\n }\n\n setValue(values);\n },\n addValue(value: string) {\n if (!selectedValues.includes(value)) {\n setValue(selectedValues.concat(value));\n if (onChange) {\n onChange(selectedValues.concat(value));\n }\n }\n },\n removeValue(value: string) {\n if (selectedValues.includes(value)) {\n setValue(\n selectedValues.filter((existingValue) => existingValue !== value)\n );\n if (onChange) {\n onChange(\n selectedValues.filter((existingValue) => existingValue !== value)\n );\n }\n }\n },\n };\n\n return (\n <StyledCheckboxGroup\n {...forwardedProps}\n $isDisabled={isDisabled}\n $isInvalid={isInvalid}\n $isReadOnly={isReadOnly}\n $isRequired={isRequired}\n $orientation={orientation}\n aria-disabled={isDisabled}\n className={classNames(CheckboxGroup.className, className)}\n ref={ref as RefObject<HTMLDivElement>}\n role=\"group\"\n >\n <span className={`${CheckboxGroup.className}-label`}>\n {label}\n {isRequired ? ' *' : null}\n </span>\n <div className={`${CheckboxGroup.className}-boxes`}>\n <CheckboxGroupContext.Provider value={state}>\n {children}\n </CheckboxGroupContext.Provider>\n </div>\n <span className={`${CheckboxGroup.className}-description`}>\n {description}\n </span>\n </StyledCheckboxGroup>\n );\n });\nCheckboxGroup.className = CLASSNAME;\nCheckboxGroup.defaultProps = DEFAULT_PROPS;\nCheckboxGroup.displayName = COMPONENT_NAME;\n","import styled, { css } from 'styled-components';\nimport { StyledLinkProps } from './types';\n\n/**\n * Component style.\n */\nexport const StyledLink = styled.a<StyledLinkProps>`\n background: none;\n border: none;\n color: inherit;\n cursor: text !important;\n font-family: var(--redsift-typography-link-font-family);\n font-size: var(--redsift-typography-link-font-size);\n font-weight: var(--redsift-typography-link-font-weight);\n line-height: var(--redsift-typography-link-line-height);\n padding: unset;\n text-decoration: none;\n\n ${({ $isDisabled }) =>\n !$isDisabled\n ? css`\n color: var(--redsift-color-success-primary);\n text-decoration: underline;\n text-decoration-color: var(--redsift-color-success-secondary);\n text-underline-offset: 2px;\n\n &:hover,\n &:focus-visible {\n cursor: pointer !important;\n text-decoration-color: var(--redsift-color-success-primary);\n }\n `\n : ''}\n\n &:focus-visible {\n outline: 2px solid var(--redsift-color-success-primary);\n }\n`;\n","import React, { forwardRef, RefObject } from 'react';\nimport classNames from 'classnames';\nimport { Comp } from '~/types';\nimport { StyledLink } from './styles';\nimport { LinkProps } from './types';\n\nconst COMPONENT_NAME = 'RedSiftLink';\nconst CLASSNAME = 'redsift-link';\nconst DEFAULT_PROPS: Partial<LinkProps> = {};\n\n/**\n * The Link is a semantic link that looks like a link.\n * Shoud be used for internal and external navigation only.\n *\n * For a semantic link that looks like a button, please use the ButtonLink component.\n * For a semantic button that looks like a button, please use the Button component.\n * For a semantic button that looks like a link, please use the LinkButton component.\n */\nexport const Link: Comp<LinkProps, HTMLAnchorElement> = forwardRef(\n (props, ref) => {\n const { children, className, href, isDisabled, ...forwardedProps } = props;\n\n return (\n <StyledLink\n aria-disabled={isDisabled}\n role=\"link\"\n tabIndex={!isDisabled ? 0 : undefined}\n {...forwardedProps}\n $isDisabled={isDisabled}\n className={classNames(Link.className, className)}\n href={!isDisabled ? href : undefined}\n ref={ref as RefObject<HTMLAnchorElement>}\n >\n {children}\n </StyledLink>\n );\n }\n);\nLink.className = CLASSNAME;\nLink.defaultProps = DEFAULT_PROPS;\nLink.displayName = COMPONENT_NAME;\n","import React, { forwardRef, RefObject, useRef } from 'react';\nimport classNames from 'classnames';\nimport { useButton } from '@react-aria/button';\nimport { AriaButtonProps } from '@react-types/button';\nimport { Comp } from '~/types';\nimport { StyledLink } from '~/components/link';\nimport { LinkButtonProps } from './types';\n\nconst COMPONENT_NAME = 'RedSiftLinkButton';\nconst CLASSNAME = 'redsift-link-button';\nconst DEFAULT_PROPS: Partial<LinkButtonProps> = {};\n\n/**\n * The LinkButton is a semantic button that looks like a link.\n *\n * For a semantic button that looks like a button, please use the Button component.\n * For a semantic link that looks like a link, please use the Link component.\n * For a semantic link that looks like a button, please use the ButtonLink component.\n */\nexport const LinkButton: Comp<LinkButtonProps, HTMLButtonElement> = forwardRef(\n (props, ref) => {\n const buttonRef = ref || useRef<HTMLButtonElement>();\n const { buttonProps } = useButton(\n {\n ...props,\n preventFocusOnPress: true,\n } as AriaButtonProps<'button'>,\n buttonRef as RefObject<HTMLButtonElement>\n );\n\n const {\n children,\n className,\n disabled,\n isDisabled,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n onPress,\n ...forwardedProps\n } = props;\n\n return (\n <StyledLink\n as=\"button\"\n {...forwardedProps}\n {...buttonProps}\n $isDisabled={isDisabled || disabled}\n aria-disabled={isDisabled || disabled}\n className={classNames(LinkButton.className, className)}\n disabled={isDisabled || disabled}\n // @ts-ignore\n ref={buttonRef as RefObject<HTMLButtonElement>}\n >\n {children}\n </StyledLink>\n );\n }\n);\nLinkButton.className = CLASSNAME;\nLinkButton.defaultProps = DEFAULT_PROPS;\nLinkButton.displayName = COMPONENT_NAME;\n","import { ComponentProps } from 'react';\nimport { ColorPalette, ProductColorPalette, ValueOf } from '~/types';\n\n/**\n * Component variant.\n */\nexport const ShieldVariant = {\n success: 'success',\n successLocked: 'successLocked',\n successUnlocked: 'successUnlocked',\n fail: 'fail',\n failLocked: 'failLocked',\n failUnlocked: 'failUnlocked',\n warning: 'warning',\n warningLocked: 'warningLocked',\n warningUnlocked: 'warningUnlocked',\n ignored: 'ignored',\n noData: 'noData',\n question: 'question',\n email: 'email',\n} as const;\n\nexport type ShieldVariant = ValueOf<typeof ShieldVariant>;\n\n/**\n * Component props.\n */\nexport interface ShieldProps extends ComponentProps<'div'> {\n /** Indicates whether the element is exposed to an accessibility API. */\n 'aria-hidden'?: boolean | 'false' | 'true';\n /** A screen reader only label for the Icon. */\n 'aria-label'?: string;\n /** Additional properties to forward to the SVG tag. */\n svgProps?: ComponentProps<'svg'>;\n /** Whether the shield has an outline or not. */\n isOutlined?: boolean;\n /** Whether the shield has its colors reversed or not. */\n isReversed?: boolean;\n /** Shield variant. */\n variant?: ShieldVariant;\n}\n\nexport type StyledShieldProps = Omit<ShieldProps, 'color'> & {\n $color?: ColorPalette | ProductColorPalette | string;\n $isOutlined: ShieldProps['isOutlined'];\n $isReversed: ShieldProps['isReversed'];\n $variant: ShieldProps['variant'];\n};\n","import styled, { css } from 'styled-components';\nimport { StyledShieldProps } from './types';\n\nexport const StyledShield = styled.div<StyledShieldProps>`\n height: 24px;\n width: 20px;\n\n ${({ $color, $isOutlined, $isReversed }) => {\n if ($isReversed && $isOutlined) {\n return css`\n & .shield {\n fill: var(--redsift-color-${$color}-primary);\n stroke: #ffffff;\n stroke-width: 2;\n }\n & .icon {\n fill-rule: evenodd;\n clip-rule: evenodd;\n fill: #ffffff;\n }\n `;\n } else if ($isOutlined) {\n return css`\n & .shield {\n fill: #ffffff;\n stroke: var(--redsift-color-${$color}-primary);\n stroke-width: 2;\n }\n & .icon {\n fill-rule: evenodd;\n clip-rule: evenodd;\n fill: var(--redsift-color-${$color}-primary);\n }\n `;\n } else if ($isReversed) {\n return css`\n & .shield {\n fill: #ffffff;\n }\n & .icon {\n fill-rule: evenodd;\n clip-rule: evenodd;\n fill: var(--redsift-color-${$color}-primary);\n }\n `;\n } else {\n return css`\n & .shield {\n fill: var(--redsift-color-${$color}-primary);\n }\n & .icon {\n fill-rule: evenodd;\n clip-rule: evenodd;\n fill: #ffffff;\n }\n `;\n }\n }}\n`;\n","import React, { forwardRef, RefObject } from 'react';\nimport classNames from 'classnames';\nimport { ColorPalette, Comp, ProductColorPalette } from '~/types';\n\nimport { ShieldProps, ShieldVariant } from './types';\nimport { StyledShield } from './styles';\n\nconst COMPONENT_NAME = 'RedSiftShield';\nconst CLASSNAME = 'redsift-shield';\nconst DEFAULT_PROPS: Partial<ShieldProps> = {\n variant: ShieldVariant.success,\n};\n\nconst getVariant = (variant: ShieldVariant) => {\n switch (variant) {\n case ShieldVariant.email:\n return {\n color: ProductColorPalette.website,\n icon: 'M14.7,6.3H5.3c-0.6,0-1.2,0.5-1.2,1.2l0,7c0,0.6,0.5,1.2,1.2,1.2h9.3c0.6,0,1.2-0.5,1.2-1.2v-7 C15.8,6.9,15.3,6.3,14.7,6.3z M14.7,14.5H5.3V8.7l4.7,2.9l4.7-2.9V14.5z M10,10.4L5.3,7.5h9.3L10,10.4z',\n };\n case ShieldVariant.fail:\n return {\n color: ColorPalette.error,\n icon: 'M9,15V5h2v10H9z M9,19v-2h2v2H9z',\n };\n case ShieldVariant.failLocked:\n return {\n color: ColorPalette.error,\n icon: 'M13.5,9.7h-0.6V8.5c0-1.6-1.3-2.9-2.9-2.9S7.1,6.9,7.1,8.5v1.2H6.5c-0.6,0-1.2,0.5-1.2,1.2v5.8 c0,0.6,0.5,1.2,1.2,1.2h7c0.6,0,1.2-0.5,1.2-1.2v-5.8C14.7,10.2,14.1,9.7,13.5,9.7z M10,14.9c-0.6,0-1.2-0.5-1.2-1.2 s0.5-1.2,1.2-1.2c0.6,0,1.2,0.5,1.2,1.2S10.6,14.9,10,14.9z M11.8,9.7H8.2V8.5c0-1,0.8-1.8,1.8-1.8s1.8,0.8,1.8,1.8V9.7z',\n };\n case ShieldVariant.failUnlocked:\n return {\n color: ColorPalette.error,\n icon: 'M10,14.9c0.6,0,1.2-0.5,1.2-1.2s-0.5-1.2-1.2-1.2c-0.6,0-1.2,0.5-1.2,1.2S9.4,14.9,10,14.9z M13.5,9.7h-0.6V8.5 c0-1.6-1.3-2.9-2.9-2.9S7.1,6.9,7.1,8.5h1.1c0-1,0.8-1.8,1.8-1.8s1.8,0.8,1.8,1.8v1.2H6.5c-0.6,0-1.2,0.5-1.2,1.2v5.8 c0,0.6,0.5,1.2,1.2,1.2h7c0.6,0,1.2-0.5,1.2-1.2v-5.8C14.7,10.2,14.1,9.7,13.5,9.7z M13.5,16.7h-7v-5.8h7V16.7z',\n };\n case ShieldVariant.ignored:\n return {\n color: ColorPalette['no-data'],\n icon: 'M10,6.2c-3.2,0-5.8,2.6-5.8,5.8c0,3.2,2.6,5.8,5.8,5.8s5.8-2.6,5.8-5.8C15.8,8.8,13.2,6.2,10,6.2z M5.3,12 c0-2.6,2.1-4.7,4.7-4.7c1.1,0,2.1,0.4,2.9,1l-6.5,6.5C5.7,14.1,5.3,13.1,5.3,12z M10,16.7c-1.1,0-2.1-0.4-2.9-1l6.5-6.5 c0.6,0.8,1,1.8,1,2.9C14.7,14.6,12.6,16.7,10,16.7z',\n };\n case ShieldVariant.noData:\n return {\n color: ColorPalette['no-data'],\n icon: 'M16,13H4v-2h12V13z',\n };\n case ShieldVariant.question:\n return {\n color: ColorPalette.question,\n icon: 'M9,17h2v-2H9V17z M10,5C7.8,5,6,6.8,6,9h2c0-1.1,0.9-2,2-2s2,0.9,2,2c0,2-3,1.8-3,5h2c0-2.2,3-2.5,3-5 C14,6.8,12.2,5,10,5z',\n };\n case ShieldVariant.success:\n return {\n color: ColorPalette.success,\n icon: 'M8,16.6l8.5-8.5l-1.4-1.4L8,13.7l-2.8-2.8l-1.4,1.4L8,16.6z',\n };\n case ShieldVariant.successLocked:\n return {\n color: ColorPalette.success,\n icon: 'M13.5,9.7h-0.6V8.5c0-1.6-1.3-2.9-2.9-2.9S7.1,6.9,7.1,8.5v1.2H6.5c-0.6,0-1.2,0.5-1.2,1.2v5.8 c0,0.6,0.5,1.2,1.2,1.2h7c0.6,0,1.2-0.5,1.2-1.2v-5.8C14.7,10.2,14.1,9.7,13.5,9.7z M10,14.9c-0.6,0-1.2-0.5-1.2-1.2 s0.5-1.2,1.2-1.2c0.6,0,1.2,0.5,1.2,1.2S10.6,14.9,10,14.9z M11.8,9.7H8.2V8.5c0-1,0.8-1.8,1.8-1.8s1.8,0.8,1.8,1.8V9.7z',\n };\n case ShieldVariant.successUnlocked:\n return {\n color: ColorPalette.success,\n icon: 'M10,14.9c0.6,0,1.2-0.5,1.2-1.2s-0.5-1.2-1.2-1.2c-0.6,0-1.2,0.5-1.2,1.2S9.4,14.9,10,14.9z M13.5,9.7h-0.6V8.5 c0-1.6-1.3-2.9-2.9-2.9S7.1,6.9,7.1,8.5h1.1c0-1,0.8-1.8,1.8-1.8s1.8,0.8,1.8,1.8v1.2H6.5c-0.6,0-1.2,0.5-1.2,1.2v5.8 c0,0.6,0.5,1.2,1.2,1.2h7c0.6,0,1.2-0.5,1.2-1.2v-5.8C14.7,10.2,14.1,9.7,13.5,9.7z M13.5,16.7h-7v-5.8h7V16.7z',\n };\n case ShieldVariant.warning:\n return {\n color: ColorPalette.warning,\n icon: 'M10,5c0.7,0,1.4,0.4,1.7,1l4,7c0.4,0.6,0.4,1.4,0,2c-0.4,0.6-1,1-1.7,1H6c-0.7,0-1.4-0.4-1.7-1 c-0.4-0.6-0.4-1.4,0-2l4-7C8.6,5.4,9.3,5,10,5z M10,7l-4,7h8L10,7z',\n };\n case ShieldVariant.warningLocked:\n return {\n color: ColorPalette.warning,\n icon: 'M13.5,9.7h-0.6V8.5c0-1.6-1.3-2.9-2.9-2.9S7.1,6.9,7.1,8.5v1.2H6.5c-0.6,0-1.2,0.5-1.2,1.2v5.8 c0,0.6,0.5,1.2,1.2,1.2h7c0.6,0,1.2-0.5,1.2-1.2v-5.8C14.7,10.2,14.1,9.7,13.5,9.7z M10,14.9c-0.6,0-1.2-0.5-1.2-1.2 s0.5-1.2,1.2-1.2c0.6,0,1.2,0.5,1.2,1.2S10.6,14.9,10,14.9z M11.8,9.7H8.2V8.5c0-1,0.8-1.8,1.8-1.8s1.8,0.8,1.8,1.8V9.7z',\n };\n case ShieldVariant.warningUnlocked:\n return {\n color: ColorPalette.warning,\n icon: 'M10,14.9c0.6,0,1.2-0.5,1.2-1.2s-0.5-1.2-1.2-1.2c-0.6,0-1.2,0.5-1.2,1.2S9.4,14.9,10,14.9z M13.5,9.7h-0.6V8.5 c0-1.6-1.3-2.9-2.9-2.9S7.1,6.9,7.1,8.5h1.1c0-1,0.8-1.8,1.8-1.8s1.8,0.8,1.8,1.8v1.2H6.5c-0.6,0-1.2,0.5-1.2,1.2v5.8 c0,0.6,0.5,1.2,1.2,1.2h7c0.6,0,1.2-0.5,1.2-1.2v-5.8C14.7,10.2,14.1,9.7,13.5,9.7z M13.5,16.7h-7v-5.8h7V16.7z',\n };\n }\n};\n\n/**\n * The Shield component.\n */\nexport const Shield: Comp<ShieldProps, HTMLDivElement> = forwardRef(\n (props, ref) => {\n const {\n 'aria-hidden': ariaHidden,\n 'aria-label': ariaLabel,\n className,\n svgProps,\n isOutlined,\n isReversed,\n variant,\n ...forwardedProps\n } = props;\n\n const color = getVariant(variant!).color;\n const icon = getVariant(variant!).icon;\n\n return (\n <StyledShield\n {...forwardedProps}\n aria-hidden={ariaLabel ? (ariaHidden ? ariaHidden : undefined) : true}\n aria-label={ariaLabel}\n className={classNames(Shield.className, className)}\n ref={ref as RefObject<HTMLDivElement>}\n $color={color}\n $isOutlined={isOutlined}\n $isReversed={isReversed}\n $variant={variant}\n >\n <svg\n {...svgProps}\n aria-hidden={ariaLabel ? (ariaHidden ? ariaHidden : undefined) : true}\n aria-label={ariaLabel}\n focusable=\"false\"\n preserveAspectRatio=\"xMidYMid meet\"\n role=\"img\"\n style={{ verticalAlign: '-0.125em' }}\n viewBox=\"0 0 20 24\"\n width=\"20\"\n height=\"24\"\n >\n <path\n d={\n isOutlined\n ? 'M1,10.9V5l9-3.9L19,5v5.9c0,5.5-3.9,10.7-9,12.1C4.9,21.6,1,16.4,1,10.9z'\n : 'M10,0L0,4.4v6.5C0,17,4.3,22.6,10,24c5.7-1.4,10-7,10-13.1V4.4L10,0z'\n }\n className=\"shield\"\n />\n <path d={icon} className=\"icon\" />\n </svg>\n </StyledShield>\n );\n }\n);\nShield.className = CLASSNAME;\nShield.defaultProps = DEFAULT_PROPS;\nShield.displayName = COMPONENT_NAME;\n"],"names":["ColorPalette","default","success","error","warning","info","question","ProductColorPalette","website","ondmarc","oninbox","ondomain","hardenize","tools","IconButtonVariant","primary","secondary","unstyled","IconSize","xsmall","small","medium","large","StyledIcon","styled","span","$color","Object","keys","indexOf","css","$size","COMPONENT_NAME","CLASSNAME","DEFAULT_PROPS","size","Icon","forwardRef","props","ref","ariaHidden","ariaLabel","badge","className","color","icon","svgProps","forwardedProps","_excluded","undefined","classNames","verticalAlign","defaultProps","displayName","warnIfNoAccessibleLabelFound","additionalKeysToCheck","ariaLabelledby","hasText","filter","key","length","hasAriaLabel","Boolean","console","warn","ButtonVariant","StyledButton","button","$variant","$isActive","$isDisabled","$fullWidth","variant","Button","buttonRef","useRef","buttonProps","useButton","_objectSpread","preventFocusOnPress","children","disabled","fullWidth","isActive","isDisabled","leftIcon","onPress","rightIcon","StyledIconButton","IconButton","AppContainerContext","React","createContext","useIsLoaded","isLoaded","setIsLoaded","useState","useEffect","StyledAppBar","header","$isSidePanelCollapsed","$isLoaded","AppBar","collapseIconButtonProps","collapseIconButtonRef","expandIconButtonProps","expandIconButtonRef","fallbackTitle","title","propsTitle","appContainerState","useContext","isSidePanelCollapsed","mdiMenu","expandSidePanel","mdiMenuOpen","collapseSidePanel","StyledAppSidePanel","div","$isCollapsed","AppSidePanel","featuredElements","isCollapsed","logo","hasAppBar","isValidElement","src","alt","SideNavigationMenuReducerActionType","SideNavigationMenuBarContext","SideNavigationMenuContext","StyledSideNavigationMenuItem","a","$isSecondLevel","$withoutIcons","$isCurrent","BadgeVariant","dot","standard","StyledBadge","$isReversed","$autoBreak","Badge","autoBreak","isReversed","SideNavigationMenuItem","menuItemRef","badgeProps","href","iconProps","iconRef","isCurrent","isSecondLevel","onClick","onKeyDown","tabIndex","withoutIcons","setTitle","sideNavigationMenuBarContext","sideNavigationMenuContext","isFirstChild","setIsFirstChild","menuItems","menuItemNode","current","add","delete","StyledSideNavigationMenu","$isExpanded","SideNavigationMenuReducer","state","action","type","Expand","isExpanded","Collapse","currentIndex","previousIndex","Move","index","SideNavigationMenu","hasBadge","propsIsExpanded","menuProps","menuRef","menubarItems","childArray","Children","forEach","child","push","renderedMenuItems","map","cloneElement","Set","dispatch","useReducer","first","useCallback","last","move","open","close","focusButton","focus","previous","next","match","e","items","Array","from","reorderedItems","slice","matches","menuItem","textContent","firstLetter","toLowerCase","charAt","currentNode","nextMatch","includes","findIndex","item","value","useMemo","keyDownOnButton","target","code","stopPropagation","click","buttonEventHandler","event","keyDownOnMenuItemList","preventDefault","menuItemListEventHandler","mdiChevronDown","mdiChevronRight","StyledSideNavigationMenuBar","nav","$marginTop","useBoundingClientRect","deps","boundingRect","setBoundingRect","getBoundingClientRect","usePrevious","SideNavigationMenuBar","navRef","menubarProps","menubarRef","top","navItems","setCurrentIndex","keyDown","parentMenu","parentNode","isFromSubmenu","getAttribute","previousNode","setAttribute","isMenu","useSideNavigationMenuBar","menuBarChildren","rest","useAppSidePanel","sideNavigationMenuBarProps","StyledAppContent","main","$productTheme","AppContent","productTheme","StyledAppContainer","AppContainer","hasAppSidePanel","hasAppContent","setIsSidePanelCollapsed","StyledBreadcrumbItem","BreadcrumbItem","StyledBreadcrumbs","Breadcrumbs","breadcrumbItems","ButtonLink","as","CheckboxGroupContext","StyledCheckbox","label","$isInvalid","$isFocusVisible","Checkbox","groupState","autoFocus","defaultSelected","inputProps","inputRef","isControlled","isIndeterminate","isInvalid","isReadOnly","isRequired","isSelected","propsIsSelected","name","onChange","isFocusVisible","focusProps","useFocusRing","setSelected","handleChange","addValue","removeValue","checked","mdiCheckboxMarked","mdiMinusBox","mdiCheckboxBlankOutline","CheckboxGroupOrientation","horizontal","vertical","StyledCheckboxGroup","$orientation","orientation","CheckboxGroup","defaultValues","description","possibleValues","selectedValues","setValue","values","concat","existingValue","StyledLink","Link","LinkButton","ShieldVariant","successLocked","successUnlocked","fail","failLocked","failUnlocked","warningLocked","warningUnlocked","ignored","noData","email","StyledShield","$isOutlined","getVariant","Shield","isOutlined"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -30,13 +30,13 @@
|
|
|
30
30
|
"version": "version-changelog ../../CHANGELOG.md && changelog-verify ../../CHANGELOG.md && git add ../../CHANGELOG.md"
|
|
31
31
|
},
|
|
32
32
|
"types": "index.d.ts",
|
|
33
|
-
"version": "7.0.0
|
|
33
|
+
"version": "7.0.0",
|
|
34
34
|
"dependencies": {
|
|
35
35
|
"@react-aria/button": "^3.5.0",
|
|
36
36
|
"@react-aria/focus": "^3.6.1",
|
|
37
37
|
"@react-types/button": "^3.5.0",
|
|
38
38
|
"@react-types/shared": "^3.15.0",
|
|
39
|
-
"@redsift/icons": "^7.0.0
|
|
39
|
+
"@redsift/icons": "^7.0.0",
|
|
40
40
|
"classnames": "^2.3.1"
|
|
41
41
|
},
|
|
42
42
|
"devDependencies": {
|
|
@@ -99,5 +99,5 @@
|
|
|
99
99
|
"react-dom": "17 || 18",
|
|
100
100
|
"styled-components": "^5.3.3"
|
|
101
101
|
},
|
|
102
|
-
"gitHead": "
|
|
102
|
+
"gitHead": "6a7896bba0588484a2eecd21c24f9b1b9646b826"
|
|
103
103
|
}
|