@redsift/design-system 7.1.0 → 7.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/types.ts","../src/utils/redsift-design-tokens.ts","../src/utils/warnIfNoAccessibleLabelFound.ts","../src/components/icon-button/types.ts","../src/components/icon/types.ts","../src/components/icon/styles.ts","../src/components/icon/Icon.tsx","../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","/**\n * Do not edit directly\n * Generated on Wed, 14 Dec 2022 17:05:36 GMT\n */\n\nexport const RedsiftColorDefaultPrimary = '#0079e1';\nexport const RedsiftColorDefaultSecondary = '#0063b9';\nexport const RedsiftColorDefaultHover = '#dce8f3';\nexport const RedsiftColorDefaultActive = '#c4dcf1';\nexport const RedsiftColorDefaultActiveHover = '#abcfef';\nexport const RedsiftColorDefaultPrimaryActive = '#004a8a';\nexport const RedsiftColorWebsitePrimary = '#0079e1';\nexport const RedsiftColorWebsiteSecondary = '#0063b9';\nexport const RedsiftColorWebsiteHover = '#dce8f3';\nexport const RedsiftColorWebsiteActive = '#c4dcf1';\nexport const RedsiftColorWebsiteActiveHover = '#abcfef';\nexport const RedsiftColorWebsitePrimaryActive = '#004a8a';\nexport const RedsiftColorOndmarcPrimary = '#02ac61';\nexport const RedsiftColorOndmarcSecondary = '#009252';\nexport const RedsiftColorOndmarcHover = '#dcede6';\nexport const RedsiftColorOndmarcActive = '#c4e6d7';\nexport const RedsiftColorOndmarcActiveHover = '#acdfc8';\nexport const RedsiftColorOndmarcPrimaryActive = '#00512e';\nexport const RedsiftColorOninboxPrimary = '#33b222';\nexport const RedsiftColorOninboxSecondary = '#268519';\nexport const RedsiftColorOninboxHover = '#e1eedf';\nexport const RedsiftColorOninboxActive = '#cee8cb';\nexport const RedsiftColorOninboxActiveHover = '#bae0b5';\nexport const RedsiftColorOninboxPrimaryActive = '#164e0e';\nexport const RedsiftColorOndomainPrimary = '#028062';\nexport const RedsiftColorOndomainSecondary = '#015944';\nexport const RedsiftColorOndomainHover = '#dce9e6';\nexport const RedsiftColorOndomainActive = '#c4ded8';\nexport const RedsiftColorOndomainActiveHover = '#acd1c8';\nexport const RedsiftColorOndomainPrimaryActive = '#003f30';\nexport const RedsiftColorHardenizePrimary = '#0f7ab3';\nexport const RedsiftColorHardenizeSecondary = '#3498db';\nexport const RedsiftColorHardenizeHover = '#dee8ee';\nexport const RedsiftColorHardenizeActive = '#c7dce8';\nexport const RedsiftColorHardenizeActiveHover = '#b0d0e1';\nexport const RedsiftColorHardenizePrimaryActive = '#0a5379';\nexport const RedsiftColorToolsPrimary = '#37bdfb';\nexport const RedsiftColorToolsSecondary = '#02a2ef';\nexport const RedsiftColorToolsHover = '#e2eff5';\nexport const RedsiftColorToolsActive = '#cfeaf6';\nexport const RedsiftColorToolsActiveHover = '#bce4f6';\nexport const RedsiftColorToolsPrimaryActive = '#237ea8';\nexport const RedsiftColorSuccessPrimary = '#02ac61';\nexport const RedsiftColorSuccessSecondary = '#009252';\nexport const RedsiftColorSuccessHover = '#dcede6';\nexport const RedsiftColorSuccessActive = '#c4e6d7';\nexport const RedsiftColorSuccessActiveHover = '#acdfc8';\nexport const RedsiftColorSuccessPrimaryActive = '#00512e';\nexport const RedsiftColorErrorPrimary = '#e11010';\nexport const RedsiftColorErrorSecondary = '#b41010';\nexport const RedsiftColorErrorHover = '#f3dede';\nexport const RedsiftColorErrorActive = '#f1c7c7';\nexport const RedsiftColorErrorActiveHover = '#efb0b0';\nexport const RedsiftColorErrorPrimaryActive = '#770a0a';\nexport const RedsiftColorWarningPrimary = '#e0ab00';\nexport const RedsiftColorWarningSecondary = '#c09300';\nexport const RedsiftColorWarningHover = '#f5efe4';\nexport const RedsiftColorWarningActive = '#f6e9d5';\nexport const RedsiftColorWarningActiveHover = '#f7e3c4';\nexport const RedsiftColorInfoPrimary = '#0079e1';\nexport const RedsiftColorInfoSecondary = '#0063b9';\nexport const RedsiftColorInfoHover = '#dce8f3';\nexport const RedsiftColorInfoActive = '#c4dcf1';\nexport const RedsiftColorInfoActiveHover = '#abcfef';\nexport const RedsiftColorInfoPrimaryActive = '#004a8a';\nexport const RedsiftColorQuestionPrimary = '#666666';\nexport const RedsiftColorQuestionSecondary = '#1c1c1c';\nexport const RedsiftColorQuestionHover = '#e6e6e6';\nexport const RedsiftColorQuestionActive = '#d8d8d8';\nexport const RedsiftColorQuestionActiveHover = '#cacaca';\nexport const RedsiftColorNoDataPrimary = '#bdbdbd';\nexport const RedsiftColorNoDataSecondary = '#666666';\nexport const RedsiftColorNoDataHover = '#efefef';\nexport const RedsiftColorNoDataActive = '#eaeaea';\nexport const RedsiftColorNoDataActiveHover = '#e4e4e4';\nexport const RedsiftColorNeutralBlack = '#1c1c1c';\nexport const RedsiftColorNeutralDarkgrey = '#666666';\nexport const RedsiftColorNeutralMidgrey = '#bdbdbd';\nexport const RedsiftColorNeutralLightgrey = '#ebebeb';\nexport const RedsiftColorNeutralXlightgrey = '#f5f5f5';\nexport const RedsiftColorNeutralWhite = '#ffffff';\nexport const RedsiftAppBarColorBackground = '#0079e1';\nexport const RedsiftAppBarColorText = '#FFFFFF';\nexport const RedsiftAppBarColorExpandIconResting = '#FFFFFF';\nexport const RedsiftAppBarColorExpandIconHover = '#FFFFFF';\nexport const RedsiftAppBarColorExpandIconBackgroundHover = '#0063b9';\nexport const RedsiftDataVizColorPurpleDefault = '#C1AAEA';\nexport const RedsiftDataVizColorPurpleDark = '#A78ADB';\nexport const RedsiftDataVizColorPurpleDarker = '#8D6CC9';\nexport const RedsiftDataVizColorPurpleLight = '#D9CAF5';\nexport const RedsiftDataVizColorPurpleLighter = '#F0E9FC';\nexport const RedsiftDataVizColorBlueDefault = '#B6DAEE';\nexport const RedsiftDataVizColorBlueDark = '#97C5DE';\nexport const RedsiftDataVizColorBlueDarker = '#73ADCC';\nexport const RedsiftDataVizColorBlueLight = '#D8EDF8';\nexport const RedsiftDataVizColorBlueLighter = '#F6FBFE';\nexport const RedsiftDataVizColorGreenDefault = '#B3E3C5';\nexport const RedsiftDataVizColorGreenDark = '#90D2A9';\nexport const RedsiftDataVizColorGreenDarker = '#6DBE8B';\nexport const RedsiftDataVizColorGreenLight = '#D3F0DE';\nexport const RedsiftDataVizColorGreenLighter = '#EDFAF1';\nexport const RedsiftDataVizColorRedDefault = '#EAADAC';\nexport const RedsiftDataVizColorRedDark = '#D18785';\nexport const RedsiftDataVizColorRedDarker = '#BA6361';\nexport const RedsiftDataVizColorRedLight = '#FFD3D2';\nexport const RedsiftDataVizColorRedLighter = '#FFE5E5';\nexport const RedsiftDataVizColorPinkDefault = '#E2A7D7';\nexport const RedsiftDataVizColorPinkDark = '#D185C3';\nexport const RedsiftDataVizColorPinkDarker = '#BD63AC';\nexport const RedsiftDataVizColorPinkLight = '#EFC8E8';\nexport const RedsiftDataVizColorPinkLighter = '#F9E6F6';\nexport const RedsiftDataVizColorCyanDefault = '#AFF5F3';\nexport const RedsiftDataVizColorCyanDark = '#8CEAE6';\nexport const RedsiftDataVizColorCyanDarker = '#6CDCD8';\nexport const RedsiftDataVizColorCyanLight = '#D4FCFA';\nexport const RedsiftDataVizColorCyanLighter = '#E1FFFF';\nexport const RedsiftDataVizColorOrangeDefault = '#F2D39E';\nexport const RedsiftDataVizColorOrangeDark = '#D8B475';\nexport const RedsiftDataVizColorOrangeDarker = '#BD954F';\nexport const RedsiftDataVizColorOrangeLight = '#FFE8C0';\nexport const RedsiftDataVizColorOrangeLighter = '#FFF0D7';\nexport const RedsiftDataVizColorYellowDefault = '#F6EFC7';\nexport const RedsiftDataVizColorYellowDark = '#DED4A0';\nexport const RedsiftDataVizColorYellowDarker = '#C6BB7A';\nexport const RedsiftDataVizColorYellowLight = '#FFFBE1';\nexport const RedsiftDataVizColorYellowLighter = '#FFFDF0';\nexport const RedsiftDataVizColorBrownDefault = '#E6C2A0';\nexport const RedsiftDataVizColorBrownDark = '#CDA279';\nexport const RedsiftDataVizColorBrownDarker = '#B58556';\nexport const RedsiftDataVizColorBrownLight = '#FFE3C9';\nexport const RedsiftDataVizColorBrownLighter = '#FFEEDE';\nexport const RedsiftDataVizColorGreyDefault = '#E5E5E5';\nexport const RedsiftDataVizColorGreyDark = '#BDBDBD';\nexport const RedsiftDataVizColorGreyDarker = '#666666';\nexport const RedsiftDataVizColorGreyLight = '#F5F5F5';\nexport const RedsiftDataVizColorGreyLighter = '#FFFFFF';\nexport const RedsiftSideNavigationColorBackground = '#2D2D34';\nexport const RedsiftSideNavigationColorMenuItemTextResting = '#FFFFFFB3';\nexport const RedsiftSideNavigationColorMenuItemTextDisabled = '#76767A';\nexport const RedsiftSideNavigationColorMenuItemTextHover = '#FFFFFF';\nexport const RedsiftSideNavigationColorMenuItemBackgroundHover = '#4C4C64';\nexport const RedsiftSideNavigationColorMenuItemBackgroundSecondary = '#333340';\nexport const RedsiftSideNavigationColorMenuItemBackgroundActive = '#39394C';\nexport const RedsiftSideNavigationColorMenuItemActive = '#02AC61';\nexport const RedsiftSideNavigationColorScrollbarResting = '#4C4C64';\nexport const RedsiftSideNavigationColorScrollbarHover = '#5d5d73';\nexport const RedsiftTypographyFontFamilyRaleway = \"'Raleway', sans-serif\";\nexport const RedsiftTypographyFontFamilyElectrolize =\n \"'electrolize', sans-serif\";\nexport const RedsiftTypographyFontFamilySourceCodePro =\n \"'Source Code Pro', sans-serif\";\nexport const RedsiftTypographyFontWeightRegular = '400';\nexport const RedsiftTypographyFontWeightMedium = '500';\nexport const RedsiftTypographyFontWeightSemiBold = '600';\nexport const RedsiftTypographyFontWeightBold = '700';\nexport const RedsiftTypographyH1FontFamily = \"'electrolize', sans-serif\";\nexport const RedsiftTypographyH1FontSize = '24px';\nexport const RedsiftTypographyH1FontWeight = '400';\nexport const RedsiftTypographyH1LineHeight = '28px';\nexport const RedsiftTypographyH1TextTransform = 'uppercase';\nexport const RedsiftTypographyH2FontFamily = \"'Raleway', sans-serif\";\nexport const RedsiftTypographyH2FontSize = '24px';\nexport const RedsiftTypographyH2FontWeight = '600';\nexport const RedsiftTypographyH2LineHeight = '28px';\nexport const RedsiftTypographyH3FontFamily = \"'Raleway', sans-serif\";\nexport const RedsiftTypographyH3FontSize = '20px';\nexport const RedsiftTypographyH3FontWeight = '500';\nexport const RedsiftTypographyH3LineHeight = '24px';\nexport const RedsiftTypographyH4FontFamily = \"'Raleway', sans-serif\";\nexport const RedsiftTypographyH4FontSize = '18px';\nexport const RedsiftTypographyH4FontWeight = '500';\nexport const RedsiftTypographyH4LineHeight = '22px';\nexport const RedsiftTypographySubtitleFontFamily = \"'Raleway', sans-serif\";\nexport const RedsiftTypographySubtitleFontSize = '15px';\nexport const RedsiftTypographySubtitleFontWeight = '700';\nexport const RedsiftTypographySubtitleLineHeight = '26px';\nexport const RedsiftTypographyBodyFontFamily = \"'Raleway', sans-serif\";\nexport const RedsiftTypographyBodyFontSize = '15px';\nexport const RedsiftTypographyBodyFontWeight = '400';\nexport const RedsiftTypographyBodyLineHeight = '26px';\nexport const RedsiftTypographyLinkFontFamily = \"'Raleway', sans-serif\";\nexport const RedsiftTypographyLinkFontSize = '15px';\nexport const RedsiftTypographyLinkFontWeight = '400';\nexport const RedsiftTypographyLinkLineHeight = '26px';\nexport const RedsiftTypographyInputTextFontFamily =\n \"'Source Code Pro', sans-serif\";\nexport const RedsiftTypographyInputTextFontSize = '15px';\nexport const RedsiftTypographyInputTextFontWeight = '400';\nexport const RedsiftTypographyInputTextLineHeight = '26px';\nexport const RedsiftTypographyButtonFontFamily = \"'Raleway', sans-serif\";\nexport const RedsiftTypographyButtonFontSize = '15px';\nexport const RedsiftTypographyButtonFontWeight = '500';\nexport const RedsiftTypographyButtonLineHeight = '26px';\nexport const RedsiftTypographyButtonTextTransform = 'uppercase';\nexport const RedsiftTypographyCaptionFontFamily = \"'Raleway', sans-serif\";\nexport const RedsiftTypographyCaptionFontSize = '13px';\nexport const RedsiftTypographyCaptionFontWeight = '400';\nexport const RedsiftTypographyCaptionLineHeight = '23px';\nexport const RedsiftTypographyHelperFontFamily = \"'Raleway', sans-serif\";\nexport const RedsiftTypographyHelperFontSize = '12px';\nexport const RedsiftTypographyHelperFontWeight = '400';\nexport const RedsiftTypographyHelperLineHeight = '16px';\nexport const RedsiftTypographyBadgeFontFamily = \"'Source Code Pro', sans-serif\";\nexport const RedsiftTypographyBadgeFontSize = '12px';\nexport const RedsiftTypographyBadgeFontWeight = '500';\nexport const RedsiftTypographyBadgeLineHeight = '20px';\nexport const RedsiftTypographyChipFontFamily = \"'Source Code Pro', sans-serif\";\nexport const RedsiftTypographyChipFontSize = '13px';\nexport const RedsiftTypographyChipFontWeight = '400';\nexport const RedsiftTypographyChipLineHeight = '18px';\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 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';\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","RedsiftColorDefaultPrimary","RedsiftColorDefaultSecondary","RedsiftColorDefaultHover","RedsiftColorDefaultActive","RedsiftColorDefaultActiveHover","RedsiftColorDefaultPrimaryActive","RedsiftColorWebsitePrimary","RedsiftColorWebsiteSecondary","RedsiftColorWebsiteHover","RedsiftColorWebsiteActive","RedsiftColorWebsiteActiveHover","RedsiftColorWebsitePrimaryActive","RedsiftColorOndmarcPrimary","RedsiftColorOndmarcSecondary","RedsiftColorOndmarcHover","RedsiftColorOndmarcActive","RedsiftColorOndmarcActiveHover","RedsiftColorOndmarcPrimaryActive","RedsiftColorOninboxPrimary","RedsiftColorOninboxSecondary","RedsiftColorOninboxHover","RedsiftColorOninboxActive","RedsiftColorOninboxActiveHover","RedsiftColorOninboxPrimaryActive","RedsiftColorOndomainPrimary","RedsiftColorOndomainSecondary","RedsiftColorOndomainHover","RedsiftColorOndomainActive","RedsiftColorOndomainActiveHover","RedsiftColorOndomainPrimaryActive","RedsiftColorHardenizePrimary","RedsiftColorHardenizeSecondary","RedsiftColorHardenizeHover","RedsiftColorHardenizeActive","RedsiftColorHardenizeActiveHover","RedsiftColorHardenizePrimaryActive","RedsiftColorToolsPrimary","RedsiftColorToolsSecondary","RedsiftColorToolsHover","RedsiftColorToolsActive","RedsiftColorToolsActiveHover","RedsiftColorToolsPrimaryActive","RedsiftColorSuccessPrimary","RedsiftColorSuccessSecondary","RedsiftColorSuccessHover","RedsiftColorSuccessActive","RedsiftColorSuccessActiveHover","RedsiftColorSuccessPrimaryActive","RedsiftColorErrorPrimary","RedsiftColorErrorSecondary","RedsiftColorErrorHover","RedsiftColorErrorActive","RedsiftColorErrorActiveHover","RedsiftColorErrorPrimaryActive","RedsiftColorWarningPrimary","RedsiftColorWarningSecondary","RedsiftColorWarningHover","RedsiftColorWarningActive","RedsiftColorWarningActiveHover","RedsiftColorInfoPrimary","RedsiftColorInfoSecondary","RedsiftColorInfoHover","RedsiftColorInfoActive","RedsiftColorInfoActiveHover","RedsiftColorInfoPrimaryActive","RedsiftColorQuestionPrimary","RedsiftColorQuestionSecondary","RedsiftColorQuestionHover","RedsiftColorQuestionActive","RedsiftColorQuestionActiveHover","RedsiftColorNoDataPrimary","RedsiftColorNoDataSecondary","RedsiftColorNoDataHover","RedsiftColorNoDataActive","RedsiftColorNoDataActiveHover","RedsiftColorNeutralBlack","RedsiftColorNeutralDarkgrey","RedsiftColorNeutralMidgrey","RedsiftColorNeutralLightgrey","RedsiftColorNeutralXlightgrey","RedsiftColorNeutralWhite","RedsiftAppBarColorBackground","RedsiftAppBarColorText","RedsiftAppBarColorExpandIconResting","RedsiftAppBarColorExpandIconHover","RedsiftAppBarColorExpandIconBackgroundHover","RedsiftDataVizColorPurpleDefault","RedsiftDataVizColorPurpleDark","RedsiftDataVizColorPurpleDarker","RedsiftDataVizColorPurpleLight","RedsiftDataVizColorPurpleLighter","RedsiftDataVizColorBlueDefault","RedsiftDataVizColorBlueDark","RedsiftDataVizColorBlueDarker","RedsiftDataVizColorBlueLight","RedsiftDataVizColorBlueLighter","RedsiftDataVizColorGreenDefault","RedsiftDataVizColorGreenDark","RedsiftDataVizColorGreenDarker","RedsiftDataVizColorGreenLight","RedsiftDataVizColorGreenLighter","RedsiftDataVizColorRedDefault","RedsiftDataVizColorRedDark","RedsiftDataVizColorRedDarker","RedsiftDataVizColorRedLight","RedsiftDataVizColorRedLighter","RedsiftDataVizColorPinkDefault","RedsiftDataVizColorPinkDark","RedsiftDataVizColorPinkDarker","RedsiftDataVizColorPinkLight","RedsiftDataVizColorPinkLighter","RedsiftDataVizColorCyanDefault","RedsiftDataVizColorCyanDark","RedsiftDataVizColorCyanDarker","RedsiftDataVizColorCyanLight","RedsiftDataVizColorCyanLighter","RedsiftDataVizColorOrangeDefault","RedsiftDataVizColorOrangeDark","RedsiftDataVizColorOrangeDarker","RedsiftDataVizColorOrangeLight","RedsiftDataVizColorOrangeLighter","RedsiftDataVizColorYellowDefault","RedsiftDataVizColorYellowDark","RedsiftDataVizColorYellowDarker","RedsiftDataVizColorYellowLight","RedsiftDataVizColorYellowLighter","RedsiftDataVizColorBrownDefault","RedsiftDataVizColorBrownDark","RedsiftDataVizColorBrownDarker","RedsiftDataVizColorBrownLight","RedsiftDataVizColorBrownLighter","RedsiftDataVizColorGreyDefault","RedsiftDataVizColorGreyDark","RedsiftDataVizColorGreyDarker","RedsiftDataVizColorGreyLight","RedsiftDataVizColorGreyLighter","RedsiftSideNavigationColorBackground","RedsiftSideNavigationColorMenuItemTextResting","RedsiftSideNavigationColorMenuItemTextDisabled","RedsiftSideNavigationColorMenuItemTextHover","RedsiftSideNavigationColorMenuItemBackgroundHover","RedsiftSideNavigationColorMenuItemBackgroundSecondary","RedsiftSideNavigationColorMenuItemBackgroundActive","RedsiftSideNavigationColorMenuItemActive","RedsiftSideNavigationColorScrollbarResting","RedsiftSideNavigationColorScrollbarHover","RedsiftTypographyFontFamilyRaleway","RedsiftTypographyFontFamilyElectrolize","RedsiftTypographyFontFamilySourceCodePro","RedsiftTypographyFontWeightRegular","RedsiftTypographyFontWeightMedium","RedsiftTypographyFontWeightSemiBold","RedsiftTypographyFontWeightBold","RedsiftTypographyH1FontFamily","RedsiftTypographyH1FontSize","RedsiftTypographyH1FontWeight","RedsiftTypographyH1LineHeight","RedsiftTypographyH1TextTransform","RedsiftTypographyH2FontFamily","RedsiftTypographyH2FontSize","RedsiftTypographyH2FontWeight","RedsiftTypographyH2LineHeight","RedsiftTypographyH3FontFamily","RedsiftTypographyH3FontSize","RedsiftTypographyH3FontWeight","RedsiftTypographyH3LineHeight","RedsiftTypographyH4FontFamily","RedsiftTypographyH4FontSize","RedsiftTypographyH4FontWeight","RedsiftTypographyH4LineHeight","RedsiftTypographySubtitleFontFamily","RedsiftTypographySubtitleFontSize","RedsiftTypographySubtitleFontWeight","RedsiftTypographySubtitleLineHeight","RedsiftTypographyBodyFontFamily","RedsiftTypographyBodyFontSize","RedsiftTypographyBodyFontWeight","RedsiftTypographyBodyLineHeight","RedsiftTypographyLinkFontFamily","RedsiftTypographyLinkFontSize","RedsiftTypographyLinkFontWeight","RedsiftTypographyLinkLineHeight","RedsiftTypographyInputTextFontFamily","RedsiftTypographyInputTextFontSize","RedsiftTypographyInputTextFontWeight","RedsiftTypographyInputTextLineHeight","RedsiftTypographyButtonFontFamily","RedsiftTypographyButtonFontSize","RedsiftTypographyButtonFontWeight","RedsiftTypographyButtonLineHeight","RedsiftTypographyButtonTextTransform","RedsiftTypographyCaptionFontFamily","RedsiftTypographyCaptionFontSize","RedsiftTypographyCaptionFontWeight","RedsiftTypographyCaptionLineHeight","RedsiftTypographyHelperFontFamily","RedsiftTypographyHelperFontSize","RedsiftTypographyHelperFontWeight","RedsiftTypographyHelperLineHeight","RedsiftTypographyBadgeFontFamily","RedsiftTypographyBadgeFontSize","RedsiftTypographyBadgeFontWeight","RedsiftTypographyBadgeLineHeight","RedsiftTypographyChipFontFamily","RedsiftTypographyChipFontSize","RedsiftTypographyChipFontWeight","RedsiftTypographyChipLineHeight","warnIfNoAccessibleLabelFound","props","additionalKeysToCheck","ariaLabel","ariaLabelledby","hasText","filter","key","length","hasAriaLabel","Boolean","console","warn","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","ref","ariaHidden","badge","className","color","icon","svgProps","forwardedProps","_excluded","undefined","classNames","verticalAlign","defaultProps","displayName","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":";;;;;;;AAEA;;AAaA;AACA;AACA;AACA;;AAGA;;AAGA;AACA;AACA;AACO,MAAMA,YAAY,GAAG;AAC1BC,EAAAA,OAAO,EAAE,SAAS;AAClBC,EAAAA,OAAO,EAAE,SAAS;AAClBC,EAAAA,KAAK,EAAE,OAAO;AACdC,EAAAA,OAAO,EAAE,SAAS;AAClBC,EAAAA,IAAI,EAAE,MAAM;AACZC,EAAAA,QAAQ,EAAE,UAAU;AACpB,EAAA,SAAS,EAAE,SAAA;AACb,EAAU;AAGH,MAAMC,mBAAmB,GAAG;AACjCC,EAAAA,OAAO,EAAE,SAAS;AAClBC,EAAAA,OAAO,EAAE,SAAS;AAClBC,EAAAA,OAAO,EAAE,SAAS;AAClBC,EAAAA,QAAQ,EAAE,UAAU;AACpBC,EAAAA,SAAS,EAAE,WAAW;AACtBC,EAAAA,KAAK,EAAE,OAAA;AACT;;AC7CA;AACA;AACA;AACA;;AAEO,MAAMC,0BAA0B,GAAG,UAAS;AAC5C,MAAMC,4BAA4B,GAAG,UAAS;AAC9C,MAAMC,wBAAwB,GAAG,UAAS;AAC1C,MAAMC,yBAAyB,GAAG,UAAS;AAC3C,MAAMC,8BAA8B,GAAG,UAAS;AAChD,MAAMC,gCAAgC,GAAG,UAAS;AAClD,MAAMC,0BAA0B,GAAG,UAAS;AAC5C,MAAMC,4BAA4B,GAAG,UAAS;AAC9C,MAAMC,wBAAwB,GAAG,UAAS;AAC1C,MAAMC,yBAAyB,GAAG,UAAS;AAC3C,MAAMC,8BAA8B,GAAG,UAAS;AAChD,MAAMC,gCAAgC,GAAG,UAAS;AAClD,MAAMC,0BAA0B,GAAG,UAAS;AAC5C,MAAMC,4BAA4B,GAAG,UAAS;AAC9C,MAAMC,wBAAwB,GAAG,UAAS;AAC1C,MAAMC,yBAAyB,GAAG,UAAS;AAC3C,MAAMC,8BAA8B,GAAG,UAAS;AAChD,MAAMC,gCAAgC,GAAG,UAAS;AAClD,MAAMC,0BAA0B,GAAG,UAAS;AAC5C,MAAMC,4BAA4B,GAAG,UAAS;AAC9C,MAAMC,wBAAwB,GAAG,UAAS;AAC1C,MAAMC,yBAAyB,GAAG,UAAS;AAC3C,MAAMC,8BAA8B,GAAG,UAAS;AAChD,MAAMC,gCAAgC,GAAG,UAAS;AAClD,MAAMC,2BAA2B,GAAG,UAAS;AAC7C,MAAMC,6BAA6B,GAAG,UAAS;AAC/C,MAAMC,yBAAyB,GAAG,UAAS;AAC3C,MAAMC,0BAA0B,GAAG,UAAS;AAC5C,MAAMC,+BAA+B,GAAG,UAAS;AACjD,MAAMC,iCAAiC,GAAG,UAAS;AACnD,MAAMC,4BAA4B,GAAG,UAAS;AAC9C,MAAMC,8BAA8B,GAAG,UAAS;AAChD,MAAMC,0BAA0B,GAAG,UAAS;AAC5C,MAAMC,2BAA2B,GAAG,UAAS;AAC7C,MAAMC,gCAAgC,GAAG,UAAS;AAClD,MAAMC,kCAAkC,GAAG,UAAS;AACpD,MAAMC,wBAAwB,GAAG,UAAS;AAC1C,MAAMC,0BAA0B,GAAG,UAAS;AAC5C,MAAMC,sBAAsB,GAAG,UAAS;AACxC,MAAMC,uBAAuB,GAAG,UAAS;AACzC,MAAMC,4BAA4B,GAAG,UAAS;AAC9C,MAAMC,8BAA8B,GAAG,UAAS;AAChD,MAAMC,0BAA0B,GAAG,UAAS;AAC5C,MAAMC,4BAA4B,GAAG,UAAS;AAC9C,MAAMC,wBAAwB,GAAG,UAAS;AAC1C,MAAMC,yBAAyB,GAAG,UAAS;AAC3C,MAAMC,8BAA8B,GAAG,UAAS;AAChD,MAAMC,gCAAgC,GAAG,UAAS;AAClD,MAAMC,wBAAwB,GAAG,UAAS;AAC1C,MAAMC,0BAA0B,GAAG,UAAS;AAC5C,MAAMC,sBAAsB,GAAG,UAAS;AACxC,MAAMC,uBAAuB,GAAG,UAAS;AACzC,MAAMC,4BAA4B,GAAG,UAAS;AAC9C,MAAMC,8BAA8B,GAAG,UAAS;AAChD,MAAMC,0BAA0B,GAAG,UAAS;AAC5C,MAAMC,4BAA4B,GAAG,UAAS;AAC9C,MAAMC,wBAAwB,GAAG,UAAS;AAC1C,MAAMC,yBAAyB,GAAG,UAAS;AAC3C,MAAMC,8BAA8B,GAAG,UAAS;AAChD,MAAMC,uBAAuB,GAAG,UAAS;AACzC,MAAMC,yBAAyB,GAAG,UAAS;AAC3C,MAAMC,qBAAqB,GAAG,UAAS;AACvC,MAAMC,sBAAsB,GAAG,UAAS;AACxC,MAAMC,2BAA2B,GAAG,UAAS;AAC7C,MAAMC,6BAA6B,GAAG,UAAS;AAC/C,MAAMC,2BAA2B,GAAG,UAAS;AAC7C,MAAMC,6BAA6B,GAAG,UAAS;AAC/C,MAAMC,yBAAyB,GAAG,UAAS;AAC3C,MAAMC,0BAA0B,GAAG,UAAS;AAC5C,MAAMC,+BAA+B,GAAG,UAAS;AACjD,MAAMC,yBAAyB,GAAG,UAAS;AAC3C,MAAMC,2BAA2B,GAAG,UAAS;AAC7C,MAAMC,uBAAuB,GAAG,UAAS;AACzC,MAAMC,wBAAwB,GAAG,UAAS;AAC1C,MAAMC,6BAA6B,GAAG,UAAS;AAC/C,MAAMC,wBAAwB,GAAG,UAAS;AAC1C,MAAMC,2BAA2B,GAAG,UAAS;AAC7C,MAAMC,0BAA0B,GAAG,UAAS;AAC5C,MAAMC,4BAA4B,GAAG,UAAS;AAC9C,MAAMC,6BAA6B,GAAG,UAAS;AAC/C,MAAMC,wBAAwB,GAAG,UAAS;AAC1C,MAAMC,4BAA4B,GAAG,UAAS;AAC9C,MAAMC,sBAAsB,GAAG,UAAS;AACxC,MAAMC,mCAAmC,GAAG,UAAS;AACrD,MAAMC,iCAAiC,GAAG,UAAS;AACnD,MAAMC,2CAA2C,GAAG,UAAS;AAC7D,MAAMC,gCAAgC,GAAG,UAAS;AAClD,MAAMC,6BAA6B,GAAG,UAAS;AAC/C,MAAMC,+BAA+B,GAAG,UAAS;AACjD,MAAMC,8BAA8B,GAAG,UAAS;AAChD,MAAMC,gCAAgC,GAAG,UAAS;AAClD,MAAMC,8BAA8B,GAAG,UAAS;AAChD,MAAMC,2BAA2B,GAAG,UAAS;AAC7C,MAAMC,6BAA6B,GAAG,UAAS;AAC/C,MAAMC,4BAA4B,GAAG,UAAS;AAC9C,MAAMC,8BAA8B,GAAG,UAAS;AAChD,MAAMC,+BAA+B,GAAG,UAAS;AACjD,MAAMC,4BAA4B,GAAG,UAAS;AAC9C,MAAMC,8BAA8B,GAAG,UAAS;AAChD,MAAMC,6BAA6B,GAAG,UAAS;AAC/C,MAAMC,+BAA+B,GAAG,UAAS;AACjD,MAAMC,6BAA6B,GAAG,UAAS;AAC/C,MAAMC,0BAA0B,GAAG,UAAS;AAC5C,MAAMC,4BAA4B,GAAG,UAAS;AAC9C,MAAMC,2BAA2B,GAAG,UAAS;AAC7C,MAAMC,6BAA6B,GAAG,UAAS;AAC/C,MAAMC,8BAA8B,GAAG,UAAS;AAChD,MAAMC,2BAA2B,GAAG,UAAS;AAC7C,MAAMC,6BAA6B,GAAG,UAAS;AAC/C,MAAMC,4BAA4B,GAAG,UAAS;AAC9C,MAAMC,8BAA8B,GAAG,UAAS;AAChD,MAAMC,8BAA8B,GAAG,UAAS;AAChD,MAAMC,2BAA2B,GAAG,UAAS;AAC7C,MAAMC,6BAA6B,GAAG,UAAS;AAC/C,MAAMC,4BAA4B,GAAG,UAAS;AAC9C,MAAMC,8BAA8B,GAAG,UAAS;AAChD,MAAMC,gCAAgC,GAAG,UAAS;AAClD,MAAMC,6BAA6B,GAAG,UAAS;AAC/C,MAAMC,+BAA+B,GAAG,UAAS;AACjD,MAAMC,8BAA8B,GAAG,UAAS;AAChD,MAAMC,gCAAgC,GAAG,UAAS;AAClD,MAAMC,gCAAgC,GAAG,UAAS;AAClD,MAAMC,6BAA6B,GAAG,UAAS;AAC/C,MAAMC,+BAA+B,GAAG,UAAS;AACjD,MAAMC,8BAA8B,GAAG,UAAS;AAChD,MAAMC,gCAAgC,GAAG,UAAS;AAClD,MAAMC,+BAA+B,GAAG,UAAS;AACjD,MAAMC,4BAA4B,GAAG,UAAS;AAC9C,MAAMC,8BAA8B,GAAG,UAAS;AAChD,MAAMC,6BAA6B,GAAG,UAAS;AAC/C,MAAMC,+BAA+B,GAAG,UAAS;AACjD,MAAMC,8BAA8B,GAAG,UAAS;AAChD,MAAMC,2BAA2B,GAAG,UAAS;AAC7C,MAAMC,6BAA6B,GAAG,UAAS;AAC/C,MAAMC,4BAA4B,GAAG,UAAS;AAC9C,MAAMC,8BAA8B,GAAG,UAAS;AAChD,MAAMC,oCAAoC,GAAG,UAAS;AACtD,MAAMC,6CAA6C,GAAG,YAAW;AACjE,MAAMC,8CAA8C,GAAG,UAAS;AAChE,MAAMC,2CAA2C,GAAG,UAAS;AAC7D,MAAMC,iDAAiD,GAAG,UAAS;AACnE,MAAMC,qDAAqD,GAAG,UAAS;AACvE,MAAMC,kDAAkD,GAAG,UAAS;AACpE,MAAMC,wCAAwC,GAAG,UAAS;AAC1D,MAAMC,0CAA0C,GAAG,UAAS;AAC5D,MAAMC,wCAAwC,GAAG,UAAS;AAC1D,MAAMC,kCAAkC,GAAG,wBAAuB;AAClE,MAAMC,sCAAsC,GACjD,4BAA2B;AACtB,MAAMC,wCAAwC,GACnD,gCAA+B;AAC1B,MAAMC,kCAAkC,GAAG,MAAK;AAChD,MAAMC,iCAAiC,GAAG,MAAK;AAC/C,MAAMC,mCAAmC,GAAG,MAAK;AACjD,MAAMC,+BAA+B,GAAG,MAAK;AAC7C,MAAMC,6BAA6B,GAAG,4BAA2B;AACjE,MAAMC,2BAA2B,GAAG,OAAM;AAC1C,MAAMC,6BAA6B,GAAG,MAAK;AAC3C,MAAMC,6BAA6B,GAAG,OAAM;AAC5C,MAAMC,gCAAgC,GAAG,YAAW;AACpD,MAAMC,6BAA6B,GAAG,wBAAuB;AAC7D,MAAMC,2BAA2B,GAAG,OAAM;AAC1C,MAAMC,6BAA6B,GAAG,MAAK;AAC3C,MAAMC,6BAA6B,GAAG,OAAM;AAC5C,MAAMC,6BAA6B,GAAG,wBAAuB;AAC7D,MAAMC,2BAA2B,GAAG,OAAM;AAC1C,MAAMC,6BAA6B,GAAG,MAAK;AAC3C,MAAMC,6BAA6B,GAAG,OAAM;AAC5C,MAAMC,6BAA6B,GAAG,wBAAuB;AAC7D,MAAMC,2BAA2B,GAAG,OAAM;AAC1C,MAAMC,6BAA6B,GAAG,MAAK;AAC3C,MAAMC,6BAA6B,GAAG,OAAM;AAC5C,MAAMC,mCAAmC,GAAG,wBAAuB;AACnE,MAAMC,iCAAiC,GAAG,OAAM;AAChD,MAAMC,mCAAmC,GAAG,MAAK;AACjD,MAAMC,mCAAmC,GAAG,OAAM;AAClD,MAAMC,+BAA+B,GAAG,wBAAuB;AAC/D,MAAMC,6BAA6B,GAAG,OAAM;AAC5C,MAAMC,+BAA+B,GAAG,MAAK;AAC7C,MAAMC,+BAA+B,GAAG,OAAM;AAC9C,MAAMC,+BAA+B,GAAG,wBAAuB;AAC/D,MAAMC,6BAA6B,GAAG,OAAM;AAC5C,MAAMC,+BAA+B,GAAG,MAAK;AAC7C,MAAMC,+BAA+B,GAAG,OAAM;AAC9C,MAAMC,oCAAoC,GAC/C,gCAA+B;AAC1B,MAAMC,kCAAkC,GAAG,OAAM;AACjD,MAAMC,oCAAoC,GAAG,MAAK;AAClD,MAAMC,oCAAoC,GAAG,OAAM;AACnD,MAAMC,iCAAiC,GAAG,wBAAuB;AACjE,MAAMC,+BAA+B,GAAG,OAAM;AAC9C,MAAMC,iCAAiC,GAAG,MAAK;AAC/C,MAAMC,iCAAiC,GAAG,OAAM;AAChD,MAAMC,oCAAoC,GAAG,YAAW;AACxD,MAAMC,kCAAkC,GAAG,wBAAuB;AAClE,MAAMC,gCAAgC,GAAG,OAAM;AAC/C,MAAMC,kCAAkC,GAAG,MAAK;AAChD,MAAMC,kCAAkC,GAAG,OAAM;AACjD,MAAMC,iCAAiC,GAAG,wBAAuB;AACjE,MAAMC,+BAA+B,GAAG,OAAM;AAC9C,MAAMC,iCAAiC,GAAG,MAAK;AAC/C,MAAMC,iCAAiC,GAAG,OAAM;AAChD,MAAMC,gCAAgC,GAAG,gCAA+B;AACxE,MAAMC,8BAA8B,GAAG,OAAM;AAC7C,MAAMC,gCAAgC,GAAG,MAAK;AAC9C,MAAMC,gCAAgC,GAAG,OAAM;AAC/C,MAAMC,+BAA+B,GAAG,gCAA+B;AACvE,MAAMC,6BAA6B,GAAG,OAAM;AAC5C,MAAMC,+BAA+B,GAAG,MAAK;AAC7C,MAAMC,+BAA+B,GAAG;;ACpN/C;AACA;AACA;AACA;AACA;AACA;MACaC,4BAA4B,GAAG,CAC1CC,KAAkD,EAClDC,qBAA6B,KACpB;EACT,MAAM;AAAE,IAAA,YAAY,EAAEC,SAAS;AAAE,IAAA,iBAAiB,EAAEC,cAAAA;AAAe,GAAC,GAAGH,KAAK,CAAA;AAE5E,EAAA,MAAMI,OAAO,GACXH,qBAAqB,IACrBA,qBAAqB,CAACI,MAAM,CAAEC,GAAG,IAAK,CAAC,CAACA,GAAG,CAAC,CAACC,MAAM,GAAG,CAAC,CAAA;AACzD,EAAA,MAAMC,YAAY,GAAGC,OAAO,CAACP,SAAS,IAAIC,cAAc,CAAC,CAAA;AAEzD,EAAA,IAAI,CAACK,YAAY,IAAI,CAACJ,OAAO,EAAE;AAC7BM,IAAAA,OAAO,CAACC,IAAI,CAAC,4CAA4C,CAAC,CAAA;AAC5D,GAAA;AACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClBA;AACA;AACA;AACO,MAAMC,iBAAiB,GAAG;AAC/BC,EAAAA,OAAO,EAAE,SAAS;AAClBC,EAAAA,SAAS,EAAE,WAAW;AACtBC,EAAAA,QAAQ,EAAE,UAAA;AACZ;;ACRA;AACA;AACA;AACO,MAAMC,QAAQ,GAAG;AACtBC,EAAAA,MAAM,EAAE,QAAQ;AAChBC,EAAAA,KAAK,EAAE,OAAO;AACdC,EAAAA,MAAM,EAAE,QAAQ;AAChBC,EAAAA,KAAK,EAAE,OAAA;AACT;;ACPA;AACA;AACA;AACO,MAAMC,UAAU,GAAGC,MAAM,CAACC,IAAsB,CAAA;AACvD;AACA;AACA;AACA,EAAI,EAAA,IAAA,IAAA;EAAA,IAAC;AAAEC,IAAAA,MAAAA;GAAQ,GAAA,IAAA,CAAA;AAAA,EAAA,OACXA,MAAM,IACN,CAAC,GAAGC,MAAM,CAACC,IAAI,CAACxP,YAAY,CAAC,EAAE,GAAGuP,MAAM,CAACC,IAAI,CAACjP,mBAAmB,CAAC,CAAC,CAACkP,OAAO,CACzEH,MAAM,CACP,KAAK,CAAC,CAAC,GACJI,GAAI,CAAA;AACZ,qCAAA,EAAuCJ,MAAO,CAAA;AAC9C,QAAA,CAAS,GACDI,GAAI,CAAA;AACZ,iBAAmBJ,EAAAA,MAAM,IAAII,GAAI,CAAuC,qCAAA,CAAA,CAAA;AACxE,QAAS,CAAA,CAAA;AAAA,CAAC,CAAA;AACV;AACA,EAAA,EAAI,KAAe,IAAA;EAAA,IAAd;AAAEC,IAAAA,KAAAA;GAAO,GAAA,KAAA,CAAA;AACV,EAAA,QAAQA,KAAK;IACX,KAAKb,QAAQ,CAACI,KAAK;AACjB,MAAA,OAAOQ,GAAI,CAAA;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAS,CAAA,CAAA;IACH,KAAKZ,QAAQ,CAACE,KAAK;AACjB,MAAA,OAAOU,GAAI,CAAA;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAS,CAAA,CAAA;IACH,KAAKZ,QAAQ,CAACC,MAAM;AAClB,MAAA,OAAOW,GAAI,CAAA;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAS,CAAA,CAAA;IACH,KAAKZ,QAAQ,CAACG,MAAM,CAAA;AACpB,IAAA;AACE,MAAA,OAAOS,GAAI,CAAA;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAS,CAAA,CAAA;AAAC,GAAA;AAER,CAAE,CAAA;AACJ,CAAC;;;AClGD,MAAME,gBAAc,GAAG,aAAa,CAAA;AACpC,MAAMC,WAAS,GAAG,cAAc,CAAA;AAChC,MAAMC,eAAiC,GAAG;EACxCC,IAAI,EAAEjB,QAAQ,CAACG,MAAAA;AACjB,CAAC,CAAA;;AAED;AACA;AACA;AACO,MAAMe,IAAsC,gBAAGC,UAAU,CAC9D,CAACnC,KAAK,EAAEoC,GAAG,KAAK;EACd,MAAM;AACJ,MAAA,aAAa,EAAEC,UAAU;AACzB,MAAA,YAAY,EAAEnC,SAAS;MACvBoC,KAAK;MACLC,SAAS;MACTC,KAAK;MACLC,IAAI;MACJR,IAAI;AACJS,MAAAA,QAAAA;AAEF,KAAC,GAAG1C,KAAK;AADJ2C,IAAAA,cAAc,4BACf3C,KAAK,EAAA4C,WAAA,CAAA,CAAA;EAET,oBACE,KAAA,CAAA,aAAA,CAAC,UAAU,EAAA,QAAA,CAAA,EAAA,EACLD,cAAc,EAAA;AAClB,IAAA,MAAM,EAAEH,KAAM;AACd,IAAA,KAAK,EAAEP,IAAK;IACZ,aAAa/B,EAAAA,SAAS,GAAImC,UAAU,GAAGA,UAAU,GAAGQ,SAAS,GAAI,IAAK;AACtE,IAAA,YAAA,EAAY3C,SAAU;IACtB,SAAS,EAAE4C,UAAU,CAACZ,IAAI,CAACK,SAAS,EAAEA,SAAS,CAAE;AACjD,IAAA,GAAG,EAAEH,GAAAA;AAAkC,GAAA,CAAA,eAEvC,wCACMM,QAAQ,EAAA;IACZ,aAAaxC,EAAAA,SAAS,GAAImC,UAAU,GAAGA,UAAU,GAAGQ,SAAS,GAAI,IAAK;AACtE,IAAA,YAAA,EAAY3C,SAAU;AACtB,IAAA,SAAS,EAAC,OAAO;AACjB,IAAA,MAAM,EAAC,KAAK;AACZ,IAAA,mBAAmB,EAAC,eAAe;AACnC,IAAA,IAAI,EAAC,KAAK;AACV,IAAA,KAAK,EAAE;AAAE6C,MAAAA,aAAa,EAAE,UAAA;KAAa;AACrC,IAAA,OAAO,EAAC,WAAW;AACnB,IAAA,KAAK,EAAC,KAAA;GAEN,CAAA,eAAA,KAAA,CAAA,aAAA,CAAA,MAAA,EAAA;AAAM,IAAA,CAAC,EAAEN,IAAK;AAAC,IAAA,IAAI,EAAC,cAAA;AAAc,GAAA,CAAG,CACjC,EACLH,KAAK,GAAGA,KAAK,GAAG,IAAI,CACV,CAAA;AAEjB,CAAC,EACF;AACDJ,IAAI,CAACK,SAAS,GAAGR,WAAS,CAAA;AAC1BG,IAAI,CAACc,YAAY,GAAGhB,eAAa,CAAA;AACjCE,IAAI,CAACe,WAAW,GAAGnB,gBAAc;;ACxDjC;AACA;AACA;AACO,MAAMoB,aAAa,GAAG;AAC3BrC,EAAAA,OAAO,EAAE,SAAS;AAClBC,EAAAA,SAAS,EAAE,WAAW;AACtBC,EAAAA,QAAQ,EAAE,UAAA;AACZ;;ACRA;AACA;AACA;AACaoC,MAAAA,YAAY,GAAG7B,MAAM,CAAC8B,MAA0B,CAAA;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAI,EAAA,IAAA,IAAA;EAAA,IAAC;IAAEC,QAAQ;IAAE7B,MAAM;IAAE8B,SAAS;AAAEC,IAAAA,WAAAA;GAAa,GAAA,IAAA,CAAA;AAAA,EAAA,OAAK3B,GAAI,CAAA;AAC1D,aAAeyB,EAAAA,QAAQ,KAAKH,aAAa,CAACpC,SAAS,GAAG,UAAU,GAAG,UAAW,CAAA;AAC9E;AACA,IAAA,EAAMuC,QAAQ,KAAKH,aAAa,CAACpC,SAAS,GAClCc,GAAI,CAAA;AACZ,4BAA8B0B,EAAAA,SAAS,GACxB,CAAA,oBAAA,EAAsB9B,MAAO,CAAA,QAAA,CAAS,GACvC+B,WAAW,GACX,oCAAoC,GACpC,oCAAqC,CAAA;AACnD;AACA;AACA,mBAAA,EAAqBA,WAAW,GAChB,sCAAsC,GACrC,CAAA,oBAAA,EAAsB/B,MAAO,CAAW,SAAA,CAAA,CAAA;AACzD;AACA,QAAA,CAAS,GACD6B,QAAQ,KAAKH,aAAa,CAACnC,QAAQ,GACnCa,GAAI,CAAA;AACZ,4BAA8B0B,EAAAA,SAAS,GACxB,CAAA,oBAAA,EAAsB9B,MAAO,CAAA,QAAA,CAAS,GACvC+B,WAAW,GACX,MAAM,GACN,MAAO,CAAA;AACrB;AACA;AACA,mBAAA,EAAqBA,WAAW,GAChB,sCAAsC,GACrC,CAAA,oBAAA,EAAsB/B,MAAO,CAAW,SAAA,CAAA,CAAA;AACzD;AACA,QAAA,CAAS,GACDI,GAAI,CAAA;AACZ,4BAAA,EAA8B0B,SAAS,GACxB,CAAsB9B,oBAAAA,EAAAA,MAAO,CAAiB,gBAAA,CAAA,GAC/C+B,WAAW,GACX,wCAAwC,GACvC,CAAsB/B,oBAAAA,EAAAA,MAAO,CAAW,SAAA,CAAA,CAAA;AACvD;AACA;AACA,mBAAA,EAAqB+B,WAAW,GAChB,sCAAsC,GACtC,oCAAqC,CAAA;AACrD;AACA,QAAU,CAAA,CAAA;AACV;AACA,IAAA,EAAMF,QAAQ,KAAKH,aAAa,CAACpC,SAAS,GAClCc,GAAI,CAAA;AACZ;AACA,YAAA,EAAc2B,WAAW,GACT,sCAAsC,GACrC,CAAA,oBAAA,EAAsB/B,MAAO,CAAW,SAAA,CAAA,CAAA;AACzD,QAAA,CAAS,GACD,EAAG,CAAA;AACX,EAAG,CAAA,CAAA;AAAA,CAAC,CAAA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAM,EAAA,KAAA,IAAA;EAAA,IAAC;IAAE6B,QAAQ;IAAE7B,MAAM;IAAE8B,SAAS;AAAEC,IAAAA,WAAAA;GAAa,GAAA,KAAA,CAAA;AAAA,EAAA,OAAK3B,GAAI,CAAA;AAC5D,cAAA,EAAgB2B,WAAW,GAAG,SAAS,GAAG,SAAU,CAAA;AACpD;AACA,MAAA,EAAQF,QAAQ,KAAKH,aAAa,CAACpC,SAAS,GAClCc,GAAI,CAAA;AACd,8BAAA,EAAgC0B,SAAS,GACxB,CAAsB9B,oBAAAA,EAAAA,MAAO,CAAe,cAAA,CAAA,GAC7C+B,WAAW,GACX,oCAAoC,GACnC,CAAsB/B,oBAAAA,EAAAA,MAAO,CAAS,OAAA,CAAA,CAAA;AACvD;AACA;AACA,qBAAA,EAAuB+B,WAAW,GAChB,sCAAsC,GACrC,CAAA,oBAAA,EAAsB/B,MAAO,CAAa,WAAA,CAAA,CAAA;AAC7D;AACA,UAAA,CAAW,GACD6B,QAAQ,KAAKH,aAAa,CAACnC,QAAQ,GACnCa,GAAI,CAAA;AACd,8BAAA,EAAgC0B,SAAS,GACxB,CAAsB9B,oBAAAA,EAAAA,MAAO,CAAe,cAAA,CAAA,GAC7C+B,WAAW,GACX,MAAM,GACL,CAAsB/B,oBAAAA,EAAAA,MAAO,CAAS,OAAA,CAAA,CAAA;AACvD;AACA;AACA,qBAAA,EAAuB+B,WAAW,GAChB,sCAAsC,GACrC,CAAA,oBAAA,EAAsB/B,MAAO,CAAa,WAAA,CAAA,CAAA;AAC7D;AACA,UAAA,CAAW,GACDI,GAAI,CAAA;AACd,8BAAA,EAAgC2B,WAAW,GAC3B,wCAAwC,GACvC,CAAA,oBAAA,EAAsB/B,MAAO,CAAa,WAAA,CAAA,CAAA;AAC3D;AACA;AACA,qBAAA,EAAuB+B,WAAW,GAChB,sCAAsC,GACtC,oCAAqC,CAAA;AACvD;AACA,UAAY,CAAA,CAAA;AACZ;AACA,MAAA,EAAQF,QAAQ,KAAKH,aAAa,CAACpC,SAAS,GAClCc,GAAI,CAAA;AACd;AACA,cAAA,EAAgB2B,WAAW,GACT,sCAAsC,GACrC,CAAA,oBAAA,EAAsB/B,MAAO,CAAW,SAAA,CAAA,CAAA;AAC3D,UAAA,CAAW,GACA,CAAA;AACX;AACA,MAAQ,CAAA,CAAA;AACR,IAAK,CAAA,CAAA;AAAA,CAAC,CAAA;AACN;AACA;AACA,EAAI,EAAA,KAAA,IAAA;EAAA,IAAC;AAAEgC,IAAAA,UAAAA;GAAY,GAAA,KAAA,CAAA;AAAA,EAAA,OACfA,UAAU,GACL,CAAA;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAA,CAAO,GACC,EAAE,CAAA;AAAA,CAAC,CAAA;AACX;;;ACzJA,MAAM1B,gBAAc,GAAG,eAAe,CAAA;AACtC,MAAMC,WAAS,GAAG,gBAAgB,CAAA;AAClC,MAAMC,eAAmC,GAAG;EAC1CQ,KAAK,EAAEtQ,YAAY,CAACC,OAAO;EAC3BsR,OAAO,EAAEP,aAAa,CAACrC,OAAAA;AACzB,CAAC,CAAA;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM6C,MAA4C,gBAAGvB,UAAU,CACpE,CAACnC,KAAK,EAAEoC,GAAG,KAAK;AACd,EAAA,MAAMuB,SAAS,GAAGvB,GAAG,IAAIwB,MAAM,EAAqB,CAAA;EACpD,MAAM;AAAEC,IAAAA,WAAAA;GAAa,GAAGC,SAAS,CAAAC,cAAA,CAAAA,cAAA,CAAA,EAAA,EAE1B/D,KAAK,CAAA,EAAA,EAAA,EAAA;AACRgE,IAAAA,mBAAmB,EAAE,IAAA;AAAI,GAAA,CAAA,EAE3BL,SAAS,CACV,CAAA;EAED,MAAM;MACJM,QAAQ;MACR1B,SAAS;MACTC,KAAK;MACL0B,QAAQ;MACRC,SAAS;MACTC,QAAQ;MACRC,UAAU;MACVC,QAAQ;AACR;MACAC,OAAO;MACPC,SAAS;AACTf,MAAAA,OAAAA;AAEF,KAAC,GAAGzD,KAAK;AADJ2C,IAAAA,cAAc,4BACf3C,KAAK,EAAA4C,WAAA,CAAA,CAAA;AAET,EAAA,oBACE,KAAC,CAAA,aAAA,CAAA,YAAY,EACPD,QAAAA,CAAAA,EAAAA,EAAAA,cAAc,EACdkB,WAAW,EAAA;AACf,IAAA,MAAM,EAAErB,KAAM;AACd,IAAA,UAAU,EAAE2B,SAAU;AACtB,IAAA,SAAS,EAAEC,QAAS;IACpB,WAAW,EAAEC,UAAU,IAAIH,QAAS;AACpC,IAAA,QAAQ,EAAET,OAAQ;IAClB,eAAeY,EAAAA,UAAU,IAAIH,QAAS;IACtC,SAAS,EAAEpB,UAAU,CAACY,MAAM,CAACnB,SAAS,EAAEA,SAAS,CAAE;IACnD,QAAQ,EAAE8B,UAAU,IAAIH,QAAS;AACjC,IAAA,GAAG,EAAEP,SAAAA;GAEJW,CAAAA,EAAAA,QAAQ,gBACP,KAAA,CAAA,aAAA,CAAC,IAAI,EAAA;AAAC,IAAA,IAAI,EAAEA,QAAS;AAAC,IAAA,aAAA,EAAY,MAAM;AAAC,IAAA,SAAS,EAAC,MAAA;AAAM,GAAA,CAAG,GAC1D,IAAI,EACPL,QAAQ,iBAAI,KAAA,CAAA,aAAA,CAAA,MAAA,EAAA,IAAA,EAAOA,QAAQ,CAAQ,EACnCO,SAAS,gBACR,KAAA,CAAA,aAAA,CAAC,IAAI,EAAA;AAAC,IAAA,IAAI,EAAEA,SAAU;AAAC,IAAA,aAAA,EAAY,MAAM;AAAC,IAAA,SAAS,EAAC,OAAA;GAAU,CAAA,GAC5D,IAAI,CACK,CAAA;AAEnB,CAAC,EACF;AACDd,MAAM,CAACnB,SAAS,GAAGR,WAAS,CAAA;AAC5B2B,MAAM,CAACV,YAAY,GAAGhB,eAAa,CAAA;AACnC0B,MAAM,CAACT,WAAW,GAAGnB,gBAAc;;ACzEnC;AACA;AACA;AACO,MAAM2C,gBAAgB,GAAGnD,MAAM,CAAC6B,YAAY,CAAyB,CAAA;AAC5E,EAAI,EAAA,IAAA,IAAA;EAAA,IAAC;AAAEE,IAAAA,QAAAA;GAAU,GAAA,IAAA,CAAA;AAAA,EAAA,OAAKzB,GAAI,CAAA;AAC1B,aAAeyB,EAAAA,QAAQ,KAAKzC,iBAAiB,CAACE,SAAS,GAAG,KAAK,GAAG,KAAM,CAAA;AACxE,EAAG,CAAA,CAAA;AAAA,CAAC,CAAA;AACJ,CAAC;;;ACDD,MAAMgB,gBAAc,GAAG,mBAAmB,CAAA;AAC1C,MAAMC,WAAS,GAAG,qBAAqB,CAAA;AACvC,MAAMC,eAAuC,GAAG;EAC9CQ,KAAK,EAAEtQ,YAAY,CAACC,OAAO;EAC3BsR,OAAO,EAAE7C,iBAAiB,CAACG,QAAAA;AAC7B,CAAC,CAAA;;AAED;AACA;AACA;AACA;AACA;AACA;AACO,MAAM2D,UAAoD,gBAAGvC,UAAU,CAC5E,CAACnC,KAAK,EAAEoC,GAAG,KAAK;AACd,EAAA,MAAMuB,SAAS,GAAGvB,GAAG,IAAIwB,MAAM,EAAqB,CAAA;EACpD,MAAM;AAAEC,IAAAA,WAAAA;GAAa,GAAGC,SAAS,CAAAC,cAAA,CAAAA,cAAA,CAAA,EAAA,EAE1B/D,KAAK,CAAA,EAAA,EAAA,EAAA;AACRgE,IAAAA,mBAAmB,EAAE,IAAA;AAAI,GAAA,CAAA,EAE3BL,SAAS,CACV,CAAA;EAED,MAAM;MACJpB,SAAS;MACTC,KAAK;MACL0B,QAAQ;MACRzB,IAAI;MACJ2B,QAAQ;MACRC,UAAU;AACV;MACAE,OAAO;AACPd,MAAAA,OAAAA;AAEF,KAAC,GAAGzD,KAAK;AADJ2C,IAAAA,cAAc,4BACf3C,KAAK,EAAA4C,WAAA,CAAA,CAAA;EAET7C,4BAA4B,CAACC,KAAK,CAAC,CAAA;AAEnC,EAAA,oBACE,KAAC,CAAA,aAAA,CAAA,gBAAgB,EACX2C,QAAAA,CAAAA,EAAAA,EAAAA,cAAc,EACdkB,WAAW,EAAA;AACf,IAAA,MAAM,EAAEQ,UAAU,IAAIH,QAAQ,GAAGrB,SAAS,GAAGL,KAAM;AACnD,IAAA,SAAS,EAAE4B,QAAS;IACpB,WAAW,EAAEC,UAAU,IAAIH,QAAS;AACpC,IAAA,QAAQ,EAAET,OAAQ;IAClB,eAAeY,EAAAA,UAAU,IAAIH,QAAS;IACtC,SAAS,EAAEpB,UAAU,CAAC4B,UAAU,CAACnC,SAAS,EAAEA,SAAS,CAAE;IACvD,QAAQ,EAAE8B,UAAU,IAAIH,QAAS;AACjC,IAAA,GAAG,EAAEP,SAAAA;AAA0C,GAAA,CAAA,eAE/C,oBAAC,IAAI,EAAA;AAAC,IAAA,IAAI,EAAElB,IAAK;AAAC,IAAA,KAAK,EAAE4B,UAAU,IAAIH,QAAQ,GAAGrB,SAAS,GAAGL,KAAAA;AAAM,GAAA,CAAG,CACtD,CAAA;AAEvB,CAAC,EACF;AACDkC,UAAU,CAACnC,SAAS,GAAGR,WAAS,CAAA;AAChC2C,UAAU,CAAC1B,YAAY,GAAGhB,eAAa,CAAA;AACvC0C,UAAU,CAACzB,WAAW,GAAGnB,gBAAc;;AClEhC,MAAM6C,mBAAmB,gBAC9BC,KAAK,CAACC,aAAa,CAA2B,IAAI;;ACF7C,MAAMC,WAAW,GAAG,MAAM;EAC/B,MAAM,CAACC,QAAQ,EAAEC,WAAW,CAAC,GAAGC,QAAQ,CAAC,KAAK,CAAC,CAAA;AAE/CC,EAAAA,SAAS,CAAC,MAAM;IACdF,WAAW,CAAC,IAAI,CAAC,CAAA;AACnB,GAAC,CAAC,CAAA;EAEF,OAAO;AACLD,IAAAA,QAAAA;GACD,CAAA;AACH,CAAC;;ACTD;AACA;AACA;AACO,MAAMI,YAAY,GAAG7D,MAAM,CAAC8D,MAA0B,CAAA;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAI,EAAA,IAAA,IAAA;EAAA,IAAC;AAAEC,IAAAA,qBAAAA;GAAuB,GAAA,IAAA,CAAA;EAAA,OAC1B,CAACA,qBAAqB,GAClBzD,GAAI,CAAA;AACZ;AACA;AACA,QAAA,CAAS,GACA,CAAA;AACT;AACA;AACA,EAAG,CAAA,CAAA;AAAA,CAAC,CAAA;AACJ;AACA,EAAI,EAAA,KAAA,IAAA;EAAA,IAAC;AAAE0D,IAAAA,SAAAA;GAAW,GAAA,KAAA,CAAA;EAAA,OACdA,SAAS,GACL1D,GAAI,CAAA;AACZ;AACA,QAAA,CAAS,GACD,EAAE,CAAA;AAAA,CAAC,CAAA;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;ACpDD,MAAME,gBAAc,GAAG,eAAe,CAAA;AACtC,MAAMC,WAAS,GAAG,iBAAiB,CAAA;AACnC,MAAMC,eAAmC,GAAG,EAAE,CAAA;;AAE9C;AACA;AACA;AACO,MAAMuD,MAA6C,gBAAGpD,UAAU,CACrE,CAACnC,KAAK,EAAEoC,GAAG,KAAK;EACd,MAAM;MACJ6B,QAAQ;MACR1B,SAAS;MACTiD,uBAAuB;MACvBC,qBAAqB;MACrBC,qBAAqB;MACrBC,mBAAmB;MACnBC,aAAa;AACbC,MAAAA,KAAK,EAAEC,UAAAA;AAET,KAAC,GAAG9F,KAAK;AADJ2C,IAAAA,cAAc,4BACf3C,KAAK,EAAA4C,WAAA,CAAA,CAAA;EAET,MAAM;AAAEmC,IAAAA,QAAAA;GAAU,GAAGD,WAAW,EAAE,CAAA;AAClC,EAAA,MAAMiB,iBAAiB,GAAGC,UAAU,CAACrB,mBAAmB,CAAC,CAAA;EAEzD,oBACE,KAAA,CAAA,aAAA,CAAC,YAAY,EAAA,QAAA,CAAA,EAAA,EACPhC,cAAc,EAAA;AAClB,IAAA,SAAS,EAAEoC,QAAS;AACpB,IAAA,qBAAqB,EACnBgB,iBAAiB,GAAGA,iBAAiB,CAACE,oBAAoB,GAAG,IAC9D;IACD,SAAS,EAAEnD,UAAU,CAACyC,MAAM,CAAChD,SAAS,EAAEA,SAAS,CAAE;AACnD,IAAA,GAAG,EAAEH,GAAAA;GAEL,CAAA,eAAA,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAK,IAAA,SAAS,EAAG,CAAA,EAAEmD,MAAM,CAAChD,SAAU,CAAA,MAAA,CAAA;GACjCwD,EAAAA,iBAAiB,gBAChB,KACGA,CAAAA,aAAAA,CAAAA,KAAAA,CAAAA,QAAAA,EAAAA,IAAAA,EAAAA,iBAAiB,CAACE,oBAAoB,gBACrC,oBAAC,UAAU,EAAA,QAAA,CAAA;AACT,IAAA,SAAS,EAAG,CAAA,EAAEV,MAAM,CAAChD,SAAU,CAAA,oBAAA,CAAA;AAAsB,GAAA,EACjDmD,qBAAqB,EAAA;AACzB,IAAA,YAAA,EAAW,wBAAwB;AACnC,IAAA,IAAI,EAAEQ,OAAQ;IACd,OAAO,EAAEH,iBAAiB,CAACI,eAAgB;AAC3C,IAAA,GAAG,EAAEV,qBAAsD;IAC3D,OAAO,EAAE7E,iBAAiB,CAACC,OAAAA;GAC3B,CAAA,CAAA,gBAEF,oBAAC,UAAU,EAAA,QAAA,CAAA;AACT,IAAA,SAAS,EAAG,CAAA,EAAE0E,MAAM,CAAChD,SAAU,CAAA,sBAAA,CAAA;AAAwB,GAAA,EACnDiD,uBAAuB,EAAA;AAC3B,IAAA,YAAA,EAAW,0BAA0B;AACrC,IAAA,IAAI,EAAEY,WAAY;IAClB,OAAO,EAAEL,iBAAiB,CAACM,iBAAkB;AAC7C,IAAA,GAAG,EAAEV,mBAAoD;IACzD,OAAO,EAAE/E,iBAAiB,CAACC,OAAAA;GAE9B,CAAA,CAAA,CACA,GACD,IAAI,EACPiF,UAAU,IAAI,OAAOA,UAAU,KAAK,QAAQ,gBAC3C,KAAGA,CAAAA,aAAAA,CAAAA,KAAAA,CAAAA,QAAAA,EAAAA,IAAAA,EAAAA,UAAU,CAAI,GACf,OAAOA,UAAU,KAAK,QAAQ,gBAChC,KAAKA,CAAAA,aAAAA,CAAAA,IAAAA,EAAAA,IAAAA,EAAAA,UAAU,CAAM,GACnBC,iBAAiB,IAAIA,iBAAiB,CAACF,KAAK,gBAC9C,KAAA,CAAA,aAAA,CAAA,IAAA,EAAA,IAAA,EAAKE,iBAAiB,CAACF,KAAK,CAAM,GAChCD,aAAa,gBACf,KAAKA,CAAAA,aAAAA,CAAAA,IAAAA,EAAAA,IAAAA,EAAAA,aAAa,CAAM,GACtB,IAAI,CACJ,eACN,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAK,IAAA,SAAS,EAAG,CAAA,EAAEL,MAAM,CAAChD,SAAU,CAAA,OAAA,CAAA;GAAW0B,EAAAA,QAAQ,CAAO,CACjD,CAAA;AAEnB,CAAC,EACF;AACDsB,MAAM,CAAChD,SAAS,GAAGR,WAAS,CAAA;AAC5BwD,MAAM,CAACvC,YAAY,GAAGhB,eAAa,CAAA;AACnCuD,MAAM,CAACtC,WAAW,GAAGnB,gBAAc;;ACpFnC;AACA;AACA;AACO,MAAMwE,kBAAkB,GAAGhF,MAAM,CAACiF,GAA6B,CAAA;AACtE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAe,EAAA,IAAA,IAAA;EAAA,IAAC;AAAEC,IAAAA,YAAAA;GAAc,GAAA,IAAA,CAAA;AAAA,EAAA,OAC5B,CAACA,YAAY,GAAG,gBAAgB,GAAG,mBAAmB,CAAA;AAAA,CAAC,CAAA;AAC3D;AACA,cAAgB,EAAA,KAAA,IAAA;EAAA,IAAC;AAAEA,IAAAA,YAAAA;GAAc,GAAA,KAAA,CAAA;AAAA,EAAA,OAAM,CAACA,YAAY,GAAG,SAAS,GAAG,QAAQ,CAAA;AAAA,CAAE,CAAA;AAC7E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;AC7CD,MAAM1E,gBAAc,GAAG,qBAAqB,CAAA;AAC5C,MAAMC,WAAS,GAAG,wBAAwB,CAAA;AAC1C,MAAMC,eAAyC,GAAG,EAAE,CAAA;;AAEpD;AACA;AACA;AACO,MAAMyE,YAAqD,gBAAGtE,UAAU,CAC7E,CAACnC,KAAK,EAAEoC,GAAG,KAAK;EACd,MAAM;MACJ6B,QAAQ;MACR1B,SAAS;MACTmE,gBAAgB;AAChBC,MAAAA,WAAW,GAAG,KAAK;AACnBC,MAAAA,IAAAA;AAEF,KAAC,GAAG5G,KAAK;AADJ2C,IAAAA,cAAc,4BACf3C,KAAK,EAAA4C,WAAA,CAAA,CAAA;AAET,EAAA,MAAMmD,iBAAiB,GAAGC,UAAU,CAACrB,mBAAmB,CAAC,CAAA;EAEzD,oBACE,KAAA,CAAA,aAAA,CAAC,kBAAkB,EAAA,QAAA,CAAA,EAAA,EACbhC,cAAc,EAAA;AAClB,IAAA,YAAY,EACV,CAAC,EAAEgE,WAAW,IAAIZ,iBAAiB,KAAjBA,IAAAA,IAAAA,iBAAiB,KAAjBA,KAAAA,CAAAA,IAAAA,iBAAiB,CAAEE,oBAAoB,CAC1D;IACD,SAAS,EAAEnD,UAAU,CAAC2D,YAAY,CAAClE,SAAS,EAAEA,SAAS,CAAE;AACzD,IAAA,GAAG,EAAEH,GAAAA;GAEJwE,CAAAA,EAAAA,IAAI,IAAIb,iBAAiB,KAAA,IAAA,IAAjBA,iBAAiB,KAAjBA,KAAAA,CAAAA,IAAAA,iBAAiB,CAAEc,SAAS,gBACnC,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAK,IAAA,SAAS,EAAG,CAAA,EAAEJ,YAAY,CAAClE,SAAU,CAAA,QAAA,CAAA;GACvCqE,EAAAA,IAAI,gBACHhC,KAAK,CAACkC,cAAc,CAACF,IAAI,CAAC,GACxBA,IAAI,gBAEJ,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA;IAAK,GAAG,EAAEA,IAAI,CAACG,GAAI;IAAC,GAAG,EAAEH,IAAI,CAACI,GAAAA;AAAI,GAAA,CACnC,GACC,IAAI,CACJ,GACJ,IAAI,EACPN,gBAAgB,gBACf,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAK,IAAA,SAAS,EAAG,CAAA,EAAED,YAAY,CAAClE,SAAU,CAAA,UAAA,CAAA;AAAY,GAAA,EACnDmE,gBAAgB,CACb,GACJ,IAAI,EACPzC,QAAQ,CACU,CAAA;AAEzB,CAAC,EACF;AACDwC,YAAY,CAAClE,SAAS,GAAGR,WAAS,CAAA;AAClC0E,YAAY,CAACzD,YAAY,GAAGhB,eAAa,CAAA;AACzCyE,YAAY,CAACxD,WAAW,GAAGnB,gBAAc;;ACxDzC;AACA;AACA;;AAKA;AACA;AACA;;AAOA,IAAYmF,oCAAmC;AAI9C,CAAA,UAJWA,mCAAmC,EAAA;EAAnCA,mCAAmC,CAAA,QAAA,CAAA,GAAA,QAAA,CAAA;EAAnCA,mCAAmC,CAAA,UAAA,CAAA,GAAA,UAAA,CAAA;EAAnCA,mCAAmC,CAAA,MAAA,CAAA,GAAA,MAAA,CAAA;AAAA,CAAnCA,EAAAA,mCAAmC,KAAnCA,mCAAmC,GAAA,EAAA,CAAA,CAAA;;AChBxC,MAAMC,4BAA4B,gBACvCtC,KAAK,CAACC,aAAa,CAAoC,IAAI,CAAE;;ACDxD,MAAMsC,yBAAyB,gBACpCvC,KAAK,CAACC,aAAa,CAAiC,IAAI,CAAE;;ACD5D;AACA;AACA;AACO,MAAMuC,4BAA4B,GAAG9F,MAAM,CAAC+F,CAAqC,CAAA;AACxF;AACA;AACA;AACA,EAAI,EAAA,IAAA,IAAA;EAAA,IAAC;AAAE9D,IAAAA,WAAAA;GAAa,GAAA,IAAA,CAAA;EAAA,OAChB,CAACA,WAAW,GACR3B,GAAI,CAAA;AACZ;AACA,QAAA,CAAS,GACDA,GAAI,CAAA;AACZ;AACA,QAAS,CAAA,CAAA;AAAA,CAAC,CAAA;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAM,EAAA,KAAA,IAAA;EAAA,IAAC;AAAE2B,IAAAA,WAAAA;GAAa,GAAA,KAAA,CAAA;EAAA,OAChB,CAACA,WAAW,GACR3B,GAAI,CAAA;AACd;AACA;AACA;AACA;AACA,UAAA,CAAW,GACD,EAAE,CAAA;AAAA,CAAC,CAAA;AACb;AACA;AACA,EAAI,EAAA,KAAA,IAAA;EAAA,IAAC;IAAE0F,cAAc;AAAEC,IAAAA,aAAAA;GAAe,GAAA,KAAA,CAAA;EAAA,OAClC,CAACD,cAAc,GACX1F,GAAI,CAAA;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAA,CAAS,GACA,CAAA;AACT;AACA;AACA;AACA;AACA;AACA;AACA,kBAAA,EAAoB,CAAC2F,aAAa,GAAG,MAAM,GAAG,MAAO,CAAA;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAG,CAAA,CAAA;AAAA,CAAC,CAAA;AACJ;AACA,EAAI,EAAA,KAAA,IAAA;EAAA,IAAC;IAAEC,UAAU;AAAEjE,IAAAA,WAAAA;GAAa,GAAA,KAAA,CAAA;AAAA,EAAA,OAC5BiE,UAAU,IAAI,CAACjE,WAAW,GACtB3B,GAAI,CAAA;AACZ;AACA;AACA;AACA;AACA,QAAA,CAAS,GACD,EAAE,CAAA;AAAA,CAAC,CAAA;AACX,CAAC;;AC1GD;AACA;AACA;AACO,MAAM6F,YAAY,GAAG;AAC1BC,EAAAA,GAAG,EAAE,KAAK;AACVC,EAAAA,QAAQ,EAAE,UAAA;AACZ;;ACNA;AACA;AACA;AACO,MAAMC,WAAW,GAAGtG,MAAM,CAACiF,GAAsB,CAAA;AACxD,EAAA,EAAI,IAA6B,IAAA;EAAA,IAA5B;IAAE/E,MAAM;AAAEqG,IAAAA,WAAAA;GAAa,GAAA,IAAA,CAAA;AACxB,EAAA,IAAIA,WAAW,EAAE;AACf,IAAA,OAAOjG,GAAI,CAAA;AACjB;AACA;AACA;AACA;AACA,qCAAA,EAAuCJ,MAAO,CAAA;AAC9C;AACA,MAAO,CAAA,CAAA;AACH,GAAC,MAAM;AACL,IAAA,OAAOI,GAAI,CAAA;AACjB,8CAAA,EAAgDJ,MAAO,CAAA;AACvD;AACA;AACA;AACA;AACA;AACA,MAAO,CAAA,CAAA;AACH,GAAA;AACF,CAAE,CAAA;AACJ;AACA,EAAA,EAAI,KAA8B,IAAA;EAAA,IAA7B;IAAE6B,QAAQ;AAAEyE,IAAAA,UAAAA;GAAY,GAAA,KAAA,CAAA;AACzB,EAAA,QAAQzE,QAAQ;IACd,KAAKoE,YAAY,CAACC,GAAG;AACnB,MAAA,OAAO9F,GAAI,CAAA;AACnB;AACA;AACA;AACA;AACA;AACA,QAAS,CAAA,CAAA;IACH,KAAK6F,YAAY,CAACE,QAAQ,CAAA;AAC1B,IAAA;AACE,MAAA,OAAO/F,GAAI,CAAA;AACnB;AACA;AACA;AACA;AACA;AACA,sBAAA,EAAwBkG,UAAU,GAAG,YAAY,GAAG,QAAS,CAAA;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAS,CAAA,CAAA;AAAC,GAAA;AAER,CAAE,CAAA;AACJ,CAAC;;;ACrDD,MAAMhG,gBAAc,GAAG,cAAc,CAAA;AACrC,MAAMC,WAAS,GAAG,eAAe,CAAA;AACjC,MAAMC,eAAkC,GAAG;EACzCQ,KAAK,EAAEtQ,YAAY,CAACM,QAAQ;EAC5BiR,OAAO,EAAEgE,YAAY,CAACC,GAAAA;AACxB,CAAC,CAAA;;AAED;AACA;AACA;AACO,MAAMK,KAAuC,gBAAG5F,UAAU,CAC/D,CAACnC,KAAK,EAAEoC,GAAG,KAAK;EACd,MAAM;MACJ4F,SAAS;MACT/D,QAAQ;MACR1B,SAAS;MACTC,KAAK;MACLyF,UAAU;AACVxE,MAAAA,OAAAA;AAEF,KAAC,GAAGzD,KAAK;AADJ2C,IAAAA,cAAc,4BACf3C,KAAK,EAAA4C,WAAA,CAAA,CAAA;EAET,oBACE,KAAA,CAAA,aAAA,CAAC,WAAW,EAAA,QAAA,CAAA,EAAA,EACND,cAAc,EAAA;AAClB,IAAA,UAAU,EAAEqF,SAAU;AACtB,IAAA,MAAM,EAAExF,KAAM;AACd,IAAA,WAAW,EAAEyF,UAAW;AACxB,IAAA,QAAQ,EAAExE,OAAQ;AAClB,IAAA,SAAS,EAAEX,UAAU,CACnBiF,KAAK,CAACxF,SAAS,EACd,CAAA,EAAEwF,KAAK,CAACxF,SAAU,CAAGkB,CAAAA,EAAAA,OAAQ,CAAC,CAAA,EAC/BlB,SAAS,CACT;AACF,IAAA,GAAG,EAAEH,GAAAA;GAEJqB,CAAAA,EAAAA,OAAO,KAAKgE,YAAY,CAACE,QAAQ,GAAG1D,QAAQ,GAAG,IAAI,CACxC,CAAA;AAElB,CAAC,EACF;AACD8D,KAAK,CAACxF,SAAS,GAAGR,WAAS,CAAA;AAC3BgG,KAAK,CAAC/E,YAAY,GAAGhB,eAAa,CAAA;AAClC+F,KAAK,CAAC9E,WAAW,GAAGnB,gBAAc;;;AC9BlC,MAAMA,gBAAc,GAAG,+BAA+B,CAAA;AACtD,MAAMC,WAAS,GAAG,mCAAmC,CAAA;AACrD,MAAMC,eAAmD,GAAG,EAAE,CAAA;;AAE9D;AACA;AACA;AACO,MAAMkG,sBAGZ,gBAAG/F,UAAU,CAAC,CAACnC,KAAK,EAAEoC,GAAG,KAAK;AAC7B,EAAA,MAAM+F,WAAW,GAAG/F,GAAG,IAAIwB,MAAM,EAAqB,CAAA;EAEtD,MAAM;MACJtB,KAAK;MACL8F,UAAU;MACVnE,QAAQ;MACR1B,SAAS;MACT8F,IAAI;MACJ5F,IAAI;MACJ6F,SAAS;MACTC,OAAO,GAAG3E,MAAM,EAAe;MAC/B4E,SAAS;MACTnE,UAAU;MACVoE,aAAa;MACbC,OAAO;MACPC,SAAS;MACTC,QAAQ;AACRC,MAAAA,YAAAA;AAEF,KAAC,GAAG7I,KAAK;AADJ2C,IAAAA,cAAc,4BACf3C,KAAK,EAAA4C,WAAA,CAAA,CAAA;AAET7C,EAAAA,4BAA4B,CAACC,KAAK,EAAE,CAACiE,QAAQ,CAAC,CAAC,CAAA;AAE/C,EAAA,MAAM8B,iBAAiB,GAAGC,UAAU,CAACrB,mBAAmB,CAAC,CAAA;AACzDO,EAAAA,SAAS,CAAC,MAAM;IACd,IAAIa,iBAAiB,IAAIyC,SAAS,IAAI,OAAOvE,QAAQ,KAAK,QAAQ,EAAE;AAClE8B,MAAAA,iBAAiB,CAAC+C,QAAQ,CAAC7E,QAAQ,CAAC,CAAA;AACtC,KAAA;AAEA,IAAA,OAAO,MAAM;AACX,MAAA,IAAI8B,iBAAiB,EAAE;AACrBA,QAAAA,iBAAiB,CAAC+C,QAAQ,CAACjG,SAAS,CAAC,CAAA;AACvC,OAAA;KACD,CAAA;AACH,GAAC,EAAE,CAAC2F,SAAS,CAAC,CAAC,CAAA;AAEf,EAAA,MAAMO,4BAA4B,GAAG/C,UAAU,CAACkB,4BAA4B,CAAC,CAAA;AAC7E,EAAA,MAAM8B,yBAAyB,GAAGhD,UAAU,CAACmB,yBAAyB,CAAC,CAAA;EACvE,MAAM,CAAC8B,YAAY,EAAEC,eAAe,CAAC,GAAGjE,QAAQ,CAAC,KAAK,CAAC,CAAA;EACvD,MAAM;AAAEkE,IAAAA,SAAAA;AAAU,GAAC,GACjBH,yBAAyB,IAAID,4BAA4B,IAAI,EAAE,CAAA;AAEjE7D,EAAAA,SAAS,CAAC,MAAM;AACd,IAAA,IAAI,EAAE8D,yBAAyB,IAAID,4BAA4B,CAAC,EAAE;MAChEG,eAAe,CAAC,IAAI,CAAC,CAAA;AACrB,MAAA,OAAA;AACF,KAAA;AAEA,IAAA,MAAME,YAAY,GAAIjB,WAAW,CAC9BkB,OAAO,CAAA;AAEV,IAAA,IAAID,YAAY,EAAE;AAChB,MAAA,IAAI,CAACD,SAAS,CAAClH,IAAI,EAAE;QACnBiH,eAAe,CAAC,IAAI,CAAC,CAAA;AACvB,OAAA;AAEAC,MAAAA,SAAS,CAACG,GAAG,CAACF,YAAY,CAAC,CAAA;AAC7B,KAAA;AAEA,IAAA,OAAO,MAAM;AACXD,MAAAA,SAAS,CAACI,MAAM,CAACH,YAAY,CAAC,CAAA;KAC/B,CAAA;AACH,GAAC,EAAE,CAACD,SAAS,CAAC,CAAC,CAAA;AAEf,EAAA,oBACE,oBAAC,4BAA4B,EAAA,QAAA,CAAA;AAC3B,IAAA,IAAI,EAAC,UAAA;AAAU,GAAA,EACXxG,cAAc,EAAA;AAClB,IAAA,UAAU,EAAE6F,SAAU;AACtB,IAAA,WAAW,EAAEnE,UAAW;AACxB,IAAA,cAAc,EAAEoE,aAAc;AAC9B,IAAA,aAAa,EAAEI,YAAa;AAC5B,IAAA,cAAA,EAAcL,SAAS,GAAG,MAAM,GAAG3F,SAAU;AAC7C,IAAA,eAAA,EAAewB,UAAW;IAC1B,SAAS,EAAEvB,UAAU,CAACoF,sBAAsB,CAAC3F,SAAS,EAAEA,SAAS,CAAE;AACnE,IAAA,IAAI,EAAE,CAAC8B,UAAU,GAAGgE,IAAI,GAAGxF,SAAU;AACrC,IAAA,OAAO,EAAEwB,UAAU,GAAGxB,SAAS,GAAG6F,OAAQ;AAC1C,IAAA,SAAS,EAAErE,UAAU,GAAGxB,SAAS,GAAG8F,SAAU;AAC9C,IAAA,GAAG,EAAER,WAAmD;AACxD,IAAA,QAAQ,EACNS,QAAQ,KAAK/F,SAAS,GAClB+F,QAAQ,GACR,CAACI,yBAAyB,IAAIC,YAAY,GAC1C,CAAC,GACD,CAAC,CAAA;GAGNxG,CAAAA,EAAAA,IAAI,gBACH,KAAA,CAAA,aAAA,CAAC,IAAI,EAAA,QAAA,CAAA;AACH,IAAA,KAAK,EAAC,6DAAA;AAA6D,GAAA,EAC/D6F,SAAS,EAAA;AACb,IAAA,IAAI,EAAE7F,IAAK;AACX,IAAA,GAAG,EAAE8F,OAAyC;AAC9C,IAAA,SAAS,EAAC,OAAO;IACjB,IAAI,EAAEvH,QAAQ,CAACE,KAAAA;GACf,CAAA,CAAA,GACA,IAAI,eACR,KAAO+C,CAAAA,aAAAA,CAAAA,MAAAA,EAAAA,IAAAA,EAAAA,QAAQ,CAAQ,EACtB3B,KAAK,gBACJ,KAAA,CAAA,aAAA,CAAC,KAAK,EAAA,QAAA,CAAA;IAAC,OAAO,EAAEmF,YAAY,CAACE,QAAS;AAAC,IAAA,KAAK,EAAC,OAAA;AAAO,GAAA,EAAKS,UAAU,CAChE9F,EAAAA,KAAK,CACA,GACN,IAAI,CACqB,CAAA;AAEnC,CAAC,EAAC;AACF4F,sBAAsB,CAAC3F,SAAS,GAAGR,WAAS,CAAA;AAC5CmG,sBAAsB,CAAClF,YAAY,GAAGhB,eAAa,CAAA;AACnDkG,sBAAsB,CAACjF,WAAW,GAAGnB,gBAAc;;ACvInD;AACA;AACA;AACO,MAAM0H,wBAAwB,GAAGlI,MAAM,CAACiF,GAAmC,CAAA;AAClF;AACA;AACA;AACA,IAAM,EAAA,IAAA,IAAA;EAAA,IAAC;AAAEhD,IAAAA,WAAAA;GAAa,GAAA,IAAA,CAAA;EAAA,OAChB,CAACA,WAAW,GACR3B,GAAI,CAAA;AACd;AACA,UAAA,CAAW,GACDA,GAAI,CAAA;AACd;AACA,UAAW,CAAA,CAAA;AAAA,CAAC,CAAA;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAM,EAAA,KAAA,IAAA;EAAA,IAAC;AAAE2B,IAAAA,WAAAA;GAAa,GAAA,KAAA,CAAA;EAAA,OAChB,CAACA,WAAW,GACR3B,GAAI,CAAA;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAA,CAAW,GACD,EAAE,CAAA;AAAA,CAAC,CAAA;AACb;AACA;AACA;AACA,IAAM,EAAA,KAAA,IAAA;EAAA,IAAC;AAAE2B,IAAAA,WAAAA;GAAa,GAAA,KAAA,CAAA;EAAA,OAChB,CAACA,WAAW,GACR3B,GAAI,CAAA;AACd;AACA,UAAA,CAAW,GACDA,GAAI,CAAA;AACd;AACA,UAAW,CAAA,CAAA;AAAA,CAAC,CAAA;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAM,EAAA,KAAA,IAAA;EAAA,IAAC;AAAE6H,IAAAA,WAAAA;GAAa,GAAA,KAAA,CAAA;EAAA,OAChBA,WAAW,GACP7H,GAAI,CAAA;AACd;AACA,UAAA,CAAW,GACDA,GAAI,CAAA;AACd;AACA,UAAW,CAAA,CAAA;AAAA,CAAC,CAAA;AACZ;AACA,CAAC;;ACvGM,MAAM8H,yBAAyB,GAAG,CACvCC,KAAqC,EACrCC,MAAuC,KACJ;EACnC,QAAQA,MAAM,CAACC,IAAI;IACjB,KAAK5C,mCAAmC,CAAC6C,MAAM;AAC7C,MAAA,OAAA/F,cAAA,CAAAA,cAAA,CAAA,EAAA,EAAY4F,KAAK,CAAA,EAAA,EAAA,EAAA;AAAEI,QAAAA,UAAU,EAAE,IAAA;AAAI,OAAA,CAAA,CAAA;IACrC,KAAK9C,mCAAmC,CAAC+C,QAAQ;MAC/C,OAAO;AACLD,QAAAA,UAAU,EAAE,KAAK;AACjBE,QAAAA,YAAY,EAAE,IAAK;AACnBC,QAAAA,aAAa,EAAE,IAAA;OAChB,CAAA;IACH,KAAKjD,mCAAmC,CAACkD,IAAI;AAC3C,MAAA,OAAApG,cAAA,CAAAA,cAAA,CAAA,EAAA,EACK4F,KAAK,CAAA,EAAA,EAAA,EAAA;AACRI,QAAAA,UAAU,EAAE,IAAI;QAChBE,YAAY,EAAEL,MAAM,CAACQ,KAAM;QAC3BF,aAAa,EAAEP,KAAK,CAACM,YAAAA;AAAY,OAAA,CAAA,CAAA;AACjC,GAAA;AAER,CAAC;;;ACOD,MAAMnI,gBAAc,GAAG,2BAA2B,CAAA;AAClD,MAAMC,WAAS,GAAG,8BAA8B,CAAA;AAChD,MAAMC,eAA+C,GAAG,EAAE,CAAA;;AAE1D;AACA;AACA;AACO,MAAMqI,kBAAiE,gBAC5ElI,UAAU,CAAC,CAACnC,KAAK,EAAEoC,GAAG,KAAK;EACzB,MAAM;AACJ,MAAA,YAAY,EAAElC,SAAS;MACvB2D,WAAW,GAAG,EAAE;MAChBF,SAAS,GAAGC,MAAM,EAA4D;MAC9EK,QAAQ;MACR1B,SAAS;MACT+H,QAAQ;MACR7H,IAAI;MACJ6F,SAAS;MACTC,OAAO,GAAG3E,MAAM,EAAe;MAC/BS,UAAU;AACV0F,MAAAA,UAAU,EAAEQ,eAAe;MAC3BC,SAAS,GAAG,EAAE;MACdC,OAAO,GAAG7G,MAAM,EAAoB;MACpCgF,QAAQ;AACRC,MAAAA,YAAAA;AAEF,KAAC,GAAG7I,KAAK;AADJ2C,IAAAA,cAAc,4BACf3C,KAAK,EAAA4C,WAAA,CAAA,CAAA;EAET7C,4BAA4B,CAACC,KAAK,CAAC,CAAA;AAEnC,EAAA,MAAM+I,4BAA4B,GAAG/C,UAAU,CAC7CkB,4BAA4B,CAC7B,CAAA;EACD,MAAM,CAAC+B,YAAY,EAAEC,eAAe,CAAC,GAAGjE,QAAQ,CAAC,KAAK,CAAC,CAAA;EACvD,MAAM;AAAEkE,IAAAA,SAAS,EAAEuB,YAAAA;AAAa,GAAC,GAAG3B,4BAA4B,IAAI,EAAE,CAAA;;AAEtE;AACJ;AACA;AACA;EACI,MAAM4B,UAA0B,GAAG,EAAE,CAAA;EACrC/F,KAAK,CAACgG,QAAQ,CAACC,OAAO,CAAC5G,QAAQ,EAAG6G,KAAK,IAAK;AAC1C,IAAA,kBACElG,KAAK,CAACkC,cAAc,CAACgE,KAAK,CAAC,IAC1BA,KAAK,CAACjB,IAAI,CAAuC5G,WAAW,KAC3DiF,sBAAsB,CAACjF,WAAW,EACpC;AACA0H,MAAAA,UAAU,CAACI,IAAI,CAACD,KAAK,CAAC,CAAA;AACxB,KAAA;AACF,GAAC,CAAC,CAAA;EACF,MAAME,iBAAiB,GAAGL,UAAU,CAACM,GAAG,CAAC,CAACH,KAAK,EAAEV,KAAK,KAAK;AAAA,IAAA,IAAA,UAAA,EAAA,WAAA,CAAA;IACzD,oBACE,KAAA,CAAA,aAAA,CAAA,IAAA,EAAA;AAAI,MAAA,GAAG,EAAEU,CAAAA,UAAAA,GAAAA,KAAK,CAACxK,GAAG,mDAAI8J,KAAM;AAAC,MAAA,IAAI,EAAC,MAAA;AAAM,KAAA,eACrCxF,KAAK,CAACsG,YAAY,CAACJ,KAAK,EAAE;AACzBrI,MAAAA,IAAI,EAAEI,SAAS;AAAE;MACjBwB,UAAU,EAAEyG,KAAK,CAAC9K,KAAK,CAACqE,UAAU,IAAIA,UAAU,IAAIxB,SAAS;AAC7D4F,MAAAA,aAAa,EAAE,IAAI;AACnBnI,MAAAA,GAAG,EAAEwK,CAAAA,WAAAA,GAAAA,KAAK,CAACxK,GAAG,qDAAI8J,KAAK;AACvBvB,MAAAA,YAAAA;AACF,KAAC,CAAC,CACC,CAAA;AAET,GAAC,CAAC,CAAA;EAEF,MAAMM,SAAS,GAAGvF,MAAM,CACtB,IAAIuH,GAAG,EAAE,CACV,CAAC9B,OAAO,CAAA;EACT,MAAM,CAACM,KAAK,EAAEyB,QAAQ,CAAC,GAAGC,UAAU,CAAC3B,yBAAyB,EAAE;AAC9DO,IAAAA,YAAY,EAAE,IAAK;AACnBF,IAAAA,UAAU,EAAEtJ,OAAO,CAAC8J,eAAe,CAAC;AACpCL,IAAAA,aAAa,EAAE,IAAA;AACjB,GAAC,CAAC,CAAA;EACF,MAAM;IAAEH,UAAU;IAAEE,YAAY;AAAEC,IAAAA,aAAAA;AAAc,GAAC,GAAGP,KAAK,CAAA;AAEzD,EAAA,MAAM2B,KAAK,GAAGC,WAAW,CACvB,MACEH,QAAQ,CAAC;IAAEvB,IAAI,EAAE5C,mCAAmC,CAACkD,IAAI;AAAEC,IAAAA,KAAK,EAAE,CAAA;GAAG,CAAC,EACxE,EAAE,CACH,CAAA;AAED,EAAA,MAAMoB,IAAI,GAAGD,WAAW,CACtB,MACEH,QAAQ,CAAC;IACPvB,IAAI,EAAE5C,mCAAmC,CAACkD,IAAI;AAC9CC,IAAAA,KAAK,EAAEjB,SAAS,CAAClH,IAAI,GAAG,CAAA;AAC1B,GAAC,CAAC,EACJ,CAACkH,SAAS,CAAClH,IAAI,CAAC,CACjB,CAAA;AAED,EAAA,MAAMwJ,IAAI,GAAGF,WAAW,CACrBnB,KAAa,IACZgB,QAAQ,CAAC;IAAEvB,IAAI,EAAE5C,mCAAmC,CAACkD,IAAI;AAAEC,IAAAA,KAAAA;GAAO,CAAC,EACrE,EAAE,CACH,CAAA;AAED,EAAA,MAAMsB,IAAI,GAAGH,WAAW,CACtB,MAAMH,QAAQ,CAAC;IAAEvB,IAAI,EAAE5C,mCAAmC,CAAC6C,MAAAA;GAAQ,CAAC,EACpE,EAAE,CACH,CAAA;AAED,EAAA,MAAM6B,KAAK,GAAGJ,WAAW,CACtBK,WAAqB,IAAK;AACzB,IAAA,IAAI7B,UAAU,EAAE;AACd,MAAA,IAAI6B,WAAW,EAAE;AACfjI,QAAAA,SAAS,CAAC0F,OAAO,CAACwC,KAAK,EAAE,CAAA;AAC3B,OAAA;AAEAT,MAAAA,QAAQ,CAAC;QAAEvB,IAAI,EAAE5C,mCAAmC,CAAC+C,QAAAA;AAAS,OAAC,CAAC,CAAA;AAClE,KAAA;AACF,GAAC,EACD,CAACD,UAAU,CAAC,CACb,CAAA;EAED,MAAM+B,QAAQ,GAAG,MAAM;AACrB,IAAA,MAAM1B,KAAK,GAAGH,YAAY,KAAK,CAAC,GAAGd,SAAS,CAAClH,IAAI,GAAG,CAAC,GAAGgI,YAAY,GAAG,CAAC,CAAA;IACxEwB,IAAI,CAACrB,KAAK,CAAC,CAAA;GACZ,CAAA;EAED,MAAM2B,IAAI,GAAG,MAAM;AACjB,IAAA,MAAM3B,KAAK,GAAGH,YAAY,KAAKd,SAAS,CAAClH,IAAI,GAAG,CAAC,GAAG,CAAC,GAAGgI,YAAY,GAAG,CAAC,CAAA;IACxEwB,IAAI,CAACrB,KAAK,CAAC,CAAA;GACZ,CAAA;EAED,MAAM4B,KAAK,GAAIC,CAAwC,IAAK;AAC1D,IAAA,MAAMC,KAAK,GAAGC,KAAK,CAACC,IAAI,CAACjD,SAAS,CAAC,CAAA;;AAEnC;IACA,MAAMkD,cAAc,GAAG,CACrB,GAAGH,KAAK,CAACI,KAAK,CAACrC,YAAY,CAAC,EAC5B,GAAGiC,KAAK,CAACI,KAAK,CAAC,CAAC,EAAErC,YAAY,CAAC,CAChC,CAAA;;AAED;AACA,IAAA,MAAMsC,OAAO,GAAGF,cAAc,CAAChM,MAAM,CAAEmM,QAAQ,IAAK;MAClD,MAAM;AAAEC,QAAAA,WAAAA;AAAY,OAAC,GAAGD,QAAQ,CAAA;AAChC;AACA,MAAA,MAAME,WAAW,GAAGD,WAAW,KAAA,IAAA,IAAXA,WAAW,KAAXA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,WAAW,CAAEE,WAAW,EAAE,CAACC,MAAM,CAAC,CAAC,CAAC,CAAA;AACxD,MAAA,OAAOX,CAAC,CAAC3L,GAAG,KAAKoM,WAAW,CAAA;AAC9B,KAAC,CAAC,CAAA;;AAEF;AACA,IAAA,IAAI,CAACH,OAAO,CAAChM,MAAM,EAAE;AACnB,MAAA,OAAA;AACF,KAAA;;AAEA;AACA;AACA,IAAA,MAAMsM,WAAW,GAAGX,KAAK,CAACjC,YAAY,CAAC,CAAA;AACvC,IAAA,MAAM6C,SAAS,GAAGP,OAAO,CAACQ,QAAQ,CAACF,WAAW,CAAC,GAAGN,OAAO,CAAC,CAAC,CAAC,GAAGA,OAAO,CAAC,CAAC,CAAC,CAAA;AACzE,IAAA,MAAMnC,KAAK,GAAG8B,KAAK,CAACc,SAAS,CAAEC,IAAI,IAAK;MACtC,OAAOA,IAAI,KAAKH,SAAS,CAAA;AAC3B,KAAC,CAAC,CAAA;IAEFrB,IAAI,CAACrB,KAAK,CAAC,CAAA;GACZ,CAAA;AAED,EAAA,MAAM8C,KAAK,GAAGC,OAAO,CACnB,OAAO;AAAEhE,IAAAA,SAAAA;AAAU,GAAC,CAAC,EACrB,CAACA,SAAS,CAAC,CACZ,CAAA;AAEDjE,EAAAA,SAAS,CAAC,MAAM;AACd,IAAA,MAAMgH,KAAK,GAAGC,KAAK,CAACC,IAAI,CAACjD,SAAS,CAAC,CAAA;IAEnC,IAAIc,YAAY,KAAKC,aAAa,EAAE;AAClC,MAAA,MAAM2C,WAAW,GAAGX,KAAK,CAACjC,YAAY,CAAgB,CAAA;AACtD4C,MAAAA,WAAW,aAAXA,WAAW,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAXA,WAAW,CAAEhB,KAAK,EAAE,CAAA;AACtB,KAAA;GACD,EAAE,CAAC1C,SAAS,EAAEc,YAAY,EAAEC,aAAa,CAAC,CAAC,CAAA;AAE5ChF,EAAAA,SAAS,CAAC,MAAM;IACd,IAAI,CAAC6D,4BAA4B,EAAE;MACjCG,eAAe,CAAC,IAAI,CAAC,CAAA;AACrB,MAAA,OAAA;AACF,KAAA;AAEA,IAAA,MAAME,YAAY,GAAIzF,SAAS,CAC5B0F,OAAO,CAAA;AAEV,IAAA,IAAID,YAAY,EAAE;AAChBsB,MAAAA,YAAY,CAACpB,GAAG,CAACF,YAAY,CAAC,CAAA;AAChC,KAAA;AAEA,IAAA,OAAO,MAAM;AACXsB,MAAAA,YAAY,CAACnB,MAAM,CAACH,YAAY,CAAC,CAAA;KAClC,CAAA;AACH,GAAC,EAAE,CAACsB,YAAY,CAAC,CAAC,CAAA;EAElB,MAAM0C,eAAe,GAAInB,CAAmC,IAAK;AAC/D,IAAA,IAAI5H,UAAU,EAAE;AACd,MAAA,OAAA;AACF,KAAA;AACA,IAAA,MAAMwI,WAAW,GAAGZ,CAAC,CAACoB,MAA0B,CAAA;IAEhD,QAAQpB,CAAC,CAACqB,IAAI;AACZ,MAAA,KAAK,OAAO,CAAA;AACZ,MAAA,KAAK,OAAO;QACVrB,CAAC,CAACsB,eAAe,EAAE,CAAA;QACnBV,WAAW,CAACW,KAAK,EAAE,CAAA;AACnBlC,QAAAA,KAAK,EAAE,CAAA;AACP,QAAA,MAAA;AACF,MAAA,KAAK,YAAY;QACfW,CAAC,CAACsB,eAAe,EAAE,CAAA;AACnBjC,QAAAA,KAAK,EAAE,CAAA;AACP,QAAA,MAAA;AACF,MAAA,KAAK,WAAW;AACdE,QAAAA,IAAI,EAAE,CAAA;AACN,QAAA,MAAA;AAEM,KAAA;GAEX,CAAA;AAED,EAAA,MAAMiC,kBAAkB,GAAG;IACzB/E,OAAO,EAAGgF,KAAoC,IAAK;AAAA,MAAA,IAAA,oBAAA,CAAA;AACjD,MAAA,IAAIrJ,UAAU,EAAE;AACd,QAAA,OAAA;AACF,OAAA;MAEA,CAAAR,oBAAAA,GAAAA,WAAW,CAAC6E,OAAO,MAAA,IAAA,IAAA,oBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAnB,0BAAA7E,WAAW,EAAW6J,KAAK,CAAC,CAAA;MAC5BA,KAAK,CAACH,eAAe,EAAE,CAAA;AACvB,MAAA,IAAIxD,UAAU,EAAE;AACd4B,QAAAA,KAAK,EAAE,CAAA;AACT,OAAC,MAAM;AACLD,QAAAA,IAAI,EAAE,CAAA;AACR,OAAA;KACD;IACD/C,SAAS,EAAG+E,KAAuC,IAAK;AAAA,MAAA,IAAA,qBAAA,CAAA;MACtD,CAAA7J,qBAAAA,GAAAA,WAAW,CAAC8E,SAAS,MAAA,IAAA,IAAA,qBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAArB,2BAAA9E,WAAW,EAAa6J,KAAK,CAAC,CAAA;MAC9BN,eAAe,CAACM,KAAK,CAAC,CAAA;AACxB,KAAA;GACD,CAAA;EAED,MAAMC,qBAAqB,GAAI1B,CAAkC,IAAK;AACpE,IAAA,MAAMY,WAAW,GAAGZ,CAAC,CAACoB,MAA0B,CAAA;IAEhD,QAAQpB,CAAC,CAACqB,IAAI;AACZ,MAAA,KAAK,SAAS;QACZrB,CAAC,CAACsB,eAAe,EAAE,CAAA;QACnBtB,CAAC,CAAC2B,cAAc,EAAE,CAAA;AAClB9B,QAAAA,QAAQ,EAAE,CAAA;AACV,QAAA,MAAA;AACF,MAAA,KAAK,WAAW;QACdG,CAAC,CAACsB,eAAe,EAAE,CAAA;QACnBtB,CAAC,CAAC2B,cAAc,EAAE,CAAA;AAClB7B,QAAAA,IAAI,EAAE,CAAA;AACN,QAAA,MAAA;AACF,MAAA,KAAK,WAAW;QACdE,CAAC,CAAC2B,cAAc,EAAE,CAAA;QAClB3B,CAAC,CAACsB,eAAe,EAAE,CAAA;QACnB5B,KAAK,CAAC,IAAI,CAAC,CAAA;AACX,QAAA,MAAA;AACF,MAAA,KAAK,YAAY;QACfM,CAAC,CAAC2B,cAAc,EAAE,CAAA;QAClBjC,KAAK,CAAC,CAAC5C,4BAA4B,CAAC,CAAA;AACpC,QAAA,MAAA;AACF,MAAA,KAAK,MAAM;QACTkD,CAAC,CAACsB,eAAe,EAAE,CAAA;QACnBtB,CAAC,CAAC2B,cAAc,EAAE,CAAA;AAClBtC,QAAAA,KAAK,EAAE,CAAA;AACP,QAAA,MAAA;AACF,MAAA,KAAK,KAAK;QACRW,CAAC,CAACsB,eAAe,EAAE,CAAA;QACnBtB,CAAC,CAAC2B,cAAc,EAAE,CAAA;AAClBpC,QAAAA,IAAI,EAAE,CAAA;AACN,QAAA,MAAA;AACF,MAAA,KAAK,OAAO,CAAA;AACZ,MAAA,KAAK,OAAO;QACVS,CAAC,CAAC2B,cAAc,EAAE,CAAA;QAClBf,WAAW,CAACW,KAAK,EAAE,CAAA;AACnB,QAAA,MAAA;AACF,MAAA,KAAK,QAAQ;QACXvB,CAAC,CAACsB,eAAe,EAAE,CAAA;QACnBtB,CAAC,CAAC2B,cAAc,EAAE,CAAA;QAClBjC,KAAK,CAAC,IAAI,CAAC,CAAA;AACX,QAAA,MAAA;AACF,MAAA;QACEM,CAAC,CAACsB,eAAe,EAAE,CAAA;QACnBvB,KAAK,CAACC,CAAC,CAAC,CAAA;AACR,QAAA,MAAA;AAAM,KAAA;GAEX,CAAA;AAED,EAAA,MAAM4B,wBAAwB,GAAG;IAC/BlF,SAAS,EAAG+E,KAAsC,IAAK;AAAA,MAAA,IAAA,oBAAA,CAAA;MACrD,CAAAlD,oBAAAA,GAAAA,SAAS,CAAC7B,SAAS,MAAA,IAAA,IAAA,oBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAnB,0BAAA6B,SAAS,EAAakD,KAAK,CAAC,CAAA;MAC5BC,qBAAqB,CAACD,KAAK,CAAC,CAAA;KAC7B;IACDhF,OAAO,EAAGgF,KAAmC,IAAK;AAAA,MAAA,IAAA,kBAAA,CAAA;AAChD,MAAA,IAAIrJ,UAAU,EAAE;AACd,QAAA,OAAA;AACF,OAAA;MACA,CAAAmG,kBAAAA,GAAAA,SAAS,CAAC9B,OAAO,MAAA,IAAA,IAAA,kBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAjB,wBAAA8B,SAAS,EAAWkD,KAAK,CAAC,CAAA;AAC5B,KAAA;GACD,CAAA;EAED,oBACE,KAAA,CAAA,aAAA,CAAC,wBAAwB,EAAA,QAAA,CAAA,EAAA,EACnB/K,cAAc,EAAA;AAClB,IAAA,WAAW,EAAE0B,UAAW;AACxB,IAAA,WAAW,EAAE0F,UAAW;AACxB,IAAA,aAAa,EAAElB,YAAa;IAC5B,SAAS,EAAE/F,UAAU,CAACuH,kBAAkB,CAAC9H,SAAS,EAAEA,SAAS,CAAE;AAC/D,IAAA,GAAG,EAAEH,GAAwC;AAC7C,IAAA,QAAQ,EAAES,SAAAA;GAEV,CAAA,eAAA,KAAA,CAAA,aAAA,CAAC,yBAAyB,CAAC,QAAQ,EAAA;AAAC,IAAA,KAAK,EAAEqK,KAAAA;AAAM,GAAA,eAC/C,2CACMrJ,WAAW,EAAA;AACf,IAAA,eAAA,EAAeQ,UAAW;AAC1B,IAAA,eAAA,EAAe0F,UAAU,GAAG,MAAM,GAAG,OAAQ;AAC7C,IAAA,eAAA,EAAc,MAAM;AACpB,IAAA,GAAG,EAAEpG,SAAiD;AACtD,IAAA,IAAI,EAAC,UAAU;AACf,IAAA,QAAQ,EAAEiF,QAAQ,KAAK/F,SAAS,GAAG+F,QAAQ,GAAGK,YAAY,GAAG,CAAC,GAAG,CAAC,CAAE;AACpE,IAAA,IAAI,EAAC,QAAA;AAAQ,GAAA,EACTwE,kBAAkB,CAAA,EAErBhL,IAAI,gBACH,oBAAC,IAAI,EAAA,QAAA,CAAA;AACH,IAAA,KAAK,EAAC,6DAAA;AAA6D,GAAA,EAC/D6F,SAAS,EAAA;AACb,IAAA,IAAI,EAAE7F,IAAK;AACX,IAAA,GAAG,EAAE8F,OAAyC;AAC9C,IAAA,SAAS,EAAEzF,UAAU,CAACwF,SAAS,KAATA,IAAAA,IAAAA,SAAS,KAATA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,SAAS,CAAE/F,SAAS,EAAE,OAAO,CAAE;IACrD,IAAI,EAAEvB,QAAQ,CAACE,KAAAA;AAAM,GAAA,CAAA,CACrB,GACA,IAAI,eACR,KAAA,CAAA,aAAA,CAAA,MAAA,EAAA,IAAA,EAAOhB,SAAS,CAAQ,EACvBoK,QAAQ,IAAI,CAACP,UAAU,gBAAG,oBAAC,KAAK,EAAA;AAAC,IAAA,KAAK,EAAC,OAAA;AAAO,GAAA,CAAG,GAAG,IAAI,EACxDA,UAAU,gBACT,oBAAC,IAAI,EAAA;AACH,IAAA,IAAI,EAAE+D,cAAe;AACrB,IAAA,SAAS,EAAG,CAAA,EAAEzD,kBAAkB,CAAC9H,SAAU,CAAe,aAAA,CAAA;IAC1D,IAAI,EAAEvB,QAAQ,CAACE,KAAAA;GACf,CAAA,gBAEF,oBAAC,IAAI,EAAA;AACH,IAAA,IAAI,EAAE6M,eAAgB;AACtB,IAAA,SAAS,EAAG,CAAA,EAAE1D,kBAAkB,CAAC9H,SAAU,CAAe,aAAA,CAAA;IAC1D,IAAI,EAAEvB,QAAQ,CAACE,KAAAA;GAElB,CAAA,CACM,eACT,KAAA,CAAA,aAAA,CAAA,IAAA,EAAA,QAAA,CAAA,EAAA,EACMsJ,SAAS,EAAA;AACb,IAAA,YAAA,EAAYtK,SAAU;AACtB,IAAA,kBAAA,EAAiB,UAAU;IAC3B,MAAM,EAAE,CAAC6J,UAAW;AACpB,IAAA,GAAG,EAAEU,OAA8C;AACnD,IAAA,IAAI,EAAC,MAAA;AAAM,GAAA,EACPoD,wBAAwB,CAAA,EAE3B7C,iBAAiB,CACf,CAC8B,CACZ,CAAA;AAE/B,CAAC,EAAC;AACJX,kBAAkB,CAAC9H,SAAS,GAAGR,WAAS,CAAA;AACxCsI,kBAAkB,CAACrH,YAAY,GAAGhB,eAAa,CAAA;AAC/CqI,kBAAkB,CAACpH,WAAW,GAAGnB,gBAAc;;ACxY/C;AACA;AACA;AACO,MAAMkM,2BAA2B,GAAG1M,MAAM,CAAC2M,GAAsC,CAAA;AACxF;AACA;AACA;AACA;AACA,EAAI,EAAA,IAAA,IAAA;EAAA,IAAC;AAAEC,IAAAA,UAAU,GAAG,CAAA;GAAG,GAAA,IAAA,CAAA;EAAA,OACnBA,UAAU,GACNtM,GAAI,CAAA;AACZ,8BAAA,EAAgCsM,UAAW,CAAA;AAC3C,QAAA,CAAS,GACD,EAAE,CAAA;AAAA,CAAC,CAAA;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;ACrDD;AACA;AACA;AACO,MAAMC,qBAAqB,GAAG,CACnC/L,GAAkC,EAClCgM,IAAY,KACT;EACH,MAAM,CAACC,YAAY,EAAEC,eAAe,CAAC,GAAGrJ,QAAQ,CAAU,EAAE,CAAY,CAAA;AAExEC,EAAAA,SAAS,CAAC,MAAM;IACd,IAAI9C,GAAG,CAACiH,OAAO,EAAE;AACfiF,MAAAA,eAAe,CAAClM,GAAG,CAACiH,OAAO,CAACkF,qBAAqB,EAAE,CAAC,CAAA;AACtD,KAAA;GACD,EAAEH,IAAI,CAAC,CAAA;AAER,EAAA,OAAOC,YAAY,CAAA;AACrB,CAAC;;;ACWD,MAAMvM,gBAAc,GAAG,8BAA8B,CAAA;AACrD,MAAMC,WAAS,GAAG,kCAAkC,CAAA;AACpD,MAAMC,eAAkD,GAAG,EAAE,CAAA;;AAE7D;AACA;AACA;AACA,MAAMwM,WAAW,GAAItB,KAAa,IAAK;AACrC,EAAA,MAAM9K,GAAG,GAAGwB,MAAM,CAAC,CAAC,CAAC,CAAA;AAErBsB,EAAAA,SAAS,CAAC,MAAM;IACd9C,GAAG,CAACiH,OAAO,GAAG6D,KAAK,CAAA;AACrB,GAAC,EAAE,CAACA,KAAK,CAAC,CAAC,CAAA;EAEX,OAAO9K,GAAG,CAACiH,OAAO,CAAA;AACpB,CAAC,CAAA;;AAED;AACA;AACA;AACO,MAAMoF,qBAGZ,gBAAGtM,UAAU,CAAC,CAACnC,KAAK,EAAEoC,GAAG,KAAK;AAC7B,EAAA,MAAMsM,MAAM,GAAItM,GAAG,IACjBwB,MAAM,EAAiD,CAAA;EAEzD,MAAM;AACJ,MAAA,YAAY,EAAE1D,SAAS;AACvB,MAAA,iBAAiB,EAAEC,cAAc;MACjC8D,QAAQ;MACR1B,SAAS;MACT8B,UAAU;MACVsK,YAAY,GAAG,EAAE;MACjBC,UAAU,GAAGhL,MAAM,EAAoB;AACvCiF,MAAAA,YAAAA;AAEF,KAAC,GAAG7I,KAAK;AADJ2C,IAAAA,cAAc,4BACf3C,KAAK,EAAA4C,WAAA,CAAA,CAAA;EAET7C,4BAA4B,CAACC,KAAK,CAAC,CAAA;EACnC,MAAM;AAAE6O,IAAAA,GAAAA;GAAK,GAAGV,qBAAqB,CAACO,MAAM,EAAE,CAACzK,QAAQ,CAAC,CAAC,CAAA;;AAEzD;AACF;AACA;EACE,MAAM0G,UAA0B,GAAG,EAAE,CAAA;EACrC/F,KAAK,CAACgG,QAAQ,CAACC,OAAO,CAAC5G,QAAQ,EAAG6G,KAAK,IAAK;IAC1C,kBACElG,KAAK,CAACkC,cAAc,CAACgE,KAAK,CAAC,IAC3B,CACET,kBAAkB,CAACpH,WAAW,EAC9BiF,sBAAsB,CAACjF,WAAW,CACnC,CAAC8J,QAAQ,CAENjC,KAAK,CAACjB,IAAI,CAGV5G,WAAW,CACd,EACD;AACA0H,MAAAA,UAAU,CAACI,IAAI,CAACD,KAAK,CAAC,CAAA;AACxB,KAAA;AACF,GAAC,CAAC,CAAA;EACF,MAAMgE,QAAQ,GAAGnE,UAAU,CAACM,GAAG,CAAC,CAACH,KAAK,EAAEV,KAAK,KAAK;AAAA,IAAA,IAAA,UAAA,EAAA,WAAA,CAAA;IAChD,oBACE,KAAA,CAAA,aAAA,CAAA,IAAA,EAAA;AAAI,MAAA,GAAG,EAAEU,CAAAA,UAAAA,GAAAA,KAAK,CAACxK,GAAG,mDAAI8J,KAAM;AAAC,MAAA,IAAI,EAAC,MAAA;AAAM,KAAA,eACrCxF,KAAK,CAACsG,YAAY,CAACJ,KAAK,EAAE;MACzBzG,UAAU,EAAEyG,KAAK,CAAC9K,KAAK,CAACqE,UAAU,IAAIA,UAAU,IAAIxB,SAAS;AAC7DvC,MAAAA,GAAG,EAAEwK,CAAAA,WAAAA,GAAAA,KAAK,CAACxK,GAAG,qDAAI8J,KAAK;AACvB;MACA3H,IAAI,EAAEoG,YAAY,GAAGhG,SAAS,GAAGiI,KAAK,CAAC9K,KAAK,CAACyC,IAAI,IAAI,OAAO;MAC5DoG,YAAY;AACZD,MAAAA,QAAQ,EAAEwB,KAAK,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;AAC/B,KAAC,CAAC,CACC,CAAA;AAET,GAAC,CAAC,CAAA;EAEF,MAAMjB,SAAS,GAAGvF,MAAM,CACtB,IAAIuH,GAAG,EAAE,CACV,CAAC9B,OAAO,CAAA;EACT,MAAM,CAACY,YAAY,EAAE8E,eAAe,CAAC,GAAG9J,QAAQ,CAAC,CAAC,CAAC,CAAA;AACnD,EAAA,MAAMiF,aAAa,GAAGsE,WAAW,CAACvE,YAAY,CAAC,CAAA;AAE/C,EAAA,MAAMqB,KAAK,GAAG,MAAMyD,eAAe,CAAC,CAAC,CAAC,CAAA;EAEtC,MAAMvD,IAAI,GAAG,MAAMuD,eAAe,CAAC5F,SAAS,CAAClH,IAAI,GAAG,CAAC,CAAC,CAAA;EAEtD,MAAM8J,IAAI,GAAG,MAAM;AACjB,IAAA,MAAM3B,KAAK,GAAGH,YAAY,KAAKd,SAAS,CAAClH,IAAI,GAAG,CAAC,GAAG,CAAC,GAAGgI,YAAY,GAAG,CAAC,CAAA;IACxE8E,eAAe,CAAC3E,KAAK,CAAC,CAAA;GACvB,CAAA;EAED,MAAM0B,QAAQ,GAAG,MAAM;AACrB,IAAA,MAAM1B,KAAK,GAAGH,YAAY,KAAK,CAAC,GAAGd,SAAS,CAAClH,IAAI,GAAG,CAAC,GAAGgI,YAAY,GAAG,CAAC,CAAA;IACxE8E,eAAe,CAAC3E,KAAK,CAAC,CAAA;GACvB,CAAA;EAED,MAAM4B,KAAK,GAAI0B,KAA4C,IAAK;AAC9D,IAAA,MAAMxB,KAAK,GAAGC,KAAK,CAACC,IAAI,CAACjD,SAAS,CAAC,CAAA;;AAEnC;IACA,MAAMkD,cAAc,GAAG,CACrB,GAAGH,KAAK,CAACI,KAAK,CAACrC,YAAY,CAAC,EAC5B,GAAGiC,KAAK,CAACI,KAAK,CAAC,CAAC,EAAErC,YAAY,CAAC,CAChC,CAAA;;AAED;AACA,IAAA,MAAMsC,OAAO,GAAGF,cAAc,CAAChM,MAAM,CAAEmM,QAAQ,IAAK;MAClD,MAAM;AAAEC,QAAAA,WAAAA;AAAY,OAAC,GAAGD,QAAQ,CAAA;AAChC;AACA,MAAA,MAAME,WAAW,GAAGD,WAAW,KAAA,IAAA,IAAXA,WAAW,KAAXA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,WAAW,CAAEE,WAAW,EAAE,CAACC,MAAM,CAAC,CAAC,CAAC,CAAA;AACxD,MAAA,OAAOc,KAAK,CAACpN,GAAG,KAAKoM,WAAW,CAAA;AAClC,KAAC,CAAC,CAAA;;AAEF;AACA,IAAA,IAAI,CAACH,OAAO,CAAChM,MAAM,EAAE;AACnB,MAAA,OAAA;AACF,KAAA;;AAEA;AACA;AACA,IAAA,MAAMsM,WAAW,GAAGX,KAAK,CAACjC,YAAY,CAAC,CAAA;AACvC,IAAA,MAAM6C,SAAS,GAAGP,OAAO,CAACQ,QAAQ,CAACF,WAAW,CAAC,GAAGN,OAAO,CAAC,CAAC,CAAC,GAAGA,OAAO,CAAC,CAAC,CAAC,CAAA;AACzE,IAAA,MAAMnC,KAAK,GAAG8B,KAAK,CAACc,SAAS,CAAEC,IAAI,IAAK;MACtC,OAAOA,IAAI,KAAKH,SAAS,CAAA;AAC3B,KAAC,CAAC,CAAA;IAEFiC,eAAe,CAAC3E,KAAK,CAAC,CAAA;GACvB,CAAA;EAED,MAAM4E,OAAO,GAAI/C,CAAkC,IAAK;AAAA,IAAA,IAAA,qBAAA,EAAA,qBAAA,CAAA;IACtD,CAAA0C,qBAAAA,GAAAA,YAAY,CAAChG,SAAS,MAAA,IAAA,IAAA,qBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAtB,2BAAAgG,YAAY,EAAa1C,CAAC,CAAC,CAAA;IAC3BA,CAAC,CAACsB,eAAe,EAAE,CAAA;AAEnB,IAAA,MAAMV,WAAW,GAAGZ,CAAC,CAACoB,MAA0B,CAAA;AAChD;IACA,MAAM4B,UAAU,GAAGpC,WAAW,KAAXA,IAAAA,IAAAA,WAAW,KAAXA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,CAAAA,qBAAAA,GAAAA,WAAW,CAAEqC,UAAU,MAAvB,IAAA,IAAA,qBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,qBAAA,CAAyBA,UAAyB,CAAA;IACrE,MAAMC,aAAa,GAAGF,UAAU,CAACG,YAAY,CAAC,MAAM,CAAC,KAAK,MAAM,CAAA;IAEhE,QAAQnD,CAAC,CAACqB,IAAI;AACZ,MAAA,KAAK,SAAS;QACZrB,CAAC,CAAC2B,cAAc,EAAE,CAAA;AAClB9B,QAAAA,QAAQ,EAAE,CAAA;AACV,QAAA,MAAA;AACF,MAAA,KAAK,WAAW;QACdG,CAAC,CAAC2B,cAAc,EAAE,CAAA;AAClB7B,QAAAA,IAAI,EAAE,CAAA;AACN,QAAA,MAAA;AACF,MAAA,KAAK,YAAY;QACfE,CAAC,CAAC2B,cAAc,EAAE,CAAA;AAClB,QAAA,IAAIuB,aAAa,EAAE;AACjBpD,UAAAA,IAAI,EAAE,CAAA;AACR,SAAA;AACA,QAAA,MAAA;AACF,MAAA,KAAK,KAAK;QACRE,CAAC,CAAC2B,cAAc,EAAE,CAAA;AAClBpC,QAAAA,IAAI,EAAE,CAAA;AACN,QAAA,MAAA;AACF,MAAA,KAAK,MAAM;QACTS,CAAC,CAAC2B,cAAc,EAAE,CAAA;AAClBtC,QAAAA,KAAK,EAAE,CAAA;AACP,QAAA,MAAA;AACF,MAAA,KAAK,OAAO,CAAA;AACZ,MAAA,KAAK,OAAO;QACVW,CAAC,CAAC2B,cAAc,EAAE,CAAA;QAClBf,WAAW,CAACW,KAAK,EAAE,CAAA;AACnB,QAAA,MAAA;AACF,MAAA;QACExB,KAAK,CAACC,CAAC,CAAC,CAAA;AACR,QAAA,MAAA;AAAM,KAAA;GAEX,CAAA;AAED,EAAA,MAAMiB,KAAK,GAAGC,OAAO,CACnB,OAAO;AAAEhE,IAAAA,SAAAA;AAAU,GAAC,CAAC,EACrB,CAACA,SAAS,CAAC,CACZ,CAAA;AAEDjE,EAAAA,SAAS,CAAC,MAAM;IACd,IAAI+E,YAAY,KAAKC,aAAa,EAAE;AAClC,MAAA,MAAMgC,KAAK,GAAGC,KAAK,CAACC,IAAI,CAACjD,SAAS,CAAC,CAAA;AACnC,MAAA,MAAM0D,WAAW,GAAGX,KAAK,CAACjC,YAAY,CAAgB,CAAA;AACtD,MAAA,MAAMoF,YAAY,GAAGnD,KAAK,CAAChC,aAAa,CAAgB,CAAA;;AAExD;MACAmF,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAZA,YAAY,CAAEC,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC,CAAA;MAC5CzC,WAAW,KAAA,IAAA,IAAXA,WAAW,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAXA,WAAW,CAAEyC,YAAY,CAAC,UAAU,EAAE,GAAG,CAAC,CAAA;AAC1CzC,MAAAA,WAAW,aAAXA,WAAW,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAXA,WAAW,CAAEhB,KAAK,EAAE,CAAA;AACtB,KAAA;GACD,EAAE,CAAC5B,YAAY,EAAEC,aAAa,EAAEf,SAAS,CAAC,CAAC,CAAA;EAE5C,oBACE,KAAA,CAAA,aAAA,CAAC,2BAA2B,EAAA,QAAA,CAAA,EAAA,EACtBxG,cAAc,EAAA;AAClB,IAAA,WAAW,EAAE0B,UAAW;AACxB,IAAA,UAAU,EAAEwK,GAAI;AAChB,IAAA,aAAa,EAAEhG,YAAa;AAC5B,IAAA,YAAA,EAAY3I,SAAU;AACtB,IAAA,iBAAA,EAAiBC,cAAe;IAChC,SAAS,EAAE2C,UAAU,CAAC2L,qBAAqB,CAAClM,SAAS,EAAEA,SAAS,CAAE;AAClE,IAAA,GAAG,EAAEmM,MAAAA;GAEL,CAAA,eAAA,KAAA,CAAA,aAAA,CAAC,4BAA4B,CAAC,QAAQ,EAAA;AAAC,IAAA,KAAK,EAAExB,KAAAA;AAAM,GAAA,eAClD,uCACMyB,YAAY,EAAA;AAChB,IAAA,YAAA,EAAYzO,SAAU;AACtB,IAAA,iBAAA,EAAiBC,cAAe;AAChC,IAAA,kBAAA,EAAiB,UAAU;AAC3B,IAAA,SAAS,EAAE6O,OAAQ;AACnB,IAAA,GAAG,EAAEJ,UAAiD;AACtD,IAAA,IAAI,EAAC,SAAA;GAEJE,CAAAA,EAAAA,QAAQ,CACN,CACiC,CACZ,CAAA;AAElC,CAAC,EAAC;AACFL,qBAAqB,CAAClM,SAAS,GAAGR,WAAS,CAAA;AAC3C0M,qBAAqB,CAACzL,YAAY,GAAGhB,eAAa,CAAA;AAClDyM,qBAAqB,CAACxL,WAAW,GAAGnB,gBAAc;;;;;AChPlD,MAAMyN,MAAM,GAAItC,IAAqB,IAAmB;AACtD,EAAA,OAAQA,IAAI,CAAUhJ,QAAQ,KAAKpB,SAAS,CAAA;AAC9C,CAAC,CAAA;AAOM,MAAM2M,wBAAwB,GAAG,IAGsC,IAAA;EAAA,IAHrC;IACvCtD,KAAK;AACL9H,IAAAA,QAAAA;GAC8B,GAAA,IAAA,CAAA;EAC9B,MAAMqL,eAAyD,GAAG,EAAE,CAAA;AAEpEvD,EAAAA,KAAK,CAACjB,GAAG,CAAEgC,IAAI,IAAK;AAClB,IAAA,IAAI,CAACsC,MAAM,CAACtC,IAAI,CAAC,EAAE;MACjB,MAAM;UAAEpH,KAAK;UAAEwC,IAAI;AAAEjG,UAAAA,GAAAA;AAAa,SAAC,GAAG6K,IAAI;AAAbyC,QAAAA,IAAI,4BAAKzC,IAAI,EAAArK,WAAA,CAAA,CAAA;AAC1C6M,MAAAA,eAAe,CAAC1E,IAAI,eAClB,KAAA,CAAA,aAAA,CAAC,sBAAsB,EAAA,QAAA,CAAA;AACrB,QAAA,GAAG,EAAElF,KAAM;AACX,QAAA,SAAS,EAAEzB,QAAQ,GAAGA,QAAQ,CAACiE,IAAI,CAAE,GAAGxF,SAAAA;AAAU,OAAA,EAC9C6M,IAAI,EAAA;AACR,QAAA,IAAI,EAAErH,IAAK;AACX,QAAA,GAAG,EAAEjG,GAAAA;OAEJyD,CAAAA,EAAAA,KAAK,CACiB,CAC1B,CAAA;AACH,KAAC,MAAM;MACL,MAAM;UAAEA,KAAK;UAAE5B,QAAQ;AAAE7B,UAAAA,GAAAA;AAAa,SAAC,GAAG6K,IAAI;AAAbyC,QAAAA,IAAI,4BAAKzC,IAAI,EAAA,UAAA,CAAA,CAAA;AAC9CwC,MAAAA,eAAe,CAAC1E,IAAI,eAClB,KAAA,CAAA,aAAA,CAAC,kBAAkB,EAAA,QAAA,CAAA;AACjB,QAAA,GAAG,EAAElF,KAAM;AACX,QAAA,YAAA,EAAYA,KAAM;QAClB,UAAU,EACRzB,QAAQ,GACJH,QAAQ,CAAC5D,MAAM,CAAEyK,KAAK,IAAK1G,QAAQ,CAAC0G,KAAK,CAACzC,IAAI,CAAE,CAAC,CAAC9H,MAAM,GAAG,CAAC,GAC5DsC,SACL;AACD,QAAA,QAAQ,EAAEoB,QAAQ,CAAC5D,MAAM,CAAEyK,KAAK,IAAKA,KAAK,CAACxI,KAAK,CAAC,CAAC/B,MAAM,GAAG,CAAA;AAAE,OAAA,EACzDmP,IAAI,EAAA;AACR,QAAA,GAAG,EAAEtN,GAAAA;AAAwC,OAAA,CAAA,EAE5C6B,QAAQ,CAACgH,GAAG,CAAEH,KAAK,IAAK;QACvB,MAAM;YAAEjF,KAAK;YAAEwC,IAAI;AAAEjG,YAAAA,GAAAA;AAAa,WAAC,GAAG0I,KAAK;AAAd4E,UAAAA,IAAI,4BAAK5E,KAAK,EAAA,UAAA,CAAA,CAAA;AAC3C,QAAA,oBACE,oBAAC,sBAAsB,EAAA,QAAA,CAAA;AACrB,UAAA,GAAG,EAAEjF,KAAM;AACX,UAAA,IAAI,EAAEwC,IAAK;AACX,UAAA,SAAS,EAAEjE,QAAQ,GAAGA,QAAQ,CAACiE,IAAI,CAAE,GAAGxF,SAAAA;AAAU,SAAA,EAC9C6M,IAAI,EAAA;AACR,UAAA,GAAG,EAAEtN,GAAAA;AAA2C,SAAA,CAAA,EAE/CyD,KAAK,CACiB,CAAA;OAE5B,CAAC,CACiB,CACtB,CAAA;AACH,KAAA;AACF,GAAC,CAAC,CAAA;EAEF,OAAO;AACL5B,IAAAA,QAAQ,EAAEwL,eAAAA;GACX,CAAA;AACH;;ACpEO,MAAME,eAAe,GAAG,IAGsC,IAAA;EAAA,IAHrC;IAC9BzD,KAAK;AACL9H,IAAAA,QAAAA;GAC8B,GAAA,IAAA,CAAA;EAC9B,MAAMwL,0BAA0B,GAAGJ,wBAAwB,CAAC;IAC1DtD,KAAK;AACL9H,IAAAA,QAAAA;AACF,GAAC,CAAC,CAAA;EAEF,OAAO;AACLH,IAAAA,QAAQ,eACN,KAAA,CAAA,aAAA,CAAC,qBAAqB,EAAA,QAAA,CAAA,EAAA,EAChB2L,0BAA0B,EAAA;MAC9B,YAAW,EAAA,YAAA;AAAY,KAAA,CAAA,CAAA;GAG5B,CAAA;AACH;;ACrBA;AACA;AACA;AACO,MAAMC,gBAAgB,GAAGvO,MAAM,CAACwO,IAA4B,CAAA;AACnE;AACA;AACA;AACA;AACA;AACA,EAAI,EAAA,IAAA,IAAA;EAAA,IAAC;AAAEzK,IAAAA,qBAAAA;GAAuB,GAAA,IAAA,CAAA;EAAA,OAC1B,CAACA,qBAAqB,GAClBzD,GAAI,CAAA;AACZ;AACA;AACA,QAAA,CAAS,GACA,CAAA;AACT;AACA;AACA,EAAG,CAAA,CAAA;AAAA,CAAC,CAAA;AACJ;AACA,EAAI,EAAA,KAAA,IAAA;EAAA,IAAC;AAAE0D,IAAAA,SAAAA;GAAW,GAAA,KAAA,CAAA;EAAA,OACdA,SAAS,GACL1D,GAAI,CAAA;AACZ;AACA,QAAA,CAAS,GACD,EAAE,CAAA;AAAA,CAAC,CAAA;AACX;AACA,EAAI,EAAA,KAAA,IAAA;EAAA,IAAC;AAAEmO,IAAAA,aAAAA;GAAe,GAAA,KAAA,CAAA;AAAA,EAAA,OAClBA,aAAa,IACbtO,MAAM,CAACC,IAAI,CAACjP,mBAAmB,CAAC,CAACkP,OAAO,CAACoO,aAAa,CAAC,KAAK,CAAC,CAAC,GAC1DnO,GAAI,CAAA;AACZ;AACA,4BAAA,EAA8BmO,aAAc,CAAA;AAC5C;AACA;AACA,4BAAA,EAA8BA,aAAc,CAAA;AAC5C;AACA;AACA,4BAAA,EAA8BA,aAAc,CAAA;AAC5C;AACA;AACA,4BAAA,EAA8BA,aAAc,CAAA;AAC5C;AACA;AACA,4BAAA,EAA8BA,aAAc,CAAA;AAC5C;AACA;AACA,4BAAA,EAA8BA,aAAc,CAAA;AAC5C;AACA,QAAA,CAAS,GACD,EAAE,CAAA;AAAA,CAAC,CAAA;AACX,CAAC;;;AC/CD,MAAMjO,gBAAc,GAAG,mBAAmB,CAAA;AAC1C,MAAMC,WAAS,GAAG,qBAAqB,CAAA;AACvC,MAAMC,eAAuC,GAAG,EAAE,CAAA;;AAElD;AACA;AACA;AACO,MAAMgO,UAA8C,gBAAG7N,UAAU,CACtE,CAACnC,KAAK,EAAEoC,GAAG,KAAK;EACd,MAAM;MAAE6B,QAAQ;MAAE1B,SAAS;AAAE0N,MAAAA,YAAAA;AAAgC,KAAC,GAAGjQ,KAAK;AAAxB2C,IAAAA,cAAc,4BAAK3C,KAAK,EAAA4C,WAAA,CAAA,CAAA;EAEtE,MAAM;AAAEmC,IAAAA,QAAAA;GAAU,GAAGD,WAAW,EAAE,CAAA;AAClC,EAAA,MAAMiB,iBAAiB,GAAGC,UAAU,CAACrB,mBAAmB,CAAC,CAAA;EAEzD,oBACE,KAAA,CAAA,aAAA,CAAC,gBAAgB,EAAA,QAAA,CAAA,EAAA,EACXhC,cAAc,EAAA;AAClB,IAAA,SAAS,EAAEoC,QAAS;AACpB,IAAA,qBAAqB,EACnBgB,iBAAiB,GAAGA,iBAAiB,CAACE,oBAAoB,GAAG,IAC9D;AACD,IAAA,aAAa,EAAEgK,YAAa;IAC5B,SAAS,EAAEnN,UAAU,CAACkN,UAAU,CAACzN,SAAS,EAAEA,SAAS,CAAE;AACvD,IAAA,GAAG,EAAEH,GAAAA;AAA8B,GAAA,CAAA,EAElC6B,QAAQ,CACQ,CAAA;AAEvB,CAAC,EACF;AACD+L,UAAU,CAACzN,SAAS,GAAGR,WAAS,CAAA;AAChCiO,UAAU,CAAChN,YAAY,GAAGhB,eAAa,CAAA;AACvCgO,UAAU,CAAC/M,WAAW,GAAGnB,gBAAc;;ACpCvC;AACA;AACA;AACO,MAAMoO,kBAAkB,GAAG5O,MAAM,CAACiF,GAA6B,CAAA;AACtE,EAAI,EAAA,IAAA,IAAA;EAAA,IAAC;AAAEwJ,IAAAA,aAAAA;GAAe,GAAA,IAAA,CAAA;AAAA,EAAA,OAClBA,aAAa,IACbtO,MAAM,CAACC,IAAI,CAACjP,mBAAmB,CAAC,CAACkP,OAAO,CAACoO,aAAa,CAAC,KAAK,CAAC,CAAC,GAC1DnO,GAAI,CAAA;AACZ;AACA,4BAAA,EAA8BmO,aAAc,CAAA;AAC5C;AACA;AACA,4BAAA,EAA8BA,aAAc,CAAA;AAC5C;AACA;AACA,4BAAA,EAA8BA,aAAc,CAAA;AAC5C;AACA;AACA,4BAAA,EAA8BA,aAAc,CAAA;AAC5C;AACA;AACA,4BAAA,EAA8BA,aAAc,CAAA;AAC5C;AACA;AACA,4BAAA,EAA8BA,aAAc,CAAA;AAC5C;AACA,QAAA,CAAS,GACD,EAAE,CAAA;AAAA,CAAC,CAAA;AACX,CAAC;;;ACtBD,MAAMjO,gBAAc,GAAG,qBAAqB,CAAA;AAC5C,MAAMC,WAAS,GAAG,uBAAuB,CAAA;AACzC,MAAMC,eAAyC,GAAG,EAAE,CAAA;;AAEpD;AACA;AACA;AACO,MAAMmO,YAAqD,gBAAGhO,UAAU,CAC7E,CAACnC,KAAK,EAAEoC,GAAG,KAAK;EACd,MAAM;MAAE6B,QAAQ;MAAE1B,SAAS;AAAE0N,MAAAA,YAAAA;AAAgC,KAAC,GAAGjQ,KAAK;AAAxB2C,IAAAA,cAAc,4BAAK3C,KAAK,EAAA4C,WAAA,CAAA,CAAA;EAEtE,MAAM;IAAEiE,SAAS;IAAEuJ,eAAe;AAAEC,IAAAA,aAAAA;GAAe,GAAGlD,OAAO,CAAC,MAAM;IAClE,IAAItG,SAAS,GAAG,KAAK,CAAA;IACrB,IAAIuJ,eAAe,GAAG,KAAK,CAAA;IAC3B,IAAIC,aAAa,GAAG,KAAK,CAAA;IAEzBzL,KAAK,CAACgG,QAAQ,CAACC,OAAO,CAAC5G,QAAQ,EAAG6G,KAAK,IAAK;AAC1C,MAAA,kBAAIlG,KAAK,CAACkC,cAAc,CAACgE,KAAK,CAAC,EAAE;QAC/B,IACGA,KAAK,CAACjB,IAAI,CAAuB5G,WAAW,KAAKsC,MAAM,CAACtC,WAAW,EACpE;AACA4D,UAAAA,SAAS,GAAG,IAAI,CAAA;SACjB,MAAM,IACJiE,KAAK,CAACjB,IAAI,CAA6B5G,WAAW,KACnDwD,YAAY,CAACxD,WAAW,EACxB;AACAmN,UAAAA,eAAe,GAAG,IAAI,CAAA;SACvB,MAAM,IACJtF,KAAK,CAACjB,IAAI,CAA2B5G,WAAW,KACjD+M,UAAU,CAAC/M,WAAW,EACtB;AACAoN,UAAAA,aAAa,GAAG,IAAI,CAAA;AACtB,SAAA;AACF,OAAA;AACF,KAAC,CAAC,CAAA;IAEF,OAAO;MACLxJ,SAAS;MACTuJ,eAAe;AACfC,MAAAA,aAAAA;KACD,CAAA;AACH,GAAC,EAAE,CAACpM,QAAQ,CAAC,CAAC,CAAA;AAEd,EAAA,IAAI,EAAE4C,SAAS,IAAIuJ,eAAe,IAAIC,aAAa,CAAC,EAAE;AACpD3P,IAAAA,OAAO,CAACC,IAAI,CACV,gGAAgG,CACjG,CAAA;AACH,GAAA;EAEA,MAAM,CAACsF,oBAAoB,EAAEqK,uBAAuB,CAAC,GACnDrL,QAAQ,CAAU,KAAK,CAAC,CAAA;AAC1B,EAAA,MAAM,CAACY,KAAK,EAAEiD,QAAQ,CAAC,GAAG7D,QAAQ,EAAsB,CAAA;AAExD,EAAA,MAAM0E,KAAK,GAAG;AACZtD,IAAAA,iBAAiB,GAAG;MAClBiK,uBAAuB,CAAC,IAAI,CAAC,CAAA;KAC9B;AACDnK,IAAAA,eAAe,GAAG;MAChBmK,uBAAuB,CAAC,KAAK,CAAC,CAAA;KAC/B;IACDzJ,SAAS;IACTuJ,eAAe;IACfC,aAAa;IACbvH,QAAQ,CAACjD,KAAa,EAAE;MACtBiD,QAAQ,CAACjD,KAAK,CAAC,CAAA;KAChB;IACDI,oBAAoB;AACpBJ,IAAAA,KAAAA;GACD,CAAA;EAED,oBACE,KAAA,CAAA,aAAA,CAAC,kBAAkB,EAAA,QAAA,CAAA,EAAA,EACblD,cAAc,EAAA;AAClB,IAAA,aAAa,EAAEsN,YAAa;IAC5B,SAAS,EAAEnN,UAAU,CAACqN,YAAY,CAAC5N,SAAS,EAAEA,SAAS,CAAE;AACzD,IAAA,GAAG,EAAEH,GAAAA;GAEL,CAAA,eAAA,KAAA,CAAA,aAAA,CAAC,mBAAmB,CAAC,QAAQ,EAAA;AAAC,IAAA,KAAK,EAAEuH,KAAAA;GAClC1F,EAAAA,QAAQ,CACoB,CACZ,CAAA;AAEzB,CAAC,EACF;AACDkM,YAAY,CAAC5N,SAAS,GAAGR,WAAS,CAAA;AAClCoO,YAAY,CAACnN,YAAY,GAAGhB,eAAa,CAAA;AACzCmO,YAAY,CAAClN,WAAW,GAAGnB,gBAAc;;AC7FzC;AACA;AACA;AACO,MAAMyO,oBAAoB,GAAGjP,MAAM,CAAC+F,CAA6B,CAAA;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAI,EAAA,IAAA,IAAA;EAAA,IAAC;IAAE9D,WAAW;AAAEiE,IAAAA,UAAAA;GAAY,GAAA,IAAA,CAAA;AAAA,EAAA,OAAK5F,GAAI,CAAA;AACzC,IAAA,EAAM2B,WAAW,GACR,CAAA;AACT;AACA,MAAO,CAAA,GACCiE,UAAU,GACT,CAAA;AACT;AACA,MAAA,CAAO,GACE,CAAA;AACT;AACA,MAAQ,CAAA,CAAA;AACR;AACA,IAAA,EAAM,CAACjE,WAAW,IACd,CAACiE,UAAU,IACX5F,GAAI,CAAA;AACR;AACA;AACA;AACA;AACA;AACA;AACA,IAAM,CAAA,CAAA;AACN,EAAG,CAAA,CAAA;AAAA,CAAC,CAAA;AACJ;AACA;AACA;AACA;AACA,CAAC;;;ACrCD,MAAME,gBAAc,GAAG,uBAAuB,CAAA;AAC9C,MAAMC,WAAS,GAAG,yBAAyB,CAAA;AAC3C,MAAMC,eAA2C,GAAG,EAAE,CAAA;;AAEtD;AACA;AACA;AACO,MAAMwO,cAA4D,gBACvErO,UAAU,CAAC,CAACnC,KAAK,EAAEoC,GAAG,KAAK;EACzB,MAAM;MACJ6B,QAAQ;MACR1B,SAAS;MACT8F,IAAI;MACJG,SAAS;AACTnE,MAAAA,UAAAA;AAEF,KAAC,GAAGrE,KAAK;AADJ2C,IAAAA,cAAc,4BACf3C,KAAK,EAAA4C,WAAA,CAAA,CAAA;AAET7C,EAAAA,4BAA4B,CAACC,KAAK,EAAE,CAACiE,QAAQ,CAAC,CAAC,CAAA;AAE/C,EAAA,oBACE,oBAAC,oBAAoB,EAAA,QAAA,CAAA;AACnB,IAAA,IAAI,EAAC,MAAM;IACX,QAAQ,EAAE,CAACI,UAAU,IAAI,CAACmE,SAAS,GAAG,CAAC,GAAG3F,SAAAA;AAAU,GAAA,EAChDF,cAAc,EAAA;AAClB,IAAA,UAAU,EAAE6F,SAAU;AACtB,IAAA,WAAW,EAAEnE,UAAW;AACxB,IAAA,cAAA,EAAcmE,SAAS,GAAG,MAAM,GAAG3F,SAAU;IAC7C,eAAewB,EAAAA,UAAU,IAAImE,SAAU;IACvC,SAAS,EAAE1F,UAAU,CAAC0N,cAAc,CAACjO,SAAS,EAAEA,SAAS,CAAE;IAC3D,IAAI,EAAE,CAAC8B,UAAU,IAAI,CAACmE,SAAS,GAAGH,IAAI,GAAGxF,SAAU;AACnD,IAAA,GAAG,EAAET,GAAAA;AAAoC,GAAA,CAAA,EAExC6B,QAAQ,CACY,CAAA;AAE3B,CAAC,EAAC;AACJuM,cAAc,CAACjO,SAAS,GAAGR,WAAS,CAAA;AACpCyO,cAAc,CAACxN,YAAY,GAAGhB,eAAa,CAAA;AAC3CwO,cAAc,CAACvN,WAAW,GAAGnB,gBAAc;;AC3C3C;AACA;AACA;AACO,MAAM2O,iBAAiB,GAAGnP,MAAM,CAAC2M,GAA4B,CAAA;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAM,EAAA,IAAA,IAAA;EAAA,IAAC;AAAE1K,IAAAA,WAAAA;GAAa,GAAA,IAAA,CAAA;EAAA,OAChBA,WAAW,GACP3B,GAAI,CAAA;AACd;AACA,UAAA,CAAW,GACDA,GAAI,CAAA;AACd;AACA,UAAW,CAAA,CAAA;AAAA,CAAC,CAAA;AACZ;AACA,CAAC;;;ACrBD,MAAME,gBAAc,GAAG,oBAAoB,CAAA;AAC3C,MAAMC,WAAS,GAAG,qBAAqB,CAAA;AACvC,MAAMC,eAAwC,GAAG,EAAE,CAAA;;AAEnD;AACA;AACA;AACO,MAAM0O,WAAgD,gBAAGvO,UAAU,CACxE,CAACnC,KAAK,EAAEoC,GAAG,KAAK;EACd,MAAM;MAAE6B,QAAQ;MAAE1B,SAAS;AAAE8B,MAAAA,UAAAA;AAA8B,KAAC,GAAGrE,KAAK;AAAxB2C,IAAAA,cAAc,4BAAK3C,KAAK,EAAA4C,WAAA,CAAA,CAAA;EAEpE7C,4BAA4B,CAACC,KAAK,CAAC,CAAA;EAEnC,MAAM2K,UAA0B,GAAG,EAAE,CAAA;EACrC/F,KAAK,CAACgG,QAAQ,CAACC,OAAO,CAAC5G,QAAQ,EAAG6G,KAAK,IAAK;AAC1C,IAAA,kBAAIlG,KAAK,CAACkC,cAAc,CAACgE,KAAK,CAAC,EAAE;AAC/BH,MAAAA,UAAU,CAACI,IAAI,CAACD,KAAK,CAAC,CAAA;AACxB,KAAA;AACF,GAAC,CAAC,CAAA;EAEF,MAAM6F,eAAe,GAAGhG,UAAU,CAACM,GAAG,CAAC,CAACH,KAAK,EAAEV,KAAK,KAAK;AAAA,IAAA,IAAA,UAAA,CAAA;IACvD,MAAM5B,SAAS,GAAG4B,KAAK,KAAKO,UAAU,CAACpK,MAAM,GAAG,CAAC,CAAA;IAEjD,oBACE,KAAA,CAAA,aAAA,CAAA,IAAA,EAAA;AAAI,MAAA,GAAG,EAAE6J,KAAAA;AAAM,KAAA,eACb,oBAAC,cAAc,EAAA,QAAA,CAAA;MACb,UAAU,EAAEU,KAAK,CAAC9K,KAAK,CAACqE,UAAU,IAAIA,UAAU,IAAIxB,SAAAA;KAChDiI,EAAAA,KAAK,CAAC9K,KAAK,EAAA;AACf,MAAA,GAAG,EAAE8K,CAAAA,UAAAA,GAAAA,KAAK,CAACxK,GAAG,mDAAI8J,KAAM;AACxB,MAAA,SAAS,EAAE5B,SAAAA;AAAU,KAAA,CAAA,CACrB,EACDA,SAAS,KAAK,KAAK,gBAClB,KAAA,CAAA,aAAA,CAAA,MAAA,EAAA;AAAM,MAAA,SAAS,EAAG,CAAA,EAAEkI,WAAW,CAACnO,SAAU,CAAA,WAAA,CAAA;AAAa,KAAA,EAAE,GAAG,CAAQ,GAClE,IAAI,CACL,CAAA;AAET,GAAC,CAAC,CAAA;EAEF,oBACE,KAAA,CAAA,aAAA,CAAC,iBAAiB,EAAA,QAAA,CAAA,EAAA,EACZI,cAAc,EAAA;AAClB,IAAA,WAAW,EAAE0B,UAAW;IACxB,SAAS,EAAEvB,UAAU,CAAC4N,WAAW,CAACnO,SAAS,EAAEA,SAAS,CAAE;AACxD,IAAA,GAAG,EAAEH,GAAAA;GAEL,CAAA,eAAA,KAAA,CAAA,aAAA,CAAA,IAAA,EAAA,IAAA,EAAKuO,eAAe,CAAM,CACR,CAAA;AAExB,CAAC,EACF;AACDD,WAAW,CAACnO,SAAS,GAAGR,WAAS,CAAA;AACjC2O,WAAW,CAAC1N,YAAY,GAAGhB,eAAa,CAAA;AACxC0O,WAAW,CAACzN,WAAW,GAAGnB,gBAAc;;;ACrDxC,MAAMA,gBAAc,GAAG,mBAAmB,CAAA;AAC1C,MAAMC,WAAS,GAAG,qBAAqB,CAAA;AACvC,MAAMC,eAAuC,GAAG;EAC9CQ,KAAK,EAAEtQ,YAAY,CAACC,OAAO;EAC3BsR,OAAO,EAAEP,aAAa,CAACrC,OAAAA;AACzB,CAAC,CAAA;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM+P,UAAoD,gBAAGzO,UAAU,CAC5E,CAACnC,KAAK,EAAEoC,GAAG,KAAK;EACd,MAAM;MACJyO,EAAE;MACF5M,QAAQ;MACR1B,SAAS;MACTC,KAAK;MACL6F,IAAI;MACJjE,QAAQ;MACRC,UAAU;MACVC,QAAQ;MACRE,SAAS;MACT6I,MAAM;AACN5J,MAAAA,OAAAA;AAEF,KAAC,GAAGzD,KAAK;AADJ2C,IAAAA,cAAc,4BACf3C,KAAK,EAAA4C,WAAA,CAAA,CAAA;AAET,EAAA,oBACE,oBAAC,YAAY,EAAA,QAAA,CAAA;IACX,EAAE,EAAEiO,EAAE,IAAI,GAAI;AACd,IAAA,IAAI,EAAC,MAAM;AACX,IAAA,QAAQ,EAAE,CAACxM,UAAU,GAAG,CAAC,GAAGxB,SAAAA;AAAU,GAAA,EAClCF,cAAc,EAAA;AAClB,IAAA,MAAM,EAAEH,KAAM;AACd,IAAA,SAAS,EAAE4B,QAAS;AACpB,IAAA,WAAW,EAAEC,UAAW;AACxB,IAAA,QAAQ,EAAEZ,OAAQ;IAClB,SAAS,EAAEX,UAAU,CAAC8N,UAAU,CAACrO,SAAS,EAAEA,SAAS,CAAE;AACvD,IAAA,IAAI,EAAE,CAAC8B,UAAU,GAAGgE,IAAI,GAAGxF,SAAU;AACrC,IAAA,GAAG,EAAET,GAAoC;AACzC,IAAA,MAAM,EAAEiL,MAAAA;GAEP/I,CAAAA,EAAAA,QAAQ,gBACP,KAAA,CAAA,aAAA,CAAC,IAAI,EAAA;AAAC,IAAA,IAAI,EAAEA,QAAS;AAAC,IAAA,aAAA,EAAY,MAAM;AAAC,IAAA,SAAS,EAAC,MAAA;AAAM,GAAA,CAAG,GAC1D,IAAI,EACPL,QAAQ,iBAAI,KAAA,CAAA,aAAA,CAAA,MAAA,EAAA,IAAA,EAAOA,QAAQ,CAAQ,EACnCO,SAAS,gBACR,KAAA,CAAA,aAAA,CAAC,IAAI,EAAA;AAAC,IAAA,IAAI,EAAEA,SAAU;AAAC,IAAA,aAAA,EAAY,MAAM;AAAC,IAAA,SAAS,EAAC,OAAA;GAAU,CAAA,GAC5D,IAAI,CACK,CAAA;AAEnB,CAAC,EACF;AACDoM,UAAU,CAACrO,SAAS,GAAGR,WAAS,CAAA;AAChC6O,UAAU,CAAC5N,YAAY,GAAGhB,eAAa,CAAA;AACvC4O,UAAU,CAAC3N,WAAW,GAAGnB,gBAAc;;AC/DhC,MAAMgP,oBAAoB,gBAC/BlM,KAAK,CAACC,aAAa,CAA4B,IAAI,CAAC;;ACDtD;AACA;AACA;AACO,MAAMkM,cAAc,GAAGzP,MAAM,CAAC0P,KAA2B,CAAA;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAM,EAAA,IAAA,IAAA;EAAA,IAAC;IAAEzN,WAAW;AAAE0N,IAAAA,UAAAA;GAAY,GAAA,IAAA,CAAA;EAAA,OAC5B1N,WAAW,GACP3B,GAAI,CAAA;AACd;AACA,UAAW,CAAA,GACDqP,UAAU,GACVrP,GAAI,CAAA;AACd;AACA,UAAA,CAAW,GACDA,GAAI,CAAA;AACd;AACA,UAAW,CAAA,CAAA;AAAA,CAAC,CAAA;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAM,EAAA,KAAA,IAAA;EAAA,IAAC;IAAE2B,WAAW;IAAE0N,UAAU;AAAEC,IAAAA,eAAAA;GAAiB,GAAA,KAAA,CAAA;AAAA,EAAA,OAAKtP,GAAI,CAAA;AAC5D,MAAQ2B,EAAAA,WAAW,GACT3B,GAAI,CAAA;AACd;AACA,UAAW,CAAA,GACDqP,UAAU,GACVrP,GAAI,CAAA;AACd;AACA,UAAA,CAAW,GACDA,GAAI,CAAA;AACd;AACA,UAAY,CAAA,CAAA;AACZ;AACA,MAAQsP,EAAAA,eAAe,GACbtP,GAAI,CAAA;AACd;AACA;AACA,UAAA,CAAW,GACD,EAAG,CAAA;AACb,IAAK,CAAA,CAAA;AAAA,CAAC,CAAA;AACN;AACA;AACA;AACA;AACA;AACA;AACA,IAAM,EAAA,KAAA,IAAA;EAAA,IAAC;AAAE2B,IAAAA,WAAAA;GAAa,GAAA,KAAA,CAAA;EAAA,OAChB,CAACA,WAAW,GACR3B,GAAI,CAAA;AACd;AACA;AACA;AACA;AACA,UAAA,CAAW,GACD,EAAE,CAAA;AAAA,CAAC,CAAA;AACb;AACA;AACA,EAAI,EAAA,KAAA,IAAA;EAAA,IAAC;AAAEsP,IAAAA,eAAAA;GAAiB,GAAA,KAAA,CAAA;EAAA,OACpBA,eAAe,GACXtP,GAAI,CAAA;AACZ;AACA;AACA;AACA;AACA,QAAA,CAAS,GACD,EAAE,CAAA;AAAA,CAAC,CAAA;AACX,CAAC;;;AC/ED,MAAME,gBAAc,GAAG,iBAAiB,CAAA;AACxC,MAAMC,WAAS,GAAG,kBAAkB,CAAA;AACpC,MAAMC,eAAqC,GAAG,EAAE,CAAA;;AAEhD;AACA;AACA;AACA;AACA;AACO,MAAMmP,QAA+C,gBAAGhP,UAAU,CACvE,CAACnC,KAAK,EAAEoC,GAAG,KAAK;AACd,EAAA,MAAMgP,UAAU,GAAGpL,UAAU,CAAC8K,oBAAoB,CAAC,CAAA;EAEnD,IAAI;AACF,MAAA,YAAY,EAAE5Q,SAAS;AACvB,MAAA,iBAAiB,EAAEC,cAAc;MACjCkR,SAAS;MACTpN,QAAQ;MACR1B,SAAS;MACT+O,eAAe;MACfC,UAAU;MACVC,QAAQ;MACRC,YAAY;MACZpN,UAAU;MACVqN,eAAe;MACfC,SAAS;MACTC,UAAU;MACVC,UAAU;AACVC,MAAAA,UAAU,EAAEC,eAAe;MAC3BC,IAAI;MACJC,QAAQ;AACR/E,MAAAA,KAAAA;AAEF,KAAC,GAAGlN,KAAK;AADJ2C,IAAAA,cAAc,4BACf3C,KAAK,EAAA4C,WAAA,CAAA,CAAA;EAET,MAAM;IAAEsP,cAAc;AAAEC,IAAAA,UAAAA;GAAY,GAAGC,YAAY,CAAC;AAAEf,IAAAA,SAAAA;AAAU,GAAC,CAAC,CAAA;EAClEhN,UAAU,GAAGA,UAAU,KAAI+M,UAAU,aAAVA,UAAU,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAVA,UAAU,CAAE/M,UAAU,CAAA,CAAA;EACjDuN,UAAU,GAAGA,UAAU,KAAIR,UAAU,aAAVA,UAAU,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAVA,UAAU,CAAEQ,UAAU,CAAA,CAAA;EAEjD,MAAM,CAACE,UAAU,EAAEO,WAAW,CAAC,GAAGpN,QAAQ,CACxC8M,eAAe,IACbT,eAAe,KACfF,UAAU,KAAVA,IAAAA,IAAAA,UAAU,KAAVA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,UAAU,CAAElE,KAAK,CAACH,QAAQ,CAACG,KAAK,CAAW,CAC9C,CAAA,CAAA;AACDhI,EAAAA,SAAS,CAAC,MAAM;AACd,IAAA,IAAIkM,UAAU,EAAE;MACdiB,WAAW,CAACjB,UAAU,CAAClE,KAAK,CAACH,QAAQ,CAACG,KAAK,CAAW,CAAC,CAAA;AACzD,KAAA;GACD,EAAE,CAACkE,UAAU,KAAVA,IAAAA,IAAAA,UAAU,uBAAVA,UAAU,CAAElE,KAAK,CAAC,CAAC,CAAA;AAEvBnN,EAAAA,4BAA4B,CAACC,KAAK,EAA6B,CAACiE,QAAQ,CAAC,CAAC,CAAA;AAE1E,EAAA,IAAImN,UAAU,IAAI,CAACK,YAAY,EAAE;IAC/B,IAAIM,eAAe,IAAI,IAAI,EAAE;AAC3BrR,MAAAA,OAAO,CAACC,IAAI,CACV,8MAA8M,CAC/M,CAAA;AACH,KAAA;IACA,IAAI2Q,eAAe,IAAI,IAAI,EAAE;AAC3B5Q,MAAAA,OAAO,CAACC,IAAI,CACV,mNAAmN,CACpN,CAAA;AACH,KAAA;AACA,IAAA,IAAIX,KAAK,CAACkN,KAAK,IAAI,IAAI,EAAE;AACvBxM,MAAAA,OAAO,CAACC,IAAI,CACV,gHAAgH,CACjH,CAAA;AACH,KAAA;AACF,GAAA;AAEA,EAAA,MAAM2R,YAAY,GAAG/G,WAAW,CAC7BmC,KAA0C,IAAK;IAC9C,IAAIrJ,UAAU,IAAIuN,UAAU,EAAE;AAC5B,MAAA,OAAA;AACF,KAAA;AAEA,IAAA,IAAIR,UAAU,EAAE;MACd,IAAI,CAACA,UAAU,CAAClE,KAAK,CAACH,QAAQ,CAACG,KAAK,CAAW,EAAE;AAC/CkE,QAAAA,UAAU,CAACmB,QAAQ,CAACrF,KAAK,CAAW,CAAA;AACtC,OAAC,MAAM;AACLkE,QAAAA,UAAU,CAACoB,WAAW,CAACtF,KAAK,CAAW,CAAA;AACzC,OAAA;AACF,KAAA;AAEA,IAAA,IAAI+E,QAAQ,EAAE;MACZA,QAAQ,CAAC,CAACH,UAAU,EAAE5E,KAAK,EAAE8E,IAAI,EAAEtE,KAAK,EAAE0D,UAAU,CAAE,CAAA;AACxD,KAAA;AACAiB,IAAAA,WAAW,CAAC3E,KAAK,CAACL,MAAM,CAACoF,OAAO,CAAC,CAAA;AACnC,GAAC,EACD,CAACR,QAAQ,EAAEb,UAAU,CAAC,CACvB,CAAA;EAED,oBACE,KAAA,CAAA,aAAA,CAAC,cAAc,EAAA,QAAA,CAAA,EAAA,EACTzO,cAAc,EAAA;AAClB,IAAA,WAAW,EAAE0B,UAAW;AACxB,IAAA,eAAe,EAAE6N,cAAe;AAChC,IAAA,UAAU,EAAEP,SAAS,IAAKE,UAAU,IAAI,CAACC,UAAY;AACrD,IAAA,WAAW,EAAED,UAAW;AACxB,IAAA,WAAW,EAAEC,UAAW;IACxB,SAAS,EAAEhP,UAAU,CAACqO,QAAQ,CAAC5O,SAAS,EAAEA,SAAS,CAAE;AACrD,IAAA,GAAG,EAAEH,GAAAA;GAEL,CAAA,eAAA,KAAA,CAAA,aAAA,CAAA,OAAA,EAAA,QAAA,CAAA,EAAA,EACMmP,UAAU,EACVY,UAAU,EAAA;AACd,IAAA,cAAA,EACEL,UAAU,IAAKL,YAAY,IAAIM,eAAgB,GAC3C,MAAM,GACNL,eAAe,GACf,OAAO,GACP,OACL;AACD,IAAA,eAAA,EAAerN,UAAW;AAC1B,IAAA,cAAA,EAAcsN,SAAS,IAAKE,UAAU,IAAI,CAACC,UAAY;AACvD,IAAA,YAAA,EAAY5R,SAAU;AACtB,IAAA,iBAAA,EAAiBC,cAAe;AAChC,IAAA,eAAA,EAAeyR,UAAW;AAC1B,IAAA,eAAA,EAAeC,UAAW;AAC1B,IAAA,OAAO,EAAEC,UAAU,GAAG,IAAI,GAAG,KAAM;AACnC,IAAA,QAAQ,EAAEzN,UAAW;AACrB,IAAA,IAAI,EAAE2N,IAAK;AACX,IAAA,QAAQ,EAAEM,YAAa;AACvB,IAAA,GAAG,EAAEd,QAA+C;AACpD,IAAA,IAAI,EAAC,UAAU;AACf,IAAA,KAAK,EAAEtE,KAAAA;GACP,CAAA,CAAA,EACD4E,UAAU,IAAKL,YAAY,IAAIM,eAAgB,gBAC9C,oBAAC,IAAI,EAAA;AAAC,IAAA,IAAI,EAAEW,iBAAAA;AAAkB,GAAA,CAAG,GAC/BhB,eAAe,gBACjB,KAAA,CAAA,aAAA,CAAC,IAAI,EAAA;AAAC,IAAA,IAAI,EAAEiB,WAAAA;GAAe,CAAA,gBAE3B,oBAAC,IAAI,EAAA;AAAC,IAAA,IAAI,EAAEC,uBAAAA;GACb,CAAA,EACA3O,QAAQ,gBAAG,KAAA,CAAA,aAAA,CAAA,MAAA,EAAA;AAAM,IAAA,SAAS,EAAC,OAAA;AAAO,GAAA,EAAEA,QAAQ,CAAQ,GAAG,IAAI,CAC7C,CAAA;AAErB,CAAC,EACF;AACDkN,QAAQ,CAAC5O,SAAS,GAAGR,WAAS,CAAA;AAC9BoP,QAAQ,CAACnO,YAAY,GAAGhB,eAAa,CAAA;AACrCmP,QAAQ,CAAClO,WAAW,GAAGnB,gBAAc;;ACjKrC;AACA;AACA;;AAgBA;AACA;AACA;AACO,MAAM+Q,wBAAwB,GAAG;AACtCC,EAAAA,UAAU,EAAE,YAAY;AACxBC,EAAAA,QAAQ,EAAE,UAAA;AACZ;;ACxBA;AACA;AACA;AACO,MAAMC,mBAAmB,GAAG1R,MAAM,CAACiF,GAA8B,CAAA;AACxE;AACA;AACA;AACA,EAAI,EAAA,IAAA,IAAA;EAAA,IAAC;AAAE0M,IAAAA,YAAAA;GAAc,GAAA,IAAA,CAAA;AAAA,EAAA,OACjBA,YAAY,KAAKJ,wBAAwB,CAACE,QAAQ,GAC7C,CAAA;AACT;AACA;AACA;AACA;AACA,EAAA,CAAG,GACM,CAAA;AACT;AACA;AACA;AACA;AACA,EAAG,CAAA,CAAA;AAAA,CAAC,CAAA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAM,EAAA,KAAA,IAAA;EAAA,IAAC;AAAExP,IAAAA,WAAAA;GAAa,GAAA,KAAA,CAAA;AAAA,EAAA,OAChBA,WAAW,GACN,CAAA;AACX;AACA,IAAA,CAAK,GACK,EAAE,CAAA;AAAA,CAAC,CAAA;AACb,IAAM,EAAA,KAAA,IAAA;EAAA,IAAC;AAAE0N,IAAAA,UAAAA;GAAY,GAAA,KAAA,CAAA;AAAA,EAAA,OACfA,UAAU,GACL,CAAA;AACX;AACA,IAAA,CAAK,GACK,EAAE,CAAA;AAAA,CAAC,CAAA;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAM,EAAA,KAAA,IAAA;EAAA,IAAC;AAAE1N,IAAAA,WAAAA;GAAa,GAAA,KAAA,CAAA;AAAA,EAAA,OAChBA,WAAW,GACN,CAAA;AACX;AACA,IAAA,CAAK,GACK,EAAE,CAAA;AAAA,CAAC,CAAA;AACb,IAAM,EAAA,KAAA,IAAA;EAAA,IAAC;AAAE0N,IAAAA,UAAAA;GAAY,GAAA,KAAA,CAAA;AAAA,EAAA,OACfA,UAAU,GACL,CAAA;AACX;AACA,IAAA,CAAK,GACK,EAAE,CAAA;AAAA,CAAC,CAAA;AACb;AACA,CAAC;;;AC3DD,MAAMnP,gBAAc,GAAG,sBAAsB,CAAA;AAC7C,MAAMC,WAAS,GAAG,wBAAwB,CAAA;AAC1C,MAAMC,eAA0C,GAAG;EACjDQ,KAAK,EAAEtQ,YAAY,CAACC,OAAO;EAC3B+gB,WAAW,EAAEL,wBAAwB,CAACE,QAAAA;AACxC,CAAC,CAAA;;AAED;AACA;AACA;AACA;AACO,MAAMI,aAAuD,gBAClEhR,UAAU,CAAC,CAACnC,KAAK,EAAEoC,GAAG,KAAK;EACzB,MAAM;MACJ6B,QAAQ;MACR1B,SAAS;MACT6Q,aAAa;MACbC,WAAW;MACXhP,UAAU;MACVsN,SAAS;MACTC,UAAU;MACVC,UAAU;MACVb,KAAK;MACLiB,QAAQ;MACRiB,WAAW;MACXI,cAAc;AACdpG,MAAAA,KAAAA;AAEF,KAAC,GAAGlN,KAAK;AADJ2C,IAAAA,cAAc,4BACf3C,KAAK,EAAA4C,WAAA,CAAA,CAAA;AAET,EAAA,MAAM,CAAC2Q,cAAc,EAAEC,QAAQ,CAAC,GAAGvO,QAAQ,CACzCiI,KAAK,IAAIkG,aAAa,IAAI,EAAE,CAC7B,CAAA;AACDlO,EAAAA,SAAS,CAAC,MAAM;AACd,IAAA,IAAIgI,KAAK,EAAE;AACTvD,MAAAA,KAAK,CAAC6J,QAAQ,CAACtG,KAAK,CAAC,CAAA;AACvB,KAAA;AACF,GAAC,EAAE,CAACA,KAAK,CAAC,CAAC,CAAA;AAEX,EAAA,MAAMvD,KAAK,GAAG;AACZuD,IAAAA,KAAK,EAAEqG,cAAc;IACrBlP,UAAU,EAAEA,UAAU,IAAI,KAAK;IAC/BuN,UAAU,EAAEA,UAAU,IAAI,KAAK;AAC/B0B,IAAAA,cAAc,EAAEA,cAAc;IAC9BE,QAAQ,CAACC,MAAgB,EAAE;MACzB,IAAI7B,UAAU,IAAIvN,UAAU,EAAE;AAC5B,QAAA,OAAA;AACF,OAAA;MAEAmP,QAAQ,CAACC,MAAM,CAAC,CAAA;KACjB;IACDlB,QAAQ,CAACrF,KAAa,EAAE;AACtB,MAAA,IAAI,CAACqG,cAAc,CAACxG,QAAQ,CAACG,KAAK,CAAC,EAAE;AACnCsG,QAAAA,QAAQ,CAACD,cAAc,CAACG,MAAM,CAACxG,KAAK,CAAC,CAAC,CAAA;AACtC,QAAA,IAAI+E,QAAQ,EAAE;AACZA,UAAAA,QAAQ,CAACsB,cAAc,CAACG,MAAM,CAACxG,KAAK,CAAC,CAAC,CAAA;AACxC,SAAA;AACF,OAAA;KACD;IACDsF,WAAW,CAACtF,KAAa,EAAE;AACzB,MAAA,IAAIqG,cAAc,CAACxG,QAAQ,CAACG,KAAK,CAAC,EAAE;QAClCsG,QAAQ,CACND,cAAc,CAAClT,MAAM,CAAEsT,aAAa,IAAKA,aAAa,KAAKzG,KAAK,CAAC,CAClE,CAAA;AACD,QAAA,IAAI+E,QAAQ,EAAE;UACZA,QAAQ,CACNsB,cAAc,CAAClT,MAAM,CAAEsT,aAAa,IAAKA,aAAa,KAAKzG,KAAK,CAAC,CAClE,CAAA;AACH,SAAA;AACF,OAAA;AACF,KAAA;GACD,CAAA;EAED,oBACE,KAAA,CAAA,aAAA,CAAC,mBAAmB,EAAA,QAAA,CAAA,EAAA,EACdvK,cAAc,EAAA;AAClB,IAAA,WAAW,EAAE0B,UAAW;AACxB,IAAA,UAAU,EAAEsN,SAAU;AACtB,IAAA,WAAW,EAAEC,UAAW;AACxB,IAAA,WAAW,EAAEC,UAAW;AACxB,IAAA,YAAY,EAAEqB,WAAY;AAC1B,IAAA,eAAA,EAAe7O,UAAW;IAC1B,SAAS,EAAEvB,UAAU,CAACqQ,aAAa,CAAC5Q,SAAS,EAAEA,SAAS,CAAE;AAC1D,IAAA,GAAG,EAAEH,GAAiC;AACtC,IAAA,IAAI,EAAC,OAAA;GAEL,CAAA,eAAA,KAAA,CAAA,aAAA,CAAA,MAAA,EAAA;AAAM,IAAA,SAAS,EAAG,CAAA,EAAE+Q,aAAa,CAAC5Q,SAAU,CAAA,MAAA,CAAA;GACzCyO,EAAAA,KAAK,EACLa,UAAU,GAAG,IAAI,GAAG,IAAI,CACpB,eACP,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAK,IAAA,SAAS,EAAG,CAAA,EAAEsB,aAAa,CAAC5Q,SAAU,CAAA,MAAA,CAAA;GACzC,eAAA,KAAA,CAAA,aAAA,CAAC,oBAAoB,CAAC,QAAQ,EAAA;AAAC,IAAA,KAAK,EAAEoH,KAAAA;GACnC1F,EAAAA,QAAQ,CACqB,CAC5B,eACN,KAAA,CAAA,aAAA,CAAA,MAAA,EAAA;AAAM,IAAA,SAAS,EAAG,CAAA,EAAEkP,aAAa,CAAC5Q,SAAU,CAAA,YAAA,CAAA;GACzC8Q,EAAAA,WAAW,CACP,CACa,CAAA;AAE1B,CAAC,EAAC;AACJF,aAAa,CAAC5Q,SAAS,GAAGR,WAAS,CAAA;AACnCoR,aAAa,CAACnQ,YAAY,GAAGhB,eAAa,CAAA;AAC1CmR,aAAa,CAAClQ,WAAW,GAAGnB,gBAAc;;AC3G1C;AACA;AACA;AACa8R,MAAAA,UAAU,GAAGtS,MAAM,CAAC+F,CAAmB,CAAA;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAI,EAAA,IAAA,IAAA;EAAA,IAAC;AAAE9D,IAAAA,WAAAA;GAAa,GAAA,IAAA,CAAA;EAAA,OAChB,CAACA,WAAW,GACR3B,GAAI,CAAA;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAA,CAAS,GACD,EAAE,CAAA;AAAA,CAAC,CAAA;AACX;AACA;AACA;AACA;AACA;;;AC/BA,MAAME,gBAAc,GAAG,aAAa,CAAA;AACpC,MAAMC,WAAS,GAAG,cAAc,CAAA;AAChC,MAAMC,eAAiC,GAAG,EAAE,CAAA;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM6R,IAAwC,gBAAG1R,UAAU,CAChE,CAACnC,KAAK,EAAEoC,GAAG,KAAK;EACd,MAAM;MAAE6B,QAAQ;MAAE1B,SAAS;MAAE8F,IAAI;AAAEhE,MAAAA,UAAAA;AAA8B,KAAC,GAAGrE,KAAK;AAAxB2C,IAAAA,cAAc,4BAAK3C,KAAK,EAAA4C,WAAA,CAAA,CAAA;AAE1E,EAAA,oBACE,oBAAC,UAAU,EAAA,QAAA,CAAA;AACT,IAAA,eAAA,EAAeyB,UAAW;AAC1B,IAAA,IAAI,EAAC,MAAM;AACX,IAAA,QAAQ,EAAE,CAACA,UAAU,GAAG,CAAC,GAAGxB,SAAAA;AAAU,GAAA,EAClCF,cAAc,EAAA;AAClB,IAAA,WAAW,EAAE0B,UAAW;IACxB,SAAS,EAAEvB,UAAU,CAAC+Q,IAAI,CAACtR,SAAS,EAAEA,SAAS,CAAE;AACjD,IAAA,IAAI,EAAE,CAAC8B,UAAU,GAAGgE,IAAI,GAAGxF,SAAU;AACrC,IAAA,GAAG,EAAET,GAAAA;AAAoC,GAAA,CAAA,EAExC6B,QAAQ,CACE,CAAA;AAEjB,CAAC,EACF;AACD4P,IAAI,CAACtR,SAAS,GAAGR,WAAS,CAAA;AAC1B8R,IAAI,CAAC7Q,YAAY,GAAGhB,eAAa,CAAA;AACjC6R,IAAI,CAAC5Q,WAAW,GAAGnB,gBAAc;;;AChCjC,MAAMA,gBAAc,GAAG,mBAAmB,CAAA;AAC1C,MAAMC,WAAS,GAAG,qBAAqB,CAAA;AACvC,MAAMC,eAAuC,GAAG,EAAE,CAAA;;AAElD;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM8R,UAAoD,gBAAG3R,UAAU,CAC5E,CAACnC,KAAK,EAAEoC,GAAG,KAAK;AACd,EAAA,MAAMuB,SAAS,GAAGvB,GAAG,IAAIwB,MAAM,EAAqB,CAAA;EACpD,MAAM;AAAEC,IAAAA,WAAAA;GAAa,GAAGC,SAAS,CAAAC,cAAA,CAAAA,cAAA,CAAA,EAAA,EAE1B/D,KAAK,CAAA,EAAA,EAAA,EAAA;AACRgE,IAAAA,mBAAmB,EAAE,IAAA;AAAI,GAAA,CAAA,EAE3BL,SAAS,CACV,CAAA;EAED,MAAM;MACJM,QAAQ;MACR1B,SAAS;MACT2B,QAAQ;MACRG,UAAU;AACV;AACAE,MAAAA,OAAAA;AAEF,KAAC,GAAGvE,KAAK;AADJ2C,IAAAA,cAAc,4BACf3C,KAAK,EAAA4C,WAAA,CAAA,CAAA;AAET,EAAA,oBACE,oBAAC,UAAU,EAAA,QAAA,CAAA;AACT,IAAA,EAAE,EAAC,QAAA;GACCD,EAAAA,cAAc,EACdkB,WAAW,EAAA;IACf,WAAW,EAAEQ,UAAU,IAAIH,QAAS;IACpC,eAAeG,EAAAA,UAAU,IAAIH,QAAS;IACtC,SAAS,EAAEpB,UAAU,CAACgR,UAAU,CAACvR,SAAS,EAAEA,SAAS,CAAE;IACvD,QAAQ,EAAE8B,UAAU,IAAIH,QAAAA;AACxB;AAAA;AACA,IAAA,GAAG,EAAEP,SAAAA;AAA0C,GAAA,CAAA,EAE9CM,QAAQ,CACE,CAAA;AAEjB,CAAC,EACF;AACD6P,UAAU,CAACvR,SAAS,GAAGR,WAAS,CAAA;AAChC+R,UAAU,CAAC9Q,YAAY,GAAGhB,eAAa,CAAA;AACvC8R,UAAU,CAAC7Q,WAAW,GAAGnB,gBAAc;;ACxDvC;AACA;AACA;AACO,MAAMiS,aAAa,GAAG;AAC3B3hB,EAAAA,OAAO,EAAE,SAAS;AAClB4hB,EAAAA,aAAa,EAAE,eAAe;AAC9BC,EAAAA,eAAe,EAAE,iBAAiB;AAClCC,EAAAA,IAAI,EAAE,MAAM;AACZC,EAAAA,UAAU,EAAE,YAAY;AACxBC,EAAAA,YAAY,EAAE,cAAc;AAC5B9hB,EAAAA,OAAO,EAAE,SAAS;AAClB+hB,EAAAA,aAAa,EAAE,eAAe;AAC9BC,EAAAA,eAAe,EAAE,iBAAiB;AAClCC,EAAAA,OAAO,EAAE,SAAS;AAClBC,EAAAA,MAAM,EAAE,QAAQ;AAChBhiB,EAAAA,QAAQ,EAAE,UAAU;AACpBiiB,EAAAA,KAAK,EAAE,OAAA;AACT;;ACjBO,MAAMC,YAAY,GAAGpT,MAAM,CAACiF,GAAuB,CAAA;AAC1D;AACA;AACA;AACA,EAAA,EAAI,IAA0C,IAAA;EAAA,IAAzC;IAAE/E,MAAM;IAAEmT,WAAW;AAAE9M,IAAAA,WAAAA;GAAa,GAAA,IAAA,CAAA;EACrC,IAAIA,WAAW,IAAI8M,WAAW,EAAE;AAC9B,IAAA,OAAO/S,GAAI,CAAA;AACjB;AACA,oCAAA,EAAsCJ,MAAO,CAAA;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAO,CAAA,CAAA;GACF,MAAM,IAAImT,WAAW,EAAE;AACtB,IAAA,OAAO/S,GAAI,CAAA;AACjB;AACA;AACA,sCAAA,EAAwCJ,MAAO,CAAA;AAC/C;AACA;AACA;AACA;AACA;AACA,oCAAA,EAAsCA,MAAO,CAAA;AAC7C;AACA,MAAO,CAAA,CAAA;GACF,MAAM,IAAIqG,WAAW,EAAE;AACtB,IAAA,OAAOjG,GAAI,CAAA;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,oCAAA,EAAsCJ,MAAO,CAAA;AAC7C;AACA,MAAO,CAAA,CAAA;AACH,GAAC,MAAM;AACL,IAAA,OAAOI,GAAI,CAAA;AACjB;AACA,oCAAA,EAAsCJ,MAAO,CAAA;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA,MAAO,CAAA,CAAA;AACH,GAAA;AACF,CAAE,CAAA;AACJ,CAAC;;;ACnDD,MAAMM,cAAc,GAAG,eAAe,CAAA;AACtC,MAAMC,SAAS,GAAG,gBAAgB,CAAA;AAClC,MAAMC,aAAmC,GAAG;EAC1CyB,OAAO,EAAEsQ,aAAa,CAAC3hB,OAAAA;AACzB,CAAC,CAAA;AAED,MAAMwiB,UAAU,GAAInR,OAAsB,IAAK;AAC7C,EAAA,QAAQA,OAAO;IACb,KAAKsQ,aAAa,CAACU,KAAK;MACtB,OAAO;QACLjS,KAAK,EAAE/P,mBAAmB,CAACC,OAAO;AAClC+P,QAAAA,IAAI,EAAE,iMAAA;OACP,CAAA;IACH,KAAKsR,aAAa,CAACG,IAAI;MACrB,OAAO;QACL1R,KAAK,EAAEtQ,YAAY,CAACG,KAAK;AACzBoQ,QAAAA,IAAI,EAAE,iCAAA;OACP,CAAA;IACH,KAAKsR,aAAa,CAACI,UAAU;MAC3B,OAAO;QACL3R,KAAK,EAAEtQ,YAAY,CAACG,KAAK;AACzBoQ,QAAAA,IAAI,EAAE,mUAAA;OACP,CAAA;IACH,KAAKsR,aAAa,CAACK,YAAY;MAC7B,OAAO;QACL5R,KAAK,EAAEtQ,YAAY,CAACG,KAAK;AACzBoQ,QAAAA,IAAI,EAAE,2UAAA;OACP,CAAA;IACH,KAAKsR,aAAa,CAACQ,OAAO;MACxB,OAAO;AACL/R,QAAAA,KAAK,EAAEtQ,YAAY,CAAC,SAAS,CAAC;AAC9BuQ,QAAAA,IAAI,EAAE,8QAAA;OACP,CAAA;IACH,KAAKsR,aAAa,CAACS,MAAM;MACvB,OAAO;AACLhS,QAAAA,KAAK,EAAEtQ,YAAY,CAAC,SAAS,CAAC;AAC9BuQ,QAAAA,IAAI,EAAE,oBAAA;OACP,CAAA;IACH,KAAKsR,aAAa,CAACvhB,QAAQ;MACzB,OAAO;QACLgQ,KAAK,EAAEtQ,YAAY,CAACM,QAAQ;AAC5BiQ,QAAAA,IAAI,EAAE,yHAAA;OACP,CAAA;IACH,KAAKsR,aAAa,CAAC3hB,OAAO;MACxB,OAAO;QACLoQ,KAAK,EAAEtQ,YAAY,CAACE,OAAO;AAC3BqQ,QAAAA,IAAI,EAAE,2DAAA;OACP,CAAA;IACH,KAAKsR,aAAa,CAACC,aAAa;MAC9B,OAAO;QACLxR,KAAK,EAAEtQ,YAAY,CAACE,OAAO;AAC3BqQ,QAAAA,IAAI,EAAE,mUAAA;OACP,CAAA;IACH,KAAKsR,aAAa,CAACE,eAAe;MAChC,OAAO;QACLzR,KAAK,EAAEtQ,YAAY,CAACE,OAAO;AAC3BqQ,QAAAA,IAAI,EAAE,2UAAA;OACP,CAAA;IACH,KAAKsR,aAAa,CAACzhB,OAAO;MACxB,OAAO;QACLkQ,KAAK,EAAEtQ,YAAY,CAACI,OAAO;AAC3BmQ,QAAAA,IAAI,EAAE,8JAAA;OACP,CAAA;IACH,KAAKsR,aAAa,CAACM,aAAa;MAC9B,OAAO;QACL7R,KAAK,EAAEtQ,YAAY,CAACI,OAAO;AAC3BmQ,QAAAA,IAAI,EAAE,mUAAA;OACP,CAAA;IACH,KAAKsR,aAAa,CAACO,eAAe;MAChC,OAAO;QACL9R,KAAK,EAAEtQ,YAAY,CAACI,OAAO;AAC3BmQ,QAAAA,IAAI,EAAE,2UAAA;OACP,CAAA;AAAC,GAAA;AAER,CAAC,CAAA;;AAED;AACA;AACA;AACO,MAAMoS,MAAyC,gBAAG1S,UAAU,CACjE,CAACnC,KAAK,EAAEoC,GAAG,KAAK;EACd,MAAM;AACJ,MAAA,aAAa,EAAEC,UAAU;AACzB,MAAA,YAAY,EAAEnC,SAAS;MACvBqC,SAAS;MACTG,QAAQ;MACRoS,UAAU;MACV7M,UAAU;AACVxE,MAAAA,OAAAA;AAEF,KAAC,GAAGzD,KAAK;AADJ2C,IAAAA,cAAc,4BACf3C,KAAK,EAAA,SAAA,CAAA,CAAA;AAET,EAAA,MAAMwC,KAAK,GAAGoS,UAAU,CAACnR,OAAO,CAAE,CAACjB,KAAK,CAAA;AACxC,EAAA,MAAMC,IAAI,GAAGmS,UAAU,CAACnR,OAAO,CAAE,CAAChB,IAAI,CAAA;EAEtC,oBACE,KAAA,CAAA,aAAA,CAAC,YAAY,EAAA,QAAA,CAAA,EAAA,EACPE,cAAc,EAAA;IAClB,aAAazC,EAAAA,SAAS,GAAImC,UAAU,GAAGA,UAAU,GAAGQ,SAAS,GAAI,IAAK;AACtE,IAAA,YAAA,EAAY3C,SAAU;IACtB,SAAS,EAAE4C,UAAU,CAAC+R,MAAM,CAACtS,SAAS,EAAEA,SAAS,CAAE;AACnD,IAAA,GAAG,EAAEH,GAAiC;AACtC,IAAA,MAAM,EAAEI,KAAM;AACd,IAAA,WAAW,EAAEsS,UAAW;AACxB,IAAA,WAAW,EAAE7M,UAAW;AACxB,IAAA,QAAQ,EAAExE,OAAAA;AAAQ,GAAA,CAAA,eAElB,wCACMf,QAAQ,EAAA;IACZ,aAAaxC,EAAAA,SAAS,GAAImC,UAAU,GAAGA,UAAU,GAAGQ,SAAS,GAAI,IAAK;AACtE,IAAA,YAAA,EAAY3C,SAAU;AACtB,IAAA,SAAS,EAAC,OAAO;AACjB,IAAA,mBAAmB,EAAC,eAAe;AACnC,IAAA,IAAI,EAAC,KAAK;AACV,IAAA,KAAK,EAAE;AAAE6C,MAAAA,aAAa,EAAE,UAAA;KAAa;AACrC,IAAA,OAAO,EAAC,WAAW;AACnB,IAAA,KAAK,EAAC,IAAI;AACV,IAAA,MAAM,EAAC,IAAA;GAEP,CAAA,eAAA,KAAA,CAAA,aAAA,CAAA,MAAA,EAAA;AACE,IAAA,CAAC,EACC+R,UAAU,GACN,wEAAwE,GACxE,oEACL;AACD,IAAA,SAAS,EAAC,QAAA;AAAQ,GAAA,CAClB,eACF,KAAA,CAAA,aAAA,CAAA,MAAA,EAAA;AAAM,IAAA,CAAC,EAAErS,IAAK;AAAC,IAAA,SAAS,EAAC,MAAA;AAAM,GAAA,CAAG,CAC9B,CACO,CAAA;AAEnB,CAAC,EACF;AACDoS,MAAM,CAACtS,SAAS,GAAGR,SAAS,CAAA;AAC5B8S,MAAM,CAAC7R,YAAY,GAAGhB,aAAa,CAAA;AACnC6S,MAAM,CAAC5R,WAAW,GAAGnB,cAAc;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../src/types.ts","../src/utils/redsift-design-tokens.ts","../src/utils/warnIfNoAccessibleLabelFound.ts","../src/components/icon-button/types.ts","../src/components/icon/types.ts","../src/components/icon/styles.ts","../src/components/icon/Icon.tsx","../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","/**\n * Do not edit directly\n * Generated on Wed, 14 Dec 2022 17:05:36 GMT\n */\n\nexport const RedsiftColorDefaultPrimary = '#0079e1';\nexport const RedsiftColorDefaultSecondary = '#0063b9';\nexport const RedsiftColorDefaultHover = '#dce8f3';\nexport const RedsiftColorDefaultActive = '#c4dcf1';\nexport const RedsiftColorDefaultActiveHover = '#abcfef';\nexport const RedsiftColorDefaultPrimaryActive = '#004a8a';\nexport const RedsiftColorWebsitePrimary = '#0079e1';\nexport const RedsiftColorWebsiteSecondary = '#0063b9';\nexport const RedsiftColorWebsiteHover = '#dce8f3';\nexport const RedsiftColorWebsiteActive = '#c4dcf1';\nexport const RedsiftColorWebsiteActiveHover = '#abcfef';\nexport const RedsiftColorWebsitePrimaryActive = '#004a8a';\nexport const RedsiftColorOndmarcPrimary = '#02ac61';\nexport const RedsiftColorOndmarcSecondary = '#009252';\nexport const RedsiftColorOndmarcHover = '#dcede6';\nexport const RedsiftColorOndmarcActive = '#c4e6d7';\nexport const RedsiftColorOndmarcActiveHover = '#acdfc8';\nexport const RedsiftColorOndmarcPrimaryActive = '#00512e';\nexport const RedsiftColorOninboxPrimary = '#33b222';\nexport const RedsiftColorOninboxSecondary = '#268519';\nexport const RedsiftColorOninboxHover = '#e1eedf';\nexport const RedsiftColorOninboxActive = '#cee8cb';\nexport const RedsiftColorOninboxActiveHover = '#bae0b5';\nexport const RedsiftColorOninboxPrimaryActive = '#164e0e';\nexport const RedsiftColorOndomainPrimary = '#028062';\nexport const RedsiftColorOndomainSecondary = '#015944';\nexport const RedsiftColorOndomainHover = '#dce9e6';\nexport const RedsiftColorOndomainActive = '#c4ded8';\nexport const RedsiftColorOndomainActiveHover = '#acd1c8';\nexport const RedsiftColorOndomainPrimaryActive = '#003f30';\nexport const RedsiftColorHardenizePrimary = '#0f7ab3';\nexport const RedsiftColorHardenizeSecondary = '#3498db';\nexport const RedsiftColorHardenizeHover = '#dee8ee';\nexport const RedsiftColorHardenizeActive = '#c7dce8';\nexport const RedsiftColorHardenizeActiveHover = '#b0d0e1';\nexport const RedsiftColorHardenizePrimaryActive = '#0a5379';\nexport const RedsiftColorToolsPrimary = '#37bdfb';\nexport const RedsiftColorToolsSecondary = '#02a2ef';\nexport const RedsiftColorToolsHover = '#e2eff5';\nexport const RedsiftColorToolsActive = '#cfeaf6';\nexport const RedsiftColorToolsActiveHover = '#bce4f6';\nexport const RedsiftColorToolsPrimaryActive = '#237ea8';\nexport const RedsiftColorSuccessPrimary = '#02ac61';\nexport const RedsiftColorSuccessSecondary = '#009252';\nexport const RedsiftColorSuccessHover = '#dcede6';\nexport const RedsiftColorSuccessActive = '#c4e6d7';\nexport const RedsiftColorSuccessActiveHover = '#acdfc8';\nexport const RedsiftColorSuccessPrimaryActive = '#00512e';\nexport const RedsiftColorErrorPrimary = '#e11010';\nexport const RedsiftColorErrorSecondary = '#b41010';\nexport const RedsiftColorErrorHover = '#f3dede';\nexport const RedsiftColorErrorActive = '#f1c7c7';\nexport const RedsiftColorErrorActiveHover = '#efb0b0';\nexport const RedsiftColorErrorPrimaryActive = '#770a0a';\nexport const RedsiftColorWarningPrimary = '#e0ab00';\nexport const RedsiftColorWarningSecondary = '#c09300';\nexport const RedsiftColorWarningHover = '#f5efe4';\nexport const RedsiftColorWarningActive = '#f6e9d5';\nexport const RedsiftColorWarningActiveHover = '#f7e3c4';\nexport const RedsiftColorInfoPrimary = '#0079e1';\nexport const RedsiftColorInfoSecondary = '#0063b9';\nexport const RedsiftColorInfoHover = '#dce8f3';\nexport const RedsiftColorInfoActive = '#c4dcf1';\nexport const RedsiftColorInfoActiveHover = '#abcfef';\nexport const RedsiftColorInfoPrimaryActive = '#004a8a';\nexport const RedsiftColorQuestionPrimary = '#666666';\nexport const RedsiftColorQuestionSecondary = '#1c1c1c';\nexport const RedsiftColorQuestionHover = '#e6e6e6';\nexport const RedsiftColorQuestionActive = '#d8d8d8';\nexport const RedsiftColorQuestionActiveHover = '#cacaca';\nexport const RedsiftColorNoDataPrimary = '#bdbdbd';\nexport const RedsiftColorNoDataSecondary = '#666666';\nexport const RedsiftColorNoDataHover = '#efefef';\nexport const RedsiftColorNoDataActive = '#eaeaea';\nexport const RedsiftColorNoDataActiveHover = '#e4e4e4';\nexport const RedsiftColorNeutralBlack = '#1c1c1c';\nexport const RedsiftColorNeutralDarkgrey = '#666666';\nexport const RedsiftColorNeutralMidgrey = '#bdbdbd';\nexport const RedsiftColorNeutralLightgrey = '#ebebeb';\nexport const RedsiftColorNeutralXlightgrey = '#f5f5f5';\nexport const RedsiftColorNeutralWhite = '#ffffff';\nexport const RedsiftAppBarColorBackground = '#0079e1';\nexport const RedsiftAppBarColorText = '#FFFFFF';\nexport const RedsiftAppBarColorExpandIconResting = '#FFFFFF';\nexport const RedsiftAppBarColorExpandIconHover = '#FFFFFF';\nexport const RedsiftAppBarColorExpandIconBackgroundHover = '#0063b9';\nexport const RedsiftDataVizColorPurpleDefault = '#C1AAEA';\nexport const RedsiftDataVizColorPurpleDark = '#A78ADB';\nexport const RedsiftDataVizColorPurpleDarker = '#8D6CC9';\nexport const RedsiftDataVizColorPurpleLight = '#D9CAF5';\nexport const RedsiftDataVizColorPurpleLighter = '#F0E9FC';\nexport const RedsiftDataVizColorBlueDefault = '#B6DAEE';\nexport const RedsiftDataVizColorBlueDark = '#97C5DE';\nexport const RedsiftDataVizColorBlueDarker = '#73ADCC';\nexport const RedsiftDataVizColorBlueLight = '#D8EDF8';\nexport const RedsiftDataVizColorBlueLighter = '#F6FBFE';\nexport const RedsiftDataVizColorGreenDefault = '#B3E3C5';\nexport const RedsiftDataVizColorGreenDark = '#90D2A9';\nexport const RedsiftDataVizColorGreenDarker = '#6DBE8B';\nexport const RedsiftDataVizColorGreenLight = '#D3F0DE';\nexport const RedsiftDataVizColorGreenLighter = '#EDFAF1';\nexport const RedsiftDataVizColorRedDefault = '#EAADAC';\nexport const RedsiftDataVizColorRedDark = '#D18785';\nexport const RedsiftDataVizColorRedDarker = '#BA6361';\nexport const RedsiftDataVizColorRedLight = '#FFD3D2';\nexport const RedsiftDataVizColorRedLighter = '#FFE5E5';\nexport const RedsiftDataVizColorPinkDefault = '#E2A7D7';\nexport const RedsiftDataVizColorPinkDark = '#D185C3';\nexport const RedsiftDataVizColorPinkDarker = '#BD63AC';\nexport const RedsiftDataVizColorPinkLight = '#EFC8E8';\nexport const RedsiftDataVizColorPinkLighter = '#F9E6F6';\nexport const RedsiftDataVizColorCyanDefault = '#AFF5F3';\nexport const RedsiftDataVizColorCyanDark = '#8CEAE6';\nexport const RedsiftDataVizColorCyanDarker = '#6CDCD8';\nexport const RedsiftDataVizColorCyanLight = '#D4FCFA';\nexport const RedsiftDataVizColorCyanLighter = '#E1FFFF';\nexport const RedsiftDataVizColorOrangeDefault = '#F2D39E';\nexport const RedsiftDataVizColorOrangeDark = '#D8B475';\nexport const RedsiftDataVizColorOrangeDarker = '#BD954F';\nexport const RedsiftDataVizColorOrangeLight = '#FFE8C0';\nexport const RedsiftDataVizColorOrangeLighter = '#FFF0D7';\nexport const RedsiftDataVizColorYellowDefault = '#F6EFC7';\nexport const RedsiftDataVizColorYellowDark = '#DED4A0';\nexport const RedsiftDataVizColorYellowDarker = '#C6BB7A';\nexport const RedsiftDataVizColorYellowLight = '#FFFBE1';\nexport const RedsiftDataVizColorYellowLighter = '#FFFDF0';\nexport const RedsiftDataVizColorBrownDefault = '#E6C2A0';\nexport const RedsiftDataVizColorBrownDark = '#CDA279';\nexport const RedsiftDataVizColorBrownDarker = '#B58556';\nexport const RedsiftDataVizColorBrownLight = '#FFE3C9';\nexport const RedsiftDataVizColorBrownLighter = '#FFEEDE';\nexport const RedsiftDataVizColorGreyDefault = '#E5E5E5';\nexport const RedsiftDataVizColorGreyDark = '#BDBDBD';\nexport const RedsiftDataVizColorGreyDarker = '#666666';\nexport const RedsiftDataVizColorGreyLight = '#F5F5F5';\nexport const RedsiftDataVizColorGreyLighter = '#FFFFFF';\nexport const RedsiftSideNavigationColorBackground = '#2D2D34';\nexport const RedsiftSideNavigationColorMenuItemTextResting = '#FFFFFFB3';\nexport const RedsiftSideNavigationColorMenuItemTextDisabled = '#76767A';\nexport const RedsiftSideNavigationColorMenuItemTextHover = '#FFFFFF';\nexport const RedsiftSideNavigationColorMenuItemBackgroundHover = '#4C4C64';\nexport const RedsiftSideNavigationColorMenuItemBackgroundSecondary = '#333340';\nexport const RedsiftSideNavigationColorMenuItemBackgroundActive = '#39394C';\nexport const RedsiftSideNavigationColorMenuItemActive = '#02AC61';\nexport const RedsiftSideNavigationColorScrollbarResting = '#4C4C64';\nexport const RedsiftSideNavigationColorScrollbarHover = '#5d5d73';\nexport const RedsiftTypographyFontFamilyRaleway = \"'Raleway', sans-serif\";\nexport const RedsiftTypographyFontFamilyElectrolize =\n \"'electrolize', sans-serif\";\nexport const RedsiftTypographyFontFamilySourceCodePro =\n \"'Source Code Pro', sans-serif\";\nexport const RedsiftTypographyFontWeightRegular = '400';\nexport const RedsiftTypographyFontWeightMedium = '500';\nexport const RedsiftTypographyFontWeightSemiBold = '600';\nexport const RedsiftTypographyFontWeightBold = '700';\nexport const RedsiftTypographyH1FontFamily = \"'electrolize', sans-serif\";\nexport const RedsiftTypographyH1FontSize = '24px';\nexport const RedsiftTypographyH1FontWeight = '400';\nexport const RedsiftTypographyH1LineHeight = '28px';\nexport const RedsiftTypographyH1TextTransform = 'uppercase';\nexport const RedsiftTypographyH2FontFamily = \"'Raleway', sans-serif\";\nexport const RedsiftTypographyH2FontSize = '24px';\nexport const RedsiftTypographyH2FontWeight = '600';\nexport const RedsiftTypographyH2LineHeight = '28px';\nexport const RedsiftTypographyH3FontFamily = \"'Raleway', sans-serif\";\nexport const RedsiftTypographyH3FontSize = '20px';\nexport const RedsiftTypographyH3FontWeight = '500';\nexport const RedsiftTypographyH3LineHeight = '24px';\nexport const RedsiftTypographyH4FontFamily = \"'Raleway', sans-serif\";\nexport const RedsiftTypographyH4FontSize = '18px';\nexport const RedsiftTypographyH4FontWeight = '500';\nexport const RedsiftTypographyH4LineHeight = '22px';\nexport const RedsiftTypographySubtitleFontFamily = \"'Raleway', sans-serif\";\nexport const RedsiftTypographySubtitleFontSize = '15px';\nexport const RedsiftTypographySubtitleFontWeight = '700';\nexport const RedsiftTypographySubtitleLineHeight = '26px';\nexport const RedsiftTypographyBodyFontFamily = \"'Raleway', sans-serif\";\nexport const RedsiftTypographyBodyFontSize = '15px';\nexport const RedsiftTypographyBodyFontWeight = '400';\nexport const RedsiftTypographyBodyLineHeight = '26px';\nexport const RedsiftTypographyLinkFontFamily = \"'Raleway', sans-serif\";\nexport const RedsiftTypographyLinkFontSize = '15px';\nexport const RedsiftTypographyLinkFontWeight = '400';\nexport const RedsiftTypographyLinkLineHeight = '26px';\nexport const RedsiftTypographyInputTextFontFamily =\n \"'Source Code Pro', sans-serif\";\nexport const RedsiftTypographyInputTextFontSize = '15px';\nexport const RedsiftTypographyInputTextFontWeight = '400';\nexport const RedsiftTypographyInputTextLineHeight = '26px';\nexport const RedsiftTypographyButtonFontFamily = \"'Raleway', sans-serif\";\nexport const RedsiftTypographyButtonFontSize = '15px';\nexport const RedsiftTypographyButtonFontWeight = '500';\nexport const RedsiftTypographyButtonLineHeight = '26px';\nexport const RedsiftTypographyButtonTextTransform = 'uppercase';\nexport const RedsiftTypographyCaptionFontFamily = \"'Raleway', sans-serif\";\nexport const RedsiftTypographyCaptionFontSize = '13px';\nexport const RedsiftTypographyCaptionFontWeight = '400';\nexport const RedsiftTypographyCaptionLineHeight = '23px';\nexport const RedsiftTypographyHelperFontFamily = \"'Raleway', sans-serif\";\nexport const RedsiftTypographyHelperFontSize = '12px';\nexport const RedsiftTypographyHelperFontWeight = '400';\nexport const RedsiftTypographyHelperLineHeight = '16px';\nexport const RedsiftTypographyBadgeFontFamily = \"'Source Code Pro', sans-serif\";\nexport const RedsiftTypographyBadgeFontSize = '12px';\nexport const RedsiftTypographyBadgeFontWeight = '500';\nexport const RedsiftTypographyBadgeLineHeight = '20px';\nexport const RedsiftTypographyChipFontFamily = \"'Source Code Pro', sans-serif\";\nexport const RedsiftTypographyChipFontSize = '13px';\nexport const RedsiftTypographyChipFontWeight = '400';\nexport const RedsiftTypographyChipLineHeight = '18px';\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 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';\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","RedsiftColorDefaultPrimary","RedsiftColorDefaultSecondary","RedsiftColorDefaultHover","RedsiftColorDefaultActive","RedsiftColorDefaultActiveHover","RedsiftColorDefaultPrimaryActive","RedsiftColorWebsitePrimary","RedsiftColorWebsiteSecondary","RedsiftColorWebsiteHover","RedsiftColorWebsiteActive","RedsiftColorWebsiteActiveHover","RedsiftColorWebsitePrimaryActive","RedsiftColorOndmarcPrimary","RedsiftColorOndmarcSecondary","RedsiftColorOndmarcHover","RedsiftColorOndmarcActive","RedsiftColorOndmarcActiveHover","RedsiftColorOndmarcPrimaryActive","RedsiftColorOninboxPrimary","RedsiftColorOninboxSecondary","RedsiftColorOninboxHover","RedsiftColorOninboxActive","RedsiftColorOninboxActiveHover","RedsiftColorOninboxPrimaryActive","RedsiftColorOndomainPrimary","RedsiftColorOndomainSecondary","RedsiftColorOndomainHover","RedsiftColorOndomainActive","RedsiftColorOndomainActiveHover","RedsiftColorOndomainPrimaryActive","RedsiftColorHardenizePrimary","RedsiftColorHardenizeSecondary","RedsiftColorHardenizeHover","RedsiftColorHardenizeActive","RedsiftColorHardenizeActiveHover","RedsiftColorHardenizePrimaryActive","RedsiftColorToolsPrimary","RedsiftColorToolsSecondary","RedsiftColorToolsHover","RedsiftColorToolsActive","RedsiftColorToolsActiveHover","RedsiftColorToolsPrimaryActive","RedsiftColorSuccessPrimary","RedsiftColorSuccessSecondary","RedsiftColorSuccessHover","RedsiftColorSuccessActive","RedsiftColorSuccessActiveHover","RedsiftColorSuccessPrimaryActive","RedsiftColorErrorPrimary","RedsiftColorErrorSecondary","RedsiftColorErrorHover","RedsiftColorErrorActive","RedsiftColorErrorActiveHover","RedsiftColorErrorPrimaryActive","RedsiftColorWarningPrimary","RedsiftColorWarningSecondary","RedsiftColorWarningHover","RedsiftColorWarningActive","RedsiftColorWarningActiveHover","RedsiftColorInfoPrimary","RedsiftColorInfoSecondary","RedsiftColorInfoHover","RedsiftColorInfoActive","RedsiftColorInfoActiveHover","RedsiftColorInfoPrimaryActive","RedsiftColorQuestionPrimary","RedsiftColorQuestionSecondary","RedsiftColorQuestionHover","RedsiftColorQuestionActive","RedsiftColorQuestionActiveHover","RedsiftColorNoDataPrimary","RedsiftColorNoDataSecondary","RedsiftColorNoDataHover","RedsiftColorNoDataActive","RedsiftColorNoDataActiveHover","RedsiftColorNeutralBlack","RedsiftColorNeutralDarkgrey","RedsiftColorNeutralMidgrey","RedsiftColorNeutralLightgrey","RedsiftColorNeutralXlightgrey","RedsiftColorNeutralWhite","RedsiftAppBarColorBackground","RedsiftAppBarColorText","RedsiftAppBarColorExpandIconResting","RedsiftAppBarColorExpandIconHover","RedsiftAppBarColorExpandIconBackgroundHover","RedsiftDataVizColorPurpleDefault","RedsiftDataVizColorPurpleDark","RedsiftDataVizColorPurpleDarker","RedsiftDataVizColorPurpleLight","RedsiftDataVizColorPurpleLighter","RedsiftDataVizColorBlueDefault","RedsiftDataVizColorBlueDark","RedsiftDataVizColorBlueDarker","RedsiftDataVizColorBlueLight","RedsiftDataVizColorBlueLighter","RedsiftDataVizColorGreenDefault","RedsiftDataVizColorGreenDark","RedsiftDataVizColorGreenDarker","RedsiftDataVizColorGreenLight","RedsiftDataVizColorGreenLighter","RedsiftDataVizColorRedDefault","RedsiftDataVizColorRedDark","RedsiftDataVizColorRedDarker","RedsiftDataVizColorRedLight","RedsiftDataVizColorRedLighter","RedsiftDataVizColorPinkDefault","RedsiftDataVizColorPinkDark","RedsiftDataVizColorPinkDarker","RedsiftDataVizColorPinkLight","RedsiftDataVizColorPinkLighter","RedsiftDataVizColorCyanDefault","RedsiftDataVizColorCyanDark","RedsiftDataVizColorCyanDarker","RedsiftDataVizColorCyanLight","RedsiftDataVizColorCyanLighter","RedsiftDataVizColorOrangeDefault","RedsiftDataVizColorOrangeDark","RedsiftDataVizColorOrangeDarker","RedsiftDataVizColorOrangeLight","RedsiftDataVizColorOrangeLighter","RedsiftDataVizColorYellowDefault","RedsiftDataVizColorYellowDark","RedsiftDataVizColorYellowDarker","RedsiftDataVizColorYellowLight","RedsiftDataVizColorYellowLighter","RedsiftDataVizColorBrownDefault","RedsiftDataVizColorBrownDark","RedsiftDataVizColorBrownDarker","RedsiftDataVizColorBrownLight","RedsiftDataVizColorBrownLighter","RedsiftDataVizColorGreyDefault","RedsiftDataVizColorGreyDark","RedsiftDataVizColorGreyDarker","RedsiftDataVizColorGreyLight","RedsiftDataVizColorGreyLighter","RedsiftSideNavigationColorBackground","RedsiftSideNavigationColorMenuItemTextResting","RedsiftSideNavigationColorMenuItemTextDisabled","RedsiftSideNavigationColorMenuItemTextHover","RedsiftSideNavigationColorMenuItemBackgroundHover","RedsiftSideNavigationColorMenuItemBackgroundSecondary","RedsiftSideNavigationColorMenuItemBackgroundActive","RedsiftSideNavigationColorMenuItemActive","RedsiftSideNavigationColorScrollbarResting","RedsiftSideNavigationColorScrollbarHover","RedsiftTypographyFontFamilyRaleway","RedsiftTypographyFontFamilyElectrolize","RedsiftTypographyFontFamilySourceCodePro","RedsiftTypographyFontWeightRegular","RedsiftTypographyFontWeightMedium","RedsiftTypographyFontWeightSemiBold","RedsiftTypographyFontWeightBold","RedsiftTypographyH1FontFamily","RedsiftTypographyH1FontSize","RedsiftTypographyH1FontWeight","RedsiftTypographyH1LineHeight","RedsiftTypographyH1TextTransform","RedsiftTypographyH2FontFamily","RedsiftTypographyH2FontSize","RedsiftTypographyH2FontWeight","RedsiftTypographyH2LineHeight","RedsiftTypographyH3FontFamily","RedsiftTypographyH3FontSize","RedsiftTypographyH3FontWeight","RedsiftTypographyH3LineHeight","RedsiftTypographyH4FontFamily","RedsiftTypographyH4FontSize","RedsiftTypographyH4FontWeight","RedsiftTypographyH4LineHeight","RedsiftTypographySubtitleFontFamily","RedsiftTypographySubtitleFontSize","RedsiftTypographySubtitleFontWeight","RedsiftTypographySubtitleLineHeight","RedsiftTypographyBodyFontFamily","RedsiftTypographyBodyFontSize","RedsiftTypographyBodyFontWeight","RedsiftTypographyBodyLineHeight","RedsiftTypographyLinkFontFamily","RedsiftTypographyLinkFontSize","RedsiftTypographyLinkFontWeight","RedsiftTypographyLinkLineHeight","RedsiftTypographyInputTextFontFamily","RedsiftTypographyInputTextFontSize","RedsiftTypographyInputTextFontWeight","RedsiftTypographyInputTextLineHeight","RedsiftTypographyButtonFontFamily","RedsiftTypographyButtonFontSize","RedsiftTypographyButtonFontWeight","RedsiftTypographyButtonLineHeight","RedsiftTypographyButtonTextTransform","RedsiftTypographyCaptionFontFamily","RedsiftTypographyCaptionFontSize","RedsiftTypographyCaptionFontWeight","RedsiftTypographyCaptionLineHeight","RedsiftTypographyHelperFontFamily","RedsiftTypographyHelperFontSize","RedsiftTypographyHelperFontWeight","RedsiftTypographyHelperLineHeight","RedsiftTypographyBadgeFontFamily","RedsiftTypographyBadgeFontSize","RedsiftTypographyBadgeFontWeight","RedsiftTypographyBadgeLineHeight","RedsiftTypographyChipFontFamily","RedsiftTypographyChipFontSize","RedsiftTypographyChipFontWeight","RedsiftTypographyChipLineHeight","warnIfNoAccessibleLabelFound","props","additionalKeysToCheck","ariaLabel","ariaLabelledby","hasText","filter","key","length","hasAriaLabel","Boolean","console","warn","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","ref","ariaHidden","badge","className","color","icon","svgProps","forwardedProps","_excluded","undefined","classNames","verticalAlign","defaultProps","displayName","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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"}