@ledgerhq/react-ui 0.47.0 → 0.48.0-nightly.20260306030049

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.
Files changed (113) hide show
  1. package/lib/cjs/components/index.js +11 -34
  2. package/lib/cjs/components/index.js.map +1 -1
  3. package/lib/cjs/components/layout/Drawer/Drawer.stories.js +1 -1
  4. package/lib/cjs/components/layout/Drawer/Drawer.stories.js.map +1 -1
  5. package/lib/cjs/components/layout/Drawer/index.js +1 -1
  6. package/lib/cjs/components/layout/Drawer/index.js.map +1 -1
  7. package/lib/cjs/components/layout/Side/Side.stories.js +1 -1
  8. package/lib/cjs/components/layout/Side/Side.stories.js.map +1 -1
  9. package/lib/cjs/components/layout/Side/index.js +1 -1
  10. package/lib/cjs/components/layout/Side/index.js.map +1 -1
  11. package/lib/cjs/components/layout/index.js +1 -1
  12. package/lib/cjs/components/layout/index.js.map +1 -1
  13. package/lib/cjs/components/message/Tooltip/Tooltip.stories.js +10 -33
  14. package/lib/cjs/components/message/Tooltip/Tooltip.stories.js.map +1 -1
  15. package/lib/cjs/components/message/Tooltip/index.js +8 -31
  16. package/lib/cjs/components/message/Tooltip/index.js.map +1 -1
  17. package/lib/cjs/components/message/index.js +10 -33
  18. package/lib/cjs/components/message/index.js.map +1 -1
  19. package/lib/cjs/index.js +11 -34
  20. package/lib/cjs/index.js.map +1 -1
  21. package/lib/components/Table/index.d.ts +6 -6
  22. package/lib/components/Table/index.d.ts.map +1 -1
  23. package/lib/components/asorted/Icon/BoxedIcon.d.ts.map +1 -1
  24. package/lib/components/asorted/Icon/Icon.d.ts.map +1 -1
  25. package/lib/components/cta/Button/index.d.ts +2 -1
  26. package/lib/components/cta/Button/index.d.ts.map +1 -1
  27. package/lib/components/cta/Link/index.d.ts.map +1 -1
  28. package/lib/components/cta/Toggle/index.d.ts.map +1 -1
  29. package/lib/components/form/BaseInput/index.d.ts +7 -7
  30. package/lib/components/form/BaseInput/index.d.ts.map +1 -1
  31. package/lib/components/form/Checkbox/Checkbox.d.ts.map +1 -1
  32. package/lib/components/form/LegendInput/index.d.ts +4 -4
  33. package/lib/components/form/LegendInput/index.d.ts.map +1 -1
  34. package/lib/components/form/NumberInput/index.d.ts +4 -4
  35. package/lib/components/form/NumberInput/index.d.ts.map +1 -1
  36. package/lib/components/form/QrCodeInput/index.d.ts +5 -5
  37. package/lib/components/form/QrCodeInput/index.d.ts.map +1 -1
  38. package/lib/components/form/QuantityInput/index.d.ts +6 -6
  39. package/lib/components/form/QuantityInput/index.d.ts.map +1 -1
  40. package/lib/components/form/Radio/RadioElement.d.ts.map +1 -1
  41. package/lib/components/form/Radio/RadioListElement.d.ts.map +1 -1
  42. package/lib/components/form/Radio/index.d.ts.map +1 -1
  43. package/lib/components/form/SearchInput/index.d.ts +4 -4
  44. package/lib/components/form/SelectInput/index.d.ts.map +1 -1
  45. package/lib/components/form/Switch/Switch.d.ts.map +1 -1
  46. package/lib/components/layout/Carousel/Footer/Pagination/bullets.d.ts.map +1 -1
  47. package/lib/components/layout/Carousel/Footer/Pagination/index.d.ts.map +1 -1
  48. package/lib/components/layout/Carousel/Footer/Pagination/utils.d.ts.map +1 -1
  49. package/lib/components/layout/Carousel/Footer/index.d.ts.map +1 -1
  50. package/lib/components/layout/Carousel/Footer/variantContentCard.d.ts.map +1 -1
  51. package/lib/components/layout/Carousel/Footer/variantDefault.d.ts.map +1 -1
  52. package/lib/components/layout/Carousel/index.d.ts.map +1 -1
  53. package/lib/components/layout/Drawer/index.d.ts.map +1 -1
  54. package/lib/components/layout/Drawer/index.js +1 -1
  55. package/lib/components/layout/Drawer/index.js.map +1 -1
  56. package/lib/components/layout/Flex/index.d.ts +4 -5
  57. package/lib/components/layout/Flex/index.d.ts.map +1 -1
  58. package/lib/components/layout/Popin/index.d.ts +6 -6
  59. package/lib/components/layout/Popin/index.d.ts.map +1 -1
  60. package/lib/components/layout/Side/Provider.d.ts.map +1 -1
  61. package/lib/components/layout/Side/index.d.ts.map +1 -1
  62. package/lib/components/message/Log/Brackets.d.ts.map +1 -1
  63. package/lib/components/message/Notification/index.d.ts.map +1 -1
  64. package/lib/components/message/Tooltip/index.d.ts.map +1 -1
  65. package/lib/components/message/Tooltip/index.js +5 -25
  66. package/lib/components/message/Tooltip/index.js.map +1 -1
  67. package/lib/components/navigation/Aside/index.d.ts +3 -3
  68. package/lib/components/navigation/FlowStepper/index.d.ts.map +1 -1
  69. package/lib/components/navigation/progress/ProgressBar/Onboarding.d.ts.map +1 -1
  70. package/lib/components/navigation/progress/Stepper/index.d.ts.map +1 -1
  71. package/lib/components/navigation/sideBar/Item/Item.d.ts.map +1 -1
  72. package/lib/components/navigation/sideBar/Logo/Logo.d.ts.map +1 -1
  73. package/lib/components/navigation/sideBar/SideBar/SideBar.d.ts.map +1 -1
  74. package/lib/components/navigation/sideBar/Toggle/Toggle.d.ts.map +1 -1
  75. package/lib/components/navigation/sideBar/index.d.ts +0 -1
  76. package/lib/components/navigation/sideBar/index.d.ts.map +1 -1
  77. package/lib/components/styled.d.ts.map +1 -1
  78. package/lib/components/transitions/TransitionInOut.d.ts.map +1 -1
  79. package/lib/components/transitions/TransitionScale.d.ts.map +1 -1
  80. package/lib/components/transitions/TransitionSlide.d.ts.map +1 -1
  81. package/lib/helpers.d.ts +1 -1
  82. package/lib/helpers.d.ts.map +1 -1
  83. package/lib/pre-ldls/components/AccountItem/AccountItem.d.ts.map +1 -1
  84. package/lib/pre-ldls/components/AccountList/AccountList.d.ts.map +1 -1
  85. package/lib/pre-ldls/components/Address/Address.d.ts +4 -4
  86. package/lib/pre-ldls/components/Address/Address.d.ts.map +1 -1
  87. package/lib/pre-ldls/components/Address/formatAddress.d.ts.map +1 -1
  88. package/lib/pre-ldls/components/ApyIndicator/ApyIndicator.d.ts.map +1 -1
  89. package/lib/pre-ldls/components/AssetItem/AssetItem.d.ts.map +1 -1
  90. package/lib/pre-ldls/components/AssetList/AssetList.d.ts +4 -4
  91. package/lib/pre-ldls/components/AssetList/AssetList.d.ts.map +1 -1
  92. package/lib/pre-ldls/components/CardButton/CardButton.d.ts +2 -2
  93. package/lib/pre-ldls/components/CardButton/CardButton.d.ts.map +1 -1
  94. package/lib/pre-ldls/components/Checkbox/Checkbox.d.ts.map +1 -1
  95. package/lib/pre-ldls/components/Input/Input.d.ts.map +1 -1
  96. package/lib/pre-ldls/components/MarketPercentIndicator/MarketPercentIndicator.d.ts.map +1 -1
  97. package/lib/pre-ldls/components/MarketPriceIndicator/MarketPriceIndicator.d.ts.map +1 -1
  98. package/lib/pre-ldls/components/NetworkItem/NetworkItem.d.ts.map +1 -1
  99. package/lib/pre-ldls/components/NetworkList/NetworkList.d.ts.map +1 -1
  100. package/lib/pre-ldls/components/Tag/Tag.d.ts +2 -2
  101. package/lib/pre-ldls/components/Tag/Tag.d.ts.map +1 -1
  102. package/lib/pre-ldls/components/TextInput/TextInput.d.ts +4 -4
  103. package/lib/pre-ldls/components/TextInput/TextInput.d.ts.map +1 -1
  104. package/lib/pre-ldls/components/VirtualList/VirtualList.d.ts.map +1 -1
  105. package/lib/pre-ldls/components/sharedStoryBook.d.ts.map +1 -1
  106. package/lib/pre-ldls/libs/index.d.ts.map +1 -1
  107. package/lib/styles/InvertTheme.d.ts.map +1 -1
  108. package/lib/styles/StyleProvider.d.ts.map +1 -1
  109. package/lib/styles/helpers.d.ts.map +1 -1
  110. package/lib/styles/styled/fontFamily.d.ts +0 -1
  111. package/lib/styles/styled/fontFamily.d.ts.map +1 -1
  112. package/lib/styles/theme.d.ts.map +1 -1
  113. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"components/layout/index.js","sources":["webpack://@ledgerhq/react-ui/./src/components/Tag/index.tsx","webpack://@ledgerhq/react-ui/./src/components/asorted/Divider/index.tsx","webpack://@ledgerhq/react-ui/./src/components/asorted/Icon/NotificationIcon.tsx","webpack://@ledgerhq/react-ui/./src/components/asorted/Text/index.tsx","webpack://@ledgerhq/react-ui/./src/components/asorted/Text/styles.ts","webpack://@ledgerhq/react-ui/./src/components/cta/Button/index.tsx","webpack://@ledgerhq/react-ui/./src/components/layout/Banner/BannerCard/index.tsx","webpack://@ledgerhq/react-ui/./src/components/layout/Banner/NotificationCard/index.tsx","webpack://@ledgerhq/react-ui/./src/components/layout/Box/index.ts","webpack://@ledgerhq/react-ui/./src/components/layout/Carousel/ChevronArrow.tsx","webpack://@ledgerhq/react-ui/./src/components/layout/Carousel/Footer/Pagination/bullets.tsx","webpack://@ledgerhq/react-ui/./src/components/layout/Carousel/Footer/Pagination/index.tsx","webpack://@ledgerhq/react-ui/./src/components/layout/Carousel/Footer/Pagination/types.ts","webpack://@ledgerhq/react-ui/./src/components/layout/Carousel/Footer/Pagination/utils.ts","webpack://@ledgerhq/react-ui/./src/components/layout/Carousel/Footer/index.tsx","webpack://@ledgerhq/react-ui/./src/components/layout/Carousel/Footer/variantContentCard.tsx","webpack://@ledgerhq/react-ui/./src/components/layout/Carousel/Footer/variantDefault.tsx","webpack://@ledgerhq/react-ui/./src/components/layout/Carousel/index.tsx","webpack://@ledgerhq/react-ui/./src/components/layout/ContentCard/PortfolioContentCard/index.tsx","webpack://@ledgerhq/react-ui/./src/components/layout/Drawer/index.tsx","webpack://@ledgerhq/react-ui/./src/components/layout/Flex/index.ts","webpack://@ledgerhq/react-ui/./src/components/layout/Grid/index.ts","webpack://@ledgerhq/react-ui/./src/components/layout/List/NumberedList/index.tsx","webpack://@ledgerhq/react-ui/./src/components/layout/List/VerticalTimeline/TimelineIndicator.tsx","webpack://@ledgerhq/react-ui/./src/components/layout/List/VerticalTimeline/TimelineItem.tsx","webpack://@ledgerhq/react-ui/./src/components/layout/List/VerticalTimeline/index.tsx","webpack://@ledgerhq/react-ui/./src/components/layout/Popin/index.tsx","webpack://@ledgerhq/react-ui/./src/components/layout/Side/Provider.tsx","webpack://@ledgerhq/react-ui/./src/components/layout/Side/index.tsx","webpack://@ledgerhq/react-ui/./src/components/loaders/InfiniteLoader/index.tsx","webpack://@ledgerhq/react-ui/./src/components/message/Tooltip/styles.ts","webpack://@ledgerhq/react-ui/./src/components/styled.ts","webpack://@ledgerhq/react-ui/./src/components/transitions/TransitionInOut.tsx","webpack://@ledgerhq/react-ui/./src/components/transitions/TransitionScale.tsx","webpack://@ledgerhq/react-ui/./src/components/transitions/TransitionSlide.tsx","webpack://@ledgerhq/react-ui/./src/styles/StyleProvider.tsx","webpack://@ledgerhq/react-ui/./src/styles/global.ts","webpack://@ledgerhq/react-ui/./src/styles/helpers.ts","webpack://@ledgerhq/react-ui/./src/styles/styled/fontFamily.ts","webpack://@ledgerhq/react-ui/./src/styles/system/gaps.ts","webpack://@ledgerhq/react-ui/./src/styles/theme.ts","webpack://@ledgerhq/react-ui/webpack/runtime/compat_get_default_export","webpack://@ledgerhq/react-ui/webpack/runtime/define_property_getters","webpack://@ledgerhq/react-ui/webpack/runtime/has_own_property","webpack://@ledgerhq/react-ui/webpack/runtime/make_namespace_object","webpack://@ledgerhq/react-ui/./src/components/layout/index.ts"],"sourcesContent":["import React from \"react\";\nimport { border, BorderProps } from \"styled-system\";\nimport Text, { TextProps } from \"../asorted/Text\";\nimport baseStyled, { BaseStyledProps } from \"../styled\";\n\nexport type Size = \"large\" | \"medium\" | \"small\" | \"tiny\";\nexport type Type = \"plain\" | \"opacity\" | \"outlined\" | \"outlinedOpacity\";\n\nexport type TagProps = BaseStyledProps &\n React.HTMLAttributes<HTMLDivElement> &\n BorderProps &\n React.PropsWithChildren<{\n /**\n * Changes the appearance based on the active state.\n */\n active?: boolean;\n /**\n * Tag style.\n */\n type?: Type;\n /**\n * Size of the tag, affects the padding and the casing (uppercase for small and medium)\n */\n size?: Size;\n /**\n * Props passed to the text component, overriding props set internally by Tag component\n */\n textProps?: TextProps;\n\n disabled?: boolean;\n }>;\n\nfunction getColor({ type, active, disabled }: TagProps) {\n switch (type) {\n case \"plain\":\n if (disabled) return active ? \"neutral.c00\" : \"neutral.c70\";\n return active ? \"neutral.c00\" : \"primary.c90\";\n default:\n return disabled ? \"neutral.c70\" : \"primary.c90\";\n }\n}\n\nfunction getBgColor({ type, active, disabled }: TagProps) {\n switch (type) {\n case \"plain\":\n return active ? (disabled ? \"neutral.c70\" : \"primary.c90\") : undefined;\n case \"opacity\":\n return active ? (disabled ? \"neutral.c30\" : \"primary.c20\") : undefined;\n default:\n return;\n }\n}\n\nfunction getBorderColor({ type, active, disabled }: TagProps) {\n if (!active) return;\n switch (type) {\n case \"outlined\":\n return disabled ? \"neutral.c70\" : \"primary.c90\";\n case \"outlinedOpacity\":\n return disabled ? \"neutral.c40\" : \"primary.c40\";\n }\n}\n\nfunction getPadding({ size }: TagProps) {\n // Padding is 1px less than what's indicated in the design because of the 1px wide border.\n switch (size) {\n case \"tiny\":\n return \"1px 3px\";\n case \"small\":\n return \"2px 4px\";\n case \"medium\":\n return \"5px 7px\";\n case \"large\":\n default:\n return \"8px 9px 9px\";\n }\n}\n\nfunction getTextProps({ size }: TagProps): TextProps {\n switch (size) {\n case \"tiny\":\n case \"small\":\n case \"medium\":\n return {\n variant: \"tiny\",\n fontWeight: \"semiBold\",\n lineHeight: \"normal\",\n };\n case \"large\":\n default:\n return {\n variant: \"extraSmall\",\n fontWeight: \"semiBold\",\n };\n }\n}\n\nconst TagContainer = baseStyled.div.attrs<TagProps, TagProps>(props => ({\n backgroundColor: props.bg || props.backgroundColor || getBgColor(props),\n color: props.color || getColor(props),\n borderColor: getBorderColor(props),\n}))`\n display: inline-flex;\n justify-content: center;\n border: 1px solid transparent;\n border-radius: ${p => `${p.theme.radii[1]}px`};\n padding: ${p => getPadding(p)};\n ${border}\n`;\n\nexport default function Tag({\n children,\n textProps,\n size = \"large\",\n ...props\n}: TagProps): React.JSX.Element {\n const textColor = getColor(props);\n const baseTextProps = getTextProps({ size, ...props });\n return (\n <TagContainer size={size} {...props}>\n <Text {...baseTextProps} color={textColor} {...(textProps ? textProps : {})}>\n {children}\n </Text>\n </TagContainer>\n );\n}\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport Flex, { FlexBoxProps } from \"../../layout/Flex\";\nimport Text from \"../../asorted/Text\";\n\nexport type Props = FlexBoxProps & { text?: string };\nconst DividerBase = styled(Flex).attrs<FlexBoxProps>((p: FlexBoxProps) => ({\n my: p.my || 0,\n height: 1,\n backgroundColor: p.color || \"neutral.c40\",\n}))`\n &[data-variant=\"light\"] {\n background: ${p => p.theme.colors.neutral.c30};\n }\n`;\n\nconst Divider: React.FC<Props> = props => {\n if (!props.text) return <DividerBase {...props} />;\n return (\n <Flex {...props} flexDirection=\"row\" alignItems=\"center\">\n <DividerBase my={6} flex={1} />\n <Text variant=\"bodyLineHeight\" color=\"neutral.c60\" mx={6}>\n {props.text}\n </Text>\n <DividerBase my={6} flex={1} />\n </Flex>\n );\n};\n\nexport default Divider;\n","import React from \"react\";\nimport styled, { css, useTheme } from \"styled-components\";\n\nimport * as Icons from \"@ledgerhq/icons-ui/react\";\nimport { Box } from \"../../layout\";\nimport { type ColorPalette, rgba } from \"../../../styles\";\n\ntype IconKey = keyof typeof Icons;\ntype WrapperType = \"round\" | \"square\";\n\ntype IconPallet = { fg: string; bg: string };\n\nfunction getColorsByIcon(\n colors: ColorPalette,\n): Partial<Record<IconKey, Partial<Record<WrapperType, Partial<IconPallet>>>>> {\n const { warning } = colors;\n\n return {\n Warning: {\n round: { fg: warning.c80, bg: warning.c30 },\n square: { fg: warning.c80, bg: warning.c30 },\n },\n };\n}\n\nfunction getDefaultDefaultColors({ primary }: ColorPalette): Record<WrapperType, IconPallet> {\n return {\n round: { fg: primary.c90, bg: primary.c30 },\n square: { fg: primary.c80, bg: rgba(primary.c80, 0.08) },\n };\n}\n\ntype Props = Readonly<{\n icon: IconKey;\n variant: WrapperType;\n}>;\n\nexport default function NotificationIcon({ icon, variant = \"round\" }: Props) {\n const { colors } = useTheme();\n const defaultColors = getDefaultDefaultColors(colors)[variant];\n const safeIcon: IconKey = icon in Icons ? icon : \"Information\";\n const Icon = Icons[safeIcon];\n const { fg: iconColor = defaultColors.fg, bg: iconBgColor = defaultColors.bg } =\n getColorsByIcon(colors)[safeIcon]?.[variant] ?? {};\n\n return (\n <Wrapper backgroundColor={iconBgColor} variant={variant}>\n <Icon color={iconColor} />\n </Wrapper>\n );\n}\n\nconst Wrapper = styled(Box)<{ variant: WrapperType }>`\n display: inline-flex;\n padding: 8px;\n ${p => (p.variant === \"square\" ? squareWrapper : roundWrapper)}\n`;\n\nconst roundWrapper = css`\n border-radius: 50%;\n`;\n\nconst squareWrapper = css`\n border-radius: 13.5px;\n background-clip: padding-box;\n border-width: 7px;\n border-style: solid;\n border-color: transparent;\n position: relative;\n\n ${p => css`\n &::before,\n &::after {\n content: \"\";\n position: absolute;\n inset: -7px;\n border-radius: 13.5px;\n rotate: ${p.theme.colors.type === \"dark\" ? \"0deg\" : \"180deg\"};\n }\n &::before {\n background: linear-gradient(\n ${p.theme.colors.type === \"dark\" ? \"rgba(255, 255, 255, 0.05)\" : \"rgba(29, 28, 31, 0.05)\"}\n 0%,\n rgba(29, 28, 31, 0) 100%\n );\n }\n &::after {\n content: ${p.theme.colors.type};\n border: solid 0.5px ${p.theme.colors.type === \"dark\" ? \"#fff\" : \"rgba(0, 0, 0, 0.5)\"};\n mask-image: linear-gradient(\n rgba(255, 255, 255, 0.15) 0%,\n rgba(255, 255, 255, 0.01) 60%,\n rgba(255, 255, 255, 0) 100%\n );\n }\n `};\n`;\n","import React from \"react\";\nimport baseStyled, { BaseStyledProps } from \"../../styled\";\nimport {\n compose,\n fontSize,\n fontWeight,\n textAlign,\n lineHeight,\n letterSpacing,\n system,\n} from \"styled-system\";\nimport fontFamily from \"../../../styles/styled/fontFamily\";\nimport { TextVariants } from \"../../../styles/theme\";\nimport { textVariantStyle } from \"./styles\";\n\nconst uppercase = system({\n uppercase: {\n property: \"textTransform\",\n transform: value => (value ? \"uppercase\" : \"none\"),\n },\n});\n\ntype FontFamilies =\n | \"Inter|ExtraLight\"\n | \"Inter|Light\"\n | \"Inter|Regular\"\n | \"Inter|Medium\"\n | \"Inter|SemiBold\"\n | \"Inter|Bold\"\n | \"Inter|ExtraBold\"\n | \"Alpha|Medium\";\n\ntype WhiteSpace = \"normal\" | \"nowrap\" | \"pre\" | \"pre-line\" | \"pre-wrap\";\n\nexport interface TextProps extends BaseStyledProps {\n fontFamily?: string;\n ff?: FontFamilies;\n fontSize?: number | string | TextVariants;\n variant?: TextVariants;\n textAlign?: string;\n fontWeight?: string;\n lineHeight?: string;\n textTransform?: string;\n textOverflow?: string;\n uppercase?: boolean;\n whiteSpace?: WhiteSpace;\n children?: React.ReactNode;\n}\n\nconst Text = baseStyled.span.attrs<TextProps, TextProps>(\n ({ variant = \"body\", fontSize, color }) => ({\n fontSize: fontSize ? fontSize : variant,\n color: color || \"neutral.c100\",\n }),\n)`\n font-weight: 500;\n white-space: ${props => props.whiteSpace ?? \"normal\"};\n ${(p: TextProps) => textVariantStyle[p.variant || \"body\"]}\n ${compose(\n uppercase,\n lineHeight,\n fontFamily,\n fontSize,\n textAlign,\n fontWeight,\n letterSpacing,\n system({\n textOverflow: true,\n }),\n )}\n ${p => (p.textTransform ? `text-transform: ${p.textTransform};` : \"\")}\n`;\n\nexport default Text;\n","import { GlobalStyleProps } from \"../../../styles/global\";\nimport { css } from \"styled-components\";\nimport { TextVariants } from \"../../../styles/theme\";\n\nconst getFontSource = (name: string) => (props: GlobalStyleProps) => {\n const fontsPath = props.fontsPath ?? \"assets/fonts\";\n const fontName = (props.fontMappings && props.fontMappings(name)) || `${name}.woff2`;\n return `url(\"${fontsPath}/${fontName}\") format(\"woff2\")`;\n};\n\nexport const fontStyles = css`\n @font-face {\n font-family: \"Inter\";\n src: ${getFontSource(\"Inter-ExtraLight-BETA\")};\n font-weight: 100;\n font-style: normal;\n }\n\n @font-face {\n font-family: \"Inter\";\n src: ${getFontSource(\"Inter-Light-BETA\")};\n font-weight: 300;\n font-style: normal;\n }\n\n @font-face {\n font-family: \"Inter\";\n src: ${getFontSource(\"Inter-Regular\")};\n font-weight: 400;\n font-style: normal;\n }\n\n @font-face {\n font-family: \"Inter\";\n src: ${getFontSource(\"Inter-Medium\")};\n font-weight: 500;\n font-style: normal;\n }\n\n @font-face {\n font-family: \"Inter\";\n src: ${getFontSource(\"Inter-SemiBold\")};\n font-weight: 600;\n font-style: normal;\n }\n\n @font-face {\n font-family: \"Inter\";\n src: ${getFontSource(\"Inter-ExtraBold\")};\n font-weight: 900;\n font-style: normal;\n }\n\n @font-face {\n font-family: \"Alpha\";\n src: ${getFontSource(\"HMAlphaMono-Medium\")};\n font-weight: 500;\n font-style: normal;\n }\n`;\n\nexport const textVariantStyle: Record<\n TextVariants,\n {\n fontFamily: string;\n lineHeight?: string | number;\n fontWeight?: number;\n \"text-transform\"?: string;\n }\n> = {\n h1: {\n fontFamily: \"Alpha, Inter, Sans\",\n fontWeight: 500,\n \"text-transform\": \"uppercase\",\n },\n h1Inter: {\n fontFamily: \"Inter, Sans\",\n fontWeight: 500,\n \"text-transform\": \"uppercase\",\n },\n h2: {\n fontFamily: \"Alpha, Inter, Sans\",\n fontWeight: 500,\n \"text-transform\": \"uppercase\",\n },\n h2Inter: {\n fontFamily: \"Inter, Sans\",\n fontWeight: 500,\n \"text-transform\": \"uppercase\",\n },\n h3: {\n fontFamily: \"Alpha, Inter, Sans\",\n fontWeight: 500,\n \"text-transform\": \"uppercase\",\n },\n h3Inter: {\n fontFamily: \"Inter, Sans\",\n fontWeight: 500,\n },\n h4: {\n fontFamily: \"Alpha, Inter, Sans\",\n fontWeight: 500,\n \"text-transform\": \"uppercase\",\n },\n h4Inter: {\n fontFamily: \"Inter, Sans\",\n fontWeight: 600,\n },\n h5: {\n fontFamily: \"Alpha, Inter, Sans\",\n fontWeight: 500,\n \"text-transform\": \"uppercase\",\n },\n h5Inter: {\n fontFamily: \"Inter, Sans\",\n fontWeight: 500,\n },\n large: {\n fontFamily: \"Inter, Sans\",\n },\n largeLineHeight: {\n fontFamily: \"Inter, Sans\",\n lineHeight: 1.7,\n },\n body: {\n fontFamily: \"Inter, Sans\",\n },\n bodyLineHeight: {\n fontFamily: \"Inter, Sans\",\n lineHeight: 1.7,\n },\n paragraph: {\n fontFamily: \"Inter, Sans\",\n },\n paragraphLineHeight: {\n fontFamily: \"Inter, Sans\",\n lineHeight: 1.7,\n },\n small: {\n fontFamily: \"Inter, Sans\",\n },\n extraSmall: {\n fontFamily: \"Inter, Sans\",\n },\n tiny: {\n fontFamily: \"Inter, Sans\",\n },\n micro: {\n fontFamily: \"Inter, Sans\",\n },\n subtitle: {\n fontFamily: \"Inter, Sans\",\n fontWeight: 600,\n \"text-transform\": \"uppercase\",\n },\n};\n","import ChevronBottom from \"@ledgerhq/icons-ui/reactLegacy/ChevronBottomMedium\";\nimport React, { useMemo, useState } from \"react\";\nimport styled, { css, StyledProps } from \"styled-components\";\nimport { border, BordersProps, compose, fontSize } from \"styled-system\";\nimport { rgba } from \"../../../styles/helpers\";\nimport fontFamily from \"../../../styles/styled/fontFamily\";\nimport { fontSizes } from \"../../../styles/theme\";\nimport baseStyled, { BaseStyledProps } from \"../../styled\";\n\ntype ButtonVariants = \"main\" | \"shade\" | \"error\" | \"color\" | \"neutral\";\ntype IconPosition = \"right\" | \"left\";\ninterface BaseProps extends BaseStyledProps, BordersProps {\n ff?: string;\n color?: string;\n backgroundColor?: string;\n size?: \"xs\" | \"small\" | \"medium\" | \"large\" | \"xl\";\n fontSize?: number;\n variant?: ButtonVariants;\n outline?: boolean;\n iconPosition?: IconPosition;\n iconButton?: boolean;\n disabled?: boolean;\n whiteSpace?: string;\n}\n\nexport interface ButtonProps extends BaseProps, React.RefAttributes<HTMLButtonElement> {\n Icon?: React.ReactElement | React.ComponentType<{ size: number; color?: string }>;\n children?: React.ReactNode;\n onClick?: (event: React.SyntheticEvent<HTMLButtonElement>) => void;\n iconSize?: number;\n style?: React.CSSProperties;\n}\nconst IconContainer = styled.div<{\n iconPosition: IconPosition;\n}>`\n display: inline-block;\n ${p => `${p.iconPosition === \"left\" ? \"margin-right\" : \"margin-left\"}: ${p.theme.space[4]}px;`}\n padding-top: 0.2em;\n`;\n\nconst getVariantColors = (p: StyledProps<BaseProps>) => ({\n main: {\n outline: `\n border-color: ${p.theme.colors.neutral.c100};\n color: ${p.theme.colors.neutral.c100};\n background-color: transparent;\n &:hover, &:focus {\n background-color: ${rgba(p.theme.colors.neutral.c100, 0.03)};\n }\n &:active {\n background-color: ${rgba(p.theme.colors.neutral.c100, 0.05)};\n }\n `,\n filled: `\n color: ${p.theme.colors.neutral.c00};\n background-color: ${p.theme.colors.neutral.c100};\n &:hover, &:focus {\n background-color: ${p.theme.colors.neutral.c90};\n }\n `,\n },\n shade: `\n border-color: ${p.theme.colors.neutral.c40};\n color: ${p.theme.colors.neutral.c100};\n &:focus {\n border-color: ${p.theme.colors.primary.c80};\n }\n\n &:hover, &:focus {\n background-color: ${p.theme.colors.neutral.c20};\n }\n\n &:active {\n background-color: ${p.theme.colors.neutral.c30};\n }\n `,\n error: {\n outline: `\n border-color: ${p.theme.colors.error.c50};\n color: ${p.theme.colors.error.c50};\n background-color: transparent;\n &:hover {\n background-color: ${rgba(p.theme.colors.error.c50, 0.02)};\n }\n &:active {\n background-color: ${rgba(p.theme.colors.error.c50, 0.05)};\n }\n `,\n filled: `\n color: ${p.theme.colors.neutral.c00};\n background-color: ${p.theme.colors.error.c50};\n &:hover {\n background-color: ${p.theme.colors.error.c40};\n }\n `,\n },\n neutral: `\n color: ${p.theme.colors.neutral.c100};\n background-color: ${p.theme.colors.neutral.c30};\n &:hover {\n background-color: ${p.theme.colors.neutral.c40};\n }\n `,\n color: {\n outline: `\n border-color: ${p.theme.colors.primary.c80};\n color: ${p.theme.colors.primary.c80};\n background-color: transparent;\n &:hover {\n background-color: ${rgba(p.theme.colors.primary.c100, 0.02)};\n }\n &:active {\n background-color: ${rgba(p.theme.colors.primary.c100, 0.05)};\n }\n `,\n filled: `\n color: ${p.theme.colors.neutral.c00};\n background-color: ${p.theme.colors.primary.c80};\n &:hover {\n background-color: ${p.theme.colors.primary.c70};\n }\n `,\n },\n disabled: {\n outline: `\n border-color: ${p.theme.colors.neutral.c50};\n color: ${p.theme.colors.neutral.c50};\n background-color: transparent;\n &:focus, &:hover {\n box-shadow: none;\n }\n `,\n filled: `\n color: ${p.theme.colors.neutral.c50};\n background-color: ${p.theme.colors.neutral.c30};\n &:focus, &:hover {\n box-shadow: none;\n }\n `,\n },\n default: `\n color: ${p.theme.colors.neutral.c100};\n background-color: transparent;\n &:hover {\n text-decoration: underline;\n }\n `,\n});\n\nexport const ButtonUnstyled = baseStyled.button`\n all: unset;\n cursor: pointer;\n\n &:disabled {\n cursor: default;\n }\n`;\n\nexport const Base = baseStyled.button.attrs((p: BaseProps) => ({\n fontFamily: \"Inter\",\n fontSize: p.fontSize ?? 4,\n}))<BaseProps>`\n background-color: transparent;\n border-color: transparent;\n border-radius: 44px;\n border-style: solid;\n border-width: ${p => (p.outline || p.variant === \"shade\" ? 1 : 0)}px;\n font-weight: 600;\n ${compose(fontFamily, fontSize, border)};\n line-height: ${p => p.theme.fontSizes[p.fontSize]}px;\n text-align: center;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n overflow: hidden;\n ${p => buttonSizeStyle[p.size || \"medium\"]}\n text-overflow: ellipsis;\n white-space: ${p => (p.whiteSpace ? p.whiteSpace : \"nowrap\")};\n max-width: 100%;\n position: relative;\n cursor: ${p => (p.disabled ? \"default\" : \"pointer\")};\n &:active {\n box-shadow: 0 0 0 4px ${p => rgba(p.theme.colors.primary.c60, 0.4)};\n }\n &:focus, &:hover {\n box-shadow: 0 0 0 2px ${p => rgba(p.theme.colors.primary.c60, 0.4)};\n }\n\n ${p => {\n const variants = getVariantColors(p);\n if (p.disabled) {\n return p.outline || p.variant === \"shade\"\n ? variants.disabled.outline\n : variants.disabled.filled;\n }\n\n const variant: ButtonVariants | \"default\" =\n p.variant ?? (\"default\" as ButtonVariants | \"default\");\n switch (variant) {\n case \"main\":\n return p.outline ? variants.main.outline : variants.main.filled;\n case \"shade\":\n return variants.shade;\n\n case \"error\":\n return p.outline ? variants.error.outline : variants.error.filled;\n\n case \"color\":\n return p.outline ? variants.color.outline : variants.color.filled;\n\n case \"neutral\":\n return variants.neutral;\n\n case \"default\":\n default:\n return variants.default;\n }\n }}\n ${p =>\n p.iconButton\n ? css`\n width: ${p.theme.space[12]}px;\n padding: 0;\n ${IconContainer} {\n margin: 0;\n }\n `\n : \"\"}\n ${p => p.theme.transition([\"background-color\", \"color\", \"border-color\", \"box-shadow\"], \"0.2s\")}\n`;\n\nconst ContentContainer = styled.div``;\n\nconst Button = (\n { Icon, iconPosition = \"right\", iconSize = 16, children, onClick, ...props }: ButtonProps,\n ref?: React.ForwardedRef<HTMLButtonElement>,\n): React.ReactElement => {\n const iconNodeSize = iconSize || fontSizes[props.fontSize ?? 4];\n const IconNode = useMemo(() => {\n if (!Icon) return null;\n if (typeof Icon === \"object\") return Icon;\n return <Icon size={iconNodeSize} />;\n }, [iconNodeSize, Icon]);\n\n return (\n <Base {...props} ref={ref} iconButton={!(Icon == null) && !children} onClick={onClick}>\n {iconPosition === \"right\" ? <ContentContainer>{children}</ContentContainer> : null}\n {IconNode && <IconContainer iconPosition={iconPosition}>{IconNode}</IconContainer>}\n {iconPosition === \"left\" ? <ContentContainer>{children}</ContentContainer> : null}\n </Base>\n );\n};\nconst ButtonWithRef = React.forwardRef(Button) as unknown as typeof Button;\n\nexport type ButtonExpandProps = React.PropsWithChildren<\n ButtonProps & {\n onToggle?: (arg0: boolean) => void;\n }\n>;\n\nconst StyledButtonExpand = styled(ButtonWithRef).attrs(props => ({\n Icon: props.Icon != null || ChevronBottom,\n iconPosition: props.iconPosition || \"right\",\n}))<{ expanded: boolean }>`\n ${IconContainer} {\n transition: transform 0.25s;\n ${p => (p.expanded ? \"transform: rotate(180deg)\" : \"\")}\n }\n`;\nexport function ButtonExpand(\n { onToggle, onClick, ...props }: ButtonExpandProps,\n ref?: React.ForwardedRef<HTMLButtonElement>,\n): React.ReactElement {\n const [expanded, setExpanded] = useState(false);\n return (\n <StyledButtonExpand\n {...props}\n ref={ref}\n expanded={expanded}\n onClick={(event: React.SyntheticEvent<HTMLButtonElement>) => {\n setExpanded(expanded => !expanded);\n onToggle != null && onToggle(!expanded);\n onClick != null && onClick(event);\n }}\n />\n );\n}\n\nexport const buttonSizeStyle: {\n [index: string]: {\n padding: string;\n height: string;\n };\n} = {\n xs: {\n padding: \"0 12px\",\n height: \"28px\",\n },\n small: {\n padding: \"0 20px\",\n height: \"32px\",\n },\n medium: {\n padding: \"0 24px\",\n height: \"40px\",\n },\n large: {\n padding: \"0 28px\",\n height: \"48px\",\n },\n xl: {\n padding: \"0 28px\",\n height: \"56px\",\n },\n};\n\nButton.Unstyled = ButtonUnstyled;\nButton.Expand = React.forwardRef(ButtonExpand);\nButtonWithRef.Unstyled = Button.Unstyled;\nButtonWithRef.Expand = Button.Expand;\nexport default ButtonWithRef;\n","import React, { type ReactEventHandler, type ReactNode } from \"react\";\nimport styled from \"styled-components\";\n\nimport { StyleProvider } from \"../../../../styles\";\nimport { Icons } from \"../../../../assets\";\nimport Text from \"../../../asorted/Text\";\nimport { Button } from \"../../../cta\";\nimport Tag from \"../../../Tag\";\nimport type { FlexBoxProps } from \"../../Flex\";\nimport { Flex } from \"../..\";\n\ntype Props = FlexBoxProps & {\n title: string;\n cta?: ReactNode;\n description?: ReactNode;\n descriptionWidth?: number;\n tag?: string;\n image?: string;\n\n onClick: ReactEventHandler;\n onClose?: ReactEventHandler;\n};\n\nexport default function BannerCard({\n title,\n cta,\n description,\n descriptionWidth,\n tag,\n image,\n onClick,\n onClose,\n ...boxProps\n}: Props) {\n const handleClose: ReactEventHandler = event => {\n event.stopPropagation();\n onClose?.(event);\n };\n const handleClick: ReactEventHandler = event => {\n event.stopPropagation();\n onClick(event);\n };\n\n return (\n <Wrapper {...boxProps} image={image} tag={tag} onClick={handleClick}>\n {tag && <StyledTag>{tag}</StyledTag>}\n <Title>{title}</Title>\n {description && <Desc maxWidth={descriptionWidth}>{description}</Desc>}\n <Flex columnGap={5}>{cta}</Flex>\n {onClose && (\n <StyleProvider selectedPalette=\"dark\">\n <CloseButton data-testid=\"portfolio-card-close-button\" onClick={handleClose} />\n </StyleProvider>\n )}\n </Wrapper>\n );\n}\n\nconst StyledTag = styled(Tag).attrs({ size: \"medium\", type: \"plain\", active: true })`\n font-size: 11px;\n background-color: ${p => p.theme.colors.primary.c80};\n`;\n\nconst Title = styled(Text).attrs({ variant: \"h4Inter\" })`\n font-family: Inter;\n font-size: 24px;\n font-weight: 600;\n`;\n\nconst Desc = styled(Text).attrs({ variant: \"small\", color: \"neutral.c70\" })`\n font-family: Inter;\n font-size: 13px;\n font-style: normal;\n font-weight: 500;\n padding-bottom: 8px;\n`;\n\nconst Wrapper = styled(Flex)<Pick<Props, \"image\" | \"tag\">>`\n background-color: ${p => p.theme.colors.background.card};\n background-image: ${p => (p.image ? `url(\"${p.image}\")` : \"none\")};\n background-position: right center;\n background-repeat: no-repeat;\n background-size: 50% auto;\n\n cursor: pointer;\n padding: 16px;\n padding-top: ${p => (p.tag ? \"16px\" : \"24px\")};\n padding-right: 50%;\n\n position: relative;\n flex-direction: column;\n justify-content: flex-end;\n align-items: flex-start;\n gap: 4px;\n`;\n\nconst CloseButton = styled(Button).attrs({\n Icon: <Icons.Close size=\"XS\" />,\n iconButton: true,\n outline: true,\n})`\n background-color: ${p => p.theme.colors.neutral.c30};\n position: absolute;\n top: 10px;\n right: 10px;\n width: 24px;\n height: 24px;\n svg {\n width: 12px;\n height: 12px;\n }\n`;\n","import React, { type ReactEventHandler, type ReactNode } from \"react\";\nimport styled from \"styled-components\";\n\nimport * as Icons from \"@ledgerhq/icons-ui/react\";\nimport { NotificationIcon } from \"../../../asorted\";\nimport Text from \"../../../asorted/Text\";\nimport type { Props as GridBoxProps } from \"../../Grid\";\nimport { Grid, Flex } from \"../..\";\n\ntype IconKey = keyof typeof Icons;\n\ntype Props = GridBoxProps & {\n title?: string;\n cta?: ReactNode;\n description?: ReactNode;\n icon: IconKey;\n isHighlighted?: boolean;\n\n onClick: ReactEventHandler;\n};\n\nexport default function NotificationCard({\n title,\n cta,\n icon,\n description,\n isHighlighted,\n onClick,\n ...boxProps\n}: Props) {\n const handleCTAClick: ReactEventHandler = event => {\n event.stopPropagation();\n onClick(event);\n };\n\n return (\n <Wrapper {...boxProps} isHighlighted={isHighlighted} onClick={handleCTAClick}>\n <NotificationIcon icon={icon} variant={isHighlighted ? \"square\" : \"round\"} />\n <Flex flexDirection=\"column\" rowGap={isHighlighted ? \"4px\" : \"8px\"}>\n {title && (\n <Text variant=\"h4Inter\" fontSize={16}>\n {title}\n </Text>\n )}\n {description && (\n <Desc color={isHighlighted ? \"neutral.c100\" : \"neutral.c80\"}>{description}</Desc>\n )}\n {cta}\n </Flex>\n </Wrapper>\n );\n}\n\nconst Desc = styled(Text).attrs({ variant: \"small\" })`\n font-family: Inter;\n font-size: 13px;\n font-style: normal;\n font-weight: 500;\n`;\n\nconst Wrapper = styled(Grid)<Pick<Props, \"isHighlighted\">>`\n background-color: ${({ isHighlighted, theme: { colors } }) => {\n if (!isHighlighted) return \"transparent\";\n return colors.type === \"dark\" ? colors.opacityDefault.c05 : colors.neutral.c00;\n }};\n\n cursor: pointer;\n padding: 12px;\n grid-template-columns: auto 1fr;\n gap: ${p => (p.isHighlighted ? \"12px\" : \"24px\")};\n border-radius: 12px;\n\n align-items: center;\n justify-content: start;\n`;\n","import baseStyled, { BaseStyledProps } from \"../../styled\";\n\nexport type BoxProps = BaseStyledProps;\n\nconst Box = baseStyled.div<BaseStyledProps>``;\n\nexport default Box;\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport { Icons } from \"../../../assets\";\n\ntype Props = ContainerProps & {\n onClick: () => void;\n};\n\nexport function ChevronArrow(props: Props) {\n return (\n <ChevronArrowContainer {...props}>\n <Icons.ChevronLeft />\n </ChevronArrowContainer>\n );\n}\n\ntype ContainerProps = {\n direction: \"left\" | \"right\";\n};\n\nconst ChevronArrowContainer = styled.button<ContainerProps>`\n display: inline-flex;\n justify-content: center;\n align-items: center;\n width: 32px;\n height: 32px;\n\n position: absolute;\n top: 50%;\n left: ${({ direction }) => (direction === \"left\" ? \"0\" : \"auto\")};\n right: ${({ direction }) => (direction === \"left\" ? \"auto\" : \"0\")};\n z-index: 1;\n\n --dir: ${({ direction }) => (direction === \"left\" ? \"1\" : \"-1\")};\n scale: var(--dir) 1;\n translate: calc(-50% * var(--dir)) -50%;\n\n background-color: ${({ theme }) => theme.colors.background.default}; // Fake the transparent clip\n border-radius: 100%;\n border: none;\n outline: none;\n\n ::before {\n content: \"\";\n display: block;\n position: absolute;\n z-index: -1;\n inset: 3px;\n background-color: ${({ theme }) => theme.colors.opacityDefault.c05};\n border-color: ${({ theme }) => theme.colors.opacityDefault.c05};\n border-radius: 100%;\n border-style: solid;\n border-width: 1px;\n }\n svg {\n color: ${({ theme }) => theme.colors.primary.c100};\n }\n ::before,\n svg {\n cursor: pointer;\n }\n\n transition: opacity 0.2s ease-in-out;\n opacity: var(--hover-transition);\n ::before,\n svg {\n transition: translate 0.2s ease-in-out;\n translate: calc(-50% + 50% * var(--hover-transition)) 0;\n }\n`;\n","import React from \"react\";\nimport { animated, useSpring } from \"react-spring\";\nimport { useTheme } from \"styled-components\";\nimport { ItemStatus } from \"./types\";\n\nconst defaultBulletStyle = {\n height: \"6px\",\n borderRadius: \"1000px\",\n marginRight: \"4px\",\n opacity: 1,\n};\n\nconst useBulletStyles = () => {\n const { colors } = useTheme();\n\n const BulletStyle: {\n [key in ItemStatus]: {\n width: string;\n height: string;\n backgroundColor: string;\n borderRadius: string;\n opacity?: number;\n marginRight: string;\n };\n } = {\n [ItemStatus.active]: {\n ...defaultBulletStyle,\n width: \"16px\",\n backgroundColor: colors.opacityDefault.c80,\n },\n [ItemStatus.nearby]: {\n ...defaultBulletStyle,\n width: \"8px\",\n backgroundColor: colors.opacityDefault.c30,\n },\n [ItemStatus.far]: {\n ...defaultBulletStyle,\n width: \"4px\",\n backgroundColor: colors.opacityDefault.c10,\n },\n [ItemStatus.none]: {\n ...defaultBulletStyle,\n width: \"0px\",\n opacity: 0,\n backgroundColor: colors.opacityDefault.c10,\n marginRight: \"0px\",\n },\n };\n\n return BulletStyle;\n};\n\nconst Bullet = ({ type }: { type: ItemStatus }) => {\n const springStyle = useSpring(useBulletStyles()[type]);\n /* react-spring animated.div typings don't include style; spread with assertion for compatibility */\n /* eslint-disable-next-line @typescript-eslint/consistent-type-assertions */\n return <animated.div {...({ style: springStyle } as React.HTMLAttributes<HTMLDivElement>)} />;\n};\n\nexport default Bullet;\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport { SubProps } from \"../../types\";\nimport Bullet from \"./bullets\";\nimport { getItemStatus } from \"./utils\";\n\nconst FooterCarouselBullets = styled.div`\n display: flex;\n align-items: center;\n`;\n\nconst Pagination = ({ children, currentIndex }: SubProps) => {\n return (\n <FooterCarouselBullets>\n {children.map((child, index) => (\n <Bullet key={child.key} type={getItemStatus(index, currentIndex, children.length)} />\n ))}\n </FooterCarouselBullets>\n );\n};\n\nexport default Pagination;\n","export enum ItemStatus {\n \"active\",\n \"nearby\",\n \"far\",\n \"none\",\n}\n","import { ItemStatus } from \"./types\";\n\n/**\n * Returns the status of an indexed item from the carousel index.\n */\nexport const getItemStatus = (itemIndex: number, activeIndex: number, itemCount: number) => {\n const isActive = itemIndex === activeIndex;\n if (isActive) {\n return ItemStatus.active;\n }\n\n const isAdjacent = Math.abs(itemIndex - activeIndex) === 1;\n if (isAdjacent) {\n return ItemStatus.nearby;\n }\n\n const isEdge = itemIndex === 0 || itemIndex === itemCount - 1;\n return isEdge ? ItemStatus.far : ItemStatus.nearby;\n};\n","import React, { FC } from \"react\";\nimport { SubProps, Variant } from \"../types\";\nimport FooterContentCard from \"./variantContentCard\";\nimport FooterDefault from \"./variantDefault\";\n\nconst Footers: { [key in Variant]: FC<SubProps> } = {\n \"content-card\": FooterContentCard,\n default: FooterDefault,\n};\n\nconst Footer = (props: SubProps) => {\n if (props.children.length === 1) return null;\n\n const Component = Footers[props.variant];\n return <Component {...props} />;\n};\n\nexport default Footer;\n","import { ArrowLeft, ArrowRight } from \"@ledgerhq/icons-ui/react\";\nimport React from \"react\";\nimport styled from \"styled-components\";\nimport Pagination from \"./Pagination\";\nimport { SubProps } from \"../types\";\n\nconst FooterContainer = styled.div`\n height: 32px;\n border-top: 1px solid ${p => p.theme.colors.opacityDefault.c10};\n display: flex;\n justify-content: space-between;\n padding: 6px 16px 6px 16px;\n`;\n\nconst FooterArrowsContainer = styled.div`\n display: flex;\n gap: 8px;\n align-items: center;\n`;\n\nconst FooterArrowContainer = styled.div`\n display: flex;\n align-items: center;\n cursor: pointer;\n`;\n\nconst FooterContentCard = ({ children, emblaApi, currentIndex, variant }: SubProps) => {\n return (\n <FooterContainer>\n <Pagination\n variant={variant}\n children={children}\n emblaApi={emblaApi}\n currentIndex={currentIndex}\n />\n\n <FooterArrowsContainer>\n <FooterArrowContainer onClick={() => emblaApi?.scrollPrev()}>\n <ArrowLeft size=\"S\" />\n </FooterArrowContainer>\n <FooterArrowContainer onClick={() => emblaApi?.scrollNext()}>\n <ArrowRight size=\"S\" />\n </FooterArrowContainer>\n </FooterArrowsContainer>\n </FooterContainer>\n );\n};\n\nexport default FooterContentCard;\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport Pagination from \"./Pagination\";\nimport { SubProps } from \"../types\";\n\nconst FooterContainer = styled.div`\n height: 32px;\n display: flex;\n justify-content: center;\n align-items: center;\n`;\n\nconst FooterDefault = (props: SubProps) => {\n return (\n <FooterContainer>\n <Pagination {...props} />\n </FooterContainer>\n );\n};\n\nexport default FooterDefault;\n","import type { EmblaCarouselType, EmblaEventType } from \"embla-carousel\";\nimport Autoplay from \"embla-carousel-autoplay\";\nimport useEmblaCarousel from \"embla-carousel-react\";\nimport debounce from \"lodash/debounce\";\nimport React, { useCallback, useEffect, useMemo, useState } from \"react\";\nimport styled from \"styled-components\";\nimport Footer from \"./Footer\";\nimport { Props } from \"./types\";\nimport { ChevronArrow } from \"./ChevronArrow\";\n\nconst Embla = styled.div`\n overflow: hidden;\n`;\n\nconst EmblaContainer = styled.div`\n display: flex;\n`;\n\nconst EmblaSlide = styled.div`\n display: flex;\n flex: 0 0 100%;\n min-width: 0;\n > * {\n flex-basis: 100%;\n }\n`;\n\nconst CarouselContainer = styled.div<Pick<Props, \"variant\">>`\n position: relative;\n\n --hover-transition: 0;\n &:hover {\n --hover-transition: 1;\n }\n`;\n\n/**\n * This component uses the https://github.com/davidjerleke/embla-carousel library.\n */\nconst Carousel = ({\n children,\n variant = \"default\",\n initialDelay = 0,\n autoPlay = 0,\n onNext,\n onPrev,\n}: Props) => {\n const [currentIndex, setCurrentIndex] = useState(0);\n const [autoplayEnabled, setAutoplayEnabled] = useState<boolean>(false);\n\n const plugins = useMemo(\n () => (autoplayEnabled && autoPlay ? [Autoplay({ delay: autoPlay, ...AutoplayFlags })] : []),\n [autoplayEnabled, autoPlay],\n );\n\n const [emblaRef, emblaApi] = useEmblaCarousel({ loop: true }, plugins);\n\n useEffect(() => {\n if (autoPlay) {\n const timer = setTimeout(() => setAutoplayEnabled(true), initialDelay);\n return () => clearTimeout(timer);\n }\n }, [autoPlay]);\n\n const updateIndex = useCallback(() => {\n if (!emblaApi) return;\n\n const newIndex = emblaApi.selectedScrollSnap();\n setCurrentIndex(newIndex);\n emblaApi.scrollTo(newIndex);\n }, [emblaApi]);\n\n useEffect(() => {\n if (!emblaApi) return;\n\n // Initial call to update carousel index\n updateIndex();\n\n const dragX = watchDragX(emblaApi);\n\n // When the selected scroll snap changes\n const handleAnySelect = debounce((mightBeASwipe: boolean) => {\n updateIndex();\n if (!mightBeASwipe || variant !== \"default\") return; // onNext/onPrev events are not supported for content-card variant ATM\n if (dragX.value > 0) return onPrev?.();\n if (dragX.value < 0) return onNext?.();\n }, 0); // all events are fired on the same tick so no need to wait past the next tick\n\n emblaApi.on(\"select\", handleSelect);\n emblaApi.on(\"autoplay:select\" as EmblaEventType, handleAutoPlaySelect);\n emblaApi.on(\"button:prev\" as EmblaEventType, handlePrevButton);\n emblaApi.on(\"button:next\" as EmblaEventType, handleNextButton);\n\n // When `reInit` is called or when window is resized\n emblaApi.on(\"reInit\", updateIndex);\n\n return () => {\n dragX.clean();\n emblaApi.off(\"select\", handleSelect);\n emblaApi.off(\"autoplay:select\" as EmblaEventType, handleAutoPlaySelect);\n emblaApi.off(\"button:prev\" as EmblaEventType, handlePrevButton);\n emblaApi.off(\"button:next\" as EmblaEventType, handleNextButton);\n emblaApi.off(\"reInit\", updateIndex);\n };\n\n function handleSelect() {\n handleAnySelect(true); // This could be a swipe action. As this runs first the debounce will override the value otherwise\n }\n function handleAutoPlaySelect() {\n handleAnySelect(false);\n }\n function handlePrevButton() {\n emblaApi?.scrollPrev();\n onPrev?.();\n handleAnySelect(false);\n }\n function handleNextButton() {\n emblaApi?.scrollNext();\n onNext?.();\n handleAnySelect(false);\n }\n }, [emblaApi, updateIndex, variant]);\n\n if (!children.length) return null;\n\n const handleGotoPrevSlide = () => emblaApi?.emit(\"button:prev\" as EmblaEventType);\n const handleGotoNextSlide = () => emblaApi?.emit(\"button:next\" as EmblaEventType);\n\n return (\n <div>\n <CarouselContainer variant={variant}>\n {variant === \"default\" && children.length > 1 && (\n <>\n <ChevronArrow\n data-testid=\"carousel-arrow-prev\"\n direction=\"left\"\n onClick={handleGotoPrevSlide}\n />\n <ChevronArrow\n data-testid=\"carousel-arrow-next\"\n direction=\"right\"\n onClick={handleGotoNextSlide}\n />\n </>\n )}\n\n <Embla ref={emblaRef}>\n <EmblaContainer>\n {children.map(child => (\n <EmblaSlide key={child.key}>{child}</EmblaSlide>\n ))}\n </EmblaContainer>\n </Embla>\n </CarouselContainer>\n\n <Footer\n children={children}\n variant={variant}\n emblaApi={emblaApi}\n currentIndex={currentIndex}\n />\n </div>\n );\n};\n\nexport default Carousel;\n\nconst AutoplayFlags = {\n play: true,\n stopOnMouseEnter: true,\n stopOnInteraction: false,\n};\n\nfunction watchDragX(emblaApi: EmblaCarouselType) {\n emblaApi.on(\"pointerDown\", watchMouse);\n\n let start: number | undefined;\n let end: number | undefined;\n\n return {\n get value() {\n return typeof start === \"undefined\" || typeof end === \"undefined\" ? 0 : end - start;\n },\n clean: () => {\n emblaApi.off(\"pointerDown\", watchMouse);\n document.removeEventListener(\"mouseup\", handleMouseUp);\n },\n };\n\n function watchMouse() {\n document.addEventListener(\"mousemove\", handleMouseMove);\n document.addEventListener(\"mouseup\", handleMouseUp);\n }\n function handleMouseMove(event: MouseEvent) {\n document.removeEventListener(\"mousemove\", handleMouseMove);\n start = event.clientX;\n end = undefined;\n }\n function handleMouseUp(event: MouseEvent) {\n document.removeEventListener(\"mouseup\", handleMouseUp);\n end = event.clientX;\n }\n}\n","import React, { type ReactEventHandler } from \"react\";\n\nimport { Button } from \"../../../cta\";\nimport BannerCard from \"../../Banner/BannerCard\";\n\nexport type PortfolioContentCardProps = {\n title: string;\n cta?: string;\n description?: string;\n tag?: string;\n image?: string;\n\n onClick: ReactEventHandler;\n onClose: ReactEventHandler;\n};\n\nexport default function PortfolioContentCard({\n title,\n cta,\n description,\n tag,\n image,\n onClick,\n onClose,\n}: PortfolioContentCardProps) {\n return (\n <BannerCard\n title={title}\n cta={\n cta && (\n <Button variant=\"main\" outline={false}>\n {cta}\n </Button>\n )\n }\n description={description}\n tag={tag}\n image={image}\n onClick={onClick}\n onClose={onClose}\n />\n );\n}\n","import React, { useCallback } from \"react\";\nimport ReactDOM from \"react-dom\";\nimport styled from \"styled-components\";\nimport FlexBox, { FlexBoxProps } from \"../Flex\";\nimport Divider, { Props as DividerProps } from \"../../asorted/Divider\";\nimport Close from \"@ledgerhq/icons-ui/reactLegacy/CloseMedium\";\nimport ArrowLeft from \"@ledgerhq/icons-ui/reactLegacy/ArrowLeftMedium\";\n\nimport TransitionSlide from \"../../transitions/TransitionSlide\";\nimport TransitionInOut from \"../../transitions/TransitionInOut\";\nimport Text from \"../../asorted/Text\";\nimport Button from \"../../cta/Button\";\n\nexport enum Direction {\n Left = \"left\",\n Right = \"right\",\n}\n\nconst Container = styled(FlexBox)`\n width: 100%;\n height: 100%;\n flex-direction: column;\n`;\n\nconst Wrapper = styled(FlexBox)<{\n big?: boolean;\n}>`\n height: 100%;\n width: ${p =>\n p.big ? p.theme.sizes.drawer.side.big.width : p.theme.sizes.drawer.side.small.width}px;\n flex-direction: column;\n align-items: stretch;\n justify-content: space-between;\n z-index: ${p => p.theme.zIndexes[8]};\n`;\n\nconst Overlay = styled.div<{ direction: Direction }>`\n display: flex;\n position: fixed;\n justify-content: ${p => (p.direction === Direction.Left ? \"flex-end\" : \"flex-start\")};\n top: 0;\n left: 0;\n width: 100vw;\n height: 100vh;\n z-index: 999;\n background-color: ${p => p.theme.colors.constant.overlay};\n`;\n\nconst ScrollWrapper = styled(FlexBox)`\n &::-webkit-scrollbar {\n display: none;\n }\n`;\n\nconst ButtonPlaceholder = styled.div`\n min-width: ${p => p.theme.space[12]}px;\n`;\n\nexport interface DrawerProps {\n isOpen: boolean;\n children: React.ReactNode;\n title?: React.ReactNode;\n footer?: React.ReactNode;\n big?: boolean;\n ignoreBackdropClick?: boolean;\n backgroundColor?: string;\n onClose: () => void;\n onBack?: () => void;\n setTransitionsEnabled?: (arg0: boolean) => void;\n hideNavigation?: boolean;\n menuPortalTarget?: Element | null;\n direction?: Direction;\n extraContainerProps?: Partial<FlexBoxProps>;\n extraHeaderProps?: Partial<FlexBoxProps>;\n extraFooterProps?: Partial<FlexBoxProps>;\n extraFooterDividerProps?: Partial<DividerProps>;\n}\n\nconst DrawerContent = React.forwardRef(\n (\n {\n isOpen,\n title,\n children,\n footer,\n big,\n onClose,\n backgroundColor,\n setTransitionsEnabled = () => 0,\n onBack,\n extraContainerProps,\n extraHeaderProps,\n extraFooterProps,\n extraFooterDividerProps,\n ignoreBackdropClick = false,\n hideNavigation = true,\n direction = Direction.Left,\n }: DrawerProps,\n ref?: React.ForwardedRef<HTMLDivElement>,\n ) => {\n const disableChildAnimations = useCallback(\n () => setTransitionsEnabled(false),\n [setTransitionsEnabled],\n );\n const enableChildAnimations = useCallback(\n () => setTransitionsEnabled(true),\n [setTransitionsEnabled],\n );\n\n const handleBackdropClick = useCallback(() => {\n if (!ignoreBackdropClick) {\n onClose();\n }\n }, [onClose, ignoreBackdropClick]);\n\n const stopClickPropagation = useCallback((e: React.MouseEvent) => {\n e.stopPropagation();\n }, []);\n\n return (\n <TransitionInOut\n in={isOpen}\n appear\n mountOnEnter\n unmountOnExit\n onEntering={disableChildAnimations}\n onEntered={enableChildAnimations}\n onExiting={disableChildAnimations}\n >\n <Overlay direction={direction} onClick={handleBackdropClick} ref={ref}>\n <TransitionSlide\n in={isOpen}\n direction={direction}\n fixed\n reverseExit\n appear\n mountOnEnter\n unmountOnExit\n >\n <Wrapper\n big={big}\n onClick={stopClickPropagation}\n backgroundColor={backgroundColor ?? \"background.main\"}\n >\n <Container>\n <FlexBox\n justifyContent=\"space-between\"\n alignItems=\"center\"\n p={12}\n pb={10}\n {...extraHeaderProps}\n >\n {!hideNavigation && (\n <>\n {onBack != null ? (\n <Button variant=\"neutral\" onClick={onBack} Icon={ArrowLeft} />\n ) : (\n <ButtonPlaceholder />\n )}\n </>\n )}\n {(\n <Text variant={\"h3\"} flex={1} textAlign=\"center\">\n {title}\n </Text>\n ) || <div />}\n <FlexBox alignSelf=\"flex-start\">\n <Button variant=\"neutral\" onClick={onClose} Icon={Close} />\n </FlexBox>\n </FlexBox>\n <ScrollWrapper\n flexDirection=\"column\"\n alignItems=\"stretch\"\n overflow=\"scroll\"\n position=\"relative\"\n p={12}\n pt={0}\n flex={1}\n {...extraContainerProps}\n >\n {children}\n </ScrollWrapper>\n {footer && (\n <>\n <Divider {...extraFooterDividerProps} />\n <FlexBox alignItems=\"center\" py={8} px={12} {...extraFooterProps}>\n {footer}\n </FlexBox>\n </>\n )}\n </Container>\n </Wrapper>\n </TransitionSlide>\n </Overlay>\n </TransitionInOut>\n );\n },\n);\n\nconst Drawer = (\n { children, menuPortalTarget, ...sideProps }: DrawerProps,\n ref?: React.ForwardedRef<HTMLDivElement>,\n): React.ReactElement => {\n const $root = React.useMemo(\n () =>\n menuPortalTarget === undefined && typeof document !== \"undefined\"\n ? document.querySelector(\"body\")\n : menuPortalTarget,\n [menuPortalTarget],\n );\n if (!$root) {\n return (\n <DrawerContent ref={ref} {...sideProps}>\n {children}\n </DrawerContent>\n );\n } else {\n return ReactDOM.createPortal(\n <DrawerContent ref={ref} {...sideProps}>\n {children}\n </DrawerContent>,\n $root,\n );\n }\n};\n\nexport default React.forwardRef(Drawer);\n","import baseStyled, { BaseStyledProps } from \"../../styled\";\n\nconst FlexBox = baseStyled.div.attrs<BaseStyledProps, BaseStyledProps>({ display: \"flex\" })``;\nexport type FlexBoxProps = BaseStyledProps & React.HTMLAttributes<HTMLDivElement>;\n\nexport default FlexBox;\n","import { grid, GridProps } from \"styled-system\";\nimport baseStyled, { BaseStyledProps } from \"../../styled\";\n\nexport interface Props extends GridProps, BaseStyledProps {\n columns?: number | string;\n rows?: number | string;\n}\n\nfunction getColumns(props: Props) {\n const { columns } = props;\n return columns === \"none\" ? columns : `repeat(${columns || 12}, minmax(0, 1fr));`;\n}\n\nfunction getRows(props: Props) {\n const { rows } = props;\n return !rows ? \"initial\" : rows === \"none\" ? rows : `repeat(${rows}, minmax(0, 1fr));`;\n}\n\nconst Grid = baseStyled.div<Props>`\n display: grid;\n grid-template-columns: ${getColumns};\n grid-template-rows: ${getRows};\n ${grid};\n`;\nexport default Grid;\n","import React from \"react\";\nimport styled, { useTheme } from \"styled-components\";\nimport Flex from \"../../Flex\";\nimport Text from \"../../../asorted/Text\";\nimport { rgba } from \"../../../../styles/helpers\";\n\nexport type Item = {\n element: React.ReactNode | string;\n};\n\nexport type Props = {\n steps: Item[];\n bgIndexColor?: string;\n indexColor?: string;\n textColor?: string;\n};\n\nexport default function NumberedList({ steps, bgIndexColor, indexColor, textColor }: Props) {\n const { colors } = useTheme();\n const backgroundIndexColor = bgIndexColor ?? colors.primary.c80;\n const indexTextColor = indexColor ?? colors.neutral.c00;\n const mainTextColor = textColor ?? rgba(colors.neutral.c100, 0.7);\n return (\n <Flex flexDirection=\"column\" rowGap={\"14px\"}>\n {steps?.map((step, index) => (\n <Flex key={index} flexDirection=\"row\" alignItems=\"center\">\n {NumberItem(index + 1, backgroundIndexColor, indexTextColor)}\n\n {typeof step.element === \"string\" ? (\n <Text\n key={index}\n fontSize={14}\n variant=\"body\"\n color={mainTextColor}\n ml=\"12px\"\n fontWeight=\"500\"\n flex={1}\n >\n {step.element}\n </Text>\n ) : (\n step.element\n )}\n </Flex>\n ))}\n </Flex>\n );\n}\n\nconst NumberItem = (index: number, bgColor: string, color: string) => {\n return (\n <StyledNumberItem bgColor={bgColor}>\n <Text color={color} fontWeight=\"900\" fontSize={\"11px\"}>\n {index}\n </Text>\n </StyledNumberItem>\n );\n};\n\nconst StyledNumberItem = styled(Flex)<{ bgColor: string }>`\n border-radius: 50%;\n background-color: ${p => p.bgColor};\n align-items: center;\n justify-content: center;\n height: 16px;\n width: 16px;\n`;\n","import React from \"react\";\nimport CircledCheckSolidMedium from \"@ledgerhq/icons-ui/reactLegacy/CircledCheckSolidMedium\";\nimport styled, { useTheme } from \"styled-components\";\n\nimport Flex, { FlexBoxProps as FlexProps } from \"../../Flex\";\nimport { ItemStatus } from \"./index\";\nimport { Theme } from \"../../../../styles/theme\";\n\nconst linesWidth = 2;\n\nconst BottomSegment = styled(Flex)<{ status: ItemStatus; hidden?: boolean }>`\n flex: 1;\n border-left-width: ${p => (p.hidden ? 0 : linesWidth)}px;\n border-right-width: 0;\n border-style: dashed;\n border-color: ${p =>\n p.status === \"completed\" ? p.theme.colors.primary.c80 : p.theme.colors.neutral.c40};\n background: ${p => p.status === \"completed\" && p.theme.colors.primary.c80};\n`;\n\nconst getIconBackground = (theme: Theme, status: ItemStatus, isLastItem?: boolean) => {\n if (isLastItem) {\n if (status === \"inactive\") return theme.colors.success.c10;\n return \"transparent\";\n } else if (status === \"active\") {\n return theme.colors.neutral.c40;\n } else {\n return \"transparent\";\n }\n};\n\nconst getIconBorder = (theme: Theme, status: ItemStatus, isLastItem?: boolean) => {\n if (isLastItem) {\n return theme.colors.success.c70;\n } else if (status === \"inactive\") {\n return theme.colors.neutral.c40;\n }\n return theme.colors.primary.c80;\n};\n\nconst CenterCircle = styled(Flex)<{\n status: ItemStatus;\n isLastItem?: boolean;\n isNeutral?: boolean;\n}>`\n border-radius: 9999px;\n width: 100%;\n background: ${p => getIconBackground(p.theme, p.status, p.isLastItem && !p.isNeutral)};\n border: 2px solid ${p => getIconBorder(p.theme, p.status, p.isLastItem && !p.isNeutral)};\n align-items: center;\n justify-content: center;\n position: relative;\n`;\n\nconst IconWrapper = styled(Flex)`\n height: 16px;\n width: 16px;\n`;\n\nexport type Props = FlexProps & {\n status: \"inactive\" | \"active\" | \"completed\";\n isFirstItem?: boolean;\n isLastItem?: boolean;\n isNeutral?: boolean;\n};\n\nconst topSegmentDefaultHeight = 23;\n\nconst Container = styled(Flex)`\n flex-direction: column;\n align-items: center;\n margin-bottom: ${-topSegmentDefaultHeight}px;\n padding-top: ${topSegmentDefaultHeight}px;\n`;\n\nfunction TimelineIndicator({ status, isLastItem, isNeutral, ...props }: Props) {\n const { colors } = useTheme();\n\n return (\n <Container {...props}>\n <IconWrapper>\n <CenterCircle status={status} isLastItem={isLastItem} isNeutral={isNeutral}>\n {status === \"completed\" && (\n <Flex position=\"absolute\">\n <CircledCheckSolidMedium\n color={isLastItem && !isNeutral ? colors.success.c70 : colors.primary.c80}\n size={20}\n />\n </Flex>\n )}\n </CenterCircle>\n </IconWrapper>\n {isLastItem ? null : <BottomSegment status={status} />}\n </Container>\n );\n}\n\nexport default React.memo(TimelineIndicator);\n\nTimelineIndicator.topSegmentDefaultHeight = topSegmentDefaultHeight;\n","import React from \"react\";\n\nimport { Theme } from \"../../../../styles/theme\";\nimport styled, { useTheme } from \"styled-components\";\n\nimport { Item, ItemStatus } from \".\";\nimport { Flex, Box } from \"../..\";\nimport { Text } from \"../../..\";\nimport Tag from \"../../../Tag\";\nimport InfiniteLoader from \"../../../loaders/InfiniteLoader\";\n\nimport TimelineIndicator from \"./TimelineIndicator\";\n\nexport type Props = {\n item: Item;\n isFirstItem?: boolean;\n isLastItem?: boolean;\n onClick?: () => void;\n activeBackground?: string;\n isNeutral?: boolean;\n};\n\nconst getContainerBackground = (theme: Theme, status: ItemStatus, activeBackground?: string) => {\n if (status === \"completed\") {\n return \"transparent\";\n } else if (status === \"active\") {\n return activeBackground || theme.colors.neutral.c20;\n }\n return \"transparent\";\n};\n\nconst getContainerBorder = (theme: Theme, status: ItemStatus, isLastItem?: boolean) => {\n if (status === \"completed\") {\n return \"transparent\";\n } else if (isLastItem && status === \"active\") {\n return theme.colors.success.c50;\n } else if (status === \"active\") {\n return theme.colors.neutral.c40;\n }\n return \"transparent\";\n};\n\nconst Container = styled(Flex)<{\n status: ItemStatus;\n isLastItem?: boolean;\n activeBackground?: string;\n}>`\n position: relative;\n flex: 1;\n border-radius: ${p => p.theme.radii[2]}px;\n background: ${p => getContainerBackground(p.theme, p.status, p.activeBackground)};\n border: 1px solid ${p => getContainerBorder(p.theme, p.status, p.isLastItem)};\n`;\n\nconst TextContainer = styled(Flex)`\n flex: 1;\n padding: 20px 16px;\n`;\n\nconst TimelineIndicatorContentHeader = styled(Flex)`\n justify-content: space-between;\n align-items: center;\n`;\n\nfunction TimelineItem({ item, isFirstItem, isLastItem, onClick, isNeutral }: Props) {\n const { colors } = useTheme();\n\n return (\n <Flex flexDirection=\"row\" onClick={onClick} flex={1}>\n <TimelineIndicator\n status={item.status}\n isFirstItem={isFirstItem}\n isLastItem={isLastItem}\n mr={4}\n isNeutral={isNeutral}\n />\n <Container\n status={item.status}\n isLastItem={isLastItem && !isNeutral}\n overflow=\"hidden\"\n activeBackground={item.activeBackground}\n >\n {item.status === \"active\" ? item.background : null}\n\n <TextContainer mb={4} flexDirection=\"column\" zIndex={1}>\n <TimelineIndicatorContentHeader height=\"20px\">\n <Text\n variant=\"body\"\n fontWeight={item.status === \"active\" ? \"semiBold\" : \"medium\"}\n color={\n item.status !== \"inactive\" && isLastItem && !isNeutral\n ? \"success.c70\"\n : item.status === \"active\"\n ? \"primary.c80\"\n : \"neutral.c70\"\n }\n >\n {item.title}\n </Text>\n {(item?.estimatedTime && item.status === \"active\" && (\n <Tag\n size=\"small\"\n type=\"opacity\"\n active\n disabled\n textProps={{ color: colors.neutral.c100 }}\n >{`${item.estimatedTime / 60} min`}</Tag>\n )) ||\n (item?.hasLoader && item.status === \"active\" && <InfiniteLoader size={30} />)}\n </TimelineIndicatorContentHeader>\n {item.renderBody && item.status === \"active\" && (\n <Box position=\"relative\" pt={6}>\n {item.renderBody(item.status === \"active\")}\n </Box>\n )}\n </TextContainer>\n </Container>\n </Flex>\n );\n}\n\nexport default React.memo(TimelineItem);\n","import React, { ReactNode } from \"react\";\n\nimport TimelineItem from \"./TimelineItem\";\nimport { Flex } from \"../..\";\nimport Text, { TextProps } from \"../../../asorted/Text\";\nimport { BaseStyledProps } from \"../../../styled\";\n\nexport type ItemStatus = \"inactive\" | \"active\" | \"completed\";\n\nexport type Item = {\n status: ItemStatus;\n title: string;\n renderBody?: (isDisplayed?: boolean) => ReactNode;\n estimatedTime?: number;\n hasLoader?: boolean;\n background?: ReactNode;\n activeBackground?: string;\n};\n\nexport type Props = BaseStyledProps & {\n steps?: Item[];\n onClickIndex?: (index: number) => void;\n isNeutral?: boolean;\n};\n\ntype TextComponentProps = React.PropsWithChildren<TextProps>;\n\nexport interface VerticalTimelineType extends React.FC<Props> {\n BodyText: React.FC<TextComponentProps>;\n SubtitleText: React.FC<TextComponentProps>;\n}\n\nconst VerticalTimelineImpl: VerticalTimelineType = function VerticalTimeline({\n steps,\n onClickIndex,\n isNeutral,\n ...props\n}: Props) {\n return (\n <Flex {...props} flexDirection=\"column\" flex={1}>\n {steps?.map((step, index) => (\n <TimelineItem\n key={index}\n item={step}\n isFirstItem={index === 0}\n isLastItem={index === steps.length - 1}\n onClick={onClickIndex ? () => onClickIndex(index) : undefined}\n isNeutral={isNeutral}\n />\n ))}\n </Flex>\n );\n};\n\nconst SubtitleText: React.FC<TextComponentProps> = props => (\n <Text variant=\"body\" fontWeight=\"semiBold\" color=\"neutral.c100\" mb={3} {...props} />\n);\n\nconst BodyText: React.FC<TextComponentProps> = props => (\n <Text variant=\"bodyLineHeight\" fontWeight=\"medium\" color=\"neutral.c80\" {...props} />\n);\n\nVerticalTimelineImpl.BodyText = BodyText;\nVerticalTimelineImpl.SubtitleText = SubtitleText;\n\nexport default VerticalTimelineImpl;\n","import React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport styled from \"styled-components\";\nimport CloseIcon from \"@ledgerhq/icons-ui/reactLegacy/CloseMedium\";\nimport ArrowLeftIcon from \"@ledgerhq/icons-ui/reactLegacy/ArrowLeftMedium\";\n\nimport baseStyled, { BaseStyledProps } from \"../../styled\";\nimport Flex from \"../../layout/Flex\";\nimport type { FlexBoxProps } from \"../../layout/Flex\";\nimport Button from \"../../cta/Button\";\nimport TransitionInOut from \"../../transitions/TransitionInOut\";\nimport TransitionScale from \"../../transitions/TransitionScale\";\n\nexport interface PopinProps extends FlexBoxProps {\n isOpen: boolean;\n children: React.ReactNode;\n menuPortalTarget?: Element | null;\n}\n\nexport type PopinHeaderProps = BaseStyledProps & {\n onClose?: () => void;\n onBack?: () => void;\n children: React.ReactNode;\n};\n\nconst ICON_SIZE = 20;\n\nconst Wrapper = styled(Flex).attrs<FlexBoxProps>(p => ({\n flexDirection: \"column\",\n alignItems: \"stretch\",\n justifyContent: \"space-between\",\n height: p.height || `${p.theme.sizes.drawer.popin.max.height}px`,\n width: p.width || `${p.theme.sizes.drawer.popin.max.width}px`,\n minHeight: `${p.theme.sizes.drawer.popin.min.height}px`,\n minWidth: `${p.theme.sizes.drawer.popin.min.width}px`,\n maxHeight: `${p.theme.sizes.drawer.popin.max.height}px`,\n maxWidth: `${p.theme.sizes.drawer.popin.max.width}px`,\n zIndex: p.theme.zIndexes[8],\n p: p.p !== undefined ? p.p : p.theme.space[10],\n rowGap: 6,\n backgroundColor: \"background.main\",\n}))``;\n\nconst Overlay = styled(Flex).attrs(p => ({\n justifyContent: \"center\",\n alignItems: \"center\",\n width: \"100vw\",\n height: \"100vh\",\n zIndex: p.theme.zIndexes[8],\n position: \"fixed\",\n top: 0,\n left: 0,\n backgroundColor: \"constant.overlay\",\n}))``;\n\nconst Header = baseStyled.section`\n display: grid;\n grid-template-columns: [icon] ${ICON_SIZE}px [title] 1fr [icon] ${ICON_SIZE}px;\n column-gap: 12px;\n`;\n\nconst HeaderTitleContainer = styled(Flex).attrs(() => ({\n justifyContent: \"center\",\n}))``;\n\nconst PopinBody = baseStyled(Flex).attrs({\n as: \"section\",\n flexDirection: \"column\",\n flex: 1,\n overflow: \"auto\",\n})``;\n\nconst PopinFooter = baseStyled(Flex).attrs({ as: \"section\" })``;\n\nconst IconContainer = styled(Button.Unstyled)`\n display: flex;\n align-items: center;\n`;\n\nconst PopinHeader = ({ children, onClose, onBack, ...props }: PopinHeaderProps) => (\n <Header {...props}>\n <Flex>\n {onBack ? (\n <IconContainer onClick={onBack}>\n <ArrowLeftIcon size={ICON_SIZE} color=\"neutral.c100\" />\n </IconContainer>\n ) : null}\n </Flex>\n <HeaderTitleContainer>{children}</HeaderTitleContainer>\n <Flex>\n {onClose ? (\n <IconContainer onClick={onClose}>\n <CloseIcon size={ICON_SIZE} color=\"neutral.c100\" />\n </IconContainer>\n ) : null}\n </Flex>\n </Header>\n);\n\nconst Popin = ({ isOpen, children, width, height, ...props }: PopinProps) => (\n <TransitionInOut in={isOpen} appear mountOnEnter unmountOnExit>\n <Overlay>\n <TransitionScale in={isOpen} appear>\n <Wrapper width={width} height={height} {...props}>\n {children}\n </Wrapper>\n </TransitionScale>\n </Overlay>\n </TransitionInOut>\n);\n\nconst PopinWrapper = ({\n children,\n menuPortalTarget,\n ...popinProps\n}: PopinProps): React.ReactElement => {\n const $root = React.useMemo(\n () =>\n menuPortalTarget === undefined && typeof document !== \"undefined\"\n ? document.querySelector(\"body\")\n : menuPortalTarget,\n [menuPortalTarget],\n );\n if (!$root) {\n return <Popin {...popinProps}>{children}</Popin>;\n } else {\n return ReactDOM.createPortal(<Popin {...popinProps}>{children}</Popin>, $root);\n }\n};\n\nPopinWrapper.Header = PopinHeader;\nPopinWrapper.Body = PopinBody;\nPopinWrapper.Footer = PopinFooter;\n\nexport default PopinWrapper;\n","import React, { useReducer, useEffect, useCallback, useContext } from \"react\";\nimport type { SideProps } from \".\";\n\ninterface State<P extends SideProps = SideProps> {\n Component: React.ComponentType<P> | null | undefined;\n props?: P;\n open: boolean;\n}\n// actions\n// it makes them available and current from connector events handlers\nexport let setSide: <P extends SideProps = SideProps>(\n Component?: State<P>[\"Component\"],\n props?: State<P>[\"props\"],\n) => void = () => {};\n\n// reducer\nconst reducer = <P extends SideProps = SideProps>(state: State<P>, update: State<P>) => {\n return { ...state, ...update };\n};\n\nconst initialState: State = {\n Component: null,\n open: false,\n};\n\ninterface ContextValue<P extends SideProps = SideProps> {\n state: State<P>;\n setSide: (Component?: React.ComponentType<P>, props?: P) => void;\n}\n\nexport const context = React.createContext<ContextValue>({\n state: initialState,\n setSide: () => {},\n});\n\nexport const useSide = (): ContextValue => {\n return useContext(context);\n};\n\nconst SideProvider = ({ children }: { children: React.ReactNode }): React.JSX.Element => {\n const [state, dispatch] = useReducer(reducer, initialState);\n\n const _setSide = useCallback((Component: any, props: any) => {\n dispatch({\n Component,\n props,\n open: !!Component,\n });\n }, []);\n\n useEffect(() => {\n setSide = _setSide;\n }, [_setSide]);\n\n return (\n <context.Provider\n value={{\n state,\n setSide: _setSide,\n }}\n >\n {children}\n </context.Provider>\n );\n};\n\nexport default SideProvider;\n","import React, { useRef, useCallback, useEffect, useState } from \"react\";\nimport { TransitionGroup } from \"react-transition-group\";\nimport Drawer from \"../Drawer\";\nimport TransitionSlide from \"../../transitions/TransitionSlide\";\nimport { useSide } from \"./Provider\";\n\nexport interface SideProps {\n onBack?: () => void;\n}\n\nexport const SideWrapper = (props: SideProps): React.JSX.Element => {\n // Nb Note that it's not a real queue and we need to handle where we go from each _slide_\n const { state, setSide } = useSide();\n const [queue, setQueue] = useState<\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Array<{ Component: React.ComponentType | null | undefined; props?: any; key: number }>\n >([]);\n const [direction, setDirection] = useState(\"left\");\n const [transitionsEnabled, setTransitionsEnabled] = useState(false);\n const nonce = useRef(0);\n const onClose = useCallback(() => setSide(), [setSide]);\n\n useEffect(() => {\n setQueue(q => {\n if (!state.open || !state.Component) return [];\n return q.concat([{ ...state, key: nonce.current++ }]);\n });\n }, [state]);\n\n useEffect(() => {\n let timeout: number;\n\n if (queue.length > 1) {\n const [, ...rest] = queue;\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore mismatch between nodejs and dom types\n timeout = setTimeout(() => {\n setQueue(rest);\n setDirection(\"left\");\n }, 0);\n }\n\n return () => {\n if (timeout) clearTimeout(timeout);\n };\n }, [queue]);\n\n const wrappedOnBack = useCallback(() => {\n setDirection(\"right\");\n const onBack = state?.props?.onBack;\n onBack && onBack();\n }, [state?.props]);\n\n return (\n <Drawer\n {...props}\n isOpen={!!state.open}\n onClose={onClose}\n onBack={state?.props?.onBack ? wrappedOnBack : undefined}\n setTransitionsEnabled={setTransitionsEnabled}\n hideNavigation={false}\n >\n <TransitionGroup enter={transitionsEnabled} exit={transitionsEnabled} component={null}>\n {queue.map(({ Component, props, key }) => (\n <TransitionSlide key={key} direction={direction}>\n {Component && <Component {...props} />}\n </TransitionSlide>\n ))}\n </TransitionGroup>\n </Drawer>\n );\n};\n\nexport default SideWrapper;\n","import React from \"react\";\nimport styled, { keyframes } from \"styled-components\";\nimport { system, size, SizeProps } from \"styled-system\";\n\nconst rotate = keyframes`\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n`;\n\nconst Loader = styled.svg<SizeProps>`\n animation: ${rotate} 1s linear infinite;\n ${size}\n ${system({\n stroke: {\n property: \"stroke\",\n scale: \"colors\",\n },\n })}\n`;\nexport type Props = React.ComponentProps<typeof Loader> & {\n color?: string;\n};\n\nexport default function InfiniteLoader({\n size = 38,\n color = \"primary.c50\",\n ...extraProps\n}: Props): React.JSX.Element {\n return (\n <Loader\n size={size}\n stroke={color}\n viewBox=\"0 0 38 38\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...extraProps}\n >\n <linearGradient\n id=\"gradient-start\"\n gradientUnits=\"userSpaceOnUse\"\n gradientTransform=\"rotate(-20)\"\n >\n <stop offset=\"0\" stopColor=\"white\" stopOpacity=\"0.5\" />\n <stop offset=\"1\" stopColor=\"white\" stopOpacity=\"1\" />\n </linearGradient>\n <linearGradient\n id=\"gradient-end\"\n gradientUnits=\"userSpaceOnUse\"\n gradientTransform=\"rotate(-20)\"\n >\n <stop offset=\"0\" stopColor=\"white\" stopOpacity=\"0.5\" />\n <stop offset=\"1\" stopColor=\"white\" stopOpacity=\"0\" />\n </linearGradient>\n\n <mask id=\"gradient-mask\" maskUnits=\"userSpaceOnUse\">\n <rect\n x=\"-0\"\n y=\"-4\"\n width=\"44\"\n height=\"22\"\n strokeWidth=\"0\"\n fill=\"url(#gradient-start)\"\n transform=\"rotate(10)\"\n />\n <rect\n x=\"0\"\n y=\"18\"\n width=\"44\"\n height=\"21\"\n strokeWidth=\"0\"\n fill=\"url(#gradient-end)\"\n transform=\"rotate(10)\"\n />\n </mask>\n <path\n d=\"M34.8807 20.9499C35.3608 17.0398 34.3815 13.09 32.1304 9.85712C29.8793 6.6242 26.5146 4.33541 22.6808 3.42914C18.847 2.52287 14.8136 3.06283 11.3532 4.94559C7.89277 6.82836 5.24858 9.92158 3.92708 13.6328C2.60558 17.344 2.69968 21.4123 4.19135 25.0584C5.68302 28.7045 8.4674 31.6722 12.0112 33.3929C15.5549 35.1137 19.609 35.4666 23.3968 34.384C27.1846 33.3015 30.4398 30.8596 32.5391 27.526\"\n strokeWidth=\"6\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n mask=\"url(#gradient-mask)\"\n />\n </Loader>\n );\n}\n","import { DefaultTheme, css } from \"styled-components\";\n\ntype Props = { theme: DefaultTheme };\n\nexport default css`\n .tippy-box[data-animation=\"fade\"][data-state=\"hidden\"] {\n opacity: 0;\n }\n\n [data-tippy-root] {\n max-width: calc(100vw - 10px);\n }\n\n .tippy-box {\n position: relative;\n background-color: ${(p: Props) => p.theme.colors.neutral.c100};\n color: ${(p: Props) => p.theme.colors.neutral.c00};\n border-radius: 4px;\n font-size: 14px;\n line-height: 1.4;\n outline: 0;\n transition-property: transform, visibility, opacity;\n }\n\n .tippy-arrow {\n width: 16px;\n height: 16px;\n color: ${(p: Props) => p.theme.colors.neutral.c100};\n }\n\n .tippy-arrow:before {\n content: \"\";\n position: absolute;\n border-color: transparent;\n border-style: solid;\n }\n\n .tippy-box[data-placement^=\"top\"] > .tippy-arrow {\n bottom: 0;\n }\n\n .tippy-box[data-placement^=\"top\"] > .tippy-arrow:before {\n bottom: -4px;\n left: 0;\n border-width: 10px 10px 0;\n border-top-color: initial;\n transform-origin: center top;\n }\n\n .tippy-box[data-placement^=\"bottom\"] > .tippy-arrow {\n top: 0;\n }\n\n .tippy-box[data-placement^=\"bottom\"] > .tippy-arrow:before {\n top: -4px;\n left: 0;\n border-width: 0 10px 10px;\n border-bottom-color: initial;\n transform-origin: center bottom;\n }\n\n .tippy-box[data-placement^=\"left\"] > .tippy-arrow {\n right: 0;\n }\n\n .tippy-box[data-placement^=\"left\"] > .tippy-arrow:before {\n border-width: 10px 0 10px 10px;\n border-left-color: initial;\n right: -4px;\n transform-origin: center left;\n }\n\n .tippy-box[data-placement^=\"right\"] > .tippy-arrow {\n left: 0;\n }\n\n .tippy-box[data-placement^=\"right\"] > .tippy-arrow:before {\n left: -4px;\n border-width: 10px 10px 10px 0;\n border-right-color: initial;\n transform-origin: center right;\n }\n\n .tippy-box[data-inertia][data-state=\"visible\"] {\n transition-timing-function: cubic-bezier(0.54, 1.5, 0.38, 1.11);\n }\n\n .tippy-content {\n position: relative;\n padding: 8px 10px;\n z-index: 1;\n }\n`;\n","import React from \"react\";\nimport gaps from \"../styles/system/gaps\";\nimport styled, { StyledInterface, InterpolationFunction } from \"styled-components\";\nimport {\n compose,\n flexbox,\n FlexboxProps,\n space,\n SpaceProps,\n position,\n PositionProps,\n color,\n ColorProps,\n layout,\n LayoutProps,\n overflow,\n OverflowProps,\n border,\n BorderProps,\n} from \"styled-system\";\n\nexport type BaseStyledProps = SpaceProps &\n FlexboxProps &\n PositionProps &\n ColorProps &\n LayoutProps &\n BorderProps &\n OverflowProps & {\n /**\n * The columnGap CSS property sets the size of the gap (gutter) between an element's grid columns.\n */\n columnGap?: string | number;\n /**\n * The rowGap CSS property sets the size of the gap (gutter) between an element's grid rows.\n */\n rowGap?: string | number;\n color?: string;\n children?: React.ReactNode;\n };\n\nexport const baseStyles: InterpolationFunction<unknown> = compose(\n flexbox,\n space,\n position,\n color,\n layout,\n overflow,\n gaps,\n border,\n);\n\nconst proxyStyled = new Proxy(styled, {\n apply(target: typeof styled, thisArg, argumentsList: Parameters<typeof styled>) {\n return styled(target.apply(thisArg, argumentsList)(baseStyles));\n },\n get(target, property: keyof typeof styled) {\n if (typeof target[property] === \"function\") {\n return styled(target[property].apply(styled, [baseStyles]));\n }\n return target[property];\n },\n});\n\nexport default <StyledInterface>proxyStyled;\n","import React, { useRef } from \"react\";\nimport { CSSTransition } from \"react-transition-group\";\nimport { CSSTransitionProps } from \"react-transition-group/CSSTransition\";\nimport styled from \"styled-components\";\nconst duration = 150;\nconst ChildrenWrapper = styled.div<{ timeout: number }>`\n transition: ${props => `opacity ${props.timeout}ms ease-in-out`};\n\n &.transition-inout-enter {\n opacity: 0;\n }\n\n &.transition-inout-enter-active {\n opacity: 1;\n }\n\n &.transition-inout-exit {\n opacity: 1;\n }\n\n &.transition-inout-exit-active {\n opacity: 0;\n }\n`;\ntype TransitionInOutProps = Partial<\n CSSTransitionProps<HTMLDivElement> & {\n children: React.ReactNode;\n in: boolean;\n timeout?: number;\n appear?: boolean;\n mountOnEnter?: boolean;\n unmountOnExit?: boolean;\n }\n>;\n\nconst TransitionInOut = ({\n children,\n in: inProp,\n timeout = duration,\n ...TransitionProps\n}: TransitionInOutProps): React.JSX.Element => {\n const nodeRef = useRef<HTMLDivElement>(null);\n return (\n <CSSTransition\n {...TransitionProps}\n nodeRef={nodeRef}\n in={inProp}\n timeout={timeout}\n classNames=\"transition-inout\"\n >\n <ChildrenWrapper ref={nodeRef} timeout={timeout}>\n {children}\n </ChildrenWrapper>\n </CSSTransition>\n );\n};\n\nexport default TransitionInOut;\n","import React, { useRef } from \"react\";\nimport { CSSTransition } from \"react-transition-group\";\nimport { CSSTransitionProps } from \"react-transition-group/CSSTransition\";\nimport styled from \"styled-components\";\nconst duration = 150;\nconst ChildrenWrapper = styled.div`\n transition: transform ${duration}ms;\n\n &.transition-scale-appear {\n transform: scale(0.9);\n }\n\n &.transition-scale-appear-active {\n transform: scale(1);\n }\n\n &.transition-scale-exit {\n transform: scale(1);\n }\n\n &.transition-scale-exit-active {\n transform: scale(0.9);\n }\n`;\ntype TransitionScaleProps = Partial<\n CSSTransitionProps<HTMLDivElement> & {\n children: React.ReactNode;\n in: boolean;\n timeout?: number;\n appear?: boolean;\n mountOnEnter?: boolean;\n unmountOnExit?: boolean;\n }\n>;\n\nconst TransitionScale = ({\n children,\n in: inProp,\n timeout = duration,\n ...TransitionProps\n}: TransitionScaleProps) => {\n const nodeRef = useRef<HTMLDivElement>(null);\n return (\n <CSSTransition\n {...TransitionProps}\n nodeRef={nodeRef}\n in={inProp}\n timeout={timeout}\n classNames=\"transition-scale\"\n >\n <ChildrenWrapper ref={nodeRef}>{children}</ChildrenWrapper>\n </CSSTransition>\n );\n};\n\nexport default TransitionScale;\n","import React, { useRef } from \"react\";\nimport { CSSTransition } from \"react-transition-group\";\nimport { CSSTransitionProps } from \"react-transition-group/CSSTransition\";\nimport styled from \"styled-components\";\nconst duration = 300;\nconst ChildrenWrapper = styled.div<{ fixed?: boolean; reverseExit?: boolean }>`\n transition: all ${duration}ms ease-in-out;\n will-change: transform;\n ${p =>\n !p.fixed\n ? `\n position: absolute;\n width: 100%;\n `\n : \"\"}\n height: 100%;\n\n &.transition-left-appear,\n &.transition-left-enter {\n transform: translateX(100%);\n }\n\n &.transition-left-appear-active,\n &.transition-left-enter-active {\n transform: translateX(0%);\n }\n\n &.transition-left-exit {\n transform: translateX(0%);\n }\n\n &.transition-left-exit-active {\n transform: translateX(${p => (p.reverseExit ? 100 : -100)}%);\n }\n\n &.transition-right-appear,\n &.transition-right-enter {\n transform: translateX(-100%);\n }\n\n &.transition-right-appear-active,\n &.transition-right-enter-active {\n transform: translateX(0%);\n }\n\n &.transition-right-exit {\n transform: translateX(0%);\n }\n\n &.transition-right-exit-active {\n transform: translateX(${p => (p.reverseExit ? -100 : 100)}%);\n }\n`;\ntype TransitionSlideProps = Partial<\n CSSTransitionProps<HTMLDivElement> & {\n children: React.ReactNode;\n fixed: boolean;\n reverseExit?: boolean;\n direction?: \"left\" | \"right\" | string;\n }\n>;\n\nconst TransitionSlide = ({\n children,\n fixed,\n direction = \"left\",\n reverseExit,\n ...props\n}: TransitionSlideProps) => {\n const nodeRef = useRef<HTMLDivElement>(null);\n return (\n <CSSTransition\n {...props}\n nodeRef={nodeRef}\n timeout={duration}\n classNames={`transition-${direction}`}\n >\n <ChildrenWrapper ref={nodeRef} fixed={fixed} reverseExit={reverseExit}>\n {children}\n </ChildrenWrapper>\n </CSSTransition>\n );\n};\n\nexport default TransitionSlide;\n","import React, { useMemo } from \"react\";\nimport { ThemeProvider } from \"styled-components\";\nimport { defaultTheme, GlobalStyle, GlobalStyleProps } from \".\";\nimport { ThemeNames, palettes } from \"@ledgerhq/ui-shared\";\nimport { Theme } from \"./theme\";\nimport \"./override\";\n\ninterface Props extends GlobalStyleProps {\n children: React.ReactNode;\n selectedPalette?: ThemeNames;\n}\n\nexport const StyleProvider = ({\n children,\n fontsPath,\n fontMappings,\n selectedPalette = \"light\",\n}: Props): React.ReactElement => {\n const theme: Theme = useMemo(\n () => ({\n ...defaultTheme,\n colors: {\n ...defaultTheme.colors,\n ...palettes[selectedPalette],\n palette: palettes[selectedPalette],\n },\n theme: selectedPalette,\n }),\n [selectedPalette],\n );\n return (\n <ThemeProvider theme={theme}>\n <GlobalStyle fontsPath={fontsPath} fontMappings={fontMappings} />\n {children}\n </ThemeProvider>\n );\n};\n","import { createGlobalStyle } from \"styled-components\";\n\nimport { rgba } from \"./helpers\";\nimport tippyStyles from \"../components/message/Tooltip/styles\";\nimport { fontStyles } from \"../components/asorted/Text/styles\";\n\nexport type GlobalStyleProps = {\n fontsPath?: string;\n fontMappings?: (name: string) => string;\n};\n\nexport const GlobalStyle = createGlobalStyle<GlobalStyleProps>`\n html {\n box-sizing: border-box;\n }\n\n body {\n font-family: Inter, sans-serif;\n font-size: 100%;\n }\n\n * {\n margin: 0;\n padding: 0;\n font: inherit;\n color: inherit;\n user-select: inherit;\n cursor: inherit;\n }\n\n ::selection {\n background: ${p => rgba(p.theme.colors.primary.c100, 0.1)};\n }\n\n --track-color: rgba(0,0,0,0);\n\n ${props => (typeof props.fontsPath === \"string\" ? fontStyles : \"\")}\n\n ${tippyStyles}\n\n ::-webkit-scrollbar {\n width: 12px;\n height: 12px;\n background-color: rgba(0,0,0,0);\n }\n ::-webkit-scrollbar-button {\n opacity: 0;\n height: 0;\n width: 0;\n }\n ::-webkit-scrollbar-track {\n background-color: rgba(0,0,0,0);\n }\n ::-webkit-scrollbar-thumb {\n box-shadow: inset 0 0 0 12px var(--track-color);\n border: 2px solid rgba(0,0,0,0);\n border-radius: 12px;\n }\n ::-webkit-scrollbar-corner {\n opacity: 0;\n }\n`;\n","import Color from \"color\";\n\nimport { fontFamilies } from \"./theme\";\n\nexport const rgba = (c: string, a: number): string => Color(c).alpha(a).rgb().toString();\n\nexport const darken = (c: string, a: number): string => Color(c).darken(a).toString();\n\nexport const lighten = (c: string, a: number): string => Color(c).lighten(a).toString();\n\nexport const mix = (c: string, b: string, a: number): string =>\n Color(c).mix(Color(b), a).toString();\n\nexport const ff = (v: string) => {\n const [font, type = \"Regular\"] = v.split(\"|\");\n // @ts-expect-error FIXME\n const { style, weight } = fontFamilies[font][type];\n // @ts-expect-error FIXME\n const fallback: string = fontFamilies[font].fallback ?? \"Arial\";\n\n return {\n fontFamily: `${font}, ${fallback}`,\n fontWeight: weight,\n fontStyle: style,\n };\n};\n\nexport const ensureContrast = (color1: string, color2: string) => {\n const colorL1 = Color(color1).luminosity() + 0.05;\n const colorL2 = Color(color2).luminosity() + 0.05;\n\n const lRatio = colorL1 > colorL2 ? colorL1 / colorL2 : colorL2 / colorL1;\n\n if (lRatio < 1.5) {\n return Color(color1).rotate(180).negate().string();\n }\n return color1;\n};\n","import { ff } from \"../helpers\";\n\nexport default (props: { ff?: string }) => {\n const prop = props.ff;\n\n if (prop == null) {\n return null;\n }\n\n return ff(prop);\n};\n","import { system } from \"styled-system\";\n\nconst gaps = system({\n rowGap: { property: \"rowGap\", scale: \"space\" },\n columnGap: { property: \"columnGap\", scale: \"space\" },\n});\n\nexport default gaps;\n","import { keyframes, css, Font } from \"styled-components\";\nimport { palettes, ColorPalette } from \"@ledgerhq/ui-shared\";\n\nexport type screensBreakpoints = \"sm\" | \"md\" | \"lg\" | \"xl\" | \"xxl\";\n\nexport const breakpoints = {\n sm: \"640px\",\n md: \"768px\",\n lg: \"1024px\",\n xl: \"1280px\",\n xxl: \"1536px\",\n} as Record<screensBreakpoints, string>;\n\nexport const space = [\n /* space indexes:\n 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21 */\n 0, 2, 4, 8, 10, 12, 16, 20, 24, 28, 32, 36, 40, 44, 48, 52, 56, 60, 64, 68, 72, 76,\n];\n\nexport type TextVariants =\n | \"h1\"\n | \"h1Inter\"\n | \"h2\"\n | \"h2Inter\"\n | \"h3\"\n | \"h3Inter\"\n | \"h4\"\n | \"h4Inter\"\n | \"h5\"\n | \"h5Inter\"\n | \"large\"\n | \"largeLineHeight\"\n | \"body\"\n | \"bodyLineHeight\"\n | \"paragraph\"\n | \"paragraphLineHeight\"\n | \"small\"\n | \"extraSmall\"\n | \"tiny\"\n | \"micro\"\n | \"subtitle\";\n\nexport type ThemeScale<Type, Aliases extends string> = Array<Type> & Record<Aliases, Type>;\n\nexport const fontSizes = [8, 10, 11, 12, 13, 14, 16, 20, 24, 28, 32, 36] as ThemeScale<\n number,\n TextVariants\n>;\n\n[\n fontSizes.micro,\n fontSizes.tiny,\n fontSizes.extraSmall,\n fontSizes.small,\n fontSizes.paragraph,\n fontSizes.body,\n fontSizes.large,\n fontSizes.h5,\n fontSizes.h4,\n fontSizes.h3,\n fontSizes.h2,\n fontSizes.h1,\n] = fontSizes;\nfontSizes.largeLineHeight = fontSizes.large;\nfontSizes.bodyLineHeight = fontSizes.body;\nfontSizes.paragraphLineHeight = fontSizes.paragraph;\nfontSizes.subtitle = fontSizes.extraSmall;\nfontSizes.h1Inter = fontSizes.h1;\nfontSizes.h2Inter = fontSizes.h2;\nfontSizes.h3Inter = fontSizes.h3;\nfontSizes.h4Inter = fontSizes.h4;\nfontSizes.h5Inter = fontSizes.h5;\n\nconst fontWeights = {\n extraLight: \"100\",\n light: \"300\",\n regular: \"400\",\n medium: \"500\",\n semiBold: \"600\",\n bold: \"700\",\n extraBold: \"800\",\n};\n\nexport const radii = [0, 4, 8, 12, 16, 20];\nexport const shadows = [\"0 4px 8px 0 rgba(0, 0, 0, 0.03)\"];\nexport const zIndexes = [-1, 0, 1, 9, 10, 90, 100, 900, 1000];\n\n// Those fonts are now defined in global.css, this is just a mapping for styled-system\nexport const fontFamilies = {\n Inter: {\n ExtraLight: {\n weight: 100,\n style: \"normal\",\n },\n Light: {\n weight: 300,\n style: \"normal\",\n },\n Regular: {\n weight: 400,\n style: \"normal\",\n },\n Medium: {\n weight: 500,\n style: \"normal\",\n },\n SemiBold: {\n weight: 600,\n style: \"normal\",\n },\n Bold: {\n weight: 700,\n style: \"normal\",\n },\n ExtraBold: {\n weight: 800,\n style: \"normal\",\n },\n },\n Alpha: {\n Medium: {\n weight: 500,\n style: \"normal\",\n },\n },\n};\n\nconst animationDuration = \"0.33s\";\nconst easings = {\n outQuadratic: \"cubic-bezier(0.25, 0.46, 0.45, 0.94)\",\n};\n\nconst transition = (\n properties = [\"all\"],\n duration = animationDuration,\n easing = easings.outQuadratic,\n) => css`\n transition-property: ${properties.join(\",\")};\n transition-duration: ${duration};\n transition-timing-function: ${easing};\n`;\n\nconst fadeIn = keyframes`\n 0% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n `;\nconst fadeOut = keyframes`\n 0% {\n opacity: 1;\n }\n 100% {\n opacity: 0;\n }\n `;\nconst fadeInGrowX = keyframes`\n 0% {\n opacity: 0;\n transform: scaleX(0);\n }\n 100% {\n opacity: 1;\n transform: scaleX(1);\n }\n`;\nconst fadeInUp = keyframes`\n 0% {\n opacity: 0;\n transform: translateY(66%);\n }\n 100% {\n opacity: 1;\n transform: translateY(0%);\n }\n `;\nconst animations = {\n fadeIn: () => css`\n ${fadeIn} ${animationDuration} ${easings.outQuadratic} forwards\n `,\n fadeOut: () => css`\n ${fadeOut} ${animationDuration} ${easings.outQuadratic} forwards\n `,\n fadeInGrowX: () => css`\n ${fadeInGrowX} 0.6s ${easings.outQuadratic} forwards\n `,\n fadeInUp: () => css`\n ${fadeInUp} ${animationDuration} ${easings.outQuadratic} forwards\n `,\n};\nconst overflow = {\n x: css`\n overflow-y: hidden;\n overflow-x: scroll;\n will-change: transform;\n &:hover {\n --track-color: ${p => p.theme.colors.neutral.c30};\n }\n `,\n y: css`\n overflow-x: hidden;\n overflow-y: scroll;\n will-change: transform;\n &:hover {\n --track-color: ${p => p.theme.colors.neutral.c30};\n }\n `,\n yAuto: css`\n overflow-x: hidden;\n overflow-y: auto;\n will-change: transform;\n &:hover {\n --track-color: ${p => p.theme.colors.neutral.c30};\n }\n `,\n xy: css`\n overflow: scroll;\n will-change: transform;\n &:hover {\n --track-color: ${p => p.theme.colors.neutral.c30};\n }\n `,\n trackSize: 12,\n};\n\ninterface DefaultTheme {\n theme: \"dark\" | \"light\";\n animations: typeof animations;\n transition: typeof transition;\n overflow: typeof overflow;\n sizes: {\n topBarHeight: number;\n sideBarWidth: number;\n drawer: {\n side: {\n big: {\n width: number;\n };\n small: {\n width: number;\n };\n };\n popin: {\n min: {\n height: number;\n width: number;\n };\n max: {\n height: number;\n width: number;\n };\n };\n };\n };\n radii: number[];\n fontFamilies: Record<string, Record<string, Font>>;\n fontSizes: number[];\n space: number[];\n shadows: string[];\n colors: ColorPalette;\n fontWeights: Record<string, string>;\n breakpoints: Record<screensBreakpoints, string>;\n zIndexes: number[];\n}\n\nconst theme: DefaultTheme = {\n theme: \"light\",\n sizes: {\n drawer: {\n side: {\n big: {\n width: 580,\n },\n small: {\n width: 420,\n },\n },\n popin: {\n min: {\n height: 158,\n width: 462,\n },\n max: {\n height: 522,\n width: 622,\n },\n },\n },\n topBarHeight: 58,\n sideBarWidth: 230,\n },\n radii,\n fontFamilies,\n fontSizes,\n fontWeights,\n space,\n shadows,\n colors: palettes.light,\n animations,\n overflow,\n transition,\n zIndexes,\n breakpoints,\n};\n\nexport default theme;\nexport type Theme = DefaultTheme;\n","// getDefaultExport function for compatibility with non-ESM modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};\n","__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n }\n }\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","export { default as Flex } from \"./Flex\";\nexport { default as Box } from \"./Box\";\nexport { default as Grid } from \"./Grid\";\nexport { default as Popin } from \"./Popin\";\nexport { default as Side } from \"./Side\";\nexport { default as Drawer } from \"./Drawer\";\nexport { default as Carousel } from \"./Carousel\";\nexport { default as VerticalTimeline } from \"./List/VerticalTimeline\";\nexport { default as NumberedList } from \"./List/NumberedList\";\nexport { default as PortfolioContentCard } from \"./ContentCard/PortfolioContentCard\";\nexport { default as BannerCard } from \"./Banner/BannerCard\";\nexport { default as NotificationCard } from \"./Banner/NotificationCard\";\n"],"names":["React","border","Text","baseStyled","getColor","type","active","disabled","getBgColor","undefined","getBorderColor","getPadding","size","getTextProps","TagContainer","props","p","Tag","children","textProps","textColor","baseTextProps","styled","Flex","DividerBase","Divider","css","useTheme","Icons","Box","rgba","getColorsByIcon","colors","warning","getDefaultDefaultColors","primary","NotificationIcon","icon","variant","defaultColors","safeIcon","Icon","iconColor","iconBgColor","Wrapper","squareWrapper","roundWrapper","compose","fontSize","fontWeight","textAlign","lineHeight","letterSpacing","system","fontFamily","textVariantStyle","uppercase","value","color","getFontSource","name","fontsPath","fontName","fontStyles","ChevronBottom","useMemo","useState","fontSizes","IconContainer","getVariantColors","ButtonUnstyled","Base","buttonSizeStyle","variants","ContentContainer","Button","iconPosition","iconSize","onClick","ref","iconNodeSize","IconNode","ButtonWithRef","StyledButtonExpand","ButtonExpand","onToggle","expanded","setExpanded","event","StyleProvider","BannerCard","title","cta","description","descriptionWidth","tag","image","onClose","boxProps","handleClose","handleClick","StyledTag","Title","Desc","CloseButton","Grid","NotificationCard","isHighlighted","handleCTAClick","ChevronArrow","ChevronArrowContainer","direction","theme","animated","useSpring","ItemStatus","defaultBulletStyle","useBulletStyles","BulletStyle","Bullet","springStyle","getItemStatus","FooterCarouselBullets","Pagination","currentIndex","child","index","itemIndex","activeIndex","itemCount","isActive","isAdjacent","Math","isEdge","FooterContentCard","FooterDefault","Footers","Footer","Component","ArrowLeft","ArrowRight","FooterContainer","FooterArrowsContainer","FooterArrowContainer","emblaApi","Autoplay","useEmblaCarousel","debounce","useCallback","useEffect","Embla","EmblaContainer","EmblaSlide","CarouselContainer","Carousel","initialDelay","autoPlay","onNext","onPrev","setCurrentIndex","autoplayEnabled","setAutoplayEnabled","plugins","AutoplayFlags","emblaRef","timer","setTimeout","clearTimeout","updateIndex","newIndex","dragX","watchDragX","handleAnySelect","mightBeASwipe","handleSelect","handleAutoPlaySelect","handlePrevButton","handleNextButton","handleGotoPrevSlide","handleGotoNextSlide","watchMouse","start","end","document","handleMouseUp","handleMouseMove","PortfolioContentCard","ReactDOM","FlexBox","Close","TransitionSlide","TransitionInOut","Direction","Container","Overlay","ScrollWrapper","ButtonPlaceholder","DrawerContent","isOpen","footer","big","backgroundColor","setTransitionsEnabled","onBack","extraContainerProps","extraHeaderProps","extraFooterProps","extraFooterDividerProps","ignoreBackdropClick","hideNavigation","disableChildAnimations","enableChildAnimations","handleBackdropClick","stopClickPropagation","e","Drawer","menuPortalTarget","sideProps","$root","grid","getColumns","columns","getRows","rows","NumberedList","steps","bgIndexColor","indexColor","backgroundIndexColor","indexTextColor","mainTextColor","step","NumberItem","bgColor","StyledNumberItem","CircledCheckSolidMedium","linesWidth","BottomSegment","getIconBackground","status","isLastItem","getIconBorder","CenterCircle","IconWrapper","topSegmentDefaultHeight","TimelineIndicator","isNeutral","InfiniteLoader","getContainerBackground","activeBackground","getContainerBorder","TextContainer","TimelineIndicatorContentHeader","TimelineItem","item","isFirstItem","VerticalTimelineImpl","VerticalTimeline","onClickIndex","SubtitleText","BodyText","CloseIcon","ArrowLeftIcon","TransitionScale","ICON_SIZE","Header","HeaderTitleContainer","PopinBody","PopinFooter","PopinHeader","Popin","width","height","PopinWrapper","popinProps","useReducer","useContext","setSide","reducer","state","update","initialState","context","useSide","SideProvider","dispatch","_setSide","useRef","TransitionGroup","SideWrapper","queue","setQueue","setDirection","transitionsEnabled","nonce","q","timeout","rest","wrappedOnBack","key","keyframes","rotate","Loader","extraProps","gaps","flexbox","space","position","layout","overflow","baseStyles","proxyStyled","Proxy","target","thisArg","argumentsList","property","CSSTransition","duration","ChildrenWrapper","inProp","TransitionProps","nodeRef","fixed","reverseExit","ThemeProvider","defaultTheme","GlobalStyle","palettes","fontMappings","selectedPalette","createGlobalStyle","tippyStyles","Color","fontFamilies","c","a","darken","lighten","mix","b","ff","v","font","style","weight","fallback","ensureContrast","color1","color2","colorL1","colorL2","lRatio","prop","breakpoints","fontWeights","radii","shadows","zIndexes","animationDuration","easings","transition","properties","easing","fadeIn","fadeOut","fadeInGrowX","fadeInUp","animations","default","Side"],"mappings":"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"}
1
+ {"version":3,"file":"components/layout/index.js","sources":["webpack://@ledgerhq/react-ui/./src/components/Tag/index.tsx","webpack://@ledgerhq/react-ui/./src/components/asorted/Divider/index.tsx","webpack://@ledgerhq/react-ui/./src/components/asorted/Icon/NotificationIcon.tsx","webpack://@ledgerhq/react-ui/./src/components/asorted/Text/index.tsx","webpack://@ledgerhq/react-ui/./src/components/asorted/Text/styles.ts","webpack://@ledgerhq/react-ui/./src/components/cta/Button/index.tsx","webpack://@ledgerhq/react-ui/./src/components/layout/Banner/BannerCard/index.tsx","webpack://@ledgerhq/react-ui/./src/components/layout/Banner/NotificationCard/index.tsx","webpack://@ledgerhq/react-ui/./src/components/layout/Box/index.ts","webpack://@ledgerhq/react-ui/./src/components/layout/Carousel/ChevronArrow.tsx","webpack://@ledgerhq/react-ui/./src/components/layout/Carousel/Footer/Pagination/bullets.tsx","webpack://@ledgerhq/react-ui/./src/components/layout/Carousel/Footer/Pagination/index.tsx","webpack://@ledgerhq/react-ui/./src/components/layout/Carousel/Footer/Pagination/types.ts","webpack://@ledgerhq/react-ui/./src/components/layout/Carousel/Footer/Pagination/utils.ts","webpack://@ledgerhq/react-ui/./src/components/layout/Carousel/Footer/index.tsx","webpack://@ledgerhq/react-ui/./src/components/layout/Carousel/Footer/variantContentCard.tsx","webpack://@ledgerhq/react-ui/./src/components/layout/Carousel/Footer/variantDefault.tsx","webpack://@ledgerhq/react-ui/./src/components/layout/Carousel/index.tsx","webpack://@ledgerhq/react-ui/./src/components/layout/ContentCard/PortfolioContentCard/index.tsx","webpack://@ledgerhq/react-ui/./src/components/layout/Drawer/index.tsx","webpack://@ledgerhq/react-ui/./src/components/layout/Flex/index.ts","webpack://@ledgerhq/react-ui/./src/components/layout/Grid/index.ts","webpack://@ledgerhq/react-ui/./src/components/layout/List/NumberedList/index.tsx","webpack://@ledgerhq/react-ui/./src/components/layout/List/VerticalTimeline/TimelineIndicator.tsx","webpack://@ledgerhq/react-ui/./src/components/layout/List/VerticalTimeline/TimelineItem.tsx","webpack://@ledgerhq/react-ui/./src/components/layout/List/VerticalTimeline/index.tsx","webpack://@ledgerhq/react-ui/./src/components/layout/Popin/index.tsx","webpack://@ledgerhq/react-ui/./src/components/layout/Side/Provider.tsx","webpack://@ledgerhq/react-ui/./src/components/layout/Side/index.tsx","webpack://@ledgerhq/react-ui/./src/components/loaders/InfiniteLoader/index.tsx","webpack://@ledgerhq/react-ui/./src/components/message/Tooltip/styles.ts","webpack://@ledgerhq/react-ui/./src/components/styled.ts","webpack://@ledgerhq/react-ui/./src/components/transitions/TransitionInOut.tsx","webpack://@ledgerhq/react-ui/./src/components/transitions/TransitionScale.tsx","webpack://@ledgerhq/react-ui/./src/components/transitions/TransitionSlide.tsx","webpack://@ledgerhq/react-ui/./src/styles/StyleProvider.tsx","webpack://@ledgerhq/react-ui/./src/styles/global.ts","webpack://@ledgerhq/react-ui/./src/styles/helpers.ts","webpack://@ledgerhq/react-ui/./src/styles/styled/fontFamily.ts","webpack://@ledgerhq/react-ui/./src/styles/system/gaps.ts","webpack://@ledgerhq/react-ui/./src/styles/theme.ts","webpack://@ledgerhq/react-ui/webpack/runtime/compat_get_default_export","webpack://@ledgerhq/react-ui/webpack/runtime/define_property_getters","webpack://@ledgerhq/react-ui/webpack/runtime/has_own_property","webpack://@ledgerhq/react-ui/webpack/runtime/make_namespace_object","webpack://@ledgerhq/react-ui/./src/components/layout/index.ts"],"sourcesContent":["import React from \"react\";\nimport { border, BorderProps } from \"styled-system\";\nimport Text, { TextProps } from \"../asorted/Text\";\nimport baseStyled, { BaseStyledProps } from \"../styled\";\n\nexport type Size = \"large\" | \"medium\" | \"small\" | \"tiny\";\nexport type Type = \"plain\" | \"opacity\" | \"outlined\" | \"outlinedOpacity\";\n\nexport type TagProps = BaseStyledProps &\n React.HTMLAttributes<HTMLDivElement> &\n BorderProps &\n React.PropsWithChildren<{\n /**\n * Changes the appearance based on the active state.\n */\n active?: boolean;\n /**\n * Tag style.\n */\n type?: Type;\n /**\n * Size of the tag, affects the padding and the casing (uppercase for small and medium)\n */\n size?: Size;\n /**\n * Props passed to the text component, overriding props set internally by Tag component\n */\n textProps?: TextProps;\n\n disabled?: boolean;\n }>;\n\nfunction getColor({ type, active, disabled }: TagProps) {\n switch (type) {\n case \"plain\":\n if (disabled) return active ? \"neutral.c00\" : \"neutral.c70\";\n return active ? \"neutral.c00\" : \"primary.c90\";\n default:\n return disabled ? \"neutral.c70\" : \"primary.c90\";\n }\n}\n\nfunction getBgColor({ type, active, disabled }: TagProps) {\n switch (type) {\n case \"plain\":\n return active ? (disabled ? \"neutral.c70\" : \"primary.c90\") : undefined;\n case \"opacity\":\n return active ? (disabled ? \"neutral.c30\" : \"primary.c20\") : undefined;\n default:\n return;\n }\n}\n\nfunction getBorderColor({ type, active, disabled }: TagProps) {\n if (!active) return;\n switch (type) {\n case \"outlined\":\n return disabled ? \"neutral.c70\" : \"primary.c90\";\n case \"outlinedOpacity\":\n return disabled ? \"neutral.c40\" : \"primary.c40\";\n }\n}\n\nfunction getPadding({ size }: TagProps) {\n // Padding is 1px less than what's indicated in the design because of the 1px wide border.\n switch (size) {\n case \"tiny\":\n return \"1px 3px\";\n case \"small\":\n return \"2px 4px\";\n case \"medium\":\n return \"5px 7px\";\n case \"large\":\n default:\n return \"8px 9px 9px\";\n }\n}\n\nfunction getTextProps({ size }: TagProps): TextProps {\n switch (size) {\n case \"tiny\":\n case \"small\":\n case \"medium\":\n return {\n variant: \"tiny\",\n fontWeight: \"semiBold\",\n lineHeight: \"normal\",\n };\n case \"large\":\n default:\n return {\n variant: \"extraSmall\",\n fontWeight: \"semiBold\",\n };\n }\n}\n\nconst TagContainer = baseStyled.div.attrs<TagProps, TagProps>(props => ({\n backgroundColor: props.bg || props.backgroundColor || getBgColor(props),\n color: props.color || getColor(props),\n borderColor: getBorderColor(props),\n}))`\n display: inline-flex;\n justify-content: center;\n border: 1px solid transparent;\n border-radius: ${p => `${p.theme.radii[1]}px`};\n padding: ${p => getPadding(p)};\n ${border}\n`;\n\nexport default function Tag({\n children,\n textProps,\n size = \"large\",\n ...props\n}: TagProps): React.JSX.Element {\n const textColor = getColor(props);\n const baseTextProps = getTextProps({ size, ...props });\n return (\n <TagContainer size={size} {...props}>\n <Text {...baseTextProps} color={textColor} {...(textProps ? textProps : {})}>\n {children}\n </Text>\n </TagContainer>\n );\n}\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport Flex, { FlexBoxProps } from \"../../layout/Flex\";\nimport Text from \"../../asorted/Text\";\n\nexport type Props = FlexBoxProps & { text?: string };\nconst DividerBase = styled(Flex).attrs<FlexBoxProps>((p: FlexBoxProps) => ({\n my: p.my || 0,\n height: 1,\n backgroundColor: p.color || \"neutral.c40\",\n}))`\n &[data-variant=\"light\"] {\n background: ${p => p.theme.colors.neutral.c30};\n }\n`;\n\nconst Divider: React.FC<Props> = props => {\n if (!props.text) return <DividerBase {...props} />;\n return (\n <Flex {...props} flexDirection=\"row\" alignItems=\"center\">\n <DividerBase my={6} flex={1} />\n <Text variant=\"bodyLineHeight\" color=\"neutral.c60\" mx={6}>\n {props.text}\n </Text>\n <DividerBase my={6} flex={1} />\n </Flex>\n );\n};\n\nexport default Divider;\n","import React from \"react\";\nimport styled, { css, useTheme } from \"styled-components\";\n\nimport * as Icons from \"@ledgerhq/icons-ui/react\";\nimport { Box } from \"../../layout\";\nimport { type ColorPalette, rgba } from \"../../../styles\";\n\ntype IconKey = keyof typeof Icons;\ntype WrapperType = \"round\" | \"square\";\n\ntype IconPallet = { fg: string; bg: string };\n\nfunction getColorsByIcon(\n colors: ColorPalette,\n): Partial<Record<IconKey, Partial<Record<WrapperType, Partial<IconPallet>>>>> {\n const { warning } = colors;\n\n return {\n Warning: {\n round: { fg: warning.c80, bg: warning.c30 },\n square: { fg: warning.c80, bg: warning.c30 },\n },\n };\n}\n\nfunction getDefaultDefaultColors({ primary }: ColorPalette): Record<WrapperType, IconPallet> {\n return {\n round: { fg: primary.c90, bg: primary.c30 },\n square: { fg: primary.c80, bg: rgba(primary.c80, 0.08) },\n };\n}\n\ntype Props = Readonly<{\n icon: IconKey;\n variant: WrapperType;\n}>;\n\nexport default function NotificationIcon({ icon, variant = \"round\" }: Props) {\n const { colors } = useTheme();\n const defaultColors = getDefaultDefaultColors(colors)[variant];\n const safeIcon: IconKey = icon in Icons ? icon : \"Information\";\n const Icon = Icons[safeIcon];\n const { fg: iconColor = defaultColors.fg, bg: iconBgColor = defaultColors.bg } =\n getColorsByIcon(colors)[safeIcon]?.[variant] ?? {};\n\n return (\n <Wrapper backgroundColor={iconBgColor} variant={variant}>\n <Icon color={iconColor} />\n </Wrapper>\n );\n}\n\nconst Wrapper = styled(Box)<{ variant: WrapperType }>`\n display: inline-flex;\n padding: 8px;\n ${p => (p.variant === \"square\" ? squareWrapper : roundWrapper)}\n`;\n\nconst roundWrapper = css`\n border-radius: 50%;\n`;\n\nconst squareWrapper = css`\n border-radius: 13.5px;\n background-clip: padding-box;\n border-width: 7px;\n border-style: solid;\n border-color: transparent;\n position: relative;\n\n ${p => css`\n &::before,\n &::after {\n content: \"\";\n position: absolute;\n inset: -7px;\n border-radius: 13.5px;\n rotate: ${p.theme.colors.type === \"dark\" ? \"0deg\" : \"180deg\"};\n }\n &::before {\n background: linear-gradient(\n ${p.theme.colors.type === \"dark\" ? \"rgba(255, 255, 255, 0.05)\" : \"rgba(29, 28, 31, 0.05)\"}\n 0%,\n rgba(29, 28, 31, 0) 100%\n );\n }\n &::after {\n content: ${p.theme.colors.type};\n border: solid 0.5px ${p.theme.colors.type === \"dark\" ? \"#fff\" : \"rgba(0, 0, 0, 0.5)\"};\n mask-image: linear-gradient(\n rgba(255, 255, 255, 0.15) 0%,\n rgba(255, 255, 255, 0.01) 60%,\n rgba(255, 255, 255, 0) 100%\n );\n }\n `};\n`;\n","import React from \"react\";\nimport baseStyled, { BaseStyledProps } from \"../../styled\";\nimport {\n compose,\n fontSize,\n fontWeight,\n textAlign,\n lineHeight,\n letterSpacing,\n system,\n} from \"styled-system\";\nimport fontFamily from \"../../../styles/styled/fontFamily\";\nimport { TextVariants } from \"../../../styles/theme\";\nimport { textVariantStyle } from \"./styles\";\n\nconst uppercase = system({\n uppercase: {\n property: \"textTransform\",\n transform: value => (value ? \"uppercase\" : \"none\"),\n },\n});\n\ntype FontFamilies =\n | \"Inter|ExtraLight\"\n | \"Inter|Light\"\n | \"Inter|Regular\"\n | \"Inter|Medium\"\n | \"Inter|SemiBold\"\n | \"Inter|Bold\"\n | \"Inter|ExtraBold\"\n | \"Alpha|Medium\";\n\ntype WhiteSpace = \"normal\" | \"nowrap\" | \"pre\" | \"pre-line\" | \"pre-wrap\";\n\nexport interface TextProps extends BaseStyledProps {\n fontFamily?: string;\n ff?: FontFamilies;\n fontSize?: number | string | TextVariants;\n variant?: TextVariants;\n textAlign?: string;\n fontWeight?: string;\n lineHeight?: string;\n textTransform?: string;\n textOverflow?: string;\n uppercase?: boolean;\n whiteSpace?: WhiteSpace;\n children?: React.ReactNode;\n}\n\nconst Text = baseStyled.span.attrs<TextProps, TextProps>(\n ({ variant = \"body\", fontSize, color }) => ({\n fontSize: fontSize ? fontSize : variant,\n color: color || \"neutral.c100\",\n }),\n)`\n font-weight: 500;\n white-space: ${props => props.whiteSpace ?? \"normal\"};\n ${(p: TextProps) => textVariantStyle[p.variant || \"body\"]}\n ${compose(\n uppercase,\n lineHeight,\n fontFamily,\n fontSize,\n textAlign,\n fontWeight,\n letterSpacing,\n system({\n textOverflow: true,\n }),\n )}\n ${p => (p.textTransform ? `text-transform: ${p.textTransform};` : \"\")}\n`;\n\nexport default Text;\n","import { GlobalStyleProps } from \"../../../styles/global\";\nimport { css } from \"styled-components\";\nimport { TextVariants } from \"../../../styles/theme\";\n\nconst getFontSource = (name: string) => (props: GlobalStyleProps) => {\n const fontsPath = props.fontsPath ?? \"assets/fonts\";\n const fontName = (props.fontMappings && props.fontMappings(name)) || `${name}.woff2`;\n return `url(\"${fontsPath}/${fontName}\") format(\"woff2\")`;\n};\n\nexport const fontStyles = css`\n @font-face {\n font-family: \"Inter\";\n src: ${getFontSource(\"Inter-ExtraLight-BETA\")};\n font-weight: 100;\n font-style: normal;\n }\n\n @font-face {\n font-family: \"Inter\";\n src: ${getFontSource(\"Inter-Light-BETA\")};\n font-weight: 300;\n font-style: normal;\n }\n\n @font-face {\n font-family: \"Inter\";\n src: ${getFontSource(\"Inter-Regular\")};\n font-weight: 400;\n font-style: normal;\n }\n\n @font-face {\n font-family: \"Inter\";\n src: ${getFontSource(\"Inter-Medium\")};\n font-weight: 500;\n font-style: normal;\n }\n\n @font-face {\n font-family: \"Inter\";\n src: ${getFontSource(\"Inter-SemiBold\")};\n font-weight: 600;\n font-style: normal;\n }\n\n @font-face {\n font-family: \"Inter\";\n src: ${getFontSource(\"Inter-ExtraBold\")};\n font-weight: 900;\n font-style: normal;\n }\n\n @font-face {\n font-family: \"Alpha\";\n src: ${getFontSource(\"HMAlphaMono-Medium\")};\n font-weight: 500;\n font-style: normal;\n }\n`;\n\nexport const textVariantStyle: Record<\n TextVariants,\n {\n fontFamily: string;\n lineHeight?: string | number;\n fontWeight?: number;\n \"text-transform\"?: string;\n }\n> = {\n h1: {\n fontFamily: \"Alpha, Inter, Sans\",\n fontWeight: 500,\n \"text-transform\": \"uppercase\",\n },\n h1Inter: {\n fontFamily: \"Inter, Sans\",\n fontWeight: 500,\n \"text-transform\": \"uppercase\",\n },\n h2: {\n fontFamily: \"Alpha, Inter, Sans\",\n fontWeight: 500,\n \"text-transform\": \"uppercase\",\n },\n h2Inter: {\n fontFamily: \"Inter, Sans\",\n fontWeight: 500,\n \"text-transform\": \"uppercase\",\n },\n h3: {\n fontFamily: \"Alpha, Inter, Sans\",\n fontWeight: 500,\n \"text-transform\": \"uppercase\",\n },\n h3Inter: {\n fontFamily: \"Inter, Sans\",\n fontWeight: 500,\n },\n h4: {\n fontFamily: \"Alpha, Inter, Sans\",\n fontWeight: 500,\n \"text-transform\": \"uppercase\",\n },\n h4Inter: {\n fontFamily: \"Inter, Sans\",\n fontWeight: 600,\n },\n h5: {\n fontFamily: \"Alpha, Inter, Sans\",\n fontWeight: 500,\n \"text-transform\": \"uppercase\",\n },\n h5Inter: {\n fontFamily: \"Inter, Sans\",\n fontWeight: 500,\n },\n large: {\n fontFamily: \"Inter, Sans\",\n },\n largeLineHeight: {\n fontFamily: \"Inter, Sans\",\n lineHeight: 1.7,\n },\n body: {\n fontFamily: \"Inter, Sans\",\n },\n bodyLineHeight: {\n fontFamily: \"Inter, Sans\",\n lineHeight: 1.7,\n },\n paragraph: {\n fontFamily: \"Inter, Sans\",\n },\n paragraphLineHeight: {\n fontFamily: \"Inter, Sans\",\n lineHeight: 1.7,\n },\n small: {\n fontFamily: \"Inter, Sans\",\n },\n extraSmall: {\n fontFamily: \"Inter, Sans\",\n },\n tiny: {\n fontFamily: \"Inter, Sans\",\n },\n micro: {\n fontFamily: \"Inter, Sans\",\n },\n subtitle: {\n fontFamily: \"Inter, Sans\",\n fontWeight: 600,\n \"text-transform\": \"uppercase\",\n },\n};\n","import ChevronBottom from \"@ledgerhq/icons-ui/reactLegacy/ChevronBottomMedium\";\nimport React, { useMemo, useState } from \"react\";\nimport styled, { css, StyledProps } from \"styled-components\";\nimport { border, BordersProps, compose, fontSize } from \"styled-system\";\nimport { rgba } from \"../../../styles/helpers\";\nimport fontFamily from \"../../../styles/styled/fontFamily\";\nimport { fontSizes } from \"../../../styles/theme\";\nimport baseStyled, { BaseStyledProps } from \"../../styled\";\n\ntype ButtonVariants = \"main\" | \"shade\" | \"error\" | \"color\" | \"neutral\";\ntype IconPosition = \"right\" | \"left\";\ninterface BaseProps extends BaseStyledProps, BordersProps {\n ff?: string;\n color?: string;\n backgroundColor?: string;\n size?: \"xs\" | \"small\" | \"medium\" | \"large\" | \"xl\";\n fontSize?: number;\n variant?: ButtonVariants;\n outline?: boolean;\n iconPosition?: IconPosition;\n iconButton?: boolean;\n disabled?: boolean;\n whiteSpace?: string;\n}\n\nexport interface ButtonProps extends BaseProps, React.RefAttributes<HTMLButtonElement> {\n Icon?: React.ReactElement | React.ComponentType<{ size: number; color?: string }>;\n children?: React.ReactNode;\n onClick?: (event: React.SyntheticEvent<HTMLButtonElement>) => void;\n iconSize?: number;\n style?: React.CSSProperties;\n}\nconst IconContainer = styled.div<{\n iconPosition: IconPosition;\n}>`\n display: inline-block;\n ${p => `${p.iconPosition === \"left\" ? \"margin-right\" : \"margin-left\"}: ${p.theme.space[4]}px;`}\n padding-top: 0.2em;\n`;\n\nconst getVariantColors = (p: StyledProps<BaseProps>) => ({\n main: {\n outline: `\n border-color: ${p.theme.colors.neutral.c100};\n color: ${p.theme.colors.neutral.c100};\n background-color: transparent;\n &:hover, &:focus {\n background-color: ${rgba(p.theme.colors.neutral.c100, 0.03)};\n }\n &:active {\n background-color: ${rgba(p.theme.colors.neutral.c100, 0.05)};\n }\n `,\n filled: `\n color: ${p.theme.colors.neutral.c00};\n background-color: ${p.theme.colors.neutral.c100};\n &:hover, &:focus {\n background-color: ${p.theme.colors.neutral.c90};\n }\n `,\n },\n shade: `\n border-color: ${p.theme.colors.neutral.c40};\n color: ${p.theme.colors.neutral.c100};\n &:focus {\n border-color: ${p.theme.colors.primary.c80};\n }\n\n &:hover, &:focus {\n background-color: ${p.theme.colors.neutral.c20};\n }\n\n &:active {\n background-color: ${p.theme.colors.neutral.c30};\n }\n `,\n error: {\n outline: `\n border-color: ${p.theme.colors.error.c50};\n color: ${p.theme.colors.error.c50};\n background-color: transparent;\n &:hover {\n background-color: ${rgba(p.theme.colors.error.c50, 0.02)};\n }\n &:active {\n background-color: ${rgba(p.theme.colors.error.c50, 0.05)};\n }\n `,\n filled: `\n color: ${p.theme.colors.neutral.c00};\n background-color: ${p.theme.colors.error.c50};\n &:hover {\n background-color: ${p.theme.colors.error.c40};\n }\n `,\n },\n neutral: `\n color: ${p.theme.colors.neutral.c100};\n background-color: ${p.theme.colors.neutral.c30};\n &:hover {\n background-color: ${p.theme.colors.neutral.c40};\n }\n `,\n color: {\n outline: `\n border-color: ${p.theme.colors.primary.c80};\n color: ${p.theme.colors.primary.c80};\n background-color: transparent;\n &:hover {\n background-color: ${rgba(p.theme.colors.primary.c100, 0.02)};\n }\n &:active {\n background-color: ${rgba(p.theme.colors.primary.c100, 0.05)};\n }\n `,\n filled: `\n color: ${p.theme.colors.neutral.c00};\n background-color: ${p.theme.colors.primary.c80};\n &:hover {\n background-color: ${p.theme.colors.primary.c70};\n }\n `,\n },\n disabled: {\n outline: `\n border-color: ${p.theme.colors.neutral.c50};\n color: ${p.theme.colors.neutral.c50};\n background-color: transparent;\n &:focus, &:hover {\n box-shadow: none;\n }\n `,\n filled: `\n color: ${p.theme.colors.neutral.c50};\n background-color: ${p.theme.colors.neutral.c30};\n &:focus, &:hover {\n box-shadow: none;\n }\n `,\n },\n default: `\n color: ${p.theme.colors.neutral.c100};\n background-color: transparent;\n &:hover {\n text-decoration: underline;\n }\n `,\n});\n\nexport const ButtonUnstyled = baseStyled.button`\n all: unset;\n cursor: pointer;\n\n &:disabled {\n cursor: default;\n }\n`;\n\nexport const Base = baseStyled.button.attrs((p: BaseProps) => ({\n fontFamily: \"Inter\",\n fontSize: p.fontSize ?? 4,\n}))<BaseProps>`\n background-color: transparent;\n border-color: transparent;\n border-radius: 44px;\n border-style: solid;\n border-width: ${p => (p.outline || p.variant === \"shade\" ? 1 : 0)}px;\n font-weight: 600;\n ${compose(fontFamily, fontSize, border)};\n line-height: ${p => p.theme.fontSizes[p.fontSize]}px;\n text-align: center;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n overflow: hidden;\n ${p => buttonSizeStyle[p.size || \"medium\"]}\n text-overflow: ellipsis;\n white-space: ${p => (p.whiteSpace ? p.whiteSpace : \"nowrap\")};\n max-width: 100%;\n position: relative;\n cursor: ${p => (p.disabled ? \"default\" : \"pointer\")};\n &:active {\n box-shadow: 0 0 0 4px ${p => rgba(p.theme.colors.primary.c60, 0.4)};\n }\n &:focus, &:hover {\n box-shadow: 0 0 0 2px ${p => rgba(p.theme.colors.primary.c60, 0.4)};\n }\n\n ${p => {\n const variants = getVariantColors(p);\n if (p.disabled) {\n return p.outline || p.variant === \"shade\"\n ? variants.disabled.outline\n : variants.disabled.filled;\n }\n\n const variant: ButtonVariants | \"default\" =\n p.variant ?? (\"default\" as ButtonVariants | \"default\");\n switch (variant) {\n case \"main\":\n return p.outline ? variants.main.outline : variants.main.filled;\n case \"shade\":\n return variants.shade;\n\n case \"error\":\n return p.outline ? variants.error.outline : variants.error.filled;\n\n case \"color\":\n return p.outline ? variants.color.outline : variants.color.filled;\n\n case \"neutral\":\n return variants.neutral;\n\n case \"default\":\n default:\n return variants.default;\n }\n }}\n ${p =>\n p.iconButton\n ? css`\n width: ${p.theme.space[12]}px;\n padding: 0;\n ${IconContainer} {\n margin: 0;\n }\n `\n : \"\"}\n ${p => p.theme.transition([\"background-color\", \"color\", \"border-color\", \"box-shadow\"], \"0.2s\")}\n`;\n\nconst ContentContainer = styled.div``;\n\nconst Button = (\n { Icon, iconPosition = \"right\", iconSize = 16, children, onClick, ...props }: ButtonProps,\n ref?: React.ForwardedRef<HTMLButtonElement>,\n): React.ReactElement => {\n const iconNodeSize = iconSize || fontSizes[props.fontSize ?? 4];\n const IconNode = useMemo(() => {\n if (!Icon) return null;\n if (typeof Icon === \"object\") return Icon;\n return <Icon size={iconNodeSize} />;\n }, [iconNodeSize, Icon]);\n\n return (\n <Base {...props} ref={ref} iconButton={!(Icon == null) && !children} onClick={onClick}>\n {iconPosition === \"right\" ? <ContentContainer>{children}</ContentContainer> : null}\n {IconNode && <IconContainer iconPosition={iconPosition}>{IconNode}</IconContainer>}\n {iconPosition === \"left\" ? <ContentContainer>{children}</ContentContainer> : null}\n </Base>\n );\n};\nconst ButtonWithRef = React.forwardRef(Button) as unknown as typeof Button;\n\nexport type ButtonExpandProps = React.PropsWithChildren<\n ButtonProps & {\n onToggle?: (arg0: boolean) => void;\n }\n>;\n\nconst StyledButtonExpand = styled(ButtonWithRef).attrs(props => ({\n Icon: props.Icon != null || ChevronBottom,\n iconPosition: props.iconPosition || \"right\",\n}))<{ expanded: boolean }>`\n ${IconContainer} {\n transition: transform 0.25s;\n ${p => (p.expanded ? \"transform: rotate(180deg)\" : \"\")}\n }\n`;\nexport function ButtonExpand(\n { onToggle, onClick, ...props }: ButtonExpandProps,\n ref?: React.ForwardedRef<HTMLButtonElement>,\n): React.ReactElement {\n const [expanded, setExpanded] = useState(false);\n return (\n <StyledButtonExpand\n {...props}\n ref={ref}\n expanded={expanded}\n onClick={(event: React.SyntheticEvent<HTMLButtonElement>) => {\n setExpanded(expanded => !expanded);\n onToggle != null && onToggle(!expanded);\n onClick != null && onClick(event);\n }}\n />\n );\n}\n\nexport const buttonSizeStyle: {\n [index: string]: {\n padding: string;\n height: string;\n };\n} = {\n xs: {\n padding: \"0 12px\",\n height: \"28px\",\n },\n small: {\n padding: \"0 20px\",\n height: \"32px\",\n },\n medium: {\n padding: \"0 24px\",\n height: \"40px\",\n },\n large: {\n padding: \"0 28px\",\n height: \"48px\",\n },\n xl: {\n padding: \"0 28px\",\n height: \"56px\",\n },\n};\n\nButton.Unstyled = ButtonUnstyled;\nButton.Expand = React.forwardRef(ButtonExpand);\nButtonWithRef.Unstyled = Button.Unstyled;\nButtonWithRef.Expand = Button.Expand;\nexport default ButtonWithRef;\n","import React, { type ReactEventHandler, type ReactNode } from \"react\";\nimport styled from \"styled-components\";\n\nimport { StyleProvider } from \"../../../../styles\";\nimport { Icons } from \"../../../../assets\";\nimport Text from \"../../../asorted/Text\";\nimport { Button } from \"../../../cta\";\nimport Tag from \"../../../Tag\";\nimport type { FlexBoxProps } from \"../../Flex\";\nimport { Flex } from \"../..\";\n\ntype Props = FlexBoxProps & {\n title: string;\n cta?: ReactNode;\n description?: ReactNode;\n descriptionWidth?: number;\n tag?: string;\n image?: string;\n\n onClick: ReactEventHandler;\n onClose?: ReactEventHandler;\n};\n\nexport default function BannerCard({\n title,\n cta,\n description,\n descriptionWidth,\n tag,\n image,\n onClick,\n onClose,\n ...boxProps\n}: Props) {\n const handleClose: ReactEventHandler = event => {\n event.stopPropagation();\n onClose?.(event);\n };\n const handleClick: ReactEventHandler = event => {\n event.stopPropagation();\n onClick(event);\n };\n\n return (\n <Wrapper {...boxProps} image={image} tag={tag} onClick={handleClick}>\n {tag && <StyledTag>{tag}</StyledTag>}\n <Title>{title}</Title>\n {description && <Desc maxWidth={descriptionWidth}>{description}</Desc>}\n <Flex columnGap={5}>{cta}</Flex>\n {onClose && (\n <StyleProvider selectedPalette=\"dark\">\n <CloseButton data-testid=\"portfolio-card-close-button\" onClick={handleClose} />\n </StyleProvider>\n )}\n </Wrapper>\n );\n}\n\nconst StyledTag = styled(Tag).attrs({ size: \"medium\", type: \"plain\", active: true })`\n font-size: 11px;\n background-color: ${p => p.theme.colors.primary.c80};\n`;\n\nconst Title = styled(Text).attrs({ variant: \"h4Inter\" })`\n font-family: Inter;\n font-size: 24px;\n font-weight: 600;\n`;\n\nconst Desc = styled(Text).attrs({ variant: \"small\", color: \"neutral.c70\" })`\n font-family: Inter;\n font-size: 13px;\n font-style: normal;\n font-weight: 500;\n padding-bottom: 8px;\n`;\n\nconst Wrapper = styled(Flex)<Pick<Props, \"image\" | \"tag\">>`\n background-color: ${p => p.theme.colors.background.card};\n background-image: ${p => (p.image ? `url(\"${p.image}\")` : \"none\")};\n background-position: right center;\n background-repeat: no-repeat;\n background-size: 50% auto;\n\n cursor: pointer;\n padding: 16px;\n padding-top: ${p => (p.tag ? \"16px\" : \"24px\")};\n padding-right: 50%;\n\n position: relative;\n flex-direction: column;\n justify-content: flex-end;\n align-items: flex-start;\n gap: 4px;\n`;\n\nconst CloseButton = styled(Button).attrs({\n Icon: <Icons.Close size=\"XS\" />,\n iconButton: true,\n outline: true,\n})`\n background-color: ${p => p.theme.colors.neutral.c30};\n position: absolute;\n top: 10px;\n right: 10px;\n width: 24px;\n height: 24px;\n svg {\n width: 12px;\n height: 12px;\n }\n`;\n","import React, { type ReactEventHandler, type ReactNode } from \"react\";\nimport styled from \"styled-components\";\n\nimport * as Icons from \"@ledgerhq/icons-ui/react\";\nimport { NotificationIcon } from \"../../../asorted\";\nimport Text from \"../../../asorted/Text\";\nimport type { Props as GridBoxProps } from \"../../Grid\";\nimport { Grid, Flex } from \"../..\";\n\ntype IconKey = keyof typeof Icons;\n\ntype Props = GridBoxProps & {\n title?: string;\n cta?: ReactNode;\n description?: ReactNode;\n icon: IconKey;\n isHighlighted?: boolean;\n\n onClick: ReactEventHandler;\n};\n\nexport default function NotificationCard({\n title,\n cta,\n icon,\n description,\n isHighlighted,\n onClick,\n ...boxProps\n}: Props) {\n const handleCTAClick: ReactEventHandler = event => {\n event.stopPropagation();\n onClick(event);\n };\n\n return (\n <Wrapper {...boxProps} isHighlighted={isHighlighted} onClick={handleCTAClick}>\n <NotificationIcon icon={icon} variant={isHighlighted ? \"square\" : \"round\"} />\n <Flex flexDirection=\"column\" rowGap={isHighlighted ? \"4px\" : \"8px\"}>\n {title && (\n <Text variant=\"h4Inter\" fontSize={16}>\n {title}\n </Text>\n )}\n {description && (\n <Desc color={isHighlighted ? \"neutral.c100\" : \"neutral.c80\"}>{description}</Desc>\n )}\n {cta}\n </Flex>\n </Wrapper>\n );\n}\n\nconst Desc = styled(Text).attrs({ variant: \"small\" })`\n font-family: Inter;\n font-size: 13px;\n font-style: normal;\n font-weight: 500;\n`;\n\nconst Wrapper = styled(Grid)<Pick<Props, \"isHighlighted\">>`\n background-color: ${({ isHighlighted, theme: { colors } }) => {\n if (!isHighlighted) return \"transparent\";\n return colors.type === \"dark\" ? colors.opacityDefault.c05 : colors.neutral.c00;\n }};\n\n cursor: pointer;\n padding: 12px;\n grid-template-columns: auto 1fr;\n gap: ${p => (p.isHighlighted ? \"12px\" : \"24px\")};\n border-radius: 12px;\n\n align-items: center;\n justify-content: start;\n`;\n","import baseStyled, { BaseStyledProps } from \"../../styled\";\n\nexport type BoxProps = BaseStyledProps;\n\nconst Box = baseStyled.div<BaseStyledProps>``;\n\nexport default Box;\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport { Icons } from \"../../../assets\";\n\ntype Props = ContainerProps & {\n onClick: () => void;\n};\n\nexport function ChevronArrow(props: Props) {\n return (\n <ChevronArrowContainer {...props}>\n <Icons.ChevronLeft />\n </ChevronArrowContainer>\n );\n}\n\ntype ContainerProps = {\n direction: \"left\" | \"right\";\n};\n\nconst ChevronArrowContainer = styled.button<ContainerProps>`\n display: inline-flex;\n justify-content: center;\n align-items: center;\n width: 32px;\n height: 32px;\n\n position: absolute;\n top: 50%;\n left: ${({ direction }) => (direction === \"left\" ? \"0\" : \"auto\")};\n right: ${({ direction }) => (direction === \"left\" ? \"auto\" : \"0\")};\n z-index: 1;\n\n --dir: ${({ direction }) => (direction === \"left\" ? \"1\" : \"-1\")};\n scale: var(--dir) 1;\n translate: calc(-50% * var(--dir)) -50%;\n\n background-color: ${({ theme }) => theme.colors.background.default}; // Fake the transparent clip\n border-radius: 100%;\n border: none;\n outline: none;\n\n ::before {\n content: \"\";\n display: block;\n position: absolute;\n z-index: -1;\n inset: 3px;\n background-color: ${({ theme }) => theme.colors.opacityDefault.c05};\n border-color: ${({ theme }) => theme.colors.opacityDefault.c05};\n border-radius: 100%;\n border-style: solid;\n border-width: 1px;\n }\n svg {\n color: ${({ theme }) => theme.colors.primary.c100};\n }\n ::before,\n svg {\n cursor: pointer;\n }\n\n transition: opacity 0.2s ease-in-out;\n opacity: var(--hover-transition);\n ::before,\n svg {\n transition: translate 0.2s ease-in-out;\n translate: calc(-50% + 50% * var(--hover-transition)) 0;\n }\n`;\n","import React from \"react\";\nimport { animated, useSpring } from \"react-spring\";\nimport { useTheme } from \"styled-components\";\nimport { ItemStatus } from \"./types\";\n\nconst defaultBulletStyle = {\n height: \"6px\",\n borderRadius: \"1000px\",\n marginRight: \"4px\",\n opacity: 1,\n};\n\nconst useBulletStyles = () => {\n const { colors } = useTheme();\n\n const BulletStyle: {\n [key in ItemStatus]: {\n width: string;\n height: string;\n backgroundColor: string;\n borderRadius: string;\n opacity?: number;\n marginRight: string;\n };\n } = {\n [ItemStatus.active]: {\n ...defaultBulletStyle,\n width: \"16px\",\n backgroundColor: colors.opacityDefault.c80,\n },\n [ItemStatus.nearby]: {\n ...defaultBulletStyle,\n width: \"8px\",\n backgroundColor: colors.opacityDefault.c30,\n },\n [ItemStatus.far]: {\n ...defaultBulletStyle,\n width: \"4px\",\n backgroundColor: colors.opacityDefault.c10,\n },\n [ItemStatus.none]: {\n ...defaultBulletStyle,\n width: \"0px\",\n opacity: 0,\n backgroundColor: colors.opacityDefault.c10,\n marginRight: \"0px\",\n },\n };\n\n return BulletStyle;\n};\n\nconst Bullet = ({ type }: { type: ItemStatus }) => {\n const springStyle = useSpring(useBulletStyles()[type]);\n /* react-spring animated.div typings don't include style; spread with assertion for compatibility */\n /* eslint-disable-next-line @typescript-eslint/consistent-type-assertions */\n return <animated.div {...({ style: springStyle } as React.HTMLAttributes<HTMLDivElement>)} />;\n};\n\nexport default Bullet;\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport { SubProps } from \"../../types\";\nimport Bullet from \"./bullets\";\nimport { getItemStatus } from \"./utils\";\n\nconst FooterCarouselBullets = styled.div`\n display: flex;\n align-items: center;\n`;\n\nconst Pagination = ({ children, currentIndex }: SubProps) => {\n return (\n <FooterCarouselBullets>\n {children.map((child, index) => (\n <Bullet key={child.key} type={getItemStatus(index, currentIndex, children.length)} />\n ))}\n </FooterCarouselBullets>\n );\n};\n\nexport default Pagination;\n","export enum ItemStatus {\n \"active\",\n \"nearby\",\n \"far\",\n \"none\",\n}\n","import { ItemStatus } from \"./types\";\n\n/**\n * Returns the status of an indexed item from the carousel index.\n */\nexport const getItemStatus = (itemIndex: number, activeIndex: number, itemCount: number) => {\n const isActive = itemIndex === activeIndex;\n if (isActive) {\n return ItemStatus.active;\n }\n\n const isAdjacent = Math.abs(itemIndex - activeIndex) === 1;\n if (isAdjacent) {\n return ItemStatus.nearby;\n }\n\n const isEdge = itemIndex === 0 || itemIndex === itemCount - 1;\n return isEdge ? ItemStatus.far : ItemStatus.nearby;\n};\n","import React, { FC } from \"react\";\nimport { SubProps, Variant } from \"../types\";\nimport FooterContentCard from \"./variantContentCard\";\nimport FooterDefault from \"./variantDefault\";\n\nconst Footers: { [key in Variant]: FC<SubProps> } = {\n \"content-card\": FooterContentCard,\n default: FooterDefault,\n};\n\nconst Footer = (props: SubProps) => {\n if (props.children.length === 1) return null;\n\n const Component = Footers[props.variant];\n return <Component {...props} />;\n};\n\nexport default Footer;\n","import { ArrowLeft, ArrowRight } from \"@ledgerhq/icons-ui/react\";\nimport React from \"react\";\nimport styled from \"styled-components\";\nimport Pagination from \"./Pagination\";\nimport { SubProps } from \"../types\";\n\nconst FooterContainer = styled.div`\n height: 32px;\n border-top: 1px solid ${p => p.theme.colors.opacityDefault.c10};\n display: flex;\n justify-content: space-between;\n padding: 6px 16px 6px 16px;\n`;\n\nconst FooterArrowsContainer = styled.div`\n display: flex;\n gap: 8px;\n align-items: center;\n`;\n\nconst FooterArrowContainer = styled.div`\n display: flex;\n align-items: center;\n cursor: pointer;\n`;\n\nconst FooterContentCard = ({ children, emblaApi, currentIndex, variant }: SubProps) => {\n return (\n <FooterContainer>\n <Pagination\n variant={variant}\n children={children}\n emblaApi={emblaApi}\n currentIndex={currentIndex}\n />\n\n <FooterArrowsContainer>\n <FooterArrowContainer onClick={() => emblaApi?.scrollPrev()}>\n <ArrowLeft size=\"S\" />\n </FooterArrowContainer>\n <FooterArrowContainer onClick={() => emblaApi?.scrollNext()}>\n <ArrowRight size=\"S\" />\n </FooterArrowContainer>\n </FooterArrowsContainer>\n </FooterContainer>\n );\n};\n\nexport default FooterContentCard;\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport Pagination from \"./Pagination\";\nimport { SubProps } from \"../types\";\n\nconst FooterContainer = styled.div`\n height: 32px;\n display: flex;\n justify-content: center;\n align-items: center;\n`;\n\nconst FooterDefault = (props: SubProps) => {\n return (\n <FooterContainer>\n <Pagination {...props} />\n </FooterContainer>\n );\n};\n\nexport default FooterDefault;\n","import type { EmblaCarouselType, EmblaEventType } from \"embla-carousel\";\nimport Autoplay from \"embla-carousel-autoplay\";\nimport useEmblaCarousel from \"embla-carousel-react\";\nimport debounce from \"lodash/debounce\";\nimport React, { useCallback, useEffect, useMemo, useState } from \"react\";\nimport styled from \"styled-components\";\nimport Footer from \"./Footer\";\nimport { Props } from \"./types\";\nimport { ChevronArrow } from \"./ChevronArrow\";\n\nconst Embla = styled.div`\n overflow: hidden;\n`;\n\nconst EmblaContainer = styled.div`\n display: flex;\n`;\n\nconst EmblaSlide = styled.div`\n display: flex;\n flex: 0 0 100%;\n min-width: 0;\n > * {\n flex-basis: 100%;\n }\n`;\n\nconst CarouselContainer = styled.div<Pick<Props, \"variant\">>`\n position: relative;\n\n --hover-transition: 0;\n &:hover {\n --hover-transition: 1;\n }\n`;\n\n/**\n * This component uses the https://github.com/davidjerleke/embla-carousel library.\n */\nconst Carousel = ({\n children,\n variant = \"default\",\n initialDelay = 0,\n autoPlay = 0,\n onNext,\n onPrev,\n}: Props) => {\n const [currentIndex, setCurrentIndex] = useState(0);\n const [autoplayEnabled, setAutoplayEnabled] = useState<boolean>(false);\n\n const plugins = useMemo(\n () => (autoplayEnabled && autoPlay ? [Autoplay({ delay: autoPlay, ...AutoplayFlags })] : []),\n [autoplayEnabled, autoPlay],\n );\n\n const [emblaRef, emblaApi] = useEmblaCarousel({ loop: true }, plugins);\n\n useEffect(() => {\n if (autoPlay) {\n const timer = setTimeout(() => setAutoplayEnabled(true), initialDelay);\n return () => clearTimeout(timer);\n }\n }, [autoPlay]);\n\n const updateIndex = useCallback(() => {\n if (!emblaApi) return;\n\n const newIndex = emblaApi.selectedScrollSnap();\n setCurrentIndex(newIndex);\n emblaApi.scrollTo(newIndex);\n }, [emblaApi]);\n\n useEffect(() => {\n if (!emblaApi) return;\n\n // Initial call to update carousel index\n updateIndex();\n\n const dragX = watchDragX(emblaApi);\n\n // When the selected scroll snap changes\n const handleAnySelect = debounce((mightBeASwipe: boolean) => {\n updateIndex();\n if (!mightBeASwipe || variant !== \"default\") return; // onNext/onPrev events are not supported for content-card variant ATM\n if (dragX.value > 0) return onPrev?.();\n if (dragX.value < 0) return onNext?.();\n }, 0); // all events are fired on the same tick so no need to wait past the next tick\n\n emblaApi.on(\"select\", handleSelect);\n emblaApi.on(\"autoplay:select\" as EmblaEventType, handleAutoPlaySelect);\n emblaApi.on(\"button:prev\" as EmblaEventType, handlePrevButton);\n emblaApi.on(\"button:next\" as EmblaEventType, handleNextButton);\n\n // When `reInit` is called or when window is resized\n emblaApi.on(\"reInit\", updateIndex);\n\n return () => {\n dragX.clean();\n emblaApi.off(\"select\", handleSelect);\n emblaApi.off(\"autoplay:select\" as EmblaEventType, handleAutoPlaySelect);\n emblaApi.off(\"button:prev\" as EmblaEventType, handlePrevButton);\n emblaApi.off(\"button:next\" as EmblaEventType, handleNextButton);\n emblaApi.off(\"reInit\", updateIndex);\n };\n\n function handleSelect() {\n handleAnySelect(true); // This could be a swipe action. As this runs first the debounce will override the value otherwise\n }\n function handleAutoPlaySelect() {\n handleAnySelect(false);\n }\n function handlePrevButton() {\n emblaApi?.scrollPrev();\n onPrev?.();\n handleAnySelect(false);\n }\n function handleNextButton() {\n emblaApi?.scrollNext();\n onNext?.();\n handleAnySelect(false);\n }\n }, [emblaApi, updateIndex, variant]);\n\n if (!children.length) return null;\n\n const handleGotoPrevSlide = () => emblaApi?.emit(\"button:prev\" as EmblaEventType);\n const handleGotoNextSlide = () => emblaApi?.emit(\"button:next\" as EmblaEventType);\n\n return (\n <div>\n <CarouselContainer variant={variant}>\n {variant === \"default\" && children.length > 1 && (\n <>\n <ChevronArrow\n data-testid=\"carousel-arrow-prev\"\n direction=\"left\"\n onClick={handleGotoPrevSlide}\n />\n <ChevronArrow\n data-testid=\"carousel-arrow-next\"\n direction=\"right\"\n onClick={handleGotoNextSlide}\n />\n </>\n )}\n\n <Embla ref={emblaRef}>\n <EmblaContainer>\n {children.map(child => (\n <EmblaSlide key={child.key}>{child}</EmblaSlide>\n ))}\n </EmblaContainer>\n </Embla>\n </CarouselContainer>\n\n <Footer\n children={children}\n variant={variant}\n emblaApi={emblaApi}\n currentIndex={currentIndex}\n />\n </div>\n );\n};\n\nexport default Carousel;\n\nconst AutoplayFlags = {\n play: true,\n stopOnMouseEnter: true,\n stopOnInteraction: false,\n};\n\nfunction watchDragX(emblaApi: EmblaCarouselType) {\n emblaApi.on(\"pointerDown\", watchMouse);\n\n let start: number | undefined;\n let end: number | undefined;\n\n return {\n get value() {\n return typeof start === \"undefined\" || typeof end === \"undefined\" ? 0 : end - start;\n },\n clean: () => {\n emblaApi.off(\"pointerDown\", watchMouse);\n document.removeEventListener(\"mouseup\", handleMouseUp);\n },\n };\n\n function watchMouse() {\n document.addEventListener(\"mousemove\", handleMouseMove);\n document.addEventListener(\"mouseup\", handleMouseUp);\n }\n function handleMouseMove(event: MouseEvent) {\n document.removeEventListener(\"mousemove\", handleMouseMove);\n start = event.clientX;\n end = undefined;\n }\n function handleMouseUp(event: MouseEvent) {\n document.removeEventListener(\"mouseup\", handleMouseUp);\n end = event.clientX;\n }\n}\n","import React, { type ReactEventHandler } from \"react\";\n\nimport { Button } from \"../../../cta\";\nimport BannerCard from \"../../Banner/BannerCard\";\n\nexport type PortfolioContentCardProps = {\n title: string;\n cta?: string;\n description?: string;\n tag?: string;\n image?: string;\n\n onClick: ReactEventHandler;\n onClose: ReactEventHandler;\n};\n\nexport default function PortfolioContentCard({\n title,\n cta,\n description,\n tag,\n image,\n onClick,\n onClose,\n}: PortfolioContentCardProps) {\n return (\n <BannerCard\n title={title}\n cta={\n cta && (\n <Button variant=\"main\" outline={false}>\n {cta}\n </Button>\n )\n }\n description={description}\n tag={tag}\n image={image}\n onClick={onClick}\n onClose={onClose}\n />\n );\n}\n","import React, { useCallback } from \"react\";\nimport ReactDOM from \"react-dom\";\nimport styled from \"styled-components\";\nimport FlexBox, { FlexBoxProps } from \"../Flex\";\nimport Divider, { Props as DividerProps } from \"../../asorted/Divider\";\nimport Close from \"@ledgerhq/icons-ui/reactLegacy/CloseMedium\";\nimport ArrowLeft from \"@ledgerhq/icons-ui/reactLegacy/ArrowLeftMedium\";\n\nimport TransitionSlide from \"../../transitions/TransitionSlide\";\nimport TransitionInOut from \"../../transitions/TransitionInOut\";\nimport Text from \"../../asorted/Text\";\nimport Button from \"../../cta/Button\";\n\nexport enum Direction {\n Left = \"left\",\n Right = \"right\",\n}\n\nconst Container = styled(FlexBox)`\n width: 100%;\n height: 100%;\n flex-direction: column;\n`;\n\nconst Wrapper = styled(FlexBox)<{\n big?: boolean;\n}>`\n height: 100%;\n width: ${p =>\n p.big ? p.theme.sizes.drawer.side.big.width : p.theme.sizes.drawer.side.small.width}px;\n flex-direction: column;\n align-items: stretch;\n justify-content: space-between;\n z-index: ${p => p.theme.zIndexes[8]};\n`;\n\nconst Overlay = styled.div<{ direction: Direction }>`\n display: flex;\n position: fixed;\n justify-content: ${p => (p.direction === Direction.Left ? \"flex-end\" : \"flex-start\")};\n top: 0;\n left: 0;\n width: 100vw;\n height: 100vh;\n z-index: 999;\n background-color: ${p => p.theme.colors.constant.overlay};\n`;\n\nconst ScrollWrapper = styled(FlexBox)`\n &::-webkit-scrollbar {\n display: none;\n }\n`;\n\nconst ButtonPlaceholder = styled.div`\n min-width: ${p => p.theme.space[12]}px;\n`;\n\nexport interface DrawerProps {\n isOpen: boolean;\n children: React.ReactNode;\n title?: React.ReactNode;\n footer?: React.ReactNode;\n big?: boolean;\n ignoreBackdropClick?: boolean;\n backgroundColor?: string;\n onClose: () => void;\n onBack?: () => void;\n setTransitionsEnabled?: (arg0: boolean) => void;\n hideNavigation?: boolean;\n menuPortalTarget?: Element | null;\n direction?: Direction;\n extraContainerProps?: Partial<FlexBoxProps>;\n extraHeaderProps?: Partial<FlexBoxProps>;\n extraFooterProps?: Partial<FlexBoxProps>;\n extraFooterDividerProps?: Partial<DividerProps>;\n}\n\nconst DrawerContent = React.forwardRef(\n (\n {\n isOpen,\n title,\n children,\n footer,\n big,\n onClose,\n backgroundColor,\n setTransitionsEnabled = () => 0,\n onBack,\n extraContainerProps,\n extraHeaderProps,\n extraFooterProps,\n extraFooterDividerProps,\n ignoreBackdropClick = false,\n hideNavigation = true,\n direction = Direction.Left,\n }: DrawerProps,\n ref?: React.ForwardedRef<HTMLDivElement>,\n ) => {\n const disableChildAnimations = useCallback(\n () => setTransitionsEnabled(false),\n [setTransitionsEnabled],\n );\n const enableChildAnimations = useCallback(\n () => setTransitionsEnabled(true),\n [setTransitionsEnabled],\n );\n\n const handleBackdropClick = useCallback(() => {\n if (!ignoreBackdropClick) {\n onClose();\n }\n }, [onClose, ignoreBackdropClick]);\n\n const stopClickPropagation = useCallback((e: React.MouseEvent) => {\n e.stopPropagation();\n }, []);\n\n return (\n <TransitionInOut\n in={isOpen}\n appear\n mountOnEnter\n unmountOnExit\n onEntering={disableChildAnimations}\n onEntered={enableChildAnimations}\n onExiting={disableChildAnimations}\n >\n <Overlay direction={direction} onClick={handleBackdropClick} ref={ref}>\n <TransitionSlide\n in={isOpen}\n direction={direction}\n fixed\n reverseExit\n appear\n mountOnEnter\n unmountOnExit\n >\n <Wrapper\n big={big}\n onClick={stopClickPropagation}\n backgroundColor={backgroundColor ?? \"background.main\"}\n >\n <Container>\n <FlexBox\n justifyContent=\"space-between\"\n alignItems=\"center\"\n p={12}\n pb={10}\n {...extraHeaderProps}\n >\n {!hideNavigation && (\n <>\n {onBack != null ? (\n <Button variant=\"neutral\" onClick={onBack} Icon={ArrowLeft} />\n ) : (\n <ButtonPlaceholder />\n )}\n </>\n )}\n <Text variant={\"h3\"} flex={1} textAlign=\"center\">\n {title}\n </Text>\n <FlexBox alignSelf=\"flex-start\">\n <Button variant=\"neutral\" onClick={onClose} Icon={Close} />\n </FlexBox>\n </FlexBox>\n <ScrollWrapper\n flexDirection=\"column\"\n alignItems=\"stretch\"\n overflow=\"scroll\"\n position=\"relative\"\n p={12}\n pt={0}\n flex={1}\n {...extraContainerProps}\n >\n {children}\n </ScrollWrapper>\n {footer && (\n <>\n <Divider {...extraFooterDividerProps} />\n <FlexBox alignItems=\"center\" py={8} px={12} {...extraFooterProps}>\n {footer}\n </FlexBox>\n </>\n )}\n </Container>\n </Wrapper>\n </TransitionSlide>\n </Overlay>\n </TransitionInOut>\n );\n },\n);\n\nconst Drawer = (\n { children, menuPortalTarget, ...sideProps }: DrawerProps,\n ref?: React.ForwardedRef<HTMLDivElement>,\n): React.ReactElement => {\n const $root = React.useMemo(\n () =>\n menuPortalTarget === undefined && typeof document !== \"undefined\"\n ? document.querySelector(\"body\")\n : menuPortalTarget,\n [menuPortalTarget],\n );\n if (!$root) {\n return (\n <DrawerContent ref={ref} {...sideProps}>\n {children}\n </DrawerContent>\n );\n } else {\n return ReactDOM.createPortal(\n <DrawerContent ref={ref} {...sideProps}>\n {children}\n </DrawerContent>,\n $root,\n );\n }\n};\n\nexport default React.forwardRef(Drawer);\n","import baseStyled, { BaseStyledProps } from \"../../styled\";\n\nconst FlexBox = baseStyled.div.attrs<BaseStyledProps, BaseStyledProps>({ display: \"flex\" })``;\nexport type FlexBoxProps = BaseStyledProps & React.HTMLAttributes<HTMLDivElement>;\n\nexport default FlexBox;\n","import { grid, GridProps } from \"styled-system\";\nimport baseStyled, { BaseStyledProps } from \"../../styled\";\n\nexport interface Props extends GridProps, BaseStyledProps {\n columns?: number | string;\n rows?: number | string;\n}\n\nfunction getColumns(props: Props) {\n const { columns } = props;\n return columns === \"none\" ? columns : `repeat(${columns || 12}, minmax(0, 1fr));`;\n}\n\nfunction getRows(props: Props) {\n const { rows } = props;\n return !rows ? \"initial\" : rows === \"none\" ? rows : `repeat(${rows}, minmax(0, 1fr));`;\n}\n\nconst Grid = baseStyled.div<Props>`\n display: grid;\n grid-template-columns: ${getColumns};\n grid-template-rows: ${getRows};\n ${grid};\n`;\nexport default Grid;\n","import React from \"react\";\nimport styled, { useTheme } from \"styled-components\";\nimport Flex from \"../../Flex\";\nimport Text from \"../../../asorted/Text\";\nimport { rgba } from \"../../../../styles/helpers\";\n\nexport type Item = {\n element: React.ReactNode | string;\n};\n\nexport type Props = {\n steps: Item[];\n bgIndexColor?: string;\n indexColor?: string;\n textColor?: string;\n};\n\nexport default function NumberedList({ steps, bgIndexColor, indexColor, textColor }: Props) {\n const { colors } = useTheme();\n const backgroundIndexColor = bgIndexColor ?? colors.primary.c80;\n const indexTextColor = indexColor ?? colors.neutral.c00;\n const mainTextColor = textColor ?? rgba(colors.neutral.c100, 0.7);\n return (\n <Flex flexDirection=\"column\" rowGap={\"14px\"}>\n {steps?.map((step, index) => (\n <Flex key={index} flexDirection=\"row\" alignItems=\"center\">\n {NumberItem(index + 1, backgroundIndexColor, indexTextColor)}\n\n {typeof step.element === \"string\" ? (\n <Text\n key={index}\n fontSize={14}\n variant=\"body\"\n color={mainTextColor}\n ml=\"12px\"\n fontWeight=\"500\"\n flex={1}\n >\n {step.element}\n </Text>\n ) : (\n step.element\n )}\n </Flex>\n ))}\n </Flex>\n );\n}\n\nconst NumberItem = (index: number, bgColor: string, color: string) => {\n return (\n <StyledNumberItem bgColor={bgColor}>\n <Text color={color} fontWeight=\"900\" fontSize={\"11px\"}>\n {index}\n </Text>\n </StyledNumberItem>\n );\n};\n\nconst StyledNumberItem = styled(Flex)<{ bgColor: string }>`\n border-radius: 50%;\n background-color: ${p => p.bgColor};\n align-items: center;\n justify-content: center;\n height: 16px;\n width: 16px;\n`;\n","import React from \"react\";\nimport CircledCheckSolidMedium from \"@ledgerhq/icons-ui/reactLegacy/CircledCheckSolidMedium\";\nimport styled, { useTheme } from \"styled-components\";\n\nimport Flex, { FlexBoxProps as FlexProps } from \"../../Flex\";\nimport { ItemStatus } from \"./index\";\nimport { Theme } from \"../../../../styles/theme\";\n\nconst linesWidth = 2;\n\nconst BottomSegment = styled(Flex)<{ status: ItemStatus; hidden?: boolean }>`\n flex: 1;\n border-left-width: ${p => (p.hidden ? 0 : linesWidth)}px;\n border-right-width: 0;\n border-style: dashed;\n border-color: ${p =>\n p.status === \"completed\" ? p.theme.colors.primary.c80 : p.theme.colors.neutral.c40};\n background: ${p => p.status === \"completed\" && p.theme.colors.primary.c80};\n`;\n\nconst getIconBackground = (theme: Theme, status: ItemStatus, isLastItem?: boolean) => {\n if (isLastItem) {\n if (status === \"inactive\") return theme.colors.success.c10;\n return \"transparent\";\n } else if (status === \"active\") {\n return theme.colors.neutral.c40;\n } else {\n return \"transparent\";\n }\n};\n\nconst getIconBorder = (theme: Theme, status: ItemStatus, isLastItem?: boolean) => {\n if (isLastItem) {\n return theme.colors.success.c70;\n } else if (status === \"inactive\") {\n return theme.colors.neutral.c40;\n }\n return theme.colors.primary.c80;\n};\n\nconst CenterCircle = styled(Flex)<{\n status: ItemStatus;\n isLastItem?: boolean;\n isNeutral?: boolean;\n}>`\n border-radius: 9999px;\n width: 100%;\n background: ${p => getIconBackground(p.theme, p.status, p.isLastItem && !p.isNeutral)};\n border: 2px solid ${p => getIconBorder(p.theme, p.status, p.isLastItem && !p.isNeutral)};\n align-items: center;\n justify-content: center;\n position: relative;\n`;\n\nconst IconWrapper = styled(Flex)`\n height: 16px;\n width: 16px;\n`;\n\nexport type Props = FlexProps & {\n status: \"inactive\" | \"active\" | \"completed\";\n isFirstItem?: boolean;\n isLastItem?: boolean;\n isNeutral?: boolean;\n};\n\nconst topSegmentDefaultHeight = 23;\n\nconst Container = styled(Flex)`\n flex-direction: column;\n align-items: center;\n margin-bottom: ${-topSegmentDefaultHeight}px;\n padding-top: ${topSegmentDefaultHeight}px;\n`;\n\nfunction TimelineIndicator({ status, isLastItem, isNeutral, ...props }: Props) {\n const { colors } = useTheme();\n\n return (\n <Container {...props}>\n <IconWrapper>\n <CenterCircle status={status} isLastItem={isLastItem} isNeutral={isNeutral}>\n {status === \"completed\" && (\n <Flex position=\"absolute\">\n <CircledCheckSolidMedium\n color={isLastItem && !isNeutral ? colors.success.c70 : colors.primary.c80}\n size={20}\n />\n </Flex>\n )}\n </CenterCircle>\n </IconWrapper>\n {isLastItem ? null : <BottomSegment status={status} />}\n </Container>\n );\n}\n\nexport default React.memo(TimelineIndicator);\n\nTimelineIndicator.topSegmentDefaultHeight = topSegmentDefaultHeight;\n","import React from \"react\";\n\nimport { Theme } from \"../../../../styles/theme\";\nimport styled, { useTheme } from \"styled-components\";\n\nimport { Item, ItemStatus } from \".\";\nimport { Flex, Box } from \"../..\";\nimport { Text } from \"../../..\";\nimport Tag from \"../../../Tag\";\nimport InfiniteLoader from \"../../../loaders/InfiniteLoader\";\n\nimport TimelineIndicator from \"./TimelineIndicator\";\n\nexport type Props = {\n item: Item;\n isFirstItem?: boolean;\n isLastItem?: boolean;\n onClick?: () => void;\n activeBackground?: string;\n isNeutral?: boolean;\n};\n\nconst getContainerBackground = (theme: Theme, status: ItemStatus, activeBackground?: string) => {\n if (status === \"completed\") {\n return \"transparent\";\n } else if (status === \"active\") {\n return activeBackground || theme.colors.neutral.c20;\n }\n return \"transparent\";\n};\n\nconst getContainerBorder = (theme: Theme, status: ItemStatus, isLastItem?: boolean) => {\n if (status === \"completed\") {\n return \"transparent\";\n } else if (isLastItem && status === \"active\") {\n return theme.colors.success.c50;\n } else if (status === \"active\") {\n return theme.colors.neutral.c40;\n }\n return \"transparent\";\n};\n\nconst Container = styled(Flex)<{\n status: ItemStatus;\n isLastItem?: boolean;\n activeBackground?: string;\n}>`\n position: relative;\n flex: 1;\n border-radius: ${p => p.theme.radii[2]}px;\n background: ${p => getContainerBackground(p.theme, p.status, p.activeBackground)};\n border: 1px solid ${p => getContainerBorder(p.theme, p.status, p.isLastItem)};\n`;\n\nconst TextContainer = styled(Flex)`\n flex: 1;\n padding: 20px 16px;\n`;\n\nconst TimelineIndicatorContentHeader = styled(Flex)`\n justify-content: space-between;\n align-items: center;\n`;\n\nfunction TimelineItem({ item, isFirstItem, isLastItem, onClick, isNeutral }: Props) {\n const { colors } = useTheme();\n\n return (\n <Flex flexDirection=\"row\" onClick={onClick} flex={1}>\n <TimelineIndicator\n status={item.status}\n isFirstItem={isFirstItem}\n isLastItem={isLastItem}\n mr={4}\n isNeutral={isNeutral}\n />\n <Container\n status={item.status}\n isLastItem={isLastItem && !isNeutral}\n overflow=\"hidden\"\n activeBackground={item.activeBackground}\n >\n {item.status === \"active\" ? item.background : null}\n\n <TextContainer mb={4} flexDirection=\"column\" zIndex={1}>\n <TimelineIndicatorContentHeader height=\"20px\">\n <Text\n variant=\"body\"\n fontWeight={item.status === \"active\" ? \"semiBold\" : \"medium\"}\n color={\n item.status !== \"inactive\" && isLastItem && !isNeutral\n ? \"success.c70\"\n : item.status === \"active\"\n ? \"primary.c80\"\n : \"neutral.c70\"\n }\n >\n {item.title}\n </Text>\n {(item?.estimatedTime && item.status === \"active\" && (\n <Tag\n size=\"small\"\n type=\"opacity\"\n active\n disabled\n textProps={{ color: colors.neutral.c100 }}\n >{`${item.estimatedTime / 60} min`}</Tag>\n )) ||\n (item?.hasLoader && item.status === \"active\" && <InfiniteLoader size={30} />)}\n </TimelineIndicatorContentHeader>\n {item.renderBody && item.status === \"active\" && (\n <Box position=\"relative\" pt={6}>\n {item.renderBody(item.status === \"active\")}\n </Box>\n )}\n </TextContainer>\n </Container>\n </Flex>\n );\n}\n\nexport default React.memo(TimelineItem);\n","import React, { ReactNode } from \"react\";\n\nimport TimelineItem from \"./TimelineItem\";\nimport { Flex } from \"../..\";\nimport Text, { TextProps } from \"../../../asorted/Text\";\nimport { BaseStyledProps } from \"../../../styled\";\n\nexport type ItemStatus = \"inactive\" | \"active\" | \"completed\";\n\nexport type Item = {\n status: ItemStatus;\n title: string;\n renderBody?: (isDisplayed?: boolean) => ReactNode;\n estimatedTime?: number;\n hasLoader?: boolean;\n background?: ReactNode;\n activeBackground?: string;\n};\n\nexport type Props = BaseStyledProps & {\n steps?: Item[];\n onClickIndex?: (index: number) => void;\n isNeutral?: boolean;\n};\n\ntype TextComponentProps = React.PropsWithChildren<TextProps>;\n\nexport interface VerticalTimelineType extends React.FC<Props> {\n BodyText: React.FC<TextComponentProps>;\n SubtitleText: React.FC<TextComponentProps>;\n}\n\nconst VerticalTimelineImpl: VerticalTimelineType = function VerticalTimeline({\n steps,\n onClickIndex,\n isNeutral,\n ...props\n}: Props) {\n return (\n <Flex {...props} flexDirection=\"column\" flex={1}>\n {steps?.map((step, index) => (\n <TimelineItem\n key={index}\n item={step}\n isFirstItem={index === 0}\n isLastItem={index === steps.length - 1}\n onClick={onClickIndex ? () => onClickIndex(index) : undefined}\n isNeutral={isNeutral}\n />\n ))}\n </Flex>\n );\n};\n\nconst SubtitleText: React.FC<TextComponentProps> = props => (\n <Text variant=\"body\" fontWeight=\"semiBold\" color=\"neutral.c100\" mb={3} {...props} />\n);\n\nconst BodyText: React.FC<TextComponentProps> = props => (\n <Text variant=\"bodyLineHeight\" fontWeight=\"medium\" color=\"neutral.c80\" {...props} />\n);\n\nVerticalTimelineImpl.BodyText = BodyText;\nVerticalTimelineImpl.SubtitleText = SubtitleText;\n\nexport default VerticalTimelineImpl;\n","import React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport styled from \"styled-components\";\nimport CloseIcon from \"@ledgerhq/icons-ui/reactLegacy/CloseMedium\";\nimport ArrowLeftIcon from \"@ledgerhq/icons-ui/reactLegacy/ArrowLeftMedium\";\n\nimport baseStyled, { BaseStyledProps } from \"../../styled\";\nimport Flex from \"../../layout/Flex\";\nimport type { FlexBoxProps } from \"../../layout/Flex\";\nimport Button from \"../../cta/Button\";\nimport TransitionInOut from \"../../transitions/TransitionInOut\";\nimport TransitionScale from \"../../transitions/TransitionScale\";\n\nexport interface PopinProps extends FlexBoxProps {\n isOpen: boolean;\n children: React.ReactNode;\n menuPortalTarget?: Element | null;\n}\n\nexport type PopinHeaderProps = BaseStyledProps & {\n onClose?: () => void;\n onBack?: () => void;\n children: React.ReactNode;\n};\n\nconst ICON_SIZE = 20;\n\nconst Wrapper = styled(Flex).attrs<FlexBoxProps>(p => ({\n flexDirection: \"column\",\n alignItems: \"stretch\",\n justifyContent: \"space-between\",\n height: p.height || `${p.theme.sizes.drawer.popin.max.height}px`,\n width: p.width || `${p.theme.sizes.drawer.popin.max.width}px`,\n minHeight: `${p.theme.sizes.drawer.popin.min.height}px`,\n minWidth: `${p.theme.sizes.drawer.popin.min.width}px`,\n maxHeight: `${p.theme.sizes.drawer.popin.max.height}px`,\n maxWidth: `${p.theme.sizes.drawer.popin.max.width}px`,\n zIndex: p.theme.zIndexes[8],\n p: p.p !== undefined ? p.p : p.theme.space[10],\n rowGap: 6,\n backgroundColor: \"background.main\",\n}))``;\n\nconst Overlay = styled(Flex).attrs(p => ({\n justifyContent: \"center\",\n alignItems: \"center\",\n width: \"100vw\",\n height: \"100vh\",\n zIndex: p.theme.zIndexes[8],\n position: \"fixed\",\n top: 0,\n left: 0,\n backgroundColor: \"constant.overlay\",\n}))``;\n\nconst Header = baseStyled.section`\n display: grid;\n grid-template-columns: [icon] ${ICON_SIZE}px [title] 1fr [icon] ${ICON_SIZE}px;\n column-gap: 12px;\n`;\n\nconst HeaderTitleContainer = styled(Flex).attrs(() => ({\n justifyContent: \"center\",\n}))``;\n\nconst PopinBody = baseStyled(Flex).attrs({\n as: \"section\",\n flexDirection: \"column\",\n flex: 1,\n overflow: \"auto\",\n})``;\n\nconst PopinFooter = baseStyled(Flex).attrs({ as: \"section\" })``;\n\nconst IconContainer = styled(Button.Unstyled)`\n display: flex;\n align-items: center;\n`;\n\nconst PopinHeader = ({ children, onClose, onBack, ...props }: PopinHeaderProps) => (\n <Header {...props}>\n <Flex>\n {onBack ? (\n <IconContainer onClick={onBack}>\n <ArrowLeftIcon size={ICON_SIZE} color=\"neutral.c100\" />\n </IconContainer>\n ) : null}\n </Flex>\n <HeaderTitleContainer>{children}</HeaderTitleContainer>\n <Flex>\n {onClose ? (\n <IconContainer onClick={onClose}>\n <CloseIcon size={ICON_SIZE} color=\"neutral.c100\" />\n </IconContainer>\n ) : null}\n </Flex>\n </Header>\n);\n\nconst Popin = ({ isOpen, children, width, height, ...props }: PopinProps) => (\n <TransitionInOut in={isOpen} appear mountOnEnter unmountOnExit>\n <Overlay>\n <TransitionScale in={isOpen} appear>\n <Wrapper width={width} height={height} {...props}>\n {children}\n </Wrapper>\n </TransitionScale>\n </Overlay>\n </TransitionInOut>\n);\n\nconst PopinWrapper = ({\n children,\n menuPortalTarget,\n ...popinProps\n}: PopinProps): React.ReactElement => {\n const $root = React.useMemo(\n () =>\n menuPortalTarget === undefined && typeof document !== \"undefined\"\n ? document.querySelector(\"body\")\n : menuPortalTarget,\n [menuPortalTarget],\n );\n if (!$root) {\n return <Popin {...popinProps}>{children}</Popin>;\n } else {\n return ReactDOM.createPortal(<Popin {...popinProps}>{children}</Popin>, $root);\n }\n};\n\nPopinWrapper.Header = PopinHeader;\nPopinWrapper.Body = PopinBody;\nPopinWrapper.Footer = PopinFooter;\n\nexport default PopinWrapper;\n","import React, { useReducer, useEffect, useCallback, useContext } from \"react\";\nimport type { SideProps } from \".\";\n\ninterface State<P extends SideProps = SideProps> {\n Component: React.ComponentType<P> | null | undefined;\n props?: P;\n open: boolean;\n}\n// actions\n// it makes them available and current from connector events handlers\nexport let setSide: <P extends SideProps = SideProps>(\n Component?: State<P>[\"Component\"],\n props?: State<P>[\"props\"],\n) => void = () => {};\n\n// reducer\nconst reducer = <P extends SideProps = SideProps>(state: State<P>, update: State<P>) => {\n return { ...state, ...update };\n};\n\nconst initialState: State = {\n Component: null,\n open: false,\n};\n\ninterface ContextValue<P extends SideProps = SideProps> {\n state: State<P>;\n setSide: (Component?: React.ComponentType<P>, props?: P) => void;\n}\n\nexport const context = React.createContext<ContextValue>({\n state: initialState,\n setSide: () => {},\n});\n\nexport const useSide = (): ContextValue => {\n return useContext(context);\n};\n\nconst SideProvider = ({ children }: { children: React.ReactNode }): React.JSX.Element => {\n const [state, dispatch] = useReducer(reducer, initialState);\n\n const _setSide = useCallback((Component: any, props: any) => {\n dispatch({\n Component,\n props,\n open: !!Component,\n });\n }, []);\n\n useEffect(() => {\n setSide = _setSide;\n }, [_setSide]);\n\n return (\n <context.Provider\n value={{\n state,\n setSide: _setSide,\n }}\n >\n {children}\n </context.Provider>\n );\n};\n\nexport default SideProvider;\n","import React, { useRef, useCallback, useEffect, useState } from \"react\";\nimport { TransitionGroup } from \"react-transition-group\";\nimport Drawer from \"../Drawer\";\nimport TransitionSlide from \"../../transitions/TransitionSlide\";\nimport { useSide } from \"./Provider\";\n\nexport interface SideProps {\n onBack?: () => void;\n}\n\nexport const SideWrapper = (props: SideProps): React.JSX.Element => {\n // Nb Note that it's not a real queue and we need to handle where we go from each _slide_\n const { state, setSide } = useSide();\n const [queue, setQueue] = useState<\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Array<{ Component: React.ComponentType | null | undefined; props?: any; key: number }>\n >([]);\n const [direction, setDirection] = useState(\"left\");\n const [transitionsEnabled, setTransitionsEnabled] = useState(false);\n const nonce = useRef(0);\n const onClose = useCallback(() => setSide(), [setSide]);\n\n useEffect(() => {\n setQueue(q => {\n if (!state.open || !state.Component) return [];\n return q.concat([{ ...state, key: nonce.current++ }]);\n });\n }, [state]);\n\n useEffect(() => {\n let timeout: number;\n\n if (queue.length > 1) {\n const [, ...rest] = queue;\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore mismatch between nodejs and dom types\n timeout = setTimeout(() => {\n setQueue(rest);\n setDirection(\"left\");\n }, 0);\n }\n\n return () => {\n if (timeout) clearTimeout(timeout);\n };\n }, [queue]);\n\n const wrappedOnBack = useCallback(() => {\n setDirection(\"right\");\n const onBack = state?.props?.onBack;\n onBack && onBack();\n }, [state?.props]);\n\n return (\n <Drawer\n {...props}\n isOpen={!!state.open}\n onClose={onClose}\n onBack={state?.props?.onBack ? wrappedOnBack : undefined}\n setTransitionsEnabled={setTransitionsEnabled}\n hideNavigation={false}\n >\n <TransitionGroup enter={transitionsEnabled} exit={transitionsEnabled} component={null}>\n {queue.map(({ Component, props, key }) => (\n <TransitionSlide key={key} direction={direction}>\n {Component && <Component {...props} />}\n </TransitionSlide>\n ))}\n </TransitionGroup>\n </Drawer>\n );\n};\n\nexport default SideWrapper;\n","import React from \"react\";\nimport styled, { keyframes } from \"styled-components\";\nimport { system, size, SizeProps } from \"styled-system\";\n\nconst rotate = keyframes`\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n`;\n\nconst Loader = styled.svg<SizeProps>`\n animation: ${rotate} 1s linear infinite;\n ${size}\n ${system({\n stroke: {\n property: \"stroke\",\n scale: \"colors\",\n },\n })}\n`;\nexport type Props = React.ComponentProps<typeof Loader> & {\n color?: string;\n};\n\nexport default function InfiniteLoader({\n size = 38,\n color = \"primary.c50\",\n ...extraProps\n}: Props): React.JSX.Element {\n return (\n <Loader\n size={size}\n stroke={color}\n viewBox=\"0 0 38 38\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...extraProps}\n >\n <linearGradient\n id=\"gradient-start\"\n gradientUnits=\"userSpaceOnUse\"\n gradientTransform=\"rotate(-20)\"\n >\n <stop offset=\"0\" stopColor=\"white\" stopOpacity=\"0.5\" />\n <stop offset=\"1\" stopColor=\"white\" stopOpacity=\"1\" />\n </linearGradient>\n <linearGradient\n id=\"gradient-end\"\n gradientUnits=\"userSpaceOnUse\"\n gradientTransform=\"rotate(-20)\"\n >\n <stop offset=\"0\" stopColor=\"white\" stopOpacity=\"0.5\" />\n <stop offset=\"1\" stopColor=\"white\" stopOpacity=\"0\" />\n </linearGradient>\n\n <mask id=\"gradient-mask\" maskUnits=\"userSpaceOnUse\">\n <rect\n x=\"-0\"\n y=\"-4\"\n width=\"44\"\n height=\"22\"\n strokeWidth=\"0\"\n fill=\"url(#gradient-start)\"\n transform=\"rotate(10)\"\n />\n <rect\n x=\"0\"\n y=\"18\"\n width=\"44\"\n height=\"21\"\n strokeWidth=\"0\"\n fill=\"url(#gradient-end)\"\n transform=\"rotate(10)\"\n />\n </mask>\n <path\n d=\"M34.8807 20.9499C35.3608 17.0398 34.3815 13.09 32.1304 9.85712C29.8793 6.6242 26.5146 4.33541 22.6808 3.42914C18.847 2.52287 14.8136 3.06283 11.3532 4.94559C7.89277 6.82836 5.24858 9.92158 3.92708 13.6328C2.60558 17.344 2.69968 21.4123 4.19135 25.0584C5.68302 28.7045 8.4674 31.6722 12.0112 33.3929C15.5549 35.1137 19.609 35.4666 23.3968 34.384C27.1846 33.3015 30.4398 30.8596 32.5391 27.526\"\n strokeWidth=\"6\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n mask=\"url(#gradient-mask)\"\n />\n </Loader>\n );\n}\n","import { DefaultTheme, css } from \"styled-components\";\n\ntype Props = { theme: DefaultTheme };\n\nexport default css`\n .tippy-box[data-animation=\"fade\"][data-state=\"hidden\"] {\n opacity: 0;\n }\n\n [data-tippy-root] {\n max-width: calc(100vw - 10px);\n }\n\n .tippy-box {\n position: relative;\n background-color: ${(p: Props) => p.theme.colors.neutral.c100};\n color: ${(p: Props) => p.theme.colors.neutral.c00};\n border-radius: 4px;\n font-size: 14px;\n line-height: 1.4;\n outline: 0;\n transition-property: transform, visibility, opacity;\n }\n\n .tippy-arrow {\n width: 16px;\n height: 16px;\n color: ${(p: Props) => p.theme.colors.neutral.c100};\n }\n\n .tippy-arrow:before {\n content: \"\";\n position: absolute;\n border-color: transparent;\n border-style: solid;\n }\n\n .tippy-box[data-placement^=\"top\"] > .tippy-arrow {\n bottom: 0;\n }\n\n .tippy-box[data-placement^=\"top\"] > .tippy-arrow:before {\n bottom: -4px;\n left: 0;\n border-width: 10px 10px 0;\n border-top-color: initial;\n transform-origin: center top;\n }\n\n .tippy-box[data-placement^=\"bottom\"] > .tippy-arrow {\n top: 0;\n }\n\n .tippy-box[data-placement^=\"bottom\"] > .tippy-arrow:before {\n top: -4px;\n left: 0;\n border-width: 0 10px 10px;\n border-bottom-color: initial;\n transform-origin: center bottom;\n }\n\n .tippy-box[data-placement^=\"left\"] > .tippy-arrow {\n right: 0;\n }\n\n .tippy-box[data-placement^=\"left\"] > .tippy-arrow:before {\n border-width: 10px 0 10px 10px;\n border-left-color: initial;\n right: -4px;\n transform-origin: center left;\n }\n\n .tippy-box[data-placement^=\"right\"] > .tippy-arrow {\n left: 0;\n }\n\n .tippy-box[data-placement^=\"right\"] > .tippy-arrow:before {\n left: -4px;\n border-width: 10px 10px 10px 0;\n border-right-color: initial;\n transform-origin: center right;\n }\n\n .tippy-box[data-inertia][data-state=\"visible\"] {\n transition-timing-function: cubic-bezier(0.54, 1.5, 0.38, 1.11);\n }\n\n .tippy-content {\n position: relative;\n padding: 8px 10px;\n z-index: 1;\n }\n`;\n","import React from \"react\";\nimport gaps from \"../styles/system/gaps\";\nimport styled, { StyledInterface, InterpolationFunction } from \"styled-components\";\nimport {\n compose,\n flexbox,\n FlexboxProps,\n space,\n SpaceProps,\n position,\n PositionProps,\n color,\n ColorProps,\n layout,\n LayoutProps,\n overflow,\n OverflowProps,\n border,\n BorderProps,\n} from \"styled-system\";\n\nexport type BaseStyledProps = SpaceProps &\n FlexboxProps &\n PositionProps &\n ColorProps &\n LayoutProps &\n BorderProps &\n OverflowProps & {\n /**\n * The columnGap CSS property sets the size of the gap (gutter) between an element's grid columns.\n */\n columnGap?: string | number;\n /**\n * The rowGap CSS property sets the size of the gap (gutter) between an element's grid rows.\n */\n rowGap?: string | number;\n color?: string;\n children?: React.ReactNode;\n };\n\nexport const baseStyles: InterpolationFunction<unknown> = compose(\n flexbox,\n space,\n position,\n color,\n layout,\n overflow,\n gaps,\n border,\n);\n\nconst proxyStyled = new Proxy(styled, {\n apply(target: typeof styled, thisArg, argumentsList: Parameters<typeof styled>) {\n return styled(target.apply(thisArg, argumentsList)(baseStyles));\n },\n get(target, property: keyof typeof styled) {\n if (typeof target[property] === \"function\") {\n return styled(target[property].apply(styled, [baseStyles]));\n }\n return target[property];\n },\n});\n\nexport default <StyledInterface>proxyStyled;\n","import React, { useRef } from \"react\";\nimport { CSSTransition } from \"react-transition-group\";\nimport { CSSTransitionProps } from \"react-transition-group/CSSTransition\";\nimport styled from \"styled-components\";\nconst duration = 150;\nconst ChildrenWrapper = styled.div<{ timeout: number }>`\n transition: ${props => `opacity ${props.timeout}ms ease-in-out`};\n\n &.transition-inout-enter {\n opacity: 0;\n }\n\n &.transition-inout-enter-active {\n opacity: 1;\n }\n\n &.transition-inout-exit {\n opacity: 1;\n }\n\n &.transition-inout-exit-active {\n opacity: 0;\n }\n`;\ntype TransitionInOutProps = Partial<\n CSSTransitionProps<HTMLDivElement> & {\n children: React.ReactNode;\n in: boolean;\n timeout?: number;\n appear?: boolean;\n mountOnEnter?: boolean;\n unmountOnExit?: boolean;\n }\n>;\n\nconst TransitionInOut = ({\n children,\n in: inProp,\n timeout = duration,\n ...TransitionProps\n}: TransitionInOutProps): React.JSX.Element => {\n const nodeRef = useRef<HTMLDivElement>(null);\n return (\n <CSSTransition\n {...TransitionProps}\n nodeRef={nodeRef}\n in={inProp}\n timeout={timeout}\n classNames=\"transition-inout\"\n >\n <ChildrenWrapper ref={nodeRef} timeout={timeout}>\n {children}\n </ChildrenWrapper>\n </CSSTransition>\n );\n};\n\nexport default TransitionInOut;\n","import React, { useRef } from \"react\";\nimport { CSSTransition } from \"react-transition-group\";\nimport { CSSTransitionProps } from \"react-transition-group/CSSTransition\";\nimport styled from \"styled-components\";\nconst duration = 150;\nconst ChildrenWrapper = styled.div`\n transition: transform ${duration}ms;\n\n &.transition-scale-appear {\n transform: scale(0.9);\n }\n\n &.transition-scale-appear-active {\n transform: scale(1);\n }\n\n &.transition-scale-exit {\n transform: scale(1);\n }\n\n &.transition-scale-exit-active {\n transform: scale(0.9);\n }\n`;\ntype TransitionScaleProps = Partial<\n CSSTransitionProps<HTMLDivElement> & {\n children: React.ReactNode;\n in: boolean;\n timeout?: number;\n appear?: boolean;\n mountOnEnter?: boolean;\n unmountOnExit?: boolean;\n }\n>;\n\nconst TransitionScale = ({\n children,\n in: inProp,\n timeout = duration,\n ...TransitionProps\n}: TransitionScaleProps) => {\n const nodeRef = useRef<HTMLDivElement>(null);\n return (\n <CSSTransition\n {...TransitionProps}\n nodeRef={nodeRef}\n in={inProp}\n timeout={timeout}\n classNames=\"transition-scale\"\n >\n <ChildrenWrapper ref={nodeRef}>{children}</ChildrenWrapper>\n </CSSTransition>\n );\n};\n\nexport default TransitionScale;\n","import React, { useRef } from \"react\";\nimport { CSSTransition } from \"react-transition-group\";\nimport { CSSTransitionProps } from \"react-transition-group/CSSTransition\";\nimport styled from \"styled-components\";\nconst duration = 300;\nconst ChildrenWrapper = styled.div<{ fixed?: boolean; reverseExit?: boolean }>`\n transition: all ${duration}ms ease-in-out;\n will-change: transform;\n ${p =>\n !p.fixed\n ? `\n position: absolute;\n width: 100%;\n `\n : \"\"}\n height: 100%;\n\n &.transition-left-appear,\n &.transition-left-enter {\n transform: translateX(100%);\n }\n\n &.transition-left-appear-active,\n &.transition-left-enter-active {\n transform: translateX(0%);\n }\n\n &.transition-left-exit {\n transform: translateX(0%);\n }\n\n &.transition-left-exit-active {\n transform: translateX(${p => (p.reverseExit ? 100 : -100)}%);\n }\n\n &.transition-right-appear,\n &.transition-right-enter {\n transform: translateX(-100%);\n }\n\n &.transition-right-appear-active,\n &.transition-right-enter-active {\n transform: translateX(0%);\n }\n\n &.transition-right-exit {\n transform: translateX(0%);\n }\n\n &.transition-right-exit-active {\n transform: translateX(${p => (p.reverseExit ? -100 : 100)}%);\n }\n`;\ntype TransitionSlideProps = Partial<\n CSSTransitionProps<HTMLDivElement> & {\n children: React.ReactNode;\n fixed: boolean;\n reverseExit?: boolean;\n direction?: \"left\" | \"right\" | string;\n }\n>;\n\nconst TransitionSlide = ({\n children,\n fixed,\n direction = \"left\",\n reverseExit,\n ...props\n}: TransitionSlideProps) => {\n const nodeRef = useRef<HTMLDivElement>(null);\n return (\n <CSSTransition\n {...props}\n nodeRef={nodeRef}\n timeout={duration}\n classNames={`transition-${direction}`}\n >\n <ChildrenWrapper ref={nodeRef} fixed={fixed} reverseExit={reverseExit}>\n {children}\n </ChildrenWrapper>\n </CSSTransition>\n );\n};\n\nexport default TransitionSlide;\n","import React, { useMemo } from \"react\";\nimport { ThemeProvider } from \"styled-components\";\nimport { defaultTheme, GlobalStyle, GlobalStyleProps } from \".\";\nimport { ThemeNames, palettes } from \"@ledgerhq/ui-shared\";\nimport { Theme } from \"./theme\";\nimport \"./override\";\n\ninterface Props extends GlobalStyleProps {\n children: React.ReactNode;\n selectedPalette?: ThemeNames;\n}\n\nexport const StyleProvider = ({\n children,\n fontsPath,\n fontMappings,\n selectedPalette = \"light\",\n}: Props): React.ReactElement => {\n const theme: Theme = useMemo(\n () => ({\n ...defaultTheme,\n colors: {\n ...defaultTheme.colors,\n ...palettes[selectedPalette],\n palette: palettes[selectedPalette],\n },\n theme: selectedPalette,\n }),\n [selectedPalette],\n );\n return (\n <ThemeProvider theme={theme}>\n <GlobalStyle fontsPath={fontsPath} fontMappings={fontMappings} />\n {children}\n </ThemeProvider>\n );\n};\n","import { createGlobalStyle } from \"styled-components\";\n\nimport { rgba } from \"./helpers\";\nimport tippyStyles from \"../components/message/Tooltip/styles\";\nimport { fontStyles } from \"../components/asorted/Text/styles\";\n\nexport type GlobalStyleProps = {\n fontsPath?: string;\n fontMappings?: (name: string) => string;\n};\n\nexport const GlobalStyle = createGlobalStyle<GlobalStyleProps>`\n html {\n box-sizing: border-box;\n }\n\n body {\n font-family: Inter, sans-serif;\n font-size: 100%;\n }\n\n * {\n margin: 0;\n padding: 0;\n font: inherit;\n color: inherit;\n user-select: inherit;\n cursor: inherit;\n }\n\n ::selection {\n background: ${p => rgba(p.theme.colors.primary.c100, 0.1)};\n }\n\n --track-color: rgba(0,0,0,0);\n\n ${props => (typeof props.fontsPath === \"string\" ? fontStyles : \"\")}\n\n ${tippyStyles}\n\n ::-webkit-scrollbar {\n width: 12px;\n height: 12px;\n background-color: rgba(0,0,0,0);\n }\n ::-webkit-scrollbar-button {\n opacity: 0;\n height: 0;\n width: 0;\n }\n ::-webkit-scrollbar-track {\n background-color: rgba(0,0,0,0);\n }\n ::-webkit-scrollbar-thumb {\n box-shadow: inset 0 0 0 12px var(--track-color);\n border: 2px solid rgba(0,0,0,0);\n border-radius: 12px;\n }\n ::-webkit-scrollbar-corner {\n opacity: 0;\n }\n`;\n","import Color from \"color\";\n\nimport { fontFamilies } from \"./theme\";\n\nexport const rgba = (c: string, a: number): string => Color(c).alpha(a).rgb().toString();\n\nexport const darken = (c: string, a: number): string => Color(c).darken(a).toString();\n\nexport const lighten = (c: string, a: number): string => Color(c).lighten(a).toString();\n\nexport const mix = (c: string, b: string, a: number): string =>\n Color(c).mix(Color(b), a).toString();\n\nexport const ff = (v: string) => {\n const [font, type = \"Regular\"] = v.split(\"|\");\n // @ts-expect-error FIXME\n const { style, weight } = fontFamilies[font][type];\n // @ts-expect-error FIXME\n const fallback: string = fontFamilies[font].fallback ?? \"Arial\";\n\n return {\n fontFamily: `${font}, ${fallback}`,\n fontWeight: weight,\n fontStyle: style,\n };\n};\n\nexport const ensureContrast = (color1: string, color2: string) => {\n const colorL1 = Color(color1).luminosity() + 0.05;\n const colorL2 = Color(color2).luminosity() + 0.05;\n\n const lRatio = colorL1 > colorL2 ? colorL1 / colorL2 : colorL2 / colorL1;\n\n if (lRatio < 1.5) {\n return Color(color1).rotate(180).negate().string();\n }\n return color1;\n};\n","import { ff } from \"../helpers\";\n\nexport default (props: { ff?: string }) => {\n const prop = props.ff;\n\n if (prop == null) {\n return null;\n }\n\n return ff(prop);\n};\n","import { system } from \"styled-system\";\n\nconst gaps = system({\n rowGap: { property: \"rowGap\", scale: \"space\" },\n columnGap: { property: \"columnGap\", scale: \"space\" },\n});\n\nexport default gaps;\n","import { keyframes, css, Font } from \"styled-components\";\nimport { palettes, ColorPalette } from \"@ledgerhq/ui-shared\";\n\nexport type screensBreakpoints = \"sm\" | \"md\" | \"lg\" | \"xl\" | \"xxl\";\n\nexport const breakpoints = {\n sm: \"640px\",\n md: \"768px\",\n lg: \"1024px\",\n xl: \"1280px\",\n xxl: \"1536px\",\n} as Record<screensBreakpoints, string>;\n\nexport const space = [\n /* space indexes:\n 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21 */\n 0, 2, 4, 8, 10, 12, 16, 20, 24, 28, 32, 36, 40, 44, 48, 52, 56, 60, 64, 68, 72, 76,\n];\n\nexport type TextVariants =\n | \"h1\"\n | \"h1Inter\"\n | \"h2\"\n | \"h2Inter\"\n | \"h3\"\n | \"h3Inter\"\n | \"h4\"\n | \"h4Inter\"\n | \"h5\"\n | \"h5Inter\"\n | \"large\"\n | \"largeLineHeight\"\n | \"body\"\n | \"bodyLineHeight\"\n | \"paragraph\"\n | \"paragraphLineHeight\"\n | \"small\"\n | \"extraSmall\"\n | \"tiny\"\n | \"micro\"\n | \"subtitle\";\n\nexport type ThemeScale<Type, Aliases extends string> = Array<Type> & Record<Aliases, Type>;\n\nexport const fontSizes = [8, 10, 11, 12, 13, 14, 16, 20, 24, 28, 32, 36] as ThemeScale<\n number,\n TextVariants\n>;\n\n[\n fontSizes.micro,\n fontSizes.tiny,\n fontSizes.extraSmall,\n fontSizes.small,\n fontSizes.paragraph,\n fontSizes.body,\n fontSizes.large,\n fontSizes.h5,\n fontSizes.h4,\n fontSizes.h3,\n fontSizes.h2,\n fontSizes.h1,\n] = fontSizes;\nfontSizes.largeLineHeight = fontSizes.large;\nfontSizes.bodyLineHeight = fontSizes.body;\nfontSizes.paragraphLineHeight = fontSizes.paragraph;\nfontSizes.subtitle = fontSizes.extraSmall;\nfontSizes.h1Inter = fontSizes.h1;\nfontSizes.h2Inter = fontSizes.h2;\nfontSizes.h3Inter = fontSizes.h3;\nfontSizes.h4Inter = fontSizes.h4;\nfontSizes.h5Inter = fontSizes.h5;\n\nconst fontWeights = {\n extraLight: \"100\",\n light: \"300\",\n regular: \"400\",\n medium: \"500\",\n semiBold: \"600\",\n bold: \"700\",\n extraBold: \"800\",\n};\n\nexport const radii = [0, 4, 8, 12, 16, 20];\nexport const shadows = [\"0 4px 8px 0 rgba(0, 0, 0, 0.03)\"];\nexport const zIndexes = [-1, 0, 1, 9, 10, 90, 100, 900, 1000];\n\n// Those fonts are now defined in global.css, this is just a mapping for styled-system\nexport const fontFamilies = {\n Inter: {\n ExtraLight: {\n weight: 100,\n style: \"normal\",\n },\n Light: {\n weight: 300,\n style: \"normal\",\n },\n Regular: {\n weight: 400,\n style: \"normal\",\n },\n Medium: {\n weight: 500,\n style: \"normal\",\n },\n SemiBold: {\n weight: 600,\n style: \"normal\",\n },\n Bold: {\n weight: 700,\n style: \"normal\",\n },\n ExtraBold: {\n weight: 800,\n style: \"normal\",\n },\n },\n Alpha: {\n Medium: {\n weight: 500,\n style: \"normal\",\n },\n },\n};\n\nconst animationDuration = \"0.33s\";\nconst easings = {\n outQuadratic: \"cubic-bezier(0.25, 0.46, 0.45, 0.94)\",\n};\n\nconst transition = (\n properties = [\"all\"],\n duration = animationDuration,\n easing = easings.outQuadratic,\n) => css`\n transition-property: ${properties.join(\",\")};\n transition-duration: ${duration};\n transition-timing-function: ${easing};\n`;\n\nconst fadeIn = keyframes`\n 0% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n `;\nconst fadeOut = keyframes`\n 0% {\n opacity: 1;\n }\n 100% {\n opacity: 0;\n }\n `;\nconst fadeInGrowX = keyframes`\n 0% {\n opacity: 0;\n transform: scaleX(0);\n }\n 100% {\n opacity: 1;\n transform: scaleX(1);\n }\n`;\nconst fadeInUp = keyframes`\n 0% {\n opacity: 0;\n transform: translateY(66%);\n }\n 100% {\n opacity: 1;\n transform: translateY(0%);\n }\n `;\nconst animations = {\n fadeIn: () => css`\n ${fadeIn} ${animationDuration} ${easings.outQuadratic} forwards\n `,\n fadeOut: () => css`\n ${fadeOut} ${animationDuration} ${easings.outQuadratic} forwards\n `,\n fadeInGrowX: () => css`\n ${fadeInGrowX} 0.6s ${easings.outQuadratic} forwards\n `,\n fadeInUp: () => css`\n ${fadeInUp} ${animationDuration} ${easings.outQuadratic} forwards\n `,\n};\nconst overflow = {\n x: css`\n overflow-y: hidden;\n overflow-x: scroll;\n will-change: transform;\n &:hover {\n --track-color: ${p => p.theme.colors.neutral.c30};\n }\n `,\n y: css`\n overflow-x: hidden;\n overflow-y: scroll;\n will-change: transform;\n &:hover {\n --track-color: ${p => p.theme.colors.neutral.c30};\n }\n `,\n yAuto: css`\n overflow-x: hidden;\n overflow-y: auto;\n will-change: transform;\n &:hover {\n --track-color: ${p => p.theme.colors.neutral.c30};\n }\n `,\n xy: css`\n overflow: scroll;\n will-change: transform;\n &:hover {\n --track-color: ${p => p.theme.colors.neutral.c30};\n }\n `,\n trackSize: 12,\n};\n\ninterface DefaultTheme {\n theme: \"dark\" | \"light\";\n animations: typeof animations;\n transition: typeof transition;\n overflow: typeof overflow;\n sizes: {\n topBarHeight: number;\n sideBarWidth: number;\n drawer: {\n side: {\n big: {\n width: number;\n };\n small: {\n width: number;\n };\n };\n popin: {\n min: {\n height: number;\n width: number;\n };\n max: {\n height: number;\n width: number;\n };\n };\n };\n };\n radii: number[];\n fontFamilies: Record<string, Record<string, Font>>;\n fontSizes: number[];\n space: number[];\n shadows: string[];\n colors: ColorPalette;\n fontWeights: Record<string, string>;\n breakpoints: Record<screensBreakpoints, string>;\n zIndexes: number[];\n}\n\nconst theme: DefaultTheme = {\n theme: \"light\",\n sizes: {\n drawer: {\n side: {\n big: {\n width: 580,\n },\n small: {\n width: 420,\n },\n },\n popin: {\n min: {\n height: 158,\n width: 462,\n },\n max: {\n height: 522,\n width: 622,\n },\n },\n },\n topBarHeight: 58,\n sideBarWidth: 230,\n },\n radii,\n fontFamilies,\n fontSizes,\n fontWeights,\n space,\n shadows,\n colors: palettes.light,\n animations,\n overflow,\n transition,\n zIndexes,\n breakpoints,\n};\n\nexport default theme;\nexport type Theme = DefaultTheme;\n","// getDefaultExport function for compatibility with non-ESM modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};\n","__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n }\n }\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","export { default as Flex } from \"./Flex\";\nexport { default as Box } from \"./Box\";\nexport { default as Grid } from \"./Grid\";\nexport { default as Popin } from \"./Popin\";\nexport { default as Side } from \"./Side\";\nexport { default as Drawer } from \"./Drawer\";\nexport { default as Carousel } from \"./Carousel\";\nexport { default as VerticalTimeline } from \"./List/VerticalTimeline\";\nexport { default as NumberedList } from \"./List/NumberedList\";\nexport { default as PortfolioContentCard } from \"./ContentCard/PortfolioContentCard\";\nexport { default as BannerCard } from \"./Banner/BannerCard\";\nexport { default as NotificationCard } from \"./Banner/NotificationCard\";\n"],"names":["React","border","Text","baseStyled","getColor","type","active","disabled","getBgColor","undefined","getBorderColor","getPadding","size","getTextProps","TagContainer","props","p","Tag","children","textProps","textColor","baseTextProps","styled","Flex","DividerBase","Divider","css","useTheme","Icons","Box","rgba","getColorsByIcon","colors","warning","getDefaultDefaultColors","primary","NotificationIcon","icon","variant","defaultColors","safeIcon","Icon","iconColor","iconBgColor","Wrapper","squareWrapper","roundWrapper","compose","fontSize","fontWeight","textAlign","lineHeight","letterSpacing","system","fontFamily","textVariantStyle","uppercase","value","color","getFontSource","name","fontsPath","fontName","fontStyles","ChevronBottom","useMemo","useState","fontSizes","IconContainer","getVariantColors","ButtonUnstyled","Base","buttonSizeStyle","variants","ContentContainer","Button","iconPosition","iconSize","onClick","ref","iconNodeSize","IconNode","ButtonWithRef","StyledButtonExpand","ButtonExpand","onToggle","expanded","setExpanded","event","StyleProvider","BannerCard","title","cta","description","descriptionWidth","tag","image","onClose","boxProps","handleClose","handleClick","StyledTag","Title","Desc","CloseButton","Grid","NotificationCard","isHighlighted","handleCTAClick","ChevronArrow","ChevronArrowContainer","direction","theme","animated","useSpring","ItemStatus","defaultBulletStyle","useBulletStyles","BulletStyle","Bullet","springStyle","getItemStatus","FooterCarouselBullets","Pagination","currentIndex","child","index","itemIndex","activeIndex","itemCount","isActive","isAdjacent","Math","isEdge","FooterContentCard","FooterDefault","Footers","Footer","Component","ArrowLeft","ArrowRight","FooterContainer","FooterArrowsContainer","FooterArrowContainer","emblaApi","Autoplay","useEmblaCarousel","debounce","useCallback","useEffect","Embla","EmblaContainer","EmblaSlide","CarouselContainer","Carousel","initialDelay","autoPlay","onNext","onPrev","setCurrentIndex","autoplayEnabled","setAutoplayEnabled","plugins","AutoplayFlags","emblaRef","timer","setTimeout","clearTimeout","updateIndex","newIndex","dragX","watchDragX","handleAnySelect","mightBeASwipe","handleSelect","handleAutoPlaySelect","handlePrevButton","handleNextButton","handleGotoPrevSlide","handleGotoNextSlide","watchMouse","start","end","document","handleMouseUp","handleMouseMove","PortfolioContentCard","ReactDOM","FlexBox","Close","TransitionSlide","TransitionInOut","Direction","Container","Overlay","ScrollWrapper","ButtonPlaceholder","DrawerContent","isOpen","footer","big","backgroundColor","setTransitionsEnabled","onBack","extraContainerProps","extraHeaderProps","extraFooterProps","extraFooterDividerProps","ignoreBackdropClick","hideNavigation","disableChildAnimations","enableChildAnimations","handleBackdropClick","stopClickPropagation","e","Drawer","menuPortalTarget","sideProps","$root","grid","getColumns","columns","getRows","rows","NumberedList","steps","bgIndexColor","indexColor","backgroundIndexColor","indexTextColor","mainTextColor","step","NumberItem","bgColor","StyledNumberItem","CircledCheckSolidMedium","linesWidth","BottomSegment","getIconBackground","status","isLastItem","getIconBorder","CenterCircle","IconWrapper","topSegmentDefaultHeight","TimelineIndicator","isNeutral","InfiniteLoader","getContainerBackground","activeBackground","getContainerBorder","TextContainer","TimelineIndicatorContentHeader","TimelineItem","item","isFirstItem","VerticalTimelineImpl","VerticalTimeline","onClickIndex","SubtitleText","BodyText","CloseIcon","ArrowLeftIcon","TransitionScale","ICON_SIZE","Header","HeaderTitleContainer","PopinBody","PopinFooter","PopinHeader","Popin","width","height","PopinWrapper","popinProps","useReducer","useContext","setSide","reducer","state","update","initialState","context","useSide","SideProvider","dispatch","_setSide","useRef","TransitionGroup","SideWrapper","queue","setQueue","setDirection","transitionsEnabled","nonce","q","timeout","rest","wrappedOnBack","key","keyframes","rotate","Loader","extraProps","gaps","flexbox","space","position","layout","overflow","baseStyles","proxyStyled","Proxy","target","thisArg","argumentsList","property","CSSTransition","duration","ChildrenWrapper","inProp","TransitionProps","nodeRef","fixed","reverseExit","ThemeProvider","defaultTheme","GlobalStyle","palettes","fontMappings","selectedPalette","createGlobalStyle","tippyStyles","Color","fontFamilies","c","a","darken","lighten","mix","b","ff","v","font","style","weight","fallback","ensureContrast","color1","color2","colorL1","colorL2","lRatio","prop","breakpoints","fontWeights","radii","shadows","zIndexes","animationDuration","easings","transition","properties","easing","fadeIn","fadeOut","fadeInGrowX","fadeInUp","animations","default","Side"],"mappings":"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"}