@ledgerhq/react-ui 0.48.0 → 0.49.0-nightly.20260317030141
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cjs/components/index.js +10 -33
- package/lib/cjs/components/index.js.map +1 -1
- package/lib/cjs/components/message/Tooltip/Tooltip.stories.js +10 -33
- package/lib/cjs/components/message/Tooltip/Tooltip.stories.js.map +1 -1
- package/lib/cjs/components/message/Tooltip/index.js +8 -31
- package/lib/cjs/components/message/Tooltip/index.js.map +1 -1
- package/lib/cjs/components/message/index.js +10 -33
- package/lib/cjs/components/message/index.js.map +1 -1
- package/lib/cjs/index.js +10 -33
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/pre-ldls/components/index.js +18 -38
- package/lib/cjs/pre-ldls/components/index.js.map +1 -1
- package/lib/cjs/pre-ldls/index.js +18 -39
- package/lib/cjs/pre-ldls/index.js.map +1 -1
- package/lib/components/message/Tooltip/index.d.ts.map +1 -1
- package/lib/components/message/Tooltip/index.js +5 -25
- package/lib/components/message/Tooltip/index.js.map +1 -1
- package/lib/pre-ldls/components/index.d.ts +0 -1
- package/lib/pre-ldls/components/index.d.ts.map +1 -1
- package/lib/pre-ldls/components/index.js +0 -1
- package/lib/pre-ldls/components/index.js.map +1 -1
- package/package.json +13 -3
- package/lib/cjs/pre-ldls/components/ApyIndicator/ApyIndicator.js +0 -1776
- package/lib/cjs/pre-ldls/components/ApyIndicator/ApyIndicator.js.map +0 -1
- package/lib/cjs/pre-ldls/components/ApyIndicator/ApyIndicator.stories.js +0 -1835
- package/lib/cjs/pre-ldls/components/ApyIndicator/ApyIndicator.stories.js.map +0 -1
- package/lib/pre-ldls/components/ApyIndicator/ApyIndicator.d.ts +0 -6
- package/lib/pre-ldls/components/ApyIndicator/ApyIndicator.d.ts.map +0 -1
- package/lib/pre-ldls/components/ApyIndicator/ApyIndicator.js +0 -6
- package/lib/pre-ldls/components/ApyIndicator/ApyIndicator.js.map +0 -1
- package/lib/pre-ldls/components/ApyIndicator/ApyIndicator.stories.d.ts +0 -10
- package/lib/pre-ldls/components/ApyIndicator/ApyIndicator.stories.d.ts.map +0 -1
- package/lib/pre-ldls/components/ApyIndicator/ApyIndicator.stories.js +0 -20
- package/lib/pre-ldls/components/ApyIndicator/ApyIndicator.stories.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components/index.js","sources":["webpack://@ledgerhq/react-ui/./src/assets/logos/LedgerLiveAltRegular.tsx","webpack://@ledgerhq/react-ui/./src/assets/logos/LedgerLiveRegular.tsx","webpack://@ledgerhq/react-ui/./src/components/Table/Columns.tsx","webpack://@ledgerhq/react-ui/./src/components/Table/index.tsx","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/BoxedIcon.tsx","webpack://@ledgerhq/react-ui/./src/components/asorted/Icon/Icon.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/asorted/index.ts","webpack://@ledgerhq/react-ui/./src/components/cta/Button/index.tsx","webpack://@ledgerhq/react-ui/./src/components/cta/Link/getLinkStyle.ts","webpack://@ledgerhq/react-ui/./src/components/cta/Link/index.tsx","webpack://@ledgerhq/react-ui/./src/components/cta/Toggle/index.tsx","webpack://@ledgerhq/react-ui/./src/components/cta/getCtaStyle.ts","webpack://@ledgerhq/react-ui/./src/components/cta/index.ts","webpack://@ledgerhq/react-ui/./src/components/form/BaseInput/index.tsx","webpack://@ledgerhq/react-ui/./src/components/form/Checkbox/Checkbox.tsx","webpack://@ledgerhq/react-ui/./src/components/form/Dropdown/index.tsx","webpack://@ledgerhq/react-ui/./src/components/form/LegendInput/index.tsx","webpack://@ledgerhq/react-ui/./src/components/form/NumberInput/index.tsx","webpack://@ledgerhq/react-ui/./src/components/form/QrCodeInput/index.tsx","webpack://@ledgerhq/react-ui/./src/components/form/QuantityInput/index.tsx","webpack://@ledgerhq/react-ui/./src/components/form/Radio/RadioElement.tsx","webpack://@ledgerhq/react-ui/./src/components/form/Radio/RadioListElement.tsx","webpack://@ledgerhq/react-ui/./src/components/form/Radio/index.tsx","webpack://@ledgerhq/react-ui/./src/components/form/SearchInput/index.tsx","webpack://@ledgerhq/react-ui/./src/components/form/SelectInput/Control.tsx","webpack://@ledgerhq/react-ui/./src/components/form/SelectInput/DropdownIndicator.tsx","webpack://@ledgerhq/react-ui/./src/components/form/SelectInput/IndicatorsContainer.tsx","webpack://@ledgerhq/react-ui/./src/components/form/SelectInput/MenuList.tsx","webpack://@ledgerhq/react-ui/./src/components/form/SelectInput/Option.tsx","webpack://@ledgerhq/react-ui/./src/components/form/SelectInput/ValueContainer.tsx","webpack://@ledgerhq/react-ui/./src/components/form/SelectInput/index.tsx","webpack://@ledgerhq/react-ui/./src/components/form/SplitInput/index.tsx","webpack://@ledgerhq/react-ui/./src/components/form/Switch/Switch.tsx","webpack://@ledgerhq/react-ui/./src/components/form/TabSelector/index.tsx","webpack://@ledgerhq/react-ui/./src/components/form/index.ts","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/layout/index.ts","webpack://@ledgerhq/react-ui/./src/components/loaders/InfiniteLoader/index.tsx","webpack://@ledgerhq/react-ui/./src/components/loaders/ProgressLoader/index.tsx","webpack://@ledgerhq/react-ui/./src/components/loaders/index.ts","webpack://@ledgerhq/react-ui/./src/components/message/Alert/index.tsx","webpack://@ledgerhq/react-ui/./src/components/message/ContinueOnDevice/index.tsx","webpack://@ledgerhq/react-ui/./src/components/message/Log/Brackets.tsx","webpack://@ledgerhq/react-ui/./src/components/message/Log/index.tsx","webpack://@ledgerhq/react-ui/./src/components/message/Notification/Badge.tsx","webpack://@ledgerhq/react-ui/./src/components/message/Notification/index.tsx","webpack://@ledgerhq/react-ui/./src/components/message/StatusNotification/index.tsx","webpack://@ledgerhq/react-ui/./src/components/message/Tip/index.tsx","webpack://@ledgerhq/react-ui/./src/components/message/Tooltip/index.tsx","webpack://@ledgerhq/react-ui/./src/components/message/Tooltip/styles.ts","webpack://@ledgerhq/react-ui/./src/components/message/index.ts","webpack://@ledgerhq/react-ui/./src/components/navigation/Aside/index.tsx","webpack://@ledgerhq/react-ui/./src/components/navigation/Breadcrumb/index.tsx","webpack://@ledgerhq/react-ui/./src/components/navigation/FlowStepper/index.tsx","webpack://@ledgerhq/react-ui/./src/components/navigation/Header/index.tsx","webpack://@ledgerhq/react-ui/./src/components/navigation/index.ts","webpack://@ledgerhq/react-ui/./src/components/navigation/progress/ProgressBar/Onboarding.tsx","webpack://@ledgerhq/react-ui/./src/components/navigation/progress/Stepper/index.tsx","webpack://@ledgerhq/react-ui/./src/components/navigation/progress/index.ts","webpack://@ledgerhq/react-ui/./src/components/navigation/sideBar/Item/Item.tsx","webpack://@ledgerhq/react-ui/./src/components/navigation/sideBar/Logo/Logo.tsx","webpack://@ledgerhq/react-ui/./src/components/navigation/sideBar/SideBar/SideBar.tsx","webpack://@ledgerhq/react-ui/./src/components/navigation/sideBar/Toggle/Toggle.tsx","webpack://@ledgerhq/react-ui/./src/components/navigation/sideBar/index.tsx","webpack://@ledgerhq/react-ui/./src/components/styled.ts","webpack://@ledgerhq/react-ui/./src/components/tabs/Bar/index.tsx","webpack://@ledgerhq/react-ui/./src/components/tabs/Chip/index.tsx","webpack://@ledgerhq/react-ui/./src/components/tabs/Pill/index.tsx","webpack://@ledgerhq/react-ui/./src/components/tabs/Tabs/index.tsx","webpack://@ledgerhq/react-ui/./src/components/tabs/index.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/components/transitions/index.ts","webpack://@ledgerhq/react-ui/./src/helpers.ts","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/index.ts"],"sourcesContent":["import * as React from \"react\";\n\ninterface Props {\n width?: number | string;\n height?: number | string;\n color?: string;\n}\n\nfunction LedgerLiveAltRegular({\n width = 38,\n height = 32,\n color = \"currentColor\",\n}: Readonly<Props>): React.JSX.Element {\n return (\n <svg\n width={width}\n height={height}\n viewBox=\"0 0 38 32\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M0.620148 22.9137V32H14.4471V29.9849H2.63476V22.9137H0.620148ZM35.3653 22.9137V29.9849H23.553V31.9995H37.3799V22.9137H35.3653ZM14.4671 9.08631V22.9132H23.553V21.0961H16.4817V9.08631H14.4671ZM0.620148 0V9.08631H2.63476V2.01461H14.4471V0H0.620148ZM23.553 0V2.01461H35.3653V9.08631H37.3799V0H23.553Z\"\n fill={color}\n />\n </svg>\n );\n}\n\nexport default LedgerLiveAltRegular;\n","import * as React from \"react\";\n\ninterface Props {\n width?: number | string;\n height?: number | string;\n color?: string;\n}\n\nfunction LedgerLiveRegular({\n width = 220,\n height = 60,\n color = \"currentColor\",\n}: Readonly<Props>): React.JSX.Element {\n return (\n <svg\n width={width}\n height={height}\n viewBox=\"0 0 220 60\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M0 42.9632V60H25.9539V56.2217H3.78153V42.9632H0ZM65.2185 42.9632V56.2217H43.0461V59.9991H69V42.9632H65.2185ZM25.9915 17.0368V42.9623H43.0461V39.5551H29.7731V17.0368H25.9915ZM0 0V17.0368H3.78153V3.7774H25.9539V0H0ZM43.0461 0V3.7774H65.2185V17.0368H69V0H43.0461Z\"\n fill={color}\n />\n <path\n d=\"M86.7939 17.75H90.5814L92.1189 39.725H92.6439L94.4814 22.2125H100.144L102.019 39.725H102.544L104.156 17.75H107.794L105.356 44H99.5439L97.5564 26.4875H97.0314L95.0439 44H89.2314L86.7939 17.75Z\"\n fill={color}\n />\n <path\n d=\"M129.904 44H125.892L124.204 37.625H115.317L113.554 44H109.654L117.229 17.75H122.554L129.904 44ZM116.254 34.175H123.304L120.117 22.025H119.592L116.254 34.175Z\"\n fill={color}\n />\n <path d=\"M134.577 17.75H138.402V40.55H151.827V44H134.577V17.75Z\" fill={color} />\n <path d=\"M157.062 17.75H160.887V40.55H174.312V44H157.062V17.75Z\" fill={color} />\n <path\n d=\"M179.173 17.75H195.673V21.2H182.998V29.075H194.548V32.525H182.998V40.55H196.235V44H179.173V17.75Z\"\n fill={color}\n />\n <path d=\"M207.808 21.2H199.596V17.75H219.846V21.2H211.633V44H207.808V21.2Z\" fill={color} />\n </svg>\n );\n}\n\nexport default LedgerLiveRegular;\n","import React from \"react\";\nimport Icon, { Props as IconProps } from \"../asorted/Icon\";\nimport FlexBox from \"../layout/Flex\";\nimport Text, { TextProps } from \"../asorted/Text\";\nexport interface Column<T> {\n /**\n * A function called to render each cell of the column.\n */\n render: (props: CellProps<T>) => React.ReactNode;\n /**\n * A valid grid template [value](https://developer.mozilla.org/en-US/docs/Web/CSS/grid-template-columns#values).\n * This layout is applied to every cell of the column.\n * Default to \"min-content\" - the largest minimal content contribution of the grid item.\n */\n layout?: string;\n /**\n * A function called to render the header cell.\n * If omitted the rendered header element will be an empty div.\n */\n header?: () => React.ReactNode;\n}\n\nexport interface CellProps<T> {\n /**\n * The cell element.\n */\n elt: T;\n /**\n * The row index.\n */\n rowIndex: number;\n /**\n * The column index.\n */\n columnIndex: number;\n}\n\n/**\n * A column which contains a single icon and that has a fixed width.\n */\nfunction iconColumn<T>({\n props,\n header,\n layout,\n}: {\n /**\n * An object containing the unerlying <Text /> wrapper props as well as\n * the \"name\" and \"weight\" props of the unerlying <Icon />.\n */\n props: (elt: T) => Pick<IconProps, \"name\" | \"weight\"> & TextProps;\n /**\n * An optional render function to display the column header.\n */\n header?: () => React.ReactNode;\n /**\n * The grid column layout, by default \"min-content\".\n */\n layout?: string;\n}): Column<T> {\n return {\n layout: layout || \"min-content\",\n render: ({ elt }) => {\n const { name, weight, ...textProps } = props(elt);\n return (\n <Text {...textProps} style={{ display: \"flex\", alignItems: \"center\" }}>\n <Icon name={name} weight={weight} />\n </Text>\n );\n },\n header,\n };\n}\nexport { iconColumn as icon };\n\n/**\n * A column that contains a title and a subtitle.\n */\nfunction textColumn<T>({\n title,\n subtitle,\n header,\n layout,\n titleProps,\n subtitleProps,\n}: {\n /**\n * An optional title.\n */\n title?: (elt: T) => React.ReactNode;\n /**\n * An optional subtitle.\n */\n subtitle?: (elt: T) => React.ReactNode;\n /**\n * An optional render function to display the column header.\n */\n header?: () => React.ReactNode;\n /**\n * The grid column layout, by default \"auto\".\n */\n layout?: string;\n /**\n * Optional extra props passed to the title <Text /> wrapper.\n */\n titleProps?: (elt: T) => Partial<React.ComponentProps<typeof Text>>;\n /**\n * Optional extra props passed to the subtitle <Text /> wrapper.\n */\n subtitleProps?: (elt: T) => Partial<React.ComponentProps<typeof Text>>;\n}): Column<T> {\n return {\n layout: layout || \"auto\",\n render: ({ elt }) => (\n <FlexBox flexDirection=\"column\" justifyContent=\"center\">\n {title && (\n <Text\n fontWeight=\"medium\"\n variant={\"body\"}\n textOverflow=\"ellipsis\"\n overflow=\"hidden\"\n color=\"neutral.c100\"\n {...((titleProps && titleProps(elt)) || {})}\n >\n {title(elt)}\n </Text>\n )}\n {subtitle && (\n <Text\n fontWeight=\"medium\"\n variant={\"paragraph\"}\n textOverflow=\"ellipsis\"\n overflow=\"hidden\"\n color=\"neutral.c80\"\n {...((subtitleProps && subtitleProps(elt)) || {})}\n >\n {subtitle(elt)}\n </Text>\n )}\n </FlexBox>\n ),\n header,\n };\n}\nexport { textColumn as text };\n","import React, { memo, useMemo } from \"react\";\nimport styled from \"styled-components\";\nimport { border, BorderProps, gridColumn, GridColumnProps } from \"styled-system\";\nimport Grid, { Props as GridProps } from \"../layout/Grid\";\nimport Flex from \"../layout/Flex\";\nimport * as Columns from \"./Columns\";\nimport type { Column } from \"./Columns\";\nimport { BaseStyledProps } from \"../styled\";\nexport type { Column };\n\nexport interface ContainerExtraProps extends BorderProps, BaseStyledProps {}\nexport interface ContainerProps extends ContainerExtraProps, GridProps {}\nconst Container = styled(Grid)<ContainerExtraProps>`\n ${border}\n`;\n\nexport const ExtraRowContainer = styled.div.attrs({ gridColumn: \"1 / -1\" })<GridColumnProps>`\n ${gridColumn}\n`;\n\nexport type RowContainerProps = { rowIndex: number };\nexport const RowContainer = styled(Flex)<RowContainerProps>`\n display: contents;\n`;\n\ninterface CommonProps<T> {\n /** Table data */\n data: T[];\n /** Columns used to render table cells and headers. */\n columns: Column<T>[];\n /**\n * An optional rendering function that will get called after each row render.\n * Can be used to display additional rows and columns dynamically.\n */\n extraRender?: (elt: T, index: number) => React.ReactNode;\n /**\n * A render function that can be used to wrap each row of the table inside an custom element.\n */\n renderRow?: (rowIndex: number, children: React.ReactNode) => React.ReactNode;\n}\n\nexport interface Props<T> extends CommonProps<T>, Omit<ContainerProps, \"columns\" | \"color\"> {\n /**\n * Renders headers if set to true.\n */\n withHeaders?: boolean;\n}\n\nexport interface RowProps<T> extends CommonProps<T> {\n render?: (args: {\n column: Column<T>;\n rowIndex: number;\n columnIndex: number;\n children: React.ReactNode;\n }) => React.ReactNode;\n}\n\nfunction RowsComponent<T>({\n data,\n columns,\n render,\n extraRender,\n renderRow,\n}: Readonly<RowProps<T>>): React.JSX.Element {\n return (\n <React.Fragment key=\"row-component\">\n {data.map((elt, rowIndex) => {\n const row = (\n <>\n {columns.map((column, columnIndex) => (\n <React.Fragment key={`row-component-column-${rowIndex}${columnIndex}`}>\n {render\n ? render({\n column,\n rowIndex,\n columnIndex,\n children: column.render({ elt, rowIndex, columnIndex }),\n })\n : column.render({ elt, rowIndex, columnIndex })}\n </React.Fragment>\n ))}\n {(extraRender && extraRender(elt, rowIndex)) || null}\n </>\n );\n\n if (renderRow) {\n return renderRow(rowIndex, row);\n } else {\n return <React.Fragment key={`row-component-row-${rowIndex}`}>{row}</React.Fragment>;\n }\n })}\n </React.Fragment>\n );\n}\nexport const Rows = memo(RowsComponent) as typeof RowsComponent;\n\nexport function Table<T>({\n data,\n columns,\n withHeaders,\n extraRender,\n renderRow,\n ...containerProps\n}: Readonly<Props<T>>): React.JSX.Element {\n const gridTemplateColumns = useMemo(\n () => columns.reduce<string>((acc, col) => `${acc} ${col.layout || \"auto\"}`, \"\"),\n [columns],\n );\n\n const headers = useMemo(\n () =>\n withHeaders\n ? columns.reduce<React.ReactNode[]>(\n (acc, col, index) => [\n ...acc,\n <React.Fragment key={`header-col-${index}`}>\n {col.header ? col.header() : <div />}\n </React.Fragment>,\n ],\n [],\n )\n : null,\n [withHeaders, columns],\n );\n\n return (\n <Container\n gridTemplateColumns={gridTemplateColumns}\n gridAutoRows=\"auto\"\n columns=\"none\"\n alignItems=\"center\"\n {...containerProps}\n >\n {headers}\n <Rows data={data} columns={columns} extraRender={extraRender} renderRow={renderRow} />\n </Container>\n );\n}\nTable.Columns = Columns;\nTable.ExtraRowContainer = ExtraRowContainer;\nTable.RowContainer = RowContainer;\n\nconst memoTable = memo(Table) as unknown as typeof Table;\nmemoTable.Columns = Columns;\nmemoTable.RowContainer = RowContainer;\nmemoTable.ExtraRowContainer = ExtraRowContainer;\n\nexport default memoTable;\n","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 from \"styled-components\";\nimport Flex from \"../../layout/Flex\";\n\nexport const DEFAULT_BOX_SIZE = 40;\nexport const DEFAULT_ICON_SIZE = 16;\nexport const DEFAULT_BADGE_SIZE = 20;\n\nfunction getClipRectangleSize(badgeSize: number): number {\n return (3 / 4) * badgeSize;\n}\n\nconst getTopRightSquareClippedPolygon = (boxSize: number, rectangleSize: number) => {\n // clipping path that hides top right square of size `${rectangleSize}px`\n const diff = boxSize - rectangleSize;\n return `polygon(0 0, 0 0, 0 0, ${diff}px 0, ${diff}px ${rectangleSize}px, 100% ${rectangleSize}px, 100% 100%, 100% 100%, 100% 100%, 0 100%, 0 100%, 0 100%)`;\n};\n\nconst Container = styled(Flex).attrs((p: { size: number }) => ({\n heigth: p.size,\n width: p.size,\n alignItems: \"center\",\n justifyContent: \"center\",\n position: \"relative\",\n}))<{ size: number }>``;\n\nconst IconBoxBackground = styled(Flex)<{ size: number; badgeSize: number; hasBadge: boolean }>`\n position: absolute;\n height: ${p => p.size}px;\n width: ${p => p.size}px;\n ${p => {\n return (\n p.hasBadge &&\n `clip-path: ${getTopRightSquareClippedPolygon(p.size, getClipRectangleSize(p.badgeSize))};`\n );\n }};\n border-radius: ${p => p.theme.radii[2]}px;\n`;\n\nconst BadgeContainer = styled.div<{ badgeSize: number }>`\n position: absolute;\n ${p => `\n top: -${p.badgeSize / 2 - 2}px;\n right: -${p.badgeSize / 2 - 2}px;`}\n`;\n\nexport type IconProps = {\n size?: number;\n color?: string;\n};\n\nexport type IconBoxProps = {\n /**\n * Component that takes `{size?: number; color?: string}` as props. Will be rendered at the top right with the size provided in `badgeSize` or a default size.\n */\n Badge?: React.ComponentType<IconProps> | ((props: IconProps) => React.JSX.Element);\n /**\n * Color of the border\n */\n borderColor?: string;\n /**\n * Badge color, will be applied to the component provided in the `Badge` prop\n */\n badgeColor?: string;\n /**\n * Badge size, will be applied to the component provided in the `Badge` prop\n */\n badgeSize?: number;\n children?: React.JSX.Element;\n /**\n * Box size for preview\n */\n size?: number;\n};\n\nexport type BoxedIconProps = IconBoxProps & {\n /**\n * Component that takes `{size?: number; color?: string}` as props. Will be rendered at the top right with the size provided in `iconSize` or a default size.\n */\n Icon: React.ComponentType<IconProps> | ((props: IconProps) => React.JSX.Element);\n /**\n * Icon size, will be applied to the component provided in the `Icon` prop\n */\n iconSize?: number;\n /**\n * Icon color, will be applied to the component provided in the `Icon` prop\n */\n iconColor?: string;\n};\n\nexport const IconBox = ({\n Badge,\n size = DEFAULT_BOX_SIZE,\n children,\n borderColor = \"neutral.c40\",\n badgeColor,\n badgeSize = DEFAULT_BADGE_SIZE,\n}: IconBoxProps) => {\n const hasBadge = !!Badge;\n return (\n <Container size={size}>\n <IconBoxBackground\n size={size}\n badgeSize={badgeSize}\n hasBadge={hasBadge}\n border=\"1px solid\"\n borderColor={borderColor}\n />\n {children}\n {hasBadge && (\n <BadgeContainer badgeSize={badgeSize}>\n <Badge size={badgeSize} color={badgeColor} />\n </BadgeContainer>\n )}\n </Container>\n );\n};\n\nconst BoxedIcon = ({\n Icon,\n iconSize = DEFAULT_ICON_SIZE,\n iconColor,\n ...iconBoxProps\n}: BoxedIconProps) => {\n return (\n <IconBox {...iconBoxProps}>\n <Icon size={iconSize || DEFAULT_ICON_SIZE} color={iconColor} />\n </IconBox>\n );\n};\n\nexport default BoxedIcon;\n","import * as icons from \"@ledgerhq/icons-ui/reactLegacy\";\nimport React from \"react\";\n\nexport type Props = {\n name: string;\n size?: number;\n weight?: \"Medium\";\n color?: string;\n};\n\nexport const iconNames = Array.from(\n Object.keys(icons).reduce((set, rawKey) => {\n const key = rawKey.replace(/(.+)(Medium)+$/g, \"$1\");\n if (!set.has(key)) set.add(key);\n return set;\n }, new Set<string>()),\n);\n\nconst Icon = ({\n name,\n size = 16,\n color = \"currentColor\",\n weight = \"Medium\",\n}: Props): React.JSX.Element | null => {\n const maybeIconName = `${name}${weight}`;\n if (maybeIconName in icons) {\n // @ts-expect-error FIXME I don't know how to make you happy ts\n const Component = icons[maybeIconName];\n return <Component size={size} color={color} />;\n }\n return null;\n};\n\nexport default Icon;\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","export { default as Divider } from \"./Divider\";\nexport { default as Icon, IconBox, BoxedIcon, NotificationIcon } from \"./Icon\";\nexport { default as Text } from \"./Text\";\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 { Theme } from \"../../../styles/theme\";\n\nexport function getLinkColors(\n colors: Theme[\"colors\"],\n): Record<\"disabled\" | \"main\" | \"color\" | \"shade\", Record<\"default\" | \"pressed\", string>> {\n return {\n disabled: {\n default: colors.neutral.c50,\n pressed: colors.neutral.c50,\n },\n main: {\n default: colors.neutral.c100,\n pressed: colors.neutral.c80,\n },\n color: {\n default: colors.primary.c80,\n pressed: colors.primary.c70,\n },\n shade: {\n default: colors.neutral.c70,\n pressed: colors.neutral.c80,\n },\n };\n}\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport { getLinkColors } from \"./getLinkStyle\";\nimport { ctaIconSize, ctaTextType } from \"../getCtaStyle\";\nimport { Text } from \"../../asorted\";\nimport { TextProps } from \"../../asorted/Text\";\nimport baseStyled, { BaseStyledProps } from \"../../styled\";\n\nexport type LinkProps = React.AnchorHTMLAttributes<HTMLAnchorElement> &\n BaseStyledProps & {\n /**\n * Component that takes `{size: number; color?: string}` as props\n */\n Icon?: React.ComponentType<{ size: number; color?: string }>;\n /**\n * Affects the colors of the text, icon & underline, can be overriden by the `color` prop\n */\n type?: \"main\" | \"shade\" | \"color\";\n /**\n * Affect the font variant & icon size\n */\n size?: \"small\" | \"medium\" | \"large\";\n /**\n * Color of the link, overrides colors defined by the `type` prop\n */\n color?: string;\n /**\n * Props passed to the rendered text\n */\n textProps?: TextProps;\n /**\n * If true text will always be underlined, else it will be underlined only on hover\n */\n alwaysUnderline?: boolean;\n /**\n * Position of the icon relative to the text\n */\n iconPosition?: \"right\" | \"left\";\n disabled?: boolean;\n children?: React.ReactNode;\n };\n\nexport const DEFAULT_ICON_POSITION = \"right\";\nexport const DEFAULT_SIZE = \"medium\";\nexport const DEFAULT_TYPE = \"main\";\n\nconst IconContainer = styled.div<{\n iconPosition: \"right\" | \"left\";\n iconLink?: boolean;\n}>`\n ${p => (p.iconLink ? \"\" : p.iconPosition === \"left\" ? `margin-right: 6px;` : `margin-left: 6px;`)}\n display: flex;\n align-items: center;\n justify-content: center;\n`;\n\nexport const Base = baseStyled.a<LinkProps>`\n color: ${({ color, theme, disabled, type = \"main\" }) =>\n color || getLinkColors(theme.colors)[disabled ? \"disabled\" : type][\"default\"]};\n cursor: pointer;\n display: inline-flex;\n flex-direction: row;\n text-align: center;\n align-items: center;\n justify-content: center;\n\n &:hover {\n text-decoration: underline;\n }\n &:active {\n color: ${({ color, theme, type = \"main\" }) =>\n color || getLinkColors(theme.colors)[type][\"pressed\"]};\n text-decoration: underline;\n }\n\n text-decoration: ${p => (p.alwaysUnderline ? \"underline\" : \"none\")};\n\n`;\n\nconst LinkContainer = ({\n Icon,\n iconPosition = DEFAULT_ICON_POSITION,\n children,\n color,\n size = DEFAULT_SIZE,\n textProps,\n}: LinkProps): React.ReactElement => {\n const text = (\n <Text\n variant={ctaTextType[size]}\n fontWeight=\"semiBold\"\n color={color || \"inherit\"}\n {...textProps}\n >\n {children}\n </Text>\n );\n\n return (\n <>\n {iconPosition === \"right\" && children ? text : null}\n {Icon ? (\n <IconContainer iconLink={!children} iconPosition={iconPosition}>\n <Icon size={ctaIconSize[size]} color={color || \"currentcolor\"} />\n </IconContainer>\n ) : null}\n {iconPosition === \"left\" && children ? text : null}\n </>\n );\n};\n\nconst Link = (props: LinkProps): React.ReactElement => {\n const { type = DEFAULT_TYPE, size = DEFAULT_SIZE, color } = props;\n return (\n <Base color={color} {...props}>\n <LinkContainer {...props} type={type} size={size} />\n </Base>\n );\n};\n\nexport default Link;\n","import React, { useMemo } from \"react\";\nimport type { ButtonProps } from \"../Button\";\nimport Button from \"../Button\";\n\nexport interface ToggleProps extends Omit<ButtonProps, \"type\"> {\n checked?: boolean;\n}\n\nenum TypeEnum {\n ENABLED = \"main\",\n DISABLED = \"color\",\n}\n\nconst Toggle = ({ checked = true, ...buttonProps }: ToggleProps) => {\n const type = useMemo(() => (checked ? TypeEnum.ENABLED : TypeEnum.DISABLED), [checked]);\n return <Button variant={type} outline={type === TypeEnum.ENABLED} {...buttonProps} />;\n};\n\nexport default Toggle;\n","import { TextVariants } from \"../../styles/theme\";\n\nexport const ctaTextType: { [index: string]: TextVariants } = {\n small: \"small\",\n medium: \"paragraph\",\n large: \"body\",\n};\n\nexport const ctaIconSize: { [index: string]: number } = {\n small: 16,\n medium: 18,\n large: 20,\n};\n","export { default as Button } from \"./Button\";\nexport { default as Toggle } from \"./Toggle\";\nexport { default as Link } from \"./Link\";\n","import styled, { css, useTheme } from \"styled-components\";\nimport { typography, TypographyProps } from \"styled-system\";\nimport React, { InputHTMLAttributes, useState, useMemo, useCallback } from \"react\";\nimport CircledCrossSolidMedium from \"@ledgerhq/icons-ui/reactLegacy/CircledCrossSolidMedium\";\nimport FlexBox from \"../../layout/Flex\";\nimport Text from \"../../asorted/Text\";\nimport { rgba } from \"../../../styles/helpers\";\nimport { ButtonUnstyled } from \"../../cta/Button\";\n\ntype ValueType = HTMLInputElement[\"value\"];\n\nexport type CommonProps = InputHTMLAttributes<HTMLInputElement> &\n TypographyProps & {\n disabled?: boolean;\n error?: React.ReactNode;\n warning?: React.ReactNode;\n info?: React.ReactNode;\n };\n\nexport type InputProps<T = ValueType> = Omit<CommonProps, \"value\" | \"onChange\"> & {\n value: T;\n onChange?: (value: T) => void;\n onChangeEvent?: InputHTMLAttributes<HTMLInputElement>[\"onChange\"];\n renderLeft?: ((props: InputProps<T>) => React.ReactNode) | React.ReactNode;\n renderRight?: ((props: InputProps<T>) => React.ReactNode) | React.ReactNode;\n unwrapped?: boolean;\n containerProps?: InputContainerProps;\n clearable?: boolean;\n /**\n * A function can be provided to serialize a value of any type to a string.\n *\n * This can be useful to wrap the `<BaseInput />` component (which expects a string)\n * and create higher-level components that will automatically perform the input/output\n * conversion to other types.\n *\n * *A serializer function should always be used in conjunction with a deserializer function.*\n */\n serialize?: (value: T) => ValueType;\n /**\n * A deserializer can be provided to convert the html input value from a string to any other type.\n *\n * *A deserializer function should always be used in conjunction with a serializer function.*\n */\n deserialize?: (value: ValueType) => T;\n};\n\ntype InputContainerStyledProps = Partial<CommonProps> & { focus?: boolean };\nexport type InputContainerProps = InputContainerStyledProps & React.HTMLAttributes<HTMLDivElement>;\nexport const InputContainer = styled.div<InputContainerStyledProps>`\n display: flex;\n height: 48px;\n border: ${p => `1px solid ${p.theme.colors.neutral.c40}`};\n border-radius: 24px;\n transition: all 0.2s ease;\n color: ${p => p.theme.colors.neutral.c100};\n\n ${p =>\n p.focus && !p.error && !p.warning\n ? css`\n border: 1px solid ${p.theme.colors.primary.c80};\n box-shadow: 0 0 0 4px ${rgba(p.theme.colors.primary.c60, 0.4)};\n `\n : undefined};\n\n ${p =>\n p.error && !p.disabled\n ? css`\n border: 1px solid ${p.theme.colors.error.c50};\n `\n : undefined};\n\n ${p =>\n !p.error && p.warning && !p.disabled\n ? css`\n border: 1px solid ${p.theme.colors.warning.c40};\n `\n : undefined};\n\n ${p =>\n !p.error && !p.warning && !p.disabled\n ? css`\n &:hover {\n border: ${!p.disabled && `1px solid ${p.theme.colors.primary.c80}`};\n }\n `\n : undefined};\n\n ${p =>\n p.disabled\n ? css`\n color: ${p.theme.colors.neutral.c60};\n background: ${p => p.theme.colors.neutral.c20};\n `\n : undefined};\n`;\n\nexport const BaseInput = styled.input.attrs<\n Partial<CommonProps> & { focus?: boolean } & TypographyProps\n>({\n fontSize: \"paragraph\",\n fontWeight: \"medium\",\n})<Partial<CommonProps> & { focus?: boolean } & TypographyProps>`\n height: 100%;\n width: 100%;\n border: 0;\n caret-color: ${p => (p.error ? p.theme.colors.error.c50 : p.theme.colors.primary.c80)};\n background: none;\n outline: none;\n cursor: ${p => (p.disabled ? \"not-allowed\" : \"text\")};\n flex-shrink: 1;\n padding-left: 20px;\n padding-right: 20px;\n &::placeholder {\n color: ${p => (p.disabled ? p.theme.colors.neutral.c50 : p.theme.colors.neutral.c70)};\n }\n\n /* stylelint-disable property-no-vendor-prefix */\n\n /* Hide type=number arrow for Chrome, Safari, Edge, Opera */\n &::-webkit-outer-spin-button,\n ::-webkit-inner-spin-button {\n -webkit-appearance: none;\n margin: 0;\n }\n\n /* Hide type=number arrow for Firefox */\n &[type=\"number\"] {\n -moz-appearance: textfield;\n }\n /* stylelint-enable property-no-vendor-prefix */\n\n ${typography}\n`;\n\nexport const InputErrorContainer = styled(Text)`\n color: ${p => p.theme.colors.error.c50};\n margin-left: 12px;\n`;\nexport const InputWarningContainer = styled(Text)`\n color: ${p => p.theme.colors.warning.c40};\n margin-left: 12px;\n`;\nexport const InputInfoContainer = styled(Text)`\n color: ${p => p.theme.colors.neutral.c60};\n margin-left: 12px;\n`;\n\nexport const InputRenderLeftContainer = styled(FlexBox).attrs(() => ({\n alignItems: \"center\",\n pl: \"16px\",\n}))``;\n\nexport const InputRenderRightContainer = styled(FlexBox).attrs(() => ({\n alignItems: \"center\",\n pr: \"16px\",\n}))``;\n\nexport const ClearableButtonUnstyled = styled(ButtonUnstyled)`\n display: flex;\n`;\n\n// Yes, this is dirty. If you can figure out a better way please change the code :).\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst IDENTITY = (_: any): any => _;\n\nfunction Input<T = ValueType>(\n props: InputProps<T>,\n ref?: React.ForwardedRef<HTMLInputElement>,\n): React.JSX.Element {\n const { colors } = useTheme();\n const {\n value,\n disabled,\n error,\n warning,\n info,\n onChange,\n onChangeEvent,\n renderLeft,\n renderRight,\n unwrapped,\n containerProps,\n serialize = IDENTITY,\n deserialize = IDENTITY,\n clearable,\n ...htmlInputProps\n } = props;\n const [focus, setFocus] = useState(false);\n const inputValue = useMemo(() => serialize(value), [serialize, value]);\n\n const handleChange = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n onChange && onChange(deserialize(e.target.value));\n onChangeEvent && onChangeEvent(e);\n },\n [onChange, onChangeEvent, deserialize],\n );\n\n const handleClear = useCallback(() => {\n onChange && onChange(deserialize(\"\"));\n }, [onChange, deserialize]);\n\n const inner = (\n <>\n {typeof renderLeft === \"function\" ? renderLeft(props) : renderLeft}\n <BaseInput\n ref={ref}\n {...htmlInputProps}\n disabled={disabled}\n error={error}\n warning={warning}\n info={info}\n onChange={handleChange}\n value={inputValue}\n onFocus={(event: React.FocusEvent<HTMLInputElement>) => {\n setFocus(true);\n htmlInputProps.onFocus && htmlInputProps.onFocus(event);\n }}\n onBlur={(event: React.FocusEvent<HTMLInputElement>) => {\n setFocus(false);\n htmlInputProps.onBlur && htmlInputProps.onBlur(event);\n }}\n />\n {clearable && inputValue && (\n <FlexBox alignItems={\"center\"} mr={7}>\n <ClearableButtonUnstyled onClick={handleClear}>\n <CircledCrossSolidMedium size={18} color={colors.neutral.c50} />\n </ClearableButtonUnstyled>\n </FlexBox>\n )}\n {typeof renderRight === \"function\" ? renderRight(props) : renderRight}\n </>\n );\n\n if (unwrapped) {\n return (\n <FlexBox alignItems=\"stretch\" style={{ height: \"100%\" }}>\n {inner}\n </FlexBox>\n );\n }\n\n return (\n <div>\n <InputContainer\n disabled={disabled}\n focus={focus}\n error={error}\n warning={warning}\n {...containerProps}\n >\n {inner}\n </InputContainer>\n {(error || warning || info) && !disabled && (\n <FlexBox flexDirection=\"column\" rowGap={2} mt={2}>\n {error ? (\n <InputErrorContainer variant=\"small\">{error}</InputErrorContainer>\n ) : warning ? (\n <InputWarningContainer variant=\"small\">{warning}</InputWarningContainer>\n ) : info ? (\n <InputInfoContainer variant=\"small\">{info}</InputInfoContainer>\n ) : null}\n </FlexBox>\n )}\n </div>\n );\n}\n\nexport default React.forwardRef(Input) as <T>(\n props: InputProps<T> & { ref?: React.ForwardedRef<HTMLInputElement> },\n) => ReturnType<typeof Input>;\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport Text from \"../../asorted/Text\";\nimport CheckAloneMedium from \"@ledgerhq/icons-ui/reactLegacy/CheckAloneMedium\";\nimport { renderToStaticMarkup } from \"react-dom/server\";\n\nconst Icon = () =>\n React.cloneElement(CheckAloneMedium({ size: 13, color: \"currentColor\" }), {\n // the xmlns attribute is required to properly display the checkbox\n xmlns: \"http://www.w3.org/2000/svg\",\n });\nconst CheckMarkIcon = encodeURIComponent(renderToStaticMarkup(<Icon />));\n\nconst Input = styled.input<{ size?: number }>`\n background-color: transparent;\n\n border-radius: ${p => `${p.theme.radii[1]}px`};\n position: relative;\n\n min-width: ${p => (p.size ? `${p.size}px` : `${p.theme.space[7]}px`)};\n height: ${p => (p.size ? `${p.size}px` : `${p.theme.space[7]}px`)};\n appearance: none;\n border: 1px solid ${props => props.theme.colors.opacityDefault.c30};\n box-shadow: none;\n\n &:checked {\n background-color: currentColor;\n border-color: currentColor;\n }\n\n &:checked::after {\n content: \" \";\n width: ${p => (p.size ? `${p.size}px` : `${p.theme.space[7]}px`)};\n height: ${p => (p.size ? `${p.size}px` : `${p.theme.space[7]}px`)};\n display: inline-block;\n color: ${props => props.theme.colors.neutral.c00};\n\n background-image: url(\"data:image/svg+xml,${CheckMarkIcon}\");\n background-position: center;\n background-repeat: no-repeat;\n\n /* Trick to center the check mark by taking into account the border */\n position: absolute;\n top: -1px;\n left: -1px;\n }\n`;\n\nconst Label = styled(Text).attrs({ type: \"body\", fontWeight: \"500\" })`\n color: ${props => props.theme.colors.neutral.c80};\n\n /* Version when the input is checked */\n ${Input}:checked + & {\n color: currentColor;\n }\n\n &:first-letter {\n text-transform: uppercase;\n }\n`;\n\nconst Container = styled.div`\n --ll-checkbox-color: unset;\n color: var(--ll-checkbox-color, ${props => props.theme.colors.primary.c90});\n\n display: inline-flex;\n column-gap: ${p => p.theme.space[5]}px;\n align-items: center;\n cursor: pointer;\n\n &[data-variant=\"default\"] {\n --ll-checkbox-color: ${props => props.theme.colors.primary.c90};\n }\n\n &[data-variant=\"success\"] {\n --ll-checkbox-color: ${props => props.theme.colors.success.c50};\n }\n\n &[data-variant=\"error\"] {\n --ll-checkbox-color: ${props => props.theme.colors.error.c50};\n }\n\n &[data-disabled=\"true\"] {\n --ll-checkbox-color: ${props => props.theme.colors.neutral.c80};\n cursor: unset;\n }\n`;\n\nexport type CheckboxProps = {\n isDisabled?: boolean;\n isChecked: boolean;\n variant?: \"default\" | \"success\" | \"error\";\n label?: React.ReactNode;\n name: string;\n onChange: (value: boolean) => void;\n size?: number;\n};\n\nconst Checkbox = ({\n isDisabled = false,\n variant = \"default\",\n label,\n isChecked,\n name,\n onChange,\n size,\n}: CheckboxProps): React.JSX.Element => (\n <Container data-variant={variant} data-disabled={isDisabled}>\n <Input\n type=\"checkbox\"\n name={name}\n id={name}\n checked={isChecked}\n disabled={isDisabled}\n onChange={() => onChange(!isChecked)}\n size={size}\n />\n {label ? (\n <Label as=\"label\" htmlFor={name}>\n {label}\n </Label>\n ) : null}\n </Container>\n);\n\nexport default Checkbox;\n","import React from \"react\";\nimport { components, GroupBase, ControlProps, ValueContainerProps } from \"react-select\";\nimport { useTheme } from \"styled-components\";\nimport SelectInput, { Props as SelectInputProps } from \"../../form/SelectInput\";\nimport Text from \"../../asorted/Text\";\nimport { IconsLegacy } from \"../../../\";\nimport { ValueContainer } from \"../../form/SelectInput/ValueContainer\";\nimport FlexBox from \"../../layout/Flex\";\n\nexport type Props<O> = SelectInputProps<O, false, GroupBase<O>> & {\n label: string;\n};\n\nfunction DropdownControl<O, M extends boolean, G extends GroupBase<O>>(\n props: ControlProps<O, M, G>,\n) {\n const { selectProps, children } = props;\n const { label } = selectProps as unknown as Props<O>;\n\n return (\n <components.Control {...props}>\n <Text variant=\"paragraph\" fontWeight=\"medium\" color=\"neutral.c80\" mr={2}>\n {label}\n </Text>\n {children}\n </components.Control>\n );\n}\n\nfunction DropdownValueContainer<O>(props: ValueContainerProps<O, false>) {\n const isOpen = props.selectProps.menuIsOpen;\n\n return (\n <ValueContainer\n {...props}\n render={() => (\n <FlexBox alignItems=\"center\">\n <Text variant=\"paragraph\" fontWeight=\"medium\" mr={2}>\n <FlexBox>{props.children}</FlexBox>\n </Text>\n <FlexBox alignItems=\"center\" style={{ transform: isOpen ? \"rotate(180deg)\" : \"\" }}>\n <IconsLegacy.DropdownMedium size={20} />\n </FlexBox>\n </FlexBox>\n )}\n />\n );\n}\n\nfunction DropdownIndicatorsContainer() {\n return null;\n}\n\nexport default function Dropdown<O>(props: Props<O>): React.JSX.Element {\n const theme = useTheme();\n const { styles, ...rest } = props;\n\n return (\n <SelectInput\n placeholder=\"\"\n isSearchable={false}\n styles={{\n singleValue: provided => ({\n ...provided,\n color: theme.colors.neutral.c100,\n margin: 0,\n top: undefined,\n position: undefined,\n overflow: undefined,\n maxWidth: undefined,\n transform: undefined,\n }),\n input: () => ({ display: \"none\" }),\n menu: provided => ({\n ...provided,\n border: 0,\n boxShadow: \"none\",\n background: \"none\",\n width: \"auto\",\n minWidth: \"200px\",\n }),\n ...styles,\n }}\n {...rest}\n components={{\n Control: DropdownControl,\n ValueContainer: DropdownValueContainer,\n IndicatorsContainer: DropdownIndicatorsContainer,\n }}\n />\n );\n}\n","import React from \"react\";\nimport Input, { InputProps, InputRenderRightContainer } from \"../BaseInput\";\nimport Text from \"../../asorted/Text\";\nimport styled from \"styled-components\";\n\nexport type Props = InputProps & { legend: string };\n\nconst Legend = styled(Text)`\n color: ${props => props.theme.colors.neutral.c70};\n\n &[data-disabled=\"true\"] {\n color: ${props => props.theme.colors.neutral.c50};\n }\n`;\n\nfunction LegendInput(\n { legend, ...inputProps }: Props,\n ref?: React.ForwardedRef<HTMLInputElement>,\n): React.JSX.Element {\n return (\n <Input\n ref={ref}\n {...inputProps}\n renderRight={\n <InputRenderRightContainer>\n <Legend variant=\"body\" data-disabled={inputProps.disabled}>\n {legend}\n </Legend>\n </InputRenderRightContainer>\n }\n />\n );\n}\n\nexport default React.forwardRef(LegendInput);\n","import React from \"react\";\nimport Input, { InputProps } from \"../BaseInput\";\nimport FlexBox from \"../../layout/Flex\";\nimport Text from \"../../asorted/Text\";\nimport styled from \"styled-components\";\n\n// TODO: Replace me with a real button as soon as they are designed\nconst MaxButton = styled.button<{ active?: boolean }>`\n color: ${p => (p.active ? p.theme.colors.neutral.c00 : p.theme.colors.neutral.c70)};\n background-color: ${p => (p.active ? p.theme.colors.neutral.c100 : p.theme.colors.neutral.c00)};\n border-radius: 100px;\n border-width: 0;\n height: 31px;\n padding-left: 13px;\n padding-right: 13px;\n cursor: pointer;\n\n &:disabled {\n color: ${p => p.theme.colors.neutral.c50};\n background-color: ${p => (p.active ? p.theme.colors.neutral.c30 : \"transparent\")};\n cursor: unset;\n }\n`;\n\nfunction serialize(value?: number) {\n return value ? \"\" + value : \"\";\n}\nfunction deserialize(value: string) {\n try {\n return parseFloat(value);\n } catch {\n return undefined;\n }\n}\n\nfunction NumberInput(\n {\n value,\n onPercentClick,\n max,\n disabled,\n ...inputProps\n }: InputProps<number | undefined> & {\n onPercentClick: (percent: number) => void;\n },\n ref?: React.ForwardedRef<HTMLInputElement>,\n): React.JSX.Element {\n return (\n <Input\n ref={ref}\n serialize={serialize}\n deserialize={deserialize}\n {...inputProps}\n type={\"number\"}\n value={value}\n max={max}\n disabled={disabled}\n renderRight={\n <FlexBox alignItems={\"center\"} justifyContent={\"center\"} py={\"3px\"} mr={\"8px\"}>\n {[0.25, 0.5, 0.75, 1].map(percent => (\n <MaxButton\n key={percent}\n onClick={() => onPercentClick(percent)}\n active={!!value && !!max && Number(value) === percent * Number(max)}\n disabled={disabled}\n >\n <Text variant={\"tiny\"} color={\"inherit\"}>\n {percent * 100}%\n </Text>\n </MaxButton>\n ))}\n </FlexBox>\n }\n />\n );\n}\n\nexport default React.forwardRef(NumberInput);\n","import React from \"react\";\nimport Input, { InputProps } from \"../BaseInput\";\nimport FlexBox from \"../../layout/Flex\";\nimport QrCodeMedium from \"@ledgerhq/icons-ui/reactLegacy/QrCodeMedium\";\nimport styled from \"styled-components\";\n\nconst QrCodeButton = styled.button`\n display: flex;\n align-items: center;\n justify-content: center;\n width: 32px;\n height: 32px;\n border-radius: 50%;\n border-width: 0;\n color: ${p => p.theme.colors.neutral.c00};\n background-color: ${p => p.theme.colors.neutral.c100};\n cursor: pointer;\n\n &:disabled {\n background-color: ${p => p.theme.colors.neutral.c30};\n color: ${p => p.theme.colors.neutral.c50};\n cursor: unset;\n }\n`;\n\nfunction QrCodeInput(\n {\n onQrCodeClick,\n ...inputProps\n }: InputProps & { onQrCodeClick?: (e: React.FormEvent<HTMLButtonElement>) => void },\n ref?: React.ForwardedRef<HTMLInputElement>,\n): React.JSX.Element {\n return (\n <Input\n ref={ref}\n {...inputProps}\n renderRight={\n <FlexBox alignItems={\"center\"} justifyContent={\"center\"} pr={\"8px\"}>\n <QrCodeButton onClick={onQrCodeClick} disabled={inputProps.disabled}>\n <QrCodeMedium size=\"20px\" />\n </QrCodeButton>\n </FlexBox>\n }\n />\n );\n}\n\nexport default React.forwardRef(QrCodeInput);\n","import React from \"react\";\nimport Input, { InputProps } from \"../BaseInput\";\nimport FlexBox from \"../../layout/Flex\";\nimport Text from \"../../asorted/Text\";\nimport styled from \"styled-components\";\n\nconst MaxButton = styled.button`\n color: ${p => p.theme.colors.neutral.c00};\n background-color: ${p => p.theme.colors.neutral.c100};\n border-radius: 100px;\n border-width: 0;\n padding-left: 14px;\n padding-right: 14px;\n height: 100%;\n cursor: pointer;\n\n &:disabled {\n background-color: ${p => p.theme.colors.neutral.c30};\n color: ${p => p.theme.colors.neutral.c50};\n cursor: unset;\n }\n`;\n\nconst Legend = styled(Text)`\n color: ${p => p.theme.colors.neutral.c70};\n\n &[data-disabled=\"true\"] {\n color: ${p => p.theme.colors.neutral.c50};\n }\n`;\n\nfunction QuantityInput(\n {\n onMaxClick,\n price,\n ...inputProps\n }: InputProps & {\n onMaxClick?: (e: React.FormEvent<HTMLButtonElement>) => void;\n price?: string;\n },\n ref?: React.ForwardedRef<HTMLInputElement>,\n): React.JSX.Element {\n return (\n <Input\n ref={ref}\n {...inputProps}\n type={\"number\"}\n renderRight={\n <FlexBox alignItems={\"center\"} justifyContent={\"center\"} pr={\"3px\"} py={\"3px\"}>\n {price && (\n <Legend variant=\"body\" pr={\"12px\"} data-disabled={inputProps.disabled}>\n {price}\n </Legend>\n )}\n <MaxButton onClick={onMaxClick} disabled={inputProps.disabled}>\n <Text variant=\"tiny\" color=\"currentColor\">\n Max\n </Text>\n </MaxButton>\n </FlexBox>\n }\n />\n );\n}\n\nexport default React.forwardRef(QuantityInput);\n","import React, { InputHTMLAttributes, useContext, useMemo } from \"react\";\nimport styled, { css } from \"styled-components\";\n\nimport { rgba } from \"../../../styles/helpers\";\nimport Text from \"../../asorted/Text\";\nimport { RadioContext } from \"./index\";\n\nconst Label = styled(Text)`\n color: var(--ledger-ui-checkbox-color, ${p => p.theme.colors.neutral.c100});\n width: 266px;\n`;\n\nconst Input = styled.input`\n --ledger-ui-checkbox-color: ${p => p.theme.colors.neutral.c50};\n --ledger-ui-checkbox-size: 1.25rem;\n\n position: relative;\n appearance: none;\n width: var(--ledger-ui-checkbox-size);\n height: var(--ledger-ui-checkbox-size);\n flex-shrink: 0;\n border-radius: ${p => `${p.theme.radii[1]}px`};\n border: 1px solid var(--ledger-ui-checkbox-color);\n cursor: pointer;\n\n &:checked::before {\n position: absolute;\n display: block;\n content: \" \";\n background-color: var(--ledger-ui-checkbox-color);\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n margin: auto;\n border-radius: 2px;\n width: calc(var(--ledger-ui-checkbox-size) / 2);\n height: calc(var(--ledger-ui-checkbox-size) / 2);\n }\n\n &[data-variant=\"default\"] {\n &:hover {\n --ledger-ui-checkbox-color: ${p => p.theme.colors.primary.c90};\n }\n &:active {\n --ledger-ui-checkbox-color: ${p => p.theme.colors.primary.c100};\n }\n &:checked,\n &:focus {\n --ledger-ui-checkbox-color: ${p => p.theme.colors.primary.c80};\n }\n &:focus {\n box-shadow: 0px 0px 0px 4px ${p => rgba(p.theme.colors.primary.c60, 0.48)};\n }\n }\n\n &[data-variant=\"main\"] {\n &:hover {\n --ledger-ui-checkbox-color: ${p => p.theme.colors.neutral.c90};\n }\n &:active,\n &:checked,\n &:focus {\n --ledger-ui-checkbox-color: ${p => p.theme.colors.neutral.c100};\n }\n &:focus {\n box-shadow: 0px 0px 0px 4px ${p => rgba(p.theme.colors.neutral.c60, 0.48)};\n }\n }\n\n &[data-variant=\"success\"] {\n &:hover,\n &:checked:not([disabled]),\n &:checked:not([disabled]) + ${Label}, &:focus {\n --ledger-ui-checkbox-color: ${p => p.theme.colors.success.c50};\n }\n &:focus {\n box-shadow: 0px 0px 0px 4px ${p => rgba(p.theme.colors.success.c50, 0.48)};\n }\n }\n\n &[data-variant=\"error\"] {\n &:hover,\n &:checked:not([disabled]),\n &:checked:not([disabled]) + ${Label}, &:focus {\n --ledger-ui-checkbox-color: ${p => p.theme.colors.error.c50};\n }\n &:focus {\n box-shadow: 0px 0px 0px 4px ${p => rgba(p.theme.colors.error.c50, 0.48)};\n }\n }\n\n &[data-variant]:disabled {\n --ledger-ui-checkbox-color: ${p => p.theme.colors.neutral.c40};\n cursor: unset;\n background-color: ${p => p.theme.colors.neutral.c30};\n }\n`;\n\nconst outlinedCSS = css`\n padding: 20px;\n border: 1px solid ${p => p.theme.colors.neutral.c50};\n border-radius: ${p => p.theme.radii[2]}px;\n &[data-variant=\"default\"] {\n &:hover {\n border-color: ${p => p.theme.colors.primary.c90};\n }\n &[data-checked]:active {\n border-color: ${p => p.theme.colors.primary.c100};\n }\n &:focus {\n border-color: ${p => p.theme.colors.primary.c80};\n }\n }\n\n &[data-variant=\"main\"] {\n &:hover {\n border-color: ${p => p.theme.colors.neutral.c90};\n }\n &[data-checked],\n &:active,\n &:focus {\n border-color: ${p => p.theme.colors.neutral.c100};\n }\n }\n\n &[data-variant=\"success\"] {\n &[data-checked]:not([disabled]) {\n border-color: ${p => p.theme.colors.success.c50};\n }\n &:hover {\n border-color: ${p => p.theme.colors.success.c50};\n }\n }\n\n &[data-variant=\"error\"] {\n &[data-checked]:not([disabled]) {\n border-color: ${p => p.theme.colors.error.c50};\n }\n &:hover {\n border-color: ${p => p.theme.colors.error.c50};\n }\n }\n\n &[data-variant]:disabled {\n border-color: ${p => p.theme.colors.neutral.c40};\n cursor: unset;\n }\n`;\n\nconst RadioElement = styled.label.attrs({ tabIndex: -1 })<{\n outlined?: boolean;\n}>`\n display: inline-flex;\n column-gap: 0.75rem;\n align-items: center;\n cursor: pointer;\n &[data-variant]:disabled {\n cursor: unset;\n }\n ${p => p.outlined && outlinedCSS}\n`;\n\ntype InputAttributes = Omit<InputHTMLAttributes<HTMLInputElement>, \"type\" | \"onChange\" | \"name\">;\n\nexport type RadioElementProps = InputAttributes & {\n variant?: \"default\" | \"main\" | \"success\" | \"error\";\n label: string;\n outlined?: boolean;\n};\n\nconst Element = ({\n label,\n value,\n disabled,\n outlined,\n variant = \"default\",\n ...props\n}: RadioElementProps): React.JSX.Element => {\n const context = useContext(RadioContext);\n if (context === undefined) throw new Error(\"RadioElement must be used within a RadioProvider\");\n\n const isChecked = useMemo(() => context.currentValue == value, [context.currentValue, value]);\n\n const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n context.onChange(event.target.value);\n };\n\n return (\n <RadioElement\n data-variant={variant}\n {...(isChecked ? { \"data-checked\": true } : {})}\n outlined={outlined}\n >\n <Input\n type=\"radio\"\n data-variant={variant}\n checked={isChecked}\n disabled={disabled}\n onChange={handleChange}\n value={value}\n name={context.name}\n {...props}\n />\n <Label variant=\"paragraph\">{label}</Label>\n </RadioElement>\n );\n};\n\nElement.displayName = \"Radio.Element\"; // For easy identification in the React devtools & in storybook\nElement.Label = Label;\n\nexport default Element;\n","import React, { InputHTMLAttributes, useContext } from \"react\";\nimport styled from \"styled-components\";\nimport Text from \"../../asorted/Text\";\nimport Flex, { FlexBoxProps } from \"../../layout/Flex\";\nimport { rgba } from \"../../../styles/helpers\";\nimport { RadioContext } from \"./index\";\n\ntype ElementState = {\n checked: boolean;\n disabled?: boolean | undefined;\n};\n\nexport const Label = styled(Text)<ElementState>`\n color: ${p =>\n p.disabled\n ? p.theme.colors.neutral.c50\n : p.checked\n ? p.theme.colors.primary.c90\n : p.theme.colors.neutral.c100};\n`;\n\nconst Container = styled(Flex)<ElementState>`\n cursor: ${p => (p.disabled ? \"\" : \"pointer\")};\n justify-content: center;\n align-items: center;\n background-color: ${p => (p.checked ? p.theme.colors.primary.c20 : \"\")};\n border: 1px solid ${p => (p.checked ? p.theme.colors.primary.c50 : p.theme.colors.neutral.c40)};\n border-radius: ${p => `${p.theme.radii[2]}px`};\n padding: ${p => p.theme.space[6]}px;\n\n &:hover {\n border-color: ${p => (p.disabled || p.checked ? \"\" : p.theme.colors.primary.c80)};\n }\n`;\n\nconst Input = styled.input`\n position: relative;\n appearance: none;\n &:focus ~ ${Container} {\n box-shadow: 0px 0px 0px 4px ${p => rgba(p.theme.colors.primary.c60, 0.48)};\n }\n`;\n\nconst RadioListElement = styled.label.attrs({ tabIndex: -1 })`\n display: inline-flex;\n align-items: center;\n`;\n\ntype InputAttributes = Omit<InputHTMLAttributes<HTMLInputElement>, \"type\" | \"onChange\" | \"name\">;\n\nexport type RadioListElementProps = InputAttributes & {\n /**\n * The string or component that will be rendered as label of this radio element\n * If it's a component, it's rendered with these props: { checked:boolean; disabled:boolean }\n * */\n label: string | React.ComponentType<ElementState> | ((arg1: ElementState) => React.JSX.Element);\n /** Flex props to pass to the container */\n containerProps?: FlexBoxProps;\n};\n\nconst ListElement = ({\n label,\n value,\n disabled,\n containerProps,\n ...props\n}: RadioListElementProps): React.JSX.Element => {\n const context = useContext(RadioContext);\n if (context === undefined) throw new Error(\"RadioElement must be used within a RadioProvider\");\n\n const isChecked = context.currentValue === value;\n\n const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n context.onChange(event.target.value);\n };\n\n return (\n <RadioListElement>\n <Input\n type=\"radio\"\n checked={isChecked}\n disabled={disabled}\n onChange={handleChange}\n value={value}\n name={context.name}\n {...props}\n />\n <Container checked={isChecked} disabled={disabled} {...containerProps}>\n {typeof label === \"string\" ? (\n <Label checked={isChecked} disabled={disabled} variant=\"paragraph\">\n {label}\n </Label>\n ) : (\n React.createElement(label, { checked: isChecked, disabled })\n )}\n </Container>\n </RadioListElement>\n );\n};\n\nListElement.displayName = \"Radio.ListElement\"; // For easy identification in the React devtools & in storybook\nListElement.Label = Label;\n\nexport default ListElement;\n","import React, { InputHTMLAttributes } from \"react\";\n\nimport RadioElement from \"./RadioElement\";\nimport RadioListElement from \"./RadioListElement\";\nimport Flex from \"../../layout/Flex\";\nimport { FlexBoxProps } from \"../../layout/Flex\";\n\nexport type RadioProps = {\n currentValue?: InputHTMLAttributes<HTMLInputElement>[\"value\"];\n onChange: (value: InputHTMLAttributes<HTMLInputElement>[\"value\"]) => void;\n children: React.ReactNode;\n name: string;\n containerProps?: FlexBoxProps;\n};\n\nexport const RadioContext = React.createContext<Omit<RadioProps, \"children\" | \"containerProps\">>({\n name: \"\",\n onChange: () => {},\n});\n\nconst Radio = ({\n currentValue,\n name,\n onChange,\n children,\n containerProps,\n}: RadioProps): React.JSX.Element => {\n return (\n <Flex columnGap=\"1.5rem\" {...containerProps}>\n <RadioContext.Provider value={{ currentValue, name, onChange }}>\n {children}\n </RadioContext.Provider>\n </Flex>\n );\n};\n\nRadio.Element = RadioElement;\nRadio.ListElement = RadioListElement;\n\nexport default Radio;\n","import React from \"react\";\nimport { useTheme } from \"styled-components\";\nimport Input, { InputProps, InputRenderLeftContainer } from \"../BaseInput\";\nimport SearchMedium from \"@ledgerhq/icons-ui/reactLegacy/SearchMedium\";\n\nfunction SearchInput(\n props: InputProps,\n ref?: React.ForwardedRef<HTMLInputElement>,\n): React.JSX.Element {\n const theme = useTheme();\n\n return (\n <Input\n ref={ref}\n {...props}\n renderLeft={\n <InputRenderLeftContainer>\n <SearchMedium\n color={props.disabled ? theme.colors.neutral.c50 : theme.colors.neutral.c70}\n />\n </InputRenderLeftContainer>\n }\n />\n );\n}\n\nexport default React.forwardRef(SearchInput);\n","import React from \"react\";\nimport { components, GroupBase, StylesConfig, ControlProps } from \"react-select\";\nimport { DefaultTheme } from \"styled-components\";\nimport { InputContainer } from \"../BaseInput\";\nimport { Props as SelectProps } from \"./index\";\n\nexport function getStyles<\n O = unknown,\n M extends boolean = false,\n G extends GroupBase<O> = GroupBase<O>,\n>(theme: DefaultTheme): NonNullable<StylesConfig<O, M, G>[\"control\"]> {\n return provided => ({\n ...provided,\n display: \"flex\",\n alignItems: \"center\",\n width: \"100%\",\n border: 0,\n padding: `0px ${theme.space[7]}px`,\n boxShadow: \"none\",\n borderRadius: \"inherit\",\n background: \"transparent\",\n });\n}\n\nexport function Control<\n O = unknown,\n M extends boolean = false,\n G extends GroupBase<O> = GroupBase<O>,\n>(props: ControlProps<O, M, G>): React.JSX.Element {\n const { isFocused, selectProps, children } = props;\n\n const { isDisabled, error, renderLeft } = selectProps as SelectProps<O, M, G>;\n\n return (\n <InputContainer disabled={isDisabled} error={error} focus={isFocused}>\n <components.Control {...props}>\n {renderLeft ? renderLeft(props) : null}\n {children}\n </components.Control>\n </InputContainer>\n );\n}\n","import React from \"react\";\nimport { components, GroupBase, StylesConfig, DropdownIndicatorProps } from \"react-select\";\nimport { useTheme } from \"styled-components\";\nimport Text from \"../../asorted/Text\";\nimport { ChevronBottomMedium, ChevronTopMedium } from \"@ledgerhq/icons-ui/reactLegacy\";\n\nexport function getStyles<\n O = unknown,\n M extends boolean = false,\n G extends GroupBase<O> = GroupBase<O>,\n>(): NonNullable<StylesConfig<O, M, G>[\"dropdownIndicator\"]> {\n return provided => ({\n ...provided,\n padding: 0,\n });\n}\n\nexport function DropdownIndicator<\n O = unknown,\n M extends boolean = false,\n G extends GroupBase<O> = GroupBase<O>,\n>(props: DropdownIndicatorProps<O, M, G>): React.JSX.Element {\n const theme = useTheme();\n const { isDisabled } = props.selectProps;\n\n const ChevronIcon = props.selectProps.menuIsOpen ? ChevronTopMedium : ChevronBottomMedium;\n const color = isDisabled ? theme.colors.neutral.c60 : theme.colors.neutral.c100;\n\n return (\n <components.DropdownIndicator {...props}>\n <Text as=\"div\" color={color} style={{ display: \"flex\" }}>\n <ChevronIcon size={12} />\n </Text>\n </components.DropdownIndicator>\n );\n}\n","import React from \"react\";\nimport { components, GroupBase, IndicatorsContainerProps } from \"react-select\";\nimport FlexBox from \"../../layout/Flex\";\nimport { Props as SelectProps } from \"./index\";\n\nexport function IndicatorsContainer<\n O = unknown,\n M extends boolean = false,\n G extends GroupBase<O> = GroupBase<O>,\n>(props: IndicatorsContainerProps<O, M, G>): React.JSX.Element {\n const { renderRight } = props.selectProps as SelectProps<O, M, G>;\n\n return (\n <FlexBox alignItems=\"center\">\n {renderRight ? renderRight(props) : null}\n <components.IndicatorsContainer {...props} />\n </FlexBox>\n );\n}\n","import React from \"react\";\nimport { components, GroupBase, StylesConfig, MenuListProps } from \"react-select\";\nimport { DefaultTheme } from \"styled-components\";\n\nexport function getStyles<\n O = unknown,\n M extends boolean = false,\n G extends GroupBase<O> = GroupBase<O>,\n>(theme: DefaultTheme): NonNullable<StylesConfig<O, M, G>[\"menuList\"]> {\n const isLight = theme.colors.type === \"light\";\n return provided => ({\n ...provided,\n display: \"flex\",\n flexDirection: \"column\",\n gap: theme.space[2],\n padding: theme.space[3],\n border: `1px solid ${theme.colors.neutral[isLight ? \"c20\" : \"c30\"]}`,\n borderRadius: \"8px\",\n boxShadow: `0px 6px 12px rgba(0, 0, 0, ${isLight ? 0.04 : 0.08})`,\n background: theme.colors.neutral[isLight ? \"c00\" : \"c20\"],\n color: theme.colors.neutral.c80,\n });\n}\n\nexport function MenuList<\n O = unknown,\n M extends boolean = false,\n G extends GroupBase<O> = GroupBase<O>,\n>(props: MenuListProps<O, M, G>): React.JSX.Element {\n return <components.MenuList {...props}>{props.children}</components.MenuList>;\n}\n","import React from \"react\";\nimport { components, GroupBase, StylesConfig, OptionProps } from \"react-select\";\nimport styled from \"styled-components\";\nimport Text from \"../../asorted/Text\";\n\nexport function getStyles<\n O = unknown,\n M extends boolean = false,\n G extends GroupBase<O> = GroupBase<O>,\n>(): NonNullable<StylesConfig<O, M, G>[\"option\"]> {\n return provided => ({\n ...provided,\n display: \"flex\",\n alignItems: \"center\",\n padding: 0,\n cursor: \"inherit\",\n background: \"inherit\",\n color: \"inherit\",\n boxShadow: \"none\",\n border: \"none\",\n \":active\": undefined,\n });\n}\n\nconst Wrapper = styled(Text).attrs({ as: \"div\" })<{\n disabled: boolean;\n selected: boolean;\n focus: boolean;\n}>`\n height: 48px;\n display: flex;\n padding: 0 ${p => p.theme.space[5]}px;\n border-radius: ${p => `${p.theme.radii[1]}px`};\n ${p => (!p.disabled ? \"cursor: pointer;\" : \"\")}\n ${props => {\n const { theme, selected, focus, disabled } = props;\n if (selected) {\n return `\n color: ${theme.colors.primary.c90};\n background: ${theme.colors.primary.c20};\n `;\n }\n if (disabled) {\n return `\n color: ${theme.colors.neutral.c50};\n ${\n focus\n ? `&:not(:active) {\n background: ${theme.colors.neutral.c20};\n }`\n : \"\"\n }\n `;\n }\n return `\n color: ${theme.colors.neutral.c80};\n &:hover {\n color: ${theme.colors.neutral.c100};\n background: ${theme.colors.primary.c10};\n }\n &:active {\n color: ${theme.colors.neutral.c100};\n background: ${theme.colors.primary.c30};\n }\n ${\n focus\n ? `&:not(:active) {\n color: ${theme.colors.neutral.c100};\n background: ${theme.colors.primary.c10};\n }`\n : \"\"\n }\n `;\n }};\n`;\n\nexport type ExtraProps<\n O = unknown,\n M extends boolean = false,\n G extends GroupBase<O> = GroupBase<O>,\n> = {\n /* A render function to customize the contents. */\n render?: (props: React.PropsWithChildren<OptionProps<O, M, G>>) => React.ReactNode;\n};\nexport type Props<\n O = unknown,\n M extends boolean = false,\n G extends GroupBase<O> = GroupBase<O>,\n> = OptionProps<O, M, G> & ExtraProps<O, M, G>;\nexport function Option<\n O = unknown,\n M extends boolean = false,\n G extends GroupBase<O> = GroupBase<O>,\n>(props: Props<O, M, G>): React.JSX.Element {\n const { render, children, ...innerProps } = props;\n\n return (\n <Wrapper\n disabled={props.isDisabled}\n selected={props.isSelected}\n focus={props.isFocused}\n fontWeight=\"semiBold\"\n variant={\"paragraph\"}\n >\n <components.Option {...innerProps}>{render ? render(props) : children}</components.Option>\n </Wrapper>\n );\n}\n","import React from \"react\";\nimport { components, GroupBase, StylesConfig, ValueContainerProps } from \"react-select\";\nimport Text from \"../../asorted/Text\";\n\nexport function getStyles<\n O = unknown,\n M extends boolean = false,\n G extends GroupBase<O> = GroupBase<O>,\n>(): StylesConfig<O, M, G>[\"valueContainer\"] {\n return provided => ({\n ...provided,\n padding: 0,\n });\n}\n\ntype ExtraProps<O = unknown, M extends boolean = false, G extends GroupBase<O> = GroupBase<O>> = {\n /* A render function to customize the contents. */\n render?: (props: React.PropsWithChildren<ValueContainerProps<O, M, G>>) => React.ReactNode;\n};\n\nexport type MixedProps<\n O = unknown,\n M extends boolean = false,\n G extends GroupBase<O> = GroupBase<O>,\n> = ValueContainerProps<O, M, G> & ExtraProps<O, M, G>;\n\nexport function ValueContainer<\n O = unknown,\n M extends boolean = false,\n G extends GroupBase<O> = GroupBase<O>,\n>(props: MixedProps<O, M, G>): React.JSX.Element {\n const color = props.selectProps.isDisabled ? \"neutral.c60\" : \"neutral.c100\";\n return (\n <components.ValueContainer {...props}>\n <Text\n as=\"div\"\n variant=\"paragraph\"\n color={color}\n style={{ display: \"inherit\", alignItems: \"center\" }}\n >\n {props.render ? props.render(props) : props.children}\n </Text>\n </components.ValueContainer>\n );\n}\n","import React, { memo, useMemo } from \"react\";\nimport Select, {\n Props as SelectProps,\n ControlProps,\n IndicatorsContainerProps,\n GroupBase,\n StylesConfig,\n} from \"react-select\";\nimport { DefaultTheme, useTheme } from \"styled-components\";\nimport * as DropdownIndicatorModule from \"./DropdownIndicator\";\nimport * as ValueContainerModule from \"./ValueContainer\";\nimport * as ControlModule from \"./Control\";\nimport * as MenuListModule from \"./MenuList\";\nimport * as OptionModule from \"./Option\";\nimport { IndicatorsContainer } from \"./IndicatorsContainer\";\nimport { InputErrorContainer } from \"../BaseInput\";\n\nexport type SelfProps<O, M extends boolean, G extends GroupBase<O>> = {\n /* An error which will be displayed below the component and will change the style. */\n error?: string;\n /* A component which will be rendered on the left side of the select. */\n renderLeft?: (props: ControlProps<O, M, G>) => React.ReactNode;\n /* A component which will be rendered on the right side of the select, before the indicators. */\n renderRight?: (props: IndicatorsContainerProps<O, M, G>) => React.ReactNode;\n /* This value is used to calculate the height of the menu list when dealing with virtual lists. */\n rowHeight?: number;\n /* Removes all wrappers when rendering the element. */\n unwrapped?: boolean;\n /* Extends defined styles. */\n extendStyles?: (styles: StylesConfig<O, M, G>) => StylesConfig<O, M, G>;\n};\nexport type Props<\n O = unknown,\n M extends boolean = false,\n G extends GroupBase<O> = GroupBase<O>,\n> = SelectProps<O, M, G> & SelfProps<O, M, G>;\n\nconst stylesFn = <O, M extends boolean, G extends GroupBase<O>>(\n theme: DefaultTheme,\n): StylesConfig<O, M, G> => ({\n control: ControlModule.getStyles(theme),\n valueContainer: ValueContainerModule.getStyles(),\n dropdownIndicator: DropdownIndicatorModule.getStyles(),\n menuList: MenuListModule.getStyles(theme),\n option: OptionModule.getStyles(),\n input: provided => ({\n ...provided,\n color: theme.colors.neutral.c100,\n }),\n placeholder: provided => ({\n ...provided,\n color: theme.colors.neutral.c60,\n }),\n singleValue: provided => ({\n ...provided,\n color: \"inherit\",\n }),\n multiValue: provided => ({\n ...provided,\n backgroundColor: theme.colors.primary.c20,\n borderRadius: theme.radii[1],\n }),\n multiValueLabel: provided => ({\n ...provided,\n color: theme.colors.neutral.c100,\n }),\n multiValueRemove: provided => ({\n ...provided,\n cursor: \"pointer\",\n \"&:hover\": {\n color: theme.colors.error.c50,\n backgroundColor: theme.colors.error.c30,\n },\n }),\n menu: provided => ({\n ...provided,\n border: 0,\n boxShadow: \"none\",\n background: \"none\",\n }),\n});\n\nfunction SelectInput<O, M extends boolean, G extends GroupBase<O>>({\n error,\n rowHeight = 48,\n unwrapped,\n extendStyles,\n ...props\n}: Props<O, M, G>): React.JSX.Element {\n const theme = useTheme();\n const styles = useMemo(\n () => (extendStyles ? extendStyles(stylesFn<O, M, G>(theme)) : stylesFn<O, M, G>(theme)),\n [theme, extendStyles],\n );\n const { isDisabled, components = {} } = props;\n\n const innerContent = (\n <Select\n {...props}\n styles={{\n ...styles,\n ...props.styles,\n }}\n classNamePrefix=\"react-select\"\n components={{\n Control: ControlModule.Control,\n ValueContainer: ValueContainerModule.ValueContainer,\n IndicatorsContainer,\n DropdownIndicator: DropdownIndicatorModule.DropdownIndicator,\n MenuList: MenuListModule.MenuList,\n Option: OptionModule.Option,\n IndicatorSeparator: null,\n ...components,\n }}\n // @ts-expect-error We want to be able to pass extra props here…\n rowHeight={rowHeight}\n />\n );\n\n if (unwrapped) return innerContent;\n\n return (\n <div>\n {innerContent}\n {error && !isDisabled && (\n <InputErrorContainer variant={\"paragraph\"}>{error}</InputErrorContainer>\n )}\n </div>\n );\n}\n\nexport default memo(SelectInput) as typeof SelectInput;\n","import React, { useCallback } from \"react\";\nimport styled from \"styled-components\";\nimport { DefaultTheme } from \"styled-components\";\nimport { InputContainer, InputErrorContainer } from \"../BaseInput\";\n\ntype Callbacks = {\n onFocus: <F>(event: React.FocusEvent<F>) => void;\n onBlur: <B>(event: React.FocusEvent<B>) => void;\n};\ntype ExtraRenderProps = {\n renderLeft: (p: StateProps & Callbacks) => React.ReactNode;\n renderRight: (p: StateProps & Callbacks) => React.ReactNode;\n};\nexport type StateProps = {\n error?: string | undefined;\n disabled?: boolean;\n isDisabled?: boolean;\n};\nexport type Props = StateProps & ExtraRenderProps;\ntype DividerProps = {\n disabled: boolean | undefined;\n focus: boolean | undefined;\n error: string | undefined;\n theme?: DefaultTheme;\n};\nfunction getDividerColor(props: DividerProps) {\n if (props.disabled) {\n return props.theme?.colors.neutral.c40;\n }\n if (props.error) {\n return props.theme?.colors.error.c50;\n }\n if (props.focus) {\n return props.theme?.colors.primary.c80;\n }\n\n return props.theme?.colors.neutral.c40;\n}\n\nfunction getHoverBolderColor(props: DividerProps) {\n return props.disabled || props.error ? \"inherit\" : props.theme?.colors.primary.c80;\n}\n\nconst Divider = styled.div<{\n disabled: boolean | undefined;\n focus: boolean | undefined;\n error: string | undefined;\n}>`\n border-right: 1px solid;\n height: 100%;\n transition: border-color 0.2s ease;\n\n border-color: ${getDividerColor};\n ${InputContainer}:hover & {\n border-color: ${getHoverBolderColor};\n }\n`;\n\nexport default function SplitInput(props: Props): React.JSX.Element {\n const { disabled, isDisabled, renderLeft, renderRight, error } = props;\n const [focus, setFocus] = React.useState(false);\n\n const onFocus = useCallback(() => {\n setFocus(true);\n }, [setFocus]);\n const onBlur = useCallback(() => {\n setFocus(false);\n }, [setFocus]);\n\n const disabledState = typeof disabled !== \"undefined\" ? disabled : isDisabled;\n\n return (\n <div>\n <InputContainer disabled={disabledState} focus={focus} error={error}>\n <div style={{ width: \"50%\", height: \"100%\" }}>\n {renderLeft({\n error,\n onFocus,\n onBlur,\n disabled: disabledState,\n isDisabled: disabledState,\n })}\n </div>\n <Divider focus={focus} disabled={disabled} error={error} />\n <div style={{ width: \"50%\", height: \"100%\" }}>\n {typeof renderRight === \"function\"\n ? renderRight({\n error,\n onFocus,\n onBlur,\n disabled: disabledState,\n isDisabled: disabledState,\n })\n : renderRight}\n </div>\n </InputContainer>\n {error && !disabled && <InputErrorContainer>{error}</InputErrorContainer>}\n </div>\n );\n}\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport Text from \"../../asorted/Text\";\nimport Flex from \"../../layout/Flex\";\n\nconst Container = styled(Flex).attrs({ alignItems: \"center\", flexDirection: \"row\" })`\n width: fit-content;\n column-gap: ${p => p.theme.space[5]}px;\n cursor: pointer;\n\n /* reversed VARIANT */\n &[data-reversed=\"true\"] {\n flex-direction: row-reverse;\n }\n\n &[data-disabled=\"true\"] {\n cursor: unset;\n }\n`;\n\nconst Input = styled.input`\n position: absolute;\n visibility: hidden;\n`;\n\nconst Label = styled(Text)`\n &:first-letter {\n text-transform: uppercase;\n }\n`;\n\nconst Switcher = styled.div`\n --ll-switch-width: ${p => p.theme.space[14]}px;\n --ll-switch-height: ${p => p.theme.space[9]}px;\n --ll-switch-padding: ${p => p.theme.space[2]}px;\n\n position: relative;\n display: inline-block;\n\n background: ${props => props.theme.colors.neutral.c60};\n border-radius: ${p => p.theme.space[6]}px;\n width: var(--ll-switch-width);\n height: var(--ll-switch-height);\n\n transition: background 200ms;\n\n &:before,\n &:after {\n content: \"\";\n }\n\n &:focus {\n outline-style: auto;\n outline: 1px solid ${props => props.theme.colors.neutral.c90};\n outline-offset: ${p => p.theme.space[1]}px;\n }\n\n /* CIRCLE ELEMENT */\n &:before {\n position: absolute;\n display: block;\n background: ${props => props.theme.colors.constant.white};\n border-radius: ${p => p.theme.space[12]}px;\n\n width: calc(calc(var(--ll-switch-width) / 2) - var(--ll-switch-padding));\n height: calc(calc(var(--ll-switch-width) / 2) - var(--ll-switch-padding));\n top: var(--ll-switch-padding);\n transform: translateX(var(--ll-switch-padding));\n transition: transform 0.25s;\n }\n\n /* SMALL VARIANT */\n &[data-size=\"small\"] {\n --ll-switch-width: ${p => p.theme.space[8]}px;\n --ll-switch-height: ${p => p.theme.space[6]}px;\n }\n\n &:hover {\n background-color: ${props => props.theme.colors.neutral.c70};\n }\n\n &:active {\n background-color: ${props => props.theme.colors.neutral.c80};\n }\n\n /* CHECKED VARIANT */\n ${Input}:checked ~ & {\n background: ${props => props.theme.colors.primary.c80};\n\n &:before {\n transform: translateX(calc(var(--ll-switch-width) / 2));\n }\n\n &:hover {\n background: ${props => props.theme.colors.primary.c90};\n }\n\n :active {\n background: ${props => props.theme.colors.primary.c100};\n }\n }\n`;\n\nexport type SwitchProps = {\n name: string;\n checked: boolean;\n onChange: (e: React.FormEvent<HTMLDivElement>) => void;\n size?: \"normal\" | \"small\";\n label?: string;\n disabled?: boolean;\n reversed?: boolean;\n};\n\nconst Switch = ({\n name,\n checked,\n onChange,\n label,\n disabled,\n reversed,\n size,\n}: SwitchProps): React.JSX.Element => {\n const handleFocusKeyDown = (e: React.FormEvent<HTMLDivElement> & { key: string }) => {\n if (e.key.match(/enter/i)) onChange(e);\n };\n\n const handleClick = (e: React.FormEvent<HTMLDivElement>) => {\n if (!disabled) onChange(e);\n };\n\n return (\n <Container\n role=\"button\"\n data-reversed={reversed}\n data-disabled={disabled}\n onClick={handleClick}\n tabIndex={0}\n aria-pressed={checked}\n onKeyDown={handleFocusKeyDown}\n >\n <Input type=\"checkbox\" name={name} id={name} disabled={disabled} checked={checked} />\n <Switcher data-size={size} />\n {label ? <Label variant=\"paragraph\">{label}</Label> : null}\n </Container>\n );\n};\n\nexport default Switch;\n","import React, { useEffect } from \"react\";\nimport styled, { useTheme } from \"styled-components\";\nimport Flex from \"../../layout/Flex\";\nimport Text from \"../../asorted/Text\";\nimport { motion, useAnimation } from \"framer-motion\";\n\nconst StyledButton = styled(Flex)`\n cursor: pointer;\n justify-content: center;\n align-items: center;\n`;\nconst StyledFlex = styled(Flex)<{ isSelected: boolean }>`\n height: 100%;\n justify-content: center;\n align-items: center;\n`;\n\nconst StyledText = styled(Text)<{ isSelected: boolean }>`\n line-height: 14.52px;\n overflow: visible;\n text-align: center;\n font-size: 12px;\n color: ${p => (p.isSelected ? p.theme.colors.constant.black : p.theme.colors.opacityDefault.c50)};\n z-index: 10;\n`;\n\ninterface OptionButtonProps<T> {\n option: T;\n selectedOption: T;\n handleSelectOption: (option: T) => void;\n label: string;\n width: number;\n}\n\nconst OptionButton = <T,>({\n option,\n selectedOption,\n handleSelectOption,\n label,\n width,\n}: OptionButtonProps<T>) => {\n const isSelected = selectedOption === option;\n\n return (\n <StyledButton width={width} onClick={() => handleSelectOption(option)}>\n <StyledFlex isSelected={isSelected}>\n <StyledText fontWeight=\"semiBold\" isSelected={isSelected}>\n {label}\n </StyledText>\n </StyledFlex>\n </StyledButton>\n );\n};\n\nexport interface TabSelectorProps<T extends string | number> {\n options: T[];\n selectedOption: T;\n handleSelectOption: (option: T) => void;\n labels: { [key in T]: string };\n}\n\nexport default function TabSelector<T extends string | number>({\n options,\n selectedOption,\n handleSelectOption,\n labels,\n}: Readonly<TabSelectorProps<T>>): React.JSX.Element {\n const { colors } = useTheme();\n\n const longuestLabel =\n labels[options[0]].length > labels[options[1]].length ? options[0] : options[1];\n\n const widthFactor = 8;\n const margin = 20;\n const width = labels[longuestLabel].length * widthFactor + margin;\n const semiWidth = width / 2;\n const controls = useAnimation();\n\n useEffect(() => {\n controls.start({\n x: selectedOption === options[0] ? -semiWidth : semiWidth,\n transition: { type: \"spring\", damping: 30, stiffness: 130 },\n });\n }, [selectedOption, controls, options, semiWidth]);\n\n return (\n <Flex\n flexDirection={\"row\"}\n justifyContent={\"center\"}\n alignItems={\"center\"}\n width={width * 2 + 4}\n height={\"35px\"}\n borderRadius={\"40px\"}\n bg={colors.opacityDefault.c05}\n position={\"relative\"}\n >\n <motion.div\n style={{\n position: \"absolute\",\n width: width,\n height: \"90%\",\n backgroundColor: colors.primary.c80,\n borderRadius: 40,\n }}\n animate={controls}\n />\n {options.map(option => (\n <OptionButton\n width={width}\n key={option}\n option={option}\n selectedOption={selectedOption}\n handleSelectOption={handleSelectOption}\n label={labels[option]}\n />\n ))}\n </Flex>\n );\n}\n","export { default as Input } from \"./BaseInput\";\nexport { default as Checkbox } from \"./Checkbox\";\nexport { default as Dropdown } from \"./Dropdown\";\nexport { default as LegendInput } from \"./LegendInput\";\nexport { default as NumberInput } from \"./NumberInput\";\nexport { default as QrCodeInput } from \"./QrCodeInput\";\nexport { default as QuantityInput } from \"./QuantityInput\";\nexport { default as Radio } from \"./Radio\";\nexport { default as SearchInput } from \"./SearchInput\";\nexport { default as SelectInput } from \"./SelectInput\";\nexport { default as SplitInput } from \"./SplitInput\";\nexport { default as Switch } from \"./Switch\";\nexport { default as TabSelector } from \"./TabSelector\";\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","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","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 React from \"react\";\nimport styled from \"styled-components\";\nimport Text from \"../../asorted/Text\";\n\nexport interface Props {\n /**\n * Radius of the progress ring.\n */\n radius?: number;\n\n /**\n * Thickness of the progress ring.\n */\n stroke?: number;\n\n /**\n * Progress of the loader, in percent, between 0 and 100.\n */\n progress?: number;\n\n /**\n * Whether to make it infinite, with spinning and whatnot.\n */\n infinite?: boolean;\n\n /**\n * Whether to display the progress, defaults to true.\n */\n showPercentage?: boolean;\n\n /**\n * Percentage text color\n */\n textColor?: string;\n\n /**\n * Front stroke color.\n */\n frontStrokeColor?: string;\n\n /**\n * Front stroke linecap.\n * https://developer.mozilla.org/fr/docs/Web/SVG/Attribute/stroke-linecap\n */\n frontStrokeLinecap?: \"butt\" | \"round\";\n\n /**\n * Background stroke color.\n */\n backgroundStrokeColor?: string;\n}\n\nconst StyledCircle = styled.circle.attrs({\n fill: \"transparent\",\n cx: \"50%\",\n cy: \"50%\",\n})`\n transition: stroke-dashoffset 0.35s;\n transform: rotate(-90deg);\n transform-origin: 50% 50%;\n`;\n\nconst StyledCircleBackground = styled(StyledCircle).attrs(props => ({\n stroke: props.stroke || props.theme.colors.primary.c30,\n}))``;\n\nconst StyledCircleFront = styled(StyledCircle).attrs(props => ({\n stroke: props.stroke || props.theme.colors.primary.c80,\n}))``;\n\nconst StyledCenteredText = styled(Text)`\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n text-align: center;\n`;\n\nconst StyledProgressLoaderContainer = styled.div`\n display: flex;\n position: absolute;\n`;\nconst StyledSpinningContainer = styled.div`\n animation: rotation 1s infinite linear;\n display: flex;\n align-items: center;\n justify-content: center;\n @keyframes rotation {\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\n }\n }\n`;\n\nfunction ProgressCircleSvg({\n radius,\n stroke,\n progress,\n backgroundStrokeColor,\n frontStrokeColor,\n frontStrokeLinecap,\n}: {\n radius: number;\n stroke: number;\n progress: number;\n backgroundStrokeColor?: string;\n frontStrokeColor?: string;\n frontStrokeLinecap?: \"butt\" | \"round\" | \"square\";\n}) {\n const normalizedRadius = radius - stroke / 2;\n const circumference = normalizedRadius * 2 * Math.PI;\n const strokeDashoffset = circumference - (progress / 100) * circumference;\n return (\n <svg height={radius * 2} width={radius * 2}>\n <StyledCircleBackground\n strokeWidth={stroke}\n strokeDasharray={circumference + \" \" + circumference}\n style={{ strokeDashoffset: 0 }}\n stroke={backgroundStrokeColor}\n r={normalizedRadius}\n />\n <StyledCircleFront\n strokeWidth={stroke}\n strokeDasharray={circumference + \" \" + circumference}\n style={{ strokeDashoffset }}\n stroke={frontStrokeColor}\n strokeLinecap={frontStrokeLinecap}\n r={normalizedRadius}\n />\n </svg>\n );\n}\n\nexport default function ProgressLoader({\n radius = 32,\n stroke = 6,\n progress = 0,\n showPercentage = true,\n infinite,\n textColor,\n frontStrokeColor,\n frontStrokeLinecap,\n backgroundStrokeColor,\n}: Readonly<Props>): React.JSX.Element {\n return (\n <StyledProgressLoaderContainer>\n {showPercentage && (\n <StyledCenteredText variant=\"body\" color={textColor || \"primary.c80\"}>\n {Math.floor(progress)}%\n </StyledCenteredText>\n )}\n {infinite ? (\n <StyledSpinningContainer>\n <ProgressCircleSvg\n radius={radius}\n stroke={stroke}\n progress={25}\n frontStrokeColor={frontStrokeColor}\n frontStrokeLinecap={frontStrokeLinecap}\n backgroundStrokeColor={backgroundStrokeColor}\n />\n </StyledSpinningContainer>\n ) : (\n <ProgressCircleSvg\n radius={radius}\n stroke={stroke}\n progress={progress}\n frontStrokeColor={frontStrokeColor}\n frontStrokeLinecap={frontStrokeLinecap}\n backgroundStrokeColor={backgroundStrokeColor}\n />\n )}\n </StyledProgressLoaderContainer>\n );\n}\n","export { default as InfiniteLoader } from \"./InfiniteLoader\";\nexport { default as ProgressLoader } from \"./ProgressLoader\";\n","import React from \"react\";\nimport styled, { useTheme, DefaultTheme } from \"styled-components\";\nimport Text from \"../../asorted/Text\";\nimport { TextVariants } from \"../../../styles/theme\";\nimport Flex from \"../../layout/Flex\";\nimport WarningFill from \"@ledgerhq/icons-ui/react/WarningFill\";\nimport InformationFill from \"@ledgerhq/icons-ui/react/InformationFill\";\nimport CheckmarkCircleFill from \"@ledgerhq/icons-ui/react/CheckmarkCircleFill\";\nimport DeleteCircleFill from \"@ledgerhq/icons-ui/react/DeleteCircleFill\";\n\ntype AlertType = \"info\" | \"secondary\" | \"success\" | \"warning\" | \"error\";\n\ntype RenderProps = (props: {\n textProps: { variant?: TextVariants; fontWeight?: string };\n}) => React.JSX.Element;\n\nexport interface AlertProps {\n /**\n * Affects the colors of the background & text and what icon can be displayed.\n */\n type?: AlertType;\n /**\n * Title of the Alert.\n */\n title?: string;\n /**\n * Method for rendering additional content under the title. `{ color: string; textProps: { variant?: TextVariants; fontWeight?: string } }` is passed as props to easily style text elements.\n */\n renderContent?: RenderProps;\n\n /**\n * Method for rendering additional content to the right. `{ color: string; textProps: { variant?: TextVariants; fontWeight?: string } }` is passed as props to easily style text elements.\n */\n renderRight?: RenderProps;\n\n /**\n * Additional props to be passed to the top level container (containing icon + content).\n */\n containerProps?: Record<string, unknown>;\n\n /**\n * Whether or not to display an icon\n */\n showIcon?: boolean;\n}\n\nconst StyledIconContainer = styled.div`\n margin-right: 8px;\n display: flex;\n align-items: center;\n`;\n\nconst icons = {\n info: <InformationFill size=\"M\" />,\n secondary: <InformationFill size=\"M\" />,\n success: <CheckmarkCircleFill size=\"M\" />,\n warning: <WarningFill size=\"M\" />,\n error: <DeleteCircleFill size=\"M\" />,\n};\n\nconst getColors = ({ theme, type }: { theme: DefaultTheme; type?: AlertType }) => {\n switch (type) {\n case \"secondary\":\n return {\n background: theme.colors.opacityDefault.c05,\n iconColor: theme.colors.neutral.c80,\n };\n case \"success\":\n return {\n background: theme.colors.success.c10,\n iconColor: theme.colors.success.c50,\n };\n case \"warning\":\n return {\n background: theme.colors.warning.c10,\n iconColor: theme.colors.warning.c70,\n };\n case \"error\":\n return {\n background: theme.colors.error.c10,\n iconColor: theme.colors.error.c50,\n };\n case \"info\":\n default:\n return {\n background: theme.colors.primary.c10,\n iconColor: theme.colors.primary.c80,\n };\n }\n};\n\nconst StyledAlertContainer = styled(Flex)<{ background?: string; color?: string }>`\n border-radius: ${p => `${p.theme.radii[2]}px`};\n align-items: start;\n`;\n\nconst AlertBodyText = styled(Text).attrs({\n flexShrink: 1,\n variant: \"bodyLineHeight\",\n fontWeight: \"semiBold\",\n})``;\n\nconst AlertUnderlinedText = styled(AlertBodyText)`\n text-decoration-line: underline;\n`;\n\nfunction Alert({\n type = \"info\",\n title,\n showIcon = true,\n renderContent,\n renderRight,\n containerProps,\n}: Readonly<AlertProps>): React.JSX.Element {\n const theme = useTheme();\n const { iconColor, background } = getColors({ theme, type });\n const textProps: { variant?: TextVariants; fontWeight?: string } = {\n variant: \"bodyLineHeight\",\n fontWeight: \"semiBold\",\n };\n const textColor = \"neutral.c100\";\n return (\n <StyledAlertContainer\n color={textColor}\n backgroundColor={background}\n padding={6}\n {...containerProps}\n >\n {showIcon && !!icons[type] && (\n <Flex color={iconColor}>\n <StyledIconContainer>{icons[type]}</StyledIconContainer>\n </Flex>\n )}\n <Flex flexDirection=\"column\" flex={1} alignItems=\"flex-start\" rowGap=\"6px\">\n {title && (\n <Text {...textProps} color={textColor}>\n {title}\n </Text>\n )}\n {renderContent && renderContent({ textProps })}\n </Flex>\n <Flex alignSelf=\"center\">{renderRight && renderRight({ textProps })}</Flex>\n </StyledAlertContainer>\n );\n}\n\nAlert.BodyText = AlertBodyText;\nAlert.UnderlinedText = AlertUnderlinedText;\n\nexport default Alert;\n","import React from \"react\";\n\nimport { Divider, Text } from \"../../asorted\";\nimport Flex from \"../../layout/Flex\";\n\ntype Props = {\n Icon: React.ComponentType<{ size: number; color?: string }>;\n text: string;\n withTopDivider?: boolean;\n};\n\nconst ContinueOnDevice: React.FC<Props> = ({ Icon, text, withTopDivider = true }) => {\n return (\n <Flex flexDirection=\"column\">\n {withTopDivider ? <Divider my={6} /> : null}\n <Flex flexDirection=\"row\" alignItems=\"center\" flexShrink={1}>\n <Icon size={48} />\n <Text\n flex={1}\n pl={4}\n flexWrap=\"wrap\"\n variant=\"body\"\n fontWeight=\"medium\"\n color=\"neutral.c100\"\n >\n {text}\n </Text>\n </Flex>\n </Flex>\n );\n};\n\nexport default ContinueOnDevice;\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport FlexBox from \"../../layout/Flex\";\n\nconst SvgTop = styled.svg`\n position: absolute;\n top: 0;\n left: 0;\n`;\n\nconst SvgBottom = styled.svg`\n position: absolute;\n bottom: 0;\n left: 0;\n`;\n\nexport const BracketLeft = (): React.ReactElement => (\n <FlexBox\n flex=\"0 0 1.2em\"\n flexDirection=\"column\"\n position=\"relative\"\n justifyContent=\"space-between\"\n alignItems=\"flex-start\"\n >\n <SvgTop viewBox=\"0 0 64 64\" fill=\"currentColor\">\n <g>\n <path d=\"M 0,0 V 36.3452 H 8.05844 V 8.05844 H 55.3076 V 0 Z\" />\n </g>\n </SvgTop>\n <SvgBottom viewBox=\"0 0 64 128\" fill=\"currentColor\">\n <g>\n <path d=\"M 0,91.6548 V 128 h 55.3076 v -8.06 H 8.05844 V 91.6548 Z\" />\n </g>\n </SvgBottom>\n </FlexBox>\n);\n\nexport const BracketRight = (): React.ReactElement => (\n <FlexBox\n flex=\"0 0 1.2em\"\n flexDirection=\"column\"\n position=\"relative\"\n justifyContent=\"space-between\"\n alignItems=\"flex-end\"\n >\n <SvgTop viewBox=\"0 0 64 64\" fill=\"currentColor\">\n <g>\n <path d=\"M 8.692,0 V 8.05844 H 55.941 V 36.3452 H 64 V 0 Z\" />\n </g>\n </SvgTop>\n <SvgBottom viewBox=\"0 0 64 128\" fill=\"currentColor\">\n <g>\n <path d=\"m 8.692,119.94 v 8.058 H 64 V 91.6548 H 55.941 V 119.94 Z\" />\n </g>\n </SvgBottom>\n </FlexBox>\n);\n","import React, { memo } from \"react\";\nimport styled from \"styled-components\";\n\nimport Text, { TextProps } from \"../../asorted/Text\";\nimport FlexBox, { FlexBoxProps } from \"../../layout/Flex\";\nimport { BracketRight, BracketLeft } from \"./Brackets\";\n\nexport type Props = React.PropsWithChildren<\n FlexBoxProps & {\n extraTextProps?: TextProps;\n }\n>;\n\nconst Container = styled(FlexBox)`\n justify-content: center;\n flex-wrap: wrap;\n align-items: stretch;\n min-height: ${p => p.theme.space[12]}px;\n`;\n\nconst TextContainer = styled(FlexBox).attrs(() => ({\n flex: \"1\",\n justifyContent: \"center\",\n alignItems: \"center\",\n}))`\n ${Text} {\n flex: 1;\n }\n`;\n\nfunction Log({ children, extraTextProps, ...props }: Props): React.JSX.Element {\n return (\n <Container color=\"neutral.c100\" {...props}>\n <BracketLeft />\n <TextContainer flex=\"1\" alignItems=\"center\" justifyContent=\"center\">\n <Text\n variant=\"h3\"\n textTransform=\"uppercase\"\n textAlign=\"center\"\n color=\"inherit\"\n {...extraTextProps}\n >\n {children}\n </Text>\n </TextContainer>\n <BracketRight />\n </Container>\n );\n}\n\nexport default memo(Log);\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport { color, position, shadow, border, background, layout } from \"styled-system\";\n\nconst ActiveCircle = styled.div`\n position: absolute;\n top: 0;\n right: 0;\n height: 10px;\n width: 10px;\n border-radius: 9999px;\n box-sizing: content-box;\n background-color: ${p => p.theme.colors.error.c50};\n\n border: 2px solid\n var(\n --notification-badge-border,\n ${p => {\n /* The CSS variable is dynamically set by the Notification component */\n return p.theme.colors.background.main;\n }}\n );\n`;\n\nconst Wrapper = styled.div`\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 40px;\n height: 40px;\n border-radius: 9999px;\n ${color}\n ${position}\n ${shadow}\n ${border}\n ${background}\n ${layout}\n`;\n\nexport type Props = {\n /* If true a notification bubble will be displayed in the top right corner of the badge. */\n active?: boolean;\n /* JSX filling up the space inside the badge, usually an <Icon />. */\n icon: React.JSX.Element;\n} & React.ComponentProps<typeof Wrapper>;\nexport default function Badge({ active, icon, ...props }: Props): React.JSX.Element {\n return (\n <Wrapper {...props}>\n {icon}\n {active && <ActiveCircle />}\n </Wrapper>\n );\n}\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport FlexBox, { FlexBoxProps } from \"../../layout/Flex\";\nimport Text from \"../../asorted/Text\";\nimport Badge from \"./Badge\";\nimport Link, { LinkProps } from \"../../cta/Link\";\nimport { ExternalLinkMedium } from \"@ledgerhq/icons-ui/reactLegacy\";\n\ninterface ContainerProps extends FlexBoxProps {\n /* Add the pre-selected background. */\n hasBackground?: boolean;\n}\n\nexport interface Props extends ContainerProps {\n /* The title to be displayed. */\n title: string;\n /* JSX that should be rendered by a call to the <Notification.Badge /> component.*/\n badge: React.ReactNode;\n /* An optional description. */\n description?: string;\n /* An optional link. */\n link?: string;\n /* A callback to perform when clicking on the link. */\n onLinkClick?: LinkProps[\"onClick\"];\n}\n\nconst Container = styled(FlexBox).attrs<ContainerProps>({\n p: 6,\n columnGap: 8,\n alignItems: \"center\",\n})<ContainerProps>`\n --notification-badge-border: ${p => {\n /* Set a CSS variable that will be consumed by the Badge component */\n return p.hasBackground ? p.theme.colors.neutral.c30 : p.theme.colors.background.main;\n }};\n background-color: ${p => (p.hasBackground ? p.theme.colors.neutral.c30 : \"transparent\")};\n\n border-radius: 8px;\n`;\n\nfunction Notification({\n title,\n description,\n badge,\n link,\n onLinkClick,\n hasBackground = false,\n ...containerProps\n}: Readonly<Props>): React.JSX.Element {\n return (\n <Container hasBackground={hasBackground} {...containerProps}>\n {badge}\n <FlexBox flexDirection=\"column\" rowGap={3} flex=\"auto\">\n <Text variant={\"large\"} fontWeight=\"medium\" color=\"neutral.c100\">\n {title}\n </Text>\n {description && (\n <Text variant={\"paragraph\"} fontWeight=\"medium\" color=\"neutral.c80\" whiteSpace=\"pre-wrap\">\n {description}\n </Text>\n )}\n {link && (\n <FlexBox justifyContent={\"flex-start\"}>\n <Link onClick={event => onLinkClick && onLinkClick(event)} Icon={ExternalLinkMedium}>\n {link}\n </Link>\n </FlexBox>\n )}\n </FlexBox>\n </Container>\n );\n}\nNotification.Badge = Badge;\n\nexport type NotificationType = { (p: Props): React.JSX.Element; Badge: typeof Badge };\nexport default Notification as NotificationType;\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport FlexBox, { FlexBoxProps } from \"../../layout/Flex\";\nimport Log from \"../Log/\";\n\ninterface ContainerProps extends FlexBoxProps {\n /* Add the pre-selected border. */\n hasBorder?: boolean;\n}\n\nexport interface Props extends ContainerProps {\n /* The text to be displayed. */\n text: string;\n /* JSX that should be rendered on top of the Notification.*/\n badge: React.ReactNode;\n}\n\nconst Container = styled(FlexBox).attrs<ContainerProps>({\n p: 8,\n rowGap: 9,\n alignItems: \"center\",\n flexDirection: \"column\",\n})<ContainerProps>`\n border-width: 1px;\n border-style: ${p => (p.hasBorder ? \"solid\" : \"none\")};\n border-radius: 8px;\n border-color: ${p => p.theme.colors.neutral.c40};\n`;\n\nfunction StatusNotification({\n text,\n badge,\n hasBorder = false,\n ...containerProps\n}: Readonly<Props>): React.JSX.Element {\n return (\n <Container hasBorder={hasBorder} {...containerProps}>\n {badge}\n <Log>{text}</Log>\n </Container>\n );\n}\n\nexport default StatusNotification;\n","import React from \"react\";\nimport styled, { css } from \"styled-components\";\nimport Text from \"../../asorted/Text\";\nimport { CheckAloneMedium, CloseMedium, CircledAlertMedium } from \"@ledgerhq/icons-ui/reactLegacy\";\nimport { Flex } from \"../../layout\";\n\ntype TipType = \"success\" | \"warning\" | \"error\";\n\nexport interface TipProps {\n type?: TipType;\n label: string;\n}\n\nconst icons = {\n success: <CheckAloneMedium size={16} />,\n warning: <CircledAlertMedium size={16} />,\n error: <CloseMedium size={16} />,\n};\n\nconst StyledIconContainer = styled.div<{ type?: TipType }>`\n ${p => {\n switch (p.type) {\n case \"warning\":\n return css`\n background: ${p.theme.colors.warning.c10};\n color: ${p.theme.colors.warning.c50};\n `;\n case \"error\":\n return css`\n background: ${p.theme.colors.error.c10};\n color: ${p.theme.colors.error.c50};\n `;\n case \"success\":\n default:\n return css`\n background: ${p.theme.colors.success.c30};\n color: ${p.theme.colors.success.c50};\n `;\n }\n }}\n\n border-radius: ${p => `${p.theme.radii[1]}px`};\n margin-right: ${p => `${p.theme.space[6]}px`};\n padding: 6px;\n display: flex;\n align-items: center;\n`;\n\nexport default function Tip({ type, label }: Readonly<TipProps>): React.JSX.Element {\n return (\n <Flex alignItems={\"center\"}>\n {type && <StyledIconContainer type={type}>{icons[type]}</StyledIconContainer>}\n <Text variant={\"paragraph\"} fontWeight={\"medium\"} color={\"neutral.c100\"} flexShrink={1}>\n {label}\n </Text>\n </Flex>\n );\n}\n","import React, { forwardRef } from \"react\";\nimport { isForwardRef } from \"react-is\";\nimport Tippy, { TippyProps } from \"@tippyjs/react\";\nimport Text from \"../../asorted/Text\";\n\ntype Placement =\n | \"top\"\n | \"top-start\"\n | \"top-end\"\n | \"right\"\n | \"right-start\"\n | \"right-end\"\n | \"bottom\"\n | \"bottom-start\"\n | \"bottom-end\"\n | \"left\"\n | \"left-start\"\n | \"left-end\"\n | \"auto\"\n | \"auto-start\"\n | \"auto-end\";\n\n// Add more props later on if needed.\n// See https://atomiks.github.io/tippyjs/v6/all-props for the full list.\nexport interface Props extends TippyProps {\n /** The preferred placement of the tippy. */\n placement?: Placement;\n}\n\n// Tippyjs need the ref to be forwarded to the DOM element wrapping the children.\n// This component has been created to add a wrapping span and use its ref when needed.\n// See: https://github.com/atomiks/tippyjs-react#component-children\nconst Wrapper: React.ComponentType<React.PropsWithChildren<unknown>> = forwardRef(\n (props, ref: React.LegacyRef<HTMLElement>) => {\n const childrenCount = React.Children.count(props.children);\n\n try {\n const child = React.Children.only(props.children);\n const isValidElement = React.isValidElement(child);\n const isForwardingRef = isForwardRef(child);\n const isDomElement = isValidElement && typeof child.type === \"string\";\n\n if (isForwardingRef || isDomElement) {\n return React.cloneElement(child, { ref } as React.Attributes & {\n ref?: React.Ref<HTMLElement>;\n });\n } else {\n return <span ref={ref}>{props.children}</span>;\n }\n } catch {\n return childrenCount < 1 ? null : <span ref={ref}>{props.children}</span>;\n }\n },\n);\n\nexport default function Tooltip(props: Readonly<Props>): React.JSX.Element | null {\n const { content, placement = \"auto\", children, ...rest } = props;\n return (\n <Tippy\n {...rest}\n placement={placement}\n content={\n <Text fontWeight=\"medium\" variant={\"paragraph\"} color=\"neutral.c00\">\n {content}\n </Text>\n }\n >\n <Wrapper children={children} />\n </Tippy>\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","export { default as Alert } from \"./Alert\";\nexport { default as ContinueOnDevice } from \"./ContinueOnDevice\";\nexport { default as Log } from \"./Log\";\nexport { default as Notification } from \"./Notification\";\nexport { default as Badge } from \"./Notification/Badge\";\nexport { default as Tooltip } from \"./Tooltip\";\nexport { default as Tip } from \"./Tip\";\nexport { default as StatusNotification } from \"./StatusNotification\";\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport { color, layout, typography, ColorProps, LayoutProps, TypographyProps } from \"styled-system\";\nimport FlexBox from \"../../layout/Flex\";\n\nexport type Props = React.PropsWithChildren<{\n /* Header which will be displayed at the top of the Aside. */\n header: React.ReactNode;\n /* Optional footer which will be displayed at the bottom of the Aside. */\n footer?: React.ReactNode;\n}> &\n React.ComponentProps<typeof Wrapper>;\n\ninterface ExtraWrapperProps extends ColorProps, LayoutProps, TypographyProps {}\nconst Wrapper = styled(FlexBox)<ExtraWrapperProps>`\n ${color}\n ${layout}\n ${typography}\n`;\n\nexport default function Aside({ header, footer, children, ...props }: Props): React.JSX.Element {\n return (\n <Wrapper display=\"inline-flex\" flexDirection=\"column\" height=\"100vh\" {...props}>\n {header}\n <FlexBox flex=\"auto\" alignItems=\"center\" justifyContent=\"center\">\n {children}\n </FlexBox>\n {footer ?? null}\n </Wrapper>\n );\n}\n","import React, { memo } from \"react\";\nimport styled, { useTheme } from \"styled-components\";\nimport Flex from \"../../layout/Flex\";\nimport Text from \"../../asorted/Text\";\nimport Dropdown from \"../../form/Dropdown\";\nimport * as ControlModule from \"../../form/SelectInput/Control\";\n\nexport type Props = { segments: Segment[]; onChange: (values: string[]) => void }; //React.PropsWithChildren<unknown>;\nexport type Element = {\n label: string;\n value: string;\n};\nexport type Elements = {\n value: Element;\n options: Element[];\n};\nexport type Segment = Element | Elements;\n\nconst Link = styled(Text).attrs({\n ff: \"Inter|SemiBold\",\n fontSize: 3,\n color: \"neutral.c80\",\n tabIndex: 0,\n})`\n cursor: pointer;\n &:hover,\n &:active,\n &:focus {\n color: ${p => p.theme.colors.neutral.c100};\n text-decoration: underline;\n }\n`;\n\nfunction isMultiSegment(segment: Segment): segment is Elements {\n return (segment as Elements).options !== undefined;\n}\n\nexport default memo(function Breadcrumb({ segments, onChange }: Props): React.JSX.Element {\n const theme = useTheme();\n const [contents] = segments.reduce<[React.ReactNode[], string[]]>(\n ([renderArray, valuesArray], segment, index) => {\n const values = [...valuesArray];\n\n renderArray.push(\n <>\n {index > 0 ? (\n <Text fontWeight=\"semiBold\" color=\"neutral.c40\" variant={\"paragraph\"}>\n /\n </Text>\n ) : null}\n {isMultiSegment(segment) ? (\n <Dropdown\n label=\"\"\n options={segment.options}\n value={segment.value}\n onChange={elt => elt && onChange([...values, elt.value])}\n styles={{\n control: (provided, state) => ({\n ...ControlModule.getStyles<Element>(theme)(provided, state),\n cursor: \"pointer\",\n }),\n singleValue: provided => ({\n ...provided,\n margin: 0,\n top: undefined,\n position: undefined,\n overflow: undefined,\n maxWidth: undefined,\n transform: undefined,\n color: theme.colors.neutral.c80,\n \"&:hover\": {\n color: theme.colors.neutral.c100,\n textDecoration: \"underline\",\n },\n }),\n }}\n />\n ) : (\n <Link\n onKeyDown={(event: React.KeyboardEvent<HTMLSpanElement>) =>\n [\"Enter\", \" \"].includes(event.key) && onChange([...values, segment.value])\n }\n onClick={() => onChange([...values, segment.value])}\n >\n {segment.label}\n </Link>\n )}\n </>,\n );\n\n valuesArray.push(isMultiSegment(segment) ? segment.value.value : segment.value);\n return [renderArray, valuesArray];\n },\n [[], []],\n );\n\n return (\n <Flex columnGap={5} alignItems=\"center\">\n {contents}\n </Flex>\n );\n});\n","import React from \"react\";\nimport { Props as StepperProps } from \"../progress/Stepper\";\nimport Flex, { FlexBoxProps as FlexProps } from \"../../layout/Flex\";\nimport { Stepper } from \"..\";\nimport { isValidReactElement } from \"../../../helpers\";\n\nexport type StepProps = {\n /**\n * A specific index, can be used to explicitely order steps.\n */\n index?: number;\n /**\n * Custom header for this step.\n */\n header?: React.ReactNode;\n /**\n * Custom footer for this step.\n */\n footer?: React.ReactNode;\n /**\n * The label of the step.\n */\n label: string;\n /**\n * Hides the step from the progress stepper.\n */\n hidden?: boolean;\n /**\n * The step contents.\n */\n children: React.ReactNode;\n};\n\ninterface InnerProps {\n /**\n * The active index.\n */\n activeIndex: number;\n /**\n * The total number of steps.\n */\n stepsLength: number;\n}\n\ntype StepChild = React.ReactElement<StepProps>;\ntype SectionRenderFunc<ExtraProps> = (props: InnerProps & ExtraProps) => React.ReactNode;\ntype SectionStepRenderFunc<ExtraProps> = (\n args: InnerProps & ExtraProps & { children: React.ReactNode },\n) => React.ReactNode;\n\nexport interface Props<ExtraProps> {\n /**\n * The index of the active step.\n */\n activeIndex: number;\n /**\n * An optional generic header displayed above the stepper.\n */\n header?: SectionRenderFunc<ExtraProps>;\n /**\n * Custom rendering function to wrap the header (only used if the `header` is defined\n * on the child for the current step.)\n */\n renderStepHeader?: SectionStepRenderFunc<ExtraProps>;\n /**\n * An optional generic footer displayed below the body.\n */\n footer?: SectionRenderFunc<ExtraProps>;\n /**\n * Custom rendering function to wrap the footer (only used if the `footer` is defined\n * on the child for the current step.)\n */\n renderStepFooter?: SectionStepRenderFunc<ExtraProps>;\n /**\n * Extra props that are passed to the header and footer render functions.\n */\n extraProps?: ExtraProps;\n /**\n * Extra props that are passed to the container `Flex` element.\n */\n extraContainerProps?: FlexProps;\n /**\n * Extra props that are passed to the stepper component.\n */\n extraStepperProps?: Partial<StepperProps>;\n /**\n * Extra props that are passed to the stepper `Flex` wrapper.\n */\n extraStepperContainerProps?: FlexProps;\n /**\n * Extra props that are passed to the children `Flex` wrapper.\n */\n extraChildrenContainerProps?: FlexProps;\n /**\n * Custom rendering function to wrap children.\n */\n renderChildren?: (\n args: InnerProps & ExtraProps & { children: React.ReactNode },\n ) => React.ReactNode;\n /**\n * A list of children representing each step of the flow.\n * Each child can have a prop `stepHeader` and/or `stepFooter` that will\n * associate a custom header/footer to this particular step.\n * The custom header/footer can be wrapped using the prop renderStepHeader/renderStepFooter.\n */\n children: StepChild | StepChild[];\n}\n\nfunction FlowStepper<ExtraProps>({\n activeIndex,\n header,\n renderStepHeader,\n footer,\n renderStepFooter,\n extraProps,\n extraContainerProps,\n extraStepperProps,\n extraStepperContainerProps,\n extraChildrenContainerProps,\n renderChildren,\n children,\n}: Props<ExtraProps>) {\n const { steps, innerContents, stepFooter, stepHeader } = React.Children.toArray(children).reduce<{\n steps: string[];\n innerContents: React.ReactNode | null;\n stepHeader: React.ReactNode | null;\n stepFooter: React.ReactNode | null;\n }>(\n (acc, child, idx) => {\n const stepChild = isValidReactElement(child) ? (child as StepChild) : null;\n const index = stepChild?.props.index ?? idx;\n const label = stepChild?.props.label;\n const hidden = stepChild?.props.hidden;\n const stepHeader = stepChild?.props.header;\n const stepFooter = stepChild?.props.footer;\n\n if (label && !hidden) {\n acc.steps[index] = label;\n }\n if (index === activeIndex) {\n acc.innerContents = child;\n acc.stepFooter = stepFooter;\n acc.stepHeader = stepHeader;\n }\n return acc;\n },\n {\n steps: [],\n innerContents: null,\n stepHeader: null,\n stepFooter: null,\n },\n );\n\n const renderArgs = { ...extraProps, activeIndex, stepsLength: steps.length } as InnerProps &\n ExtraProps;\n\n function getSectionContents(\n renderFunc?: SectionRenderFunc<ExtraProps>,\n stepSection?: React.ReactNode,\n renderStepFunc?: SectionStepRenderFunc<ExtraProps>,\n ) {\n return stepSection\n ? renderStepFunc\n ? renderStepFunc({ ...renderArgs, children: stepSection })\n : stepSection\n : renderFunc && renderFunc(renderArgs);\n }\n\n console.log(\"FlowStepper\", { activeIndex, steps, innerContents, stepHeader, stepFooter });\n return (\n <Flex flex={1} flexDirection=\"column\" {...extraContainerProps}>\n {getSectionContents(header, stepHeader, renderStepHeader)}\n <Flex my={8} justifyContent=\"center\" {...extraStepperContainerProps}>\n <Stepper activeIndex={activeIndex} steps={steps} flex={1} {...extraStepperProps} />\n </Flex>\n <Flex flex={1} flexDirection=\"column\" position=\"relative\" {...extraChildrenContainerProps}>\n {renderChildren\n ? renderChildren({ ...renderArgs, children: innerContents })\n : innerContents}\n </Flex>\n {getSectionContents(footer, stepFooter, renderStepFooter)}\n </Flex>\n );\n}\n\nfunction Step({ children }: StepProps) {\n return <>{children}</>;\n}\n\nFlowStepper.Step = Step;\nexport default FlowStepper;\n\nexport type IndexedStepProps = StepProps & {\n /**\n * String to identify the step. Must be different from sibling steps's `key` prop.\n */\n itemKey: string;\n};\n\ntype IndexedStepperChild = React.ReactElement<IndexedStepProps>;\n\nexport type IndexedProps<ExtraProps> = Omit<Props<ExtraProps>, \"activeIndex\" | \"children\"> & {\n /**\n * The key of the active step\n */\n activeKey: string;\n\n /**\n * A list of children representing each step of the flow.\n */\n children: IndexedStepperChild | IndexedStepperChild[];\n};\n\n/**\n * This is a FlowStepper where each child must have an `itemKey: string` prop\n * and the active step is defined by the `activeKey: string` prop.\n *\n * This allows for usages with a lot of steps where dealing with indices could be\n * painful and error prone (for instance inserting/removing a step somewhere would shift\n * the indices of the following steps and navigation would be impacted).\n *\n * By using string identifiers (`itemKey`) for each step, it's more \"human readable\"\n * and less error prone to setup a navigation logic between steps.\n */\nfunction FlowStepperIndexed<ExtraProps>(props: IndexedProps<ExtraProps>) {\n const { activeKey, children, ...otherProps } = props;\n const activeIndex = React.Children.toArray(children).findIndex(child => {\n const stepChild = isValidReactElement(child) ? (child as IndexedStepperChild) : null;\n return stepChild?.props.itemKey === activeKey;\n });\n return (\n <FlowStepper {...otherProps} activeIndex={activeIndex}>\n {children}\n </FlowStepper>\n );\n}\n\nfunction IndexedStep({ children }: IndexedStepProps) {\n return <>{children}</>;\n}\n\nFlowStepperIndexed.Step = IndexedStep;\nFlowStepper.Indexed = FlowStepperIndexed;\n","import React from \"react\";\nimport FlexBox from \"../../layout/Flex\";\n\nexport type Props = {\n /* Content displayed on the left side of the header. */\n left?: React.ReactNode;\n /* Content displayed on the right side of the header. */\n right?: React.ReactNode;\n /* Content displayed in the middle part - vertically centered. */\n children?: React.ReactNode;\n} & React.ComponentProps<typeof FlexBox>;\n\nexport default function Header({\n left,\n right,\n children,\n ...rest\n}: Readonly<Props>): React.JSX.Element {\n return (\n <FlexBox justifyContent=\"space-between\" {...rest}>\n {left}\n <FlexBox justify-content=\"center\">{children}</FlexBox>\n {right}\n </FlexBox>\n );\n}\n","export { default as Aside } from \"./Aside\";\nexport { default as Breadcrumb } from \"./Breadcrumb\";\nexport { default as Header } from \"./Header\";\nexport * from \"./progress\";\nexport { default as SideBar } from \"./sideBar/SideBar\";\nexport { default as FlowStepper } from \"./FlowStepper\";\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport Text from \"../../../asorted/Text\";\n\nconst Container = styled.div`\n display: flex;\n flex-direction: row;\n height: 24px;\n align-items: center;\n`;\n\nconst Bar = styled.div<{ on?: boolean; fill: string | number }>`\n transition: all 600ms linear;\n height: 4px;\n border-radius: 2px;\n /* Disable left/right border radius to match the handler */\n border-top-${p => (p.on ? \"right\" : \"left\")}-radius: 0;\n border-bottom-${p => (p.on ? \"right\" : \"left\")}-radius: 0;\n flex: ${p => p.fill};\n background: ${p => (p.on ? p.theme.colors.neutral.c100 : p.theme.colors.neutral.c40)};\n`;\n\nconst Handler = styled.div`\n transition: all 600ms linear;\n padding: 4px;\n background: ${p => p.theme.colors.neutral.c100};\n border-radius: ${p => `${p.theme.radii[1]}px`};\n\n display: flex;\n align-items: center;\n justify-content: center;\n column-gap: 6px;\n\n & span.index {\n display: flex;\n border-radius: 2px;\n height: 16px;\n width: 16px;\n justify-content: center;\n align-items: center;\n color: ${p => p.theme.colors.neutral.c100};\n background: ${p => p.theme.colors.neutral.c00};\n }\n`;\n\ninterface Step {\n key: string;\n label: string;\n}\n\nexport type OnboardingProps = {\n steps: Step[];\n currentIndex: number;\n};\n\nconst Onboarding = ({ steps, currentIndex }: OnboardingProps): React.JSX.Element => {\n const currentStep = steps[currentIndex];\n const fill = ((currentIndex / (steps.length - 1)) * 100).toFixed(2);\n\n return (\n <Container>\n <Bar on fill={fill} />\n <Handler key={currentStep.key}>\n <Text className=\"index\" color=\"neutral.c00\" fontWeight=\"medium\" variant={\"micro\"}>\n {currentIndex + 1}\n </Text>\n <Text color=\"neutral.c00\" fontWeight=\"medium\" textTransform=\"uppercase\" variant={\"micro\"}>\n {currentStep.label}\n </Text>\n </Handler>\n <Bar fill={100 - Number(fill)} />\n </Container>\n );\n};\n\nexport default Onboarding;\n","import React, { memo, Fragment } from \"react\";\nimport styled from \"styled-components\";\nimport { border, BorderProps, color, ColorProps, space, SpaceProps } from \"styled-system\";\nimport { IconsLegacy } from \"../../../../index\";\nimport Text from \"../../../asorted/Text\";\nimport Flex, { FlexBoxProps } from \"../../../layout/Flex\";\n\n/**\n * The state of a progress bar step.\n */\nexport type StepState = \"pending\" | \"current\" | \"completed\" | \"errored\" | \"disabled\";\n\ntype LabelType = string | React.ComponentType<{ state: StepState }>;\nexport interface Props extends FlexBoxProps {\n /**\n * An array of labels that will determine the progress bar steps.\n * A label is either a string or a component that will be rendered with the\n * prop `state: \"pending\" | \"current\" | \"completed\" | \"errored\"`.\n * A styled StepText component is exported to allow easy styling of such a custom label.\n */\n steps: LabelType[];\n /**\n * Index of the active step, starting at zero and defaulting to 0 if omitted.\n */\n activeIndex?: number;\n /**\n * If true the current step is considered as a failure.\n */\n errored?: boolean;\n /**\n * Steps with indexes contained inside the array will be shown as disabled.\n */\n disabledIndexes?: number[];\n /**\n * Delete steps with same following labels\n */\n filterDuplicate?: boolean;\n /**\n * Complete all the steps\n */\n isOver?: boolean;\n}\n\nexport type StepProps = {\n /**\n * State of the step.\n */\n state: StepState;\n /**\n * The label to display. To display more than text, this can be a component that will be rendered with the\n * prop `state: \"pending\" | \"current\" | \"completed\" | \"errored\" | \"disabled\"`.\n * A styled StepText component is exported to allow easy styling of such a custom Label\n */\n label: LabelType;\n /**\n * If true, hides the left \"separator\" bar that bridges the gap between the wider separator and the item.\n */\n hideLeftSeparator: boolean;\n /**\n * The next step state, or undefined if the current step is the last one.\n */\n nextState?: StepState;\n};\n\nexport const Item = {\n Container: styled.div.attrs({\n mx: \"8px\",\n })<ColorProps & BorderProps & SpaceProps>`\n display: flex;\n justify-content: center;\n align-items: center;\n width: ${p => p.theme.space[8]}px;\n height: ${p => p.theme.space[8]}px;\n ${color}\n ${border}\n ${space}\n `,\n Spacer: styled.div<SpaceProps>`\n display: flex;\n align-self: stretch;\n ${space}\n `,\n Current: styled.div.attrs({\n backgroundColor: \"primary.c90\",\n })<ColorProps>`\n width: 6px;\n height: 6px;\n border-radius: 6px;\n ${color}\n `,\n Pending: styled.div.attrs({\n backgroundColor: \"neutral.c70\",\n })<ColorProps>`\n width: ${p => p.theme.space[2]}px;\n height: ${p => p.theme.space[2]}px;\n border-radius: ${p => p.theme.space[2]}px;\n ${color}\n `,\n Completed: (): React.JSX.Element => <IconsLegacy.CheckAloneMedium size={16} />,\n Disabled: (): React.JSX.Element => <IconsLegacy.CloseMedium size={16} />,\n Errored: (): React.JSX.Element => <IconsLegacy.CloseMedium size={16} />,\n};\n\nexport const StepText = styled(Text)<{ state: StepState }>`\n text-align: center;\n white-space: pre-wrap;\n color: ${p => {\n if (p.state === \"errored\") {\n return p.theme.colors.error.c50;\n }\n if (p.state === \"disabled\") {\n return p.theme.colors.neutral.c50;\n }\n if (p.state === \"pending\") {\n return p.theme.colors.neutral.c70;\n }\n return p.theme.colors.neutral.c100;\n }};\n`;\n\nconst BaseSeparator = styled.div<{ inactive?: boolean }>`\n flex: 1;\n position: relative;\n overflow-x: hidden;\n background-color: ${p => p.theme.colors.neutral.c40};\n height: 1px;\n top: ${p => p.theme.space[5]}px;\n`;\n\nconst Separator = {\n Step: styled(BaseSeparator)``,\n Item: styled(BaseSeparator)<{ position: string }>``,\n};\n\nconst stepContentsByState = {\n pending: (\n <Item.Container>\n <Item.Pending />\n </Item.Container>\n ),\n current: (\n <Item.Container backgroundColor=\"primary.c20\" borderRadius=\"8px\">\n <Item.Current />\n </Item.Container>\n ),\n completed: (\n <Item.Container color=\"primary.c90\" backgroundColor=\"primary.c20\" borderRadius=\"8px\">\n <Item.Completed />\n </Item.Container>\n ),\n errored: (\n <Item.Container color=\"error.c50\" backgroundColor=\"warning.c30\" borderRadius=\"8px\">\n <Item.Errored />\n </Item.Container>\n ),\n disabled: (\n <Item.Container color=\"neutral.c50\">\n <Item.Disabled />\n </Item.Container>\n ),\n};\n\nexport const Step = memo(function Step({\n state,\n label: Label,\n hideLeftSeparator,\n nextState,\n}: StepProps): React.JSX.Element {\n const inactive = state === \"pending\";\n const nextInactive = state === \"pending\";\n\n return (\n <Flex flexDirection=\"column\" alignItems=\"center\" flex={20}>\n <Item.Spacer mb={5}>\n {(!hideLeftSeparator && <Separator.Item inactive={inactive} position=\"left\" />) || (\n <Flex flex=\"1\" />\n )}\n {stepContentsByState[state]}\n {(nextState && <Separator.Item inactive={nextInactive} position=\"right\" />) || (\n <Flex flex=\"1\" />\n )}\n </Item.Spacer>\n {typeof Label === \"string\" ? (\n <StepText state={state} variant=\"small\">\n {Label}\n </StepText>\n ) : (\n <Label state={state} />\n )}\n </Flex>\n );\n});\n\nfunction getState(\n activeIndex: number,\n index: number,\n errored?: boolean,\n disabled?: boolean,\n completed?: boolean,\n) {\n if (completed) {\n return \"completed\";\n }\n if (disabled) {\n return \"disabled\";\n }\n if (activeIndex < index) {\n return \"pending\";\n }\n if (activeIndex === index) {\n return errored ? \"errored\" : \"current\";\n }\n return \"completed\";\n}\n\nfunction Stepper({\n steps,\n activeIndex = 0,\n errored,\n disabledIndexes,\n filterDuplicate,\n isOver,\n ...extraProps\n}: Props) {\n const displayedSteps = filterDuplicate\n ? steps.filter((step, index) => index === 0 || step !== steps[index - 1])\n : steps;\n const dislayedActiveIndex = filterDuplicate\n ? displayedSteps.findIndex(step => step === steps[activeIndex])\n : activeIndex;\n\n return (\n <Flex flexWrap=\"nowrap\" justifyContent=\"space-between\" {...extraProps}>\n {displayedSteps.map((step, idx) => {\n const state = getState(\n dislayedActiveIndex,\n idx,\n errored,\n disabledIndexes?.includes(idx),\n isOver,\n );\n const nextState =\n idx < displayedSteps.length - 1 ? getState(dislayedActiveIndex, idx + 1) : undefined;\n return (\n <Fragment key={idx}>\n {idx > 0 && <Separator.Step inactive={state === \"pending\"} />}\n <Step label={step} state={state} nextState={nextState} hideLeftSeparator={idx === 0} />\n </Fragment>\n );\n })}\n </Flex>\n );\n}\n\nexport default memo(Stepper);\n","export { default as ProgressBar } from \"./ProgressBar\";\nexport { default as Stepper } from \"./Stepper\";\n","import React, { useContext } from \"react\";\nimport styled from \"styled-components\";\nimport SideBarContext from \"../index\";\nimport Text from \"../../../asorted/Text\";\nimport TransitionInOut from \"../../../transitions/TransitionInOut\";\nimport Flex from \"../../../layout/Flex\";\n\nconst ItemWrapper = styled.li`\n /** DEFAULT VARIANT **/\n --ll-sidebar-item-label-color: ${props => props.theme.colors.neutral.c80};\n --ll-sidebar-item-icon-color: ${props => props.theme.colors.neutral.c80};\n --ll-sidebar-item-background-color: unset;\n\n display: flex;\n flex-direction: row;\n align-items: center;\n margin-top: ${p => p.theme.space[3]}px;\n column-gap: ${p => p.theme.space[5]}px;\n padding: ${p => p.theme.space[5]}px;\n border-radius: ${p => p.theme.space[3]}px;\n min-height: ${p => p.theme.space[13]}px;\n min-width: ${p => p.theme.space[13]}px;\n\n color: var(--ll-sidebar-item-icon-color);\n background-color: var(--ll-sidebar-item-background-color);\n cursor: pointer;\n\n /** HOVER VARIANT **/\n &:hover {\n --ll-sidebar-item-label-color: ${props => props.theme.colors.neutral.c100};\n --ll-sidebar-item-icon-color: ${props => props.theme.colors.primary.c80};\n --ll-sidebar-item-background-color: unset;\n }\n\n /** FOCUS VARIANT **/\n &:focus {\n box-shadow: 0px 0px 0px 4px rgba(187, 176, 255, 0.4);\n border-radius: ${p => p.theme.space[3]}px;\n }\n\n /** ACTIVE VARIANT **/\n &[data-active=\"true\"] {\n --ll-sidebar-item-label-color: ${props => props.theme.colors.neutral.c100};\n --ll-sidebar-item-icon-color: ${props => props.theme.colors.primary.c80};\n --ll-sidebar-item-background-color: ${props => props.theme.colors.primary.c20};\n }\n\n /** DISABLE VARIANT **/\n &[data-disable=\"true\"] {\n --ll-sidebar-item-label-color: ${props => props.theme.colors.neutral.c80};\n --ll-sidebar-item-icon-color: ${props => props.theme.colors.neutral.c80};\n --ll-sidebar-item-background-color: unset;\n opacity: 0.3;\n cursor: unset;\n pointer-events: none;\n }\n`;\n\nconst CollapsedBadgeContainer = styled.div`\n position: absolute;\n margin-top: -${p => p.theme.space[11]}px;\n margin-left: ${p => p.theme.space[8]}px;\n`;\n\nconst DefaultBadge = styled.div`\n height: ${p => p.theme.space[4]}px;\n width: ${p => p.theme.space[4]}px;\n border-radius: ${p => p.theme.radii[2]}px;\n background-color: ${p => p.theme.colors.primary.c80};\n`;\n\nexport const ItemLabel = styled(Text)`\n display: inline-block;\n color: var(--ll-sidebar-item-label-color);\n\n text-transform: capitalize;\n`;\n\nexport type ItemType = {\n label: string;\n children: React.JSX.Element;\n onClick: () => void;\n isActive?: boolean;\n isDisabled?: boolean;\n displayNotificationBadge?: boolean;\n customNotificationBadge?: React.JSX.Element;\n};\n\nconst Item = ({\n label,\n children,\n onClick,\n isActive,\n isDisabled,\n displayNotificationBadge,\n customNotificationBadge,\n}: ItemType): React.JSX.Element => {\n const { isExpanded } = useContext(SideBarContext);\n\n const handleClick = () => {\n if (isDisabled) return;\n onClick();\n };\n\n const badge = customNotificationBadge ?? <DefaultBadge />;\n\n return (\n <>\n <ItemWrapper\n role=\"button\"\n onClick={handleClick}\n data-active={isActive}\n data-disable={isDisabled}\n tabIndex={0}\n >\n {children}\n <CollapsedBadgeContainer>\n <TransitionInOut\n unmountOnExit\n mountOnEnter\n in={!isExpanded}\n style={{ transitionDelay: !isExpanded ? \"200ms\" : 0 }}\n >\n {displayNotificationBadge && badge}\n </TransitionInOut>\n </CollapsedBadgeContainer>\n <TransitionInOut\n timeout={200}\n in={isExpanded}\n unmountOnExit\n mountOnEnter\n style={{ transitionDelay: isExpanded ? \"200ms\" : 0, display: \"flex\", flex: \"1\" }}\n >\n <ItemLabel variant=\"paragraph\">{label}</ItemLabel>\n <Flex alignItems=\"center\" justifyContent=\"flex-end\" ml={2} flexGrow={1}>\n {displayNotificationBadge && badge}\n </Flex>\n </TransitionInOut>\n </ItemWrapper>\n </>\n );\n};\n\nexport default Item;\n","import React, { useContext } from \"react\";\nimport styled from \"styled-components\";\n\nimport LedgerLiveIconLarge from \"../../../../assets/logos/LedgerLiveRegular\";\nimport LedgerIconSmall from \"../../../../assets/logos/LedgerLiveAltRegular\";\nimport SideBarContext from \"../../../navigation/sideBar\";\nimport TransitionInOut from \"../../../transitions/TransitionInOut\";\n\nconst Container = styled.div`\n display: flex;\n flex-direction: row;\n overflow: hidden;\n`;\n\nconst Logo = (): React.JSX.Element => {\n const { isExpanded } = useContext(SideBarContext);\n\n return (\n <Container>\n <TransitionInOut\n timeout={300}\n in={isExpanded}\n unmountOnExit\n mountOnEnter\n style={{ transitionDelay: \"300ms\", marginLeft: \"1rem\" }}\n >\n <LedgerLiveIconLarge />\n </TransitionInOut>\n <TransitionInOut\n timeout={300}\n in={!isExpanded}\n unmountOnExit\n mountOnEnter\n style={{ margin: \"auto\", transitionDelay: \"300ms\" }}\n >\n <LedgerIconSmall />\n </TransitionInOut>\n </Container>\n );\n};\n\nexport default Logo;\n","import React, { useMemo, useRef, useState } from \"react\";\nimport { CSSTransition } from \"react-transition-group\";\nimport styled from \"styled-components\";\nimport SideBarContext from \"../../../navigation/sideBar\";\nimport Flex from \"../../../layout/Flex\";\nimport Item from \"../../../navigation/sideBar/Item\";\nimport Logo from \"../../../navigation/sideBar/Logo\";\nimport Toggle from \"../../../navigation/sideBar/Toggle\";\n\nconst Nav = styled(Flex)`\n position: relative;\n padding: ${p => `${p.theme.space[19]}px ${p.theme.space[5]}px 0`};\n row-gap: 1.5rem;\n height: 100vh;\n width: 14.875rem;\n color: ${props => props.theme.colors.neutral.c100};\n border-right: 1px solid ${props => props.theme.colors.neutral.c40};\n background-color: ${props => props.theme.colors.background.main};\n transition: width 200ms;\n will-change: width;\n flex-shrink: 0;\n z-index: ${p => p.theme.zIndexes[2]};\n\n &.nav-enter {\n width: ${p => p.theme.space[19]}px;\n }\n &.nav-enter-done {\n width: 14.875rem;\n }\n &.nav-exit {\n width: 14.875rem;\n }\n &.nav-exit-done {\n width: ${p => `${p.theme.space[19]}px`};\n }\n`;\n\nconst TransparentMouseZone = styled.div`\n position: absolute;\n left: 100%;\n top: 0;\n width: ${p => `${p.theme.space[8]}px`};\n height: 100%;\n`;\n\nexport type SideBarProps = {\n children: Array<React.JSX.Element>;\n onToggle: () => void;\n isExpanded?: boolean;\n};\n\nconst SideBar = ({ children, onToggle, isExpanded = true }: SideBarProps): React.JSX.Element => {\n const [isToggleDisplayed, setToggleDisplayed] = useState(false);\n const providerValue = useMemo(() => ({ isExpanded, onToggle }), [isExpanded, onToggle]);\n const nodeRef = useRef<HTMLDivElement>(null);\n\n return (\n <SideBarContext.Provider value={providerValue}>\n <CSSTransition nodeRef={nodeRef} in={isExpanded} timeout={200} classNames=\"nav\">\n <Nav\n ref={nodeRef}\n flexDirection=\"column\"\n justifyContent=\"flex-start\"\n alignContent=\"stretch\"\n role=\"navigation\"\n aria-label=\"Main\"\n onMouseEnter={() => setToggleDisplayed(true)}\n onMouseLeave={() => setToggleDisplayed(false)}\n >\n <TransparentMouseZone />\n <Toggle isDisplayed={isToggleDisplayed} />\n <Logo />\n <Flex flexDirection=\"column\" justifyContent=\"flex-start\" alignContent=\"stretch\">\n {children}\n </Flex>\n </Nav>\n </CSSTransition>\n </SideBarContext.Provider>\n );\n};\n\nSideBar.Item = Item;\n\nexport default SideBar;\n","import React, { useContext } from \"react\";\nimport styled from \"styled-components\";\n\nimport ArrowLeftIcon from \"@ledgerhq/icons-ui/reactLegacy/ArrowLeftMedium\";\nimport ArrowRightIcon from \"@ledgerhq/icons-ui/reactLegacy/ArrowRightMedium\";\nimport TransitionInOut from \"../../../transitions/TransitionInOut\";\nimport SideBarContext from \"../../../navigation/sideBar\";\n\nconst ToggleButtonContainer = styled(TransitionInOut)`\n --ll-side-bar-toggle-button-size: ${p => p.theme.space[10]}px;\n\n display: flex;\n justify-content: center;\n align-items: center;\n position: absolute;\n top: var(--ll-side-bar-toggle-button-size);\n right: calc(var(--ll-side-bar-toggle-button-size) / -2);\n cursor: pointer;\n\n background: ${p => p.theme.colors.neutral.c20};\n border: 1px solid ${p => p.theme.colors.neutral.c100};\n border-radius: 50%;\n width: var(--ll-side-bar-toggle-button-size);\n height: var(--ll-side-bar-toggle-button-size);\n`;\n\ntype ToggleButtonProps = { isDisplayed: boolean };\nconst ToggleButton = ({ isDisplayed }: ToggleButtonProps): React.JSX.Element => {\n const { isExpanded, onToggle } = useContext(SideBarContext);\n\n return (\n <ToggleButtonContainer\n timeout={200}\n in={isDisplayed}\n appear\n unmountOnExit\n onClick={onToggle}\n role=\"button\"\n >\n {isExpanded ? <ArrowLeftIcon /> : <ArrowRightIcon />}\n </ToggleButtonContainer>\n );\n};\n\nexport default ToggleButton;\n","import { createContext } from \"react\";\n\ntype SideBarContextType = { isExpanded: boolean; onToggle: () => void };\nexport default createContext<Partial<SideBarContextType>>({});\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, { useState } from \"react\";\nimport styled from \"styled-components\";\nimport Flex from \"../../layout/Flex\";\n\nexport type Props = React.PropsWithChildren<{\n /**\n * An optional callback that will be called when the active tab changes.\n */\n onTabChange?: (activeIndex: number) => void;\n /**\n * The tab index to mark as active when rendering for the first time.\n * If omitted, then initially no tabs will be selected.\n */\n initialActiveIndex?: number;\n}>;\ntype ItemProps = {\n active: boolean;\n};\n\nconst Bar = styled.div`\n display: inline-flex;\n border: 1px solid ${p => p.theme.colors.neutral.c40};\n border-radius: 33px;\n padding: 2px;\n`;\n\nconst Item = styled(Flex).attrs({\n flex: 1,\n justifyContent: \"center\",\n alignItems: \"center\",\n})<ItemProps>`\n cursor: pointer;\n padding: 8px 12px 8px 12px;\n border-radius: 33px;\n color: ${p => (p.active ? p.theme.colors.neutral.c00 : p.theme.colors.neutral.c80)};\n background-color: ${p => (p.active ? p.theme.colors.neutral.c100 : \"unset\")};\n`;\n\nexport default function BarTabs({\n children,\n onTabChange,\n initialActiveIndex,\n}: Props): React.JSX.Element {\n const [activeIndex, setActiveIndex] = useState(initialActiveIndex);\n return (\n <Bar>\n {React.Children.toArray(children).map((child, index) => (\n <Item\n key={index}\n active={index === activeIndex}\n onClick={() => {\n setActiveIndex(index);\n onTabChange && onTabChange(index);\n }}\n >\n {child}\n </Item>\n ))}\n </Bar>\n );\n}\n","import React, { useState, useEffect } from \"react\";\nimport styled from \"styled-components\";\nimport Flex from \"../../layout/Flex\";\n\nexport type Props = React.PropsWithChildren<{\n /**\n * An optional callback that will be called when the active tab changes.\n */\n onTabChange?: (activeIndex: number) => void;\n /**\n * The tab index to mark as active when rendering for the first time.\n * If omitted, then initially no tabs will be selected.\n */\n initialActiveIndex?: number;\n}>;\ntype ItemProps = {\n active: boolean;\n};\n\nconst Container = styled(Flex).attrs({\n justifyContent: \"space-between\",\n flex: 1,\n columnGap: 1,\n})`\n border: 1px solid ${p => p.theme.colors.opacityDefault.c10};\n border-radius: 12px;\n padding: 4px;\n`;\n\nconst Item = styled(Flex).attrs({\n flex: 1,\n justifyContent: \"center\",\n alignItems: \"center\",\n})<ItemProps>`\n cursor: pointer;\n padding: 8px 12px 8px 12px;\n border-radius: 10px;\n color: ${p => (p.active ? p.theme.colors.neutral.c100 : p.theme.colors.neutral.c50)};\n background-color: ${p => (p.active ? p.theme.colors.opacityDefault.c10 : \"unset\")};\n`;\n\nexport default function BarTabs({\n children,\n onTabChange,\n initialActiveIndex,\n}: Props): React.JSX.Element {\n const [activeIndex, setActiveIndex] = useState(initialActiveIndex);\n\n useEffect(() => {\n setActiveIndex(initialActiveIndex);\n }, [initialActiveIndex]);\n\n return (\n <Container>\n {React.Children.toArray(children).map((child, index) => (\n <Item\n key={index}\n active={index === activeIndex}\n onClick={() => {\n setActiveIndex(index);\n onTabChange && onTabChange(index);\n }}\n >\n {child}\n </Item>\n ))}\n </Container>\n );\n}\n","import React, { useState } from \"react\";\nimport styled from \"styled-components\";\nimport { border, BorderProps } from \"styled-system\";\nimport Flex from \"../../layout/Flex\";\n\nexport type Props = React.PropsWithChildren<{\n /**\n * An optional callback that will be called when the active tab changes.\n */\n onTabChange?: (activeIndex: number) => void;\n /**\n * The tab index to mark as active when rendering for the first time.\n * If omitted, then initially no tabs will be selected.\n */\n initialActiveIndex?: number;\n}>;\n\nconst Pill = styled.div<BorderProps>`\n display: inline-flex;\n & > :first-child {\n border-top-left-radius: 20px;\n border-bottom-left-radius: 20px;\n padding-left: 12px;\n }\n & > :last-child {\n border-top-right-radius: 20px;\n border-bottom-right-radius: 20px;\n padding-right: 12px;\n }\n & > :not(:first-child) {\n border-left-width: 0;\n }\n ${border};\n`;\nconst Item = styled(Flex).attrs({ flex: 1, justifyContent: \"center\", alignItems: \"center\" })`\n cursor: pointer;\n padding: 8px 10px 8px 10px;\n border: 1px solid;\n &[data-active=\"false\"] {\n color: ${p => p.theme.colors.neutral.c80};\n background-color: ${p => p.theme.colors.neutral.c00};\n border-color: ${p => p.theme.colors.neutral.c40};\n }\n &[data-active=\"true\"] {\n color: ${p => p.theme.colors.neutral.c00};\n background-color: ${p => p.theme.colors.neutral.c100};\n border-color: ${p => p.theme.colors.neutral.c100};\n\n &:not(:last-child) {\n border-right-width: 0;\n }\n }\n &[data-active=\"true\"] + div {\n border-left-width: 1px;\n }\n`;\n\nexport default function PillTabs({\n children,\n onTabChange,\n initialActiveIndex,\n}: Props): React.JSX.Element {\n const [activeIndex, setActiveIndex] = useState(initialActiveIndex);\n return (\n <Pill>\n {React.Children.toArray(children).map((child, index) => (\n <Item\n key={index}\n data-active={index === activeIndex}\n onClick={() => {\n setActiveIndex(index);\n onTabChange && onTabChange(index);\n }}\n >\n {child}\n </Item>\n ))}\n </Pill>\n );\n}\n","import React, { useState, useEffect, createRef, forwardRef } from \"react\";\nimport styled from \"styled-components\";\nimport Flex from \"../../layout/Flex\";\nimport Tag from \"../../Tag\";\nimport Text from \"../../asorted/Text\";\n\nexport interface TabContent {\n index: number;\n title: string;\n disabled?: boolean;\n badge?: string | number;\n Component: React.ReactNode;\n}\n\nexport type Props = React.PropsWithChildren<{\n /**\n * An optional callback that will be called when the active tab changes.\n */\n onTabChange?: (index: number) => void;\n /**\n * The tab index to mark as active when rendering for the first time.\n * If omitted, then initially no tabs will be selected.\n */\n activeIndex?: number;\n tabs: TabContent[];\n}>;\n\nconst Container = styled(Flex).attrs({\n flexDirection: \"column\",\n justifyContent: \"center\",\n alignItems: \"center\",\n})``;\n\nconst TabHeader = styled.div`\n display: flex;\n flex-direction: column;\n flex: 1;\n width: 100%;\n`;\n\nconst TabHeaderContent = styled(Flex).attrs({\n flex: 1,\n alignItems: \"center\",\n})`\n width: 100%;\n`;\n\nconst TabHeaderBox = styled.div<{ disabled: boolean }>`\n display: flex;\n flex-grow: inherit;\n justify-content: center;\n text-align: center;\n cursor: ${p => (p.disabled ? \"default\" : \"pointer\")};\n padding: 8px 12px;\n`;\n\nconst HeaderTitle = styled(Text).attrs({\n fontWeight: \"600\",\n})<{ selected: boolean }>`\n margin-inline: 12px;\n color: ${p => (p.selected ? p.theme.colors.neutral.c100 : p.theme.colors.neutral.c80)};\n`;\n\nconst HeaderBottomBarFixed = styled(Flex).attrs({\n flex: 1,\n})`\n width: 100%;\n position: relative;\n top: 3px;\n border-bottom: 1px solid ${p => p.theme.colors.neutral.c40};\n`;\n\nconst HeaderBottomBarMoving = styled.div<HeaderBottomBarProps>`\n position: relative;\n left: ${p => p.left}px;\n width: ${p => p.width}px;\n transition: all 400ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;\n border-bottom: solid 3px;\n border-bottom-color: ${p => p.theme.colors.primary.c70};\n`;\n\nconst Badge = styled(Tag).attrs(p => ({\n borderRadius: p.theme.radii[3],\n backgroundColor: p.theme.colors.primary.c70,\n color: p.theme.colors.neutral.c00,\n}))`\n padding: 5px;\n min-width: 24px;\n`;\n\ninterface HeaderBottomBarProps {\n left: number;\n width: number;\n}\n\nconst MyBottomBar = (props: HeaderBottomBarProps) => {\n const { width, left } = props;\n return (\n <>\n <HeaderBottomBarFixed />\n <HeaderBottomBarMoving width={width} left={left} />\n </>\n );\n};\n\ninterface HeaderElementProps {\n title: string;\n selected: boolean;\n disabled: boolean;\n badge?: string | number;\n onClick: () => void;\n}\n\nconst HeaderElement = forwardRef<HTMLDivElement, HeaderElementProps>((props, ref) => {\n const { onClick, badge, disabled, selected, title } = props;\n\n return (\n <TabHeaderBox ref={ref} disabled={disabled} onClick={onClick}>\n <HeaderTitle selected={selected}>{title}</HeaderTitle>\n {(badge || badge === 0) && <Badge>{badge}</Badge>}\n </TabHeaderBox>\n );\n});\n\nconst MainContent = styled(Flex).attrs({\n flex: 1,\n})<{ active?: boolean }>`\n width: 100%;\n color: ${p => (p.active ? p.theme.colors.neutral.c00 : p.theme.colors.neutral.c70)};\n background-color: ${p => (p.active ? p.theme.colors.neutral.c100 : p.theme.colors.neutral.c00)};\n`;\n\nexport default function Tabs(props: Props): React.JSX.Element {\n const { tabs, onTabChange } = props;\n const [activeIndex, setActiveIndex] = useState(tabs[0].index);\n const [bottomBar, updateBottomBar] = useState<HeaderBottomBarProps>({ left: 0, width: 0 });\n const mainTab = activeIndex >= 0 ? tabs[activeIndex] : null;\n const refs = tabs.map(() => createRef<HTMLDivElement>());\n\n useEffect(() => {\n const newIndex = props.activeIndex || activeIndex;\n setActiveIndex(newIndex);\n\n if (refs[0].current) {\n const refIndex = tabs.findIndex(t => t.index === newIndex);\n const refsToHandle = refs.slice(0, refIndex);\n const width = refs[refIndex].current?.offsetWidth || 0;\n const left = refsToHandle.reduce((total, ref) => total + (ref.current?.offsetWidth || 0), 0);\n updateBottomBar({\n width,\n left,\n });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [activeIndex]);\n\n const onTabClick = (index: number) => {\n const tab = tabs.find(t => t.index === index);\n if (tab && !tab.disabled) {\n setActiveIndex(index);\n onTabChange && onTabChange(index);\n }\n };\n\n return (\n <Container>\n <TabHeader>\n <TabHeaderContent>\n {tabs.map((tab, i) => (\n <HeaderElement\n ref={refs[i]}\n title={tab.title}\n selected={activeIndex === tab.index}\n badge={tab.badge}\n disabled={!!tab.disabled}\n onClick={() => onTabClick(tab.index)}\n />\n ))}\n </TabHeaderContent>\n <MyBottomBar width={bottomBar.width} left={bottomBar.left} />\n </TabHeader>\n <MainContent>{mainTab && mainTab.Component}</MainContent>\n </Container>\n );\n}\n","export { default as Bar } from \"./Bar\";\nexport { default as Pill } from \"./Pill\";\nexport { default as Tabs } from \"./Tabs\";\nexport { default as Chip } from \"./Chip\";\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","export { default as TransitionInOut } from \"./TransitionInOut\";\nexport { default as TransitionScale } from \"./TransitionScale\";\nexport { default as TransitionSlide } from \"./TransitionSlide\";\n","import React from \"react\";\n\nconst REACT_ELEMENT_TYPE = Symbol.for(\"react.element\");\nconst REACT_TRANSITIONAL_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\");\n\n/**\n * Checks whether a value is a React element.\n *\n * Handles the React 19 `react.transitional.element` symbol (and the classic\n * `react.element` symbol for compatibility), making it safe to use without\n * relying on the legacy `React.isValidElement` API.\n */\nexport const isValidReactElement = (value: unknown): value is React.ReactElement =>\n !!value &&\n typeof value === \"object\" &&\n // eslint-disable-next-line @typescript-eslint/consistent-type-assertions\n \"$$typeof\" in (value as Record<string, unknown>) &&\n // eslint-disable-next-line @typescript-eslint/consistent-type-assertions\n ((value as { $$typeof?: unknown }).$$typeof === REACT_ELEMENT_TYPE ||\n // eslint-disable-next-line @typescript-eslint/consistent-type-assertions\n (value as { $$typeof?: unknown }).$$typeof === REACT_TRANSITIONAL_ELEMENT_TYPE);\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 * from \"./asorted\";\nexport * from \"./cta\";\nexport * from \"./form\";\nexport * from \"./layout\";\nexport * from \"./loaders\";\nexport * from \"./message\";\nexport * from \"./navigation\";\nexport { default as Table } from \"./Table\";\nexport * from \"./tabs\";\nexport { default as Tag } from \"./Tag\";\nexport * from \"./transitions\";\n"],"names":["React","LedgerLiveAltRegular","width","height","color","LedgerLiveRegular","Icon","FlexBox","Text","iconColumn","props","header","layout","elt","name","weight","textProps","icon","textColumn","title","subtitle","titleProps","subtitleProps","text","memo","useMemo","styled","border","gridColumn","Grid","Flex","Columns","Container","ExtraRowContainer","RowContainer","RowsComponent","data","columns","render","extraRender","renderRow","rowIndex","row","column","columnIndex","Rows","Table","withHeaders","containerProps","gridTemplateColumns","acc","col","headers","index","memoTable","baseStyled","getColor","type","active","disabled","getBgColor","undefined","getBorderColor","getPadding","size","getTextProps","TagContainer","p","Tag","children","textColor","baseTextProps","DividerBase","Divider","DEFAULT_BOX_SIZE","DEFAULT_ICON_SIZE","DEFAULT_BADGE_SIZE","getClipRectangleSize","badgeSize","getTopRightSquareClippedPolygon","boxSize","rectangleSize","diff","IconBoxBackground","BadgeContainer","IconBox","Badge","borderColor","badgeColor","hasBadge","BoxedIcon","iconSize","iconColor","iconBoxProps","icons","iconNames","Array","Object","set","rawKey","key","Set","maybeIconName","Component","css","useTheme","Icons","Box","rgba","getColorsByIcon","colors","warning","getDefaultDefaultColors","primary","NotificationIcon","variant","defaultColors","safeIcon","iconBgColor","Wrapper","squareWrapper","roundWrapper","compose","fontSize","fontWeight","textAlign","lineHeight","letterSpacing","system","fontFamily","textVariantStyle","uppercase","value","getFontSource","fontsPath","fontName","fontStyles","default","ChevronBottom","useState","fontSizes","IconContainer","getVariantColors","ButtonUnstyled","Base","buttonSizeStyle","variants","ContentContainer","Button","iconPosition","onClick","ref","iconNodeSize","IconNode","ButtonWithRef","StyledButtonExpand","ButtonExpand","onToggle","expanded","setExpanded","event","getLinkColors","ctaIconSize","ctaTextType","DEFAULT_ICON_POSITION","DEFAULT_SIZE","DEFAULT_TYPE","theme","LinkContainer","Link","TypeEnum","Toggle","checked","buttonProps","typography","useCallback","CircledCrossSolidMedium","InputContainer","BaseInput","InputErrorContainer","InputWarningContainer","InputInfoContainer","InputRenderLeftContainer","InputRenderRightContainer","ClearableButtonUnstyled","IDENTITY","_","Input","error","info","onChange","onChangeEvent","renderLeft","renderRight","unwrapped","serialize","deserialize","clearable","htmlInputProps","focus","setFocus","inputValue","handleChange","e","handleClear","inner","CheckAloneMedium","renderToStaticMarkup","CheckMarkIcon","encodeURIComponent","Label","Checkbox","isDisabled","label","isChecked","components","SelectInput","IconsLegacy","ValueContainer","DropdownControl","selectProps","DropdownValueContainer","isOpen","DropdownIndicatorsContainer","Dropdown","styles","rest","provided","Legend","LegendInput","legend","inputProps","MaxButton","parseFloat","NumberInput","onPercentClick","max","percent","Number","QrCodeMedium","QrCodeButton","QrCodeInput","onQrCodeClick","QuantityInput","onMaxClick","price","useContext","RadioContext","outlinedCSS","RadioElement","Element","outlined","context","Error","RadioListElement","ListElement","Radio","currentValue","SearchMedium","SearchInput","getStyles","Control","isFocused","ChevronBottomMedium","ChevronTopMedium","DropdownIndicator","ChevronIcon","IndicatorsContainer","isLight","MenuList","selected","Option","innerProps","Select","DropdownIndicatorModule","ValueContainerModule","ControlModule","MenuListModule","OptionModule","stylesFn","rowHeight","extendStyles","innerContent","getDividerColor","getHoverBolderColor","SplitInput","onFocus","onBlur","disabledState","Switcher","Switch","reversed","handleFocusKeyDown","handleClick","useEffect","motion","useAnimation","StyledButton","StyledFlex","StyledText","OptionButton","option","selectedOption","handleSelectOption","isSelected","TabSelector","options","labels","longuestLabel","widthFactor","margin","semiWidth","controls","StyleProvider","BannerCard","cta","description","descriptionWidth","tag","image","onClose","boxProps","handleClose","StyledTag","Title","Desc","CloseButton","NotificationCard","isHighlighted","handleCTAClick","ChevronArrow","ChevronArrowContainer","direction","animated","useSpring","ItemStatus","defaultBulletStyle","useBulletStyles","BulletStyle","Bullet","springStyle","getItemStatus","FooterCarouselBullets","Pagination","currentIndex","child","itemIndex","activeIndex","itemCount","isActive","isAdjacent","Math","isEdge","FooterContentCard","FooterDefault","Footers","Footer","ArrowLeft","ArrowRight","FooterContainer","FooterArrowsContainer","FooterArrowContainer","emblaApi","Autoplay","useEmblaCarousel","debounce","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","Close","TransitionSlide","TransitionInOut","Direction","Overlay","ScrollWrapper","ButtonPlaceholder","DrawerContent","footer","big","backgroundColor","setTransitionsEnabled","onBack","extraContainerProps","extraHeaderProps","extraFooterProps","extraFooterDividerProps","ignoreBackdropClick","hideNavigation","disableChildAnimations","enableChildAnimations","handleBackdropClick","stopClickPropagation","Drawer","menuPortalTarget","sideProps","$root","grid","getColumns","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","PopinWrapper","popinProps","useReducer","setSide","reducer","state","update","initialState","useSide","SideProvider","dispatch","_setSide","useRef","TransitionGroup","SideWrapper","queue","setQueue","setDirection","transitionsEnabled","nonce","q","timeout","wrappedOnBack","Side","keyframes","rotate","Loader","extraProps","StyledCircle","StyledCircleBackground","StyledCircleFront","StyledCenteredText","StyledProgressLoaderContainer","StyledSpinningContainer","ProgressCircleSvg","radius","stroke","progress","backgroundStrokeColor","frontStrokeColor","frontStrokeLinecap","normalizedRadius","circumference","strokeDashoffset","ProgressLoader","showPercentage","infinite","WarningFill","InformationFill","CheckmarkCircleFill","DeleteCircleFill","StyledIconContainer","getColors","StyledAlertContainer","AlertBodyText","AlertUnderlinedText","Alert","showIcon","renderContent","background","ContinueOnDevice","withTopDivider","SvgTop","SvgBottom","BracketLeft","BracketRight","Log","extraTextProps","position","shadow","ActiveCircle","ExternalLinkMedium","Notification","badge","link","onLinkClick","hasBackground","StatusNotification","hasBorder","CloseMedium","CircledAlertMedium","Tip","forwardRef","isForwardRef","Tippy","childrenCount","isValidElement","isForwardingRef","isDomElement","Tooltip","content","placement","Aside","isMultiSegment","segment","Breadcrumb","segments","contents","renderArray","valuesArray","values","Stepper","isValidReactElement","FlowStepper","renderStepHeader","renderStepFooter","extraStepperProps","extraStepperContainerProps","extraChildrenContainerProps","renderChildren","innerContents","stepFooter","stepHeader","idx","stepChild","hidden","renderArgs","getSectionContents","renderFunc","stepSection","renderStepFunc","console","Step","FlowStepperIndexed","activeKey","otherProps","IndexedStep","left","right","SideBar","Bar","Handler","Onboarding","currentStep","fill","Fragment","space","Item","StepText","BaseSeparator","Separator","stepContentsByState","hideLeftSeparator","nextState","inactive","nextInactive","getState","errored","completed","disabledIndexes","filterDuplicate","isOver","displayedSteps","dislayedActiveIndex","ProgressBar","SideBarContext","ItemWrapper","CollapsedBadgeContainer","DefaultBadge","ItemLabel","displayNotificationBadge","customNotificationBadge","isExpanded","LedgerLiveIconLarge","LedgerIconSmall","Logo","CSSTransition","Nav","TransparentMouseZone","isToggleDisplayed","setToggleDisplayed","providerValue","nodeRef","ArrowRightIcon","ToggleButtonContainer","ToggleButton","isDisplayed","createContext","gaps","flexbox","overflow","baseStyles","proxyStyled","Proxy","target","thisArg","argumentsList","property","BarTabs","onTabChange","initialActiveIndex","setActiveIndex","Pill","PillTabs","createRef","TabHeader","TabHeaderContent","TabHeaderBox","HeaderTitle","HeaderBottomBarFixed","HeaderBottomBarMoving","MyBottomBar","HeaderElement","MainContent","Tabs","tabs","bottomBar","updateBottomBar","mainTab","refs","refIndex","t","refsToHandle","total","onTabClick","tab","i","Chip","duration","ChildrenWrapper","inProp","TransitionProps","fixed","reverseExit","REACT_ELEMENT_TYPE","Symbol","REACT_TRANSITIONAL_ELEMENT_TYPE","ThemeProvider","defaultTheme","GlobalStyle","palettes","fontMappings","selectedPalette","createGlobalStyle","tippyStyles","Color","fontFamilies","c","a","darken","lighten","mix","b","ff","v","font","style","fallback","ensureContrast","color1","color2","colorL1","colorL2","lRatio","prop","breakpoints","fontWeights","radii","shadows","zIndexes","animationDuration","easings","transition","properties","easing","fadeIn","fadeOut","fadeInGrowX","fadeInUp","animations"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"components/index.js","sources":["webpack://@ledgerhq/react-ui/./src/assets/logos/LedgerLiveAltRegular.tsx","webpack://@ledgerhq/react-ui/./src/assets/logos/LedgerLiveRegular.tsx","webpack://@ledgerhq/react-ui/./src/components/Table/Columns.tsx","webpack://@ledgerhq/react-ui/./src/components/Table/index.tsx","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/BoxedIcon.tsx","webpack://@ledgerhq/react-ui/./src/components/asorted/Icon/Icon.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/asorted/index.ts","webpack://@ledgerhq/react-ui/./src/components/cta/Button/index.tsx","webpack://@ledgerhq/react-ui/./src/components/cta/Link/getLinkStyle.ts","webpack://@ledgerhq/react-ui/./src/components/cta/Link/index.tsx","webpack://@ledgerhq/react-ui/./src/components/cta/Toggle/index.tsx","webpack://@ledgerhq/react-ui/./src/components/cta/getCtaStyle.ts","webpack://@ledgerhq/react-ui/./src/components/cta/index.ts","webpack://@ledgerhq/react-ui/./src/components/form/BaseInput/index.tsx","webpack://@ledgerhq/react-ui/./src/components/form/Checkbox/Checkbox.tsx","webpack://@ledgerhq/react-ui/./src/components/form/Dropdown/index.tsx","webpack://@ledgerhq/react-ui/./src/components/form/LegendInput/index.tsx","webpack://@ledgerhq/react-ui/./src/components/form/NumberInput/index.tsx","webpack://@ledgerhq/react-ui/./src/components/form/QrCodeInput/index.tsx","webpack://@ledgerhq/react-ui/./src/components/form/QuantityInput/index.tsx","webpack://@ledgerhq/react-ui/./src/components/form/Radio/RadioElement.tsx","webpack://@ledgerhq/react-ui/./src/components/form/Radio/RadioListElement.tsx","webpack://@ledgerhq/react-ui/./src/components/form/Radio/index.tsx","webpack://@ledgerhq/react-ui/./src/components/form/SearchInput/index.tsx","webpack://@ledgerhq/react-ui/./src/components/form/SelectInput/Control.tsx","webpack://@ledgerhq/react-ui/./src/components/form/SelectInput/DropdownIndicator.tsx","webpack://@ledgerhq/react-ui/./src/components/form/SelectInput/IndicatorsContainer.tsx","webpack://@ledgerhq/react-ui/./src/components/form/SelectInput/MenuList.tsx","webpack://@ledgerhq/react-ui/./src/components/form/SelectInput/Option.tsx","webpack://@ledgerhq/react-ui/./src/components/form/SelectInput/ValueContainer.tsx","webpack://@ledgerhq/react-ui/./src/components/form/SelectInput/index.tsx","webpack://@ledgerhq/react-ui/./src/components/form/SplitInput/index.tsx","webpack://@ledgerhq/react-ui/./src/components/form/Switch/Switch.tsx","webpack://@ledgerhq/react-ui/./src/components/form/TabSelector/index.tsx","webpack://@ledgerhq/react-ui/./src/components/form/index.ts","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/layout/index.ts","webpack://@ledgerhq/react-ui/./src/components/loaders/InfiniteLoader/index.tsx","webpack://@ledgerhq/react-ui/./src/components/loaders/ProgressLoader/index.tsx","webpack://@ledgerhq/react-ui/./src/components/loaders/index.ts","webpack://@ledgerhq/react-ui/./src/components/message/Alert/index.tsx","webpack://@ledgerhq/react-ui/./src/components/message/ContinueOnDevice/index.tsx","webpack://@ledgerhq/react-ui/./src/components/message/Log/Brackets.tsx","webpack://@ledgerhq/react-ui/./src/components/message/Log/index.tsx","webpack://@ledgerhq/react-ui/./src/components/message/Notification/Badge.tsx","webpack://@ledgerhq/react-ui/./src/components/message/Notification/index.tsx","webpack://@ledgerhq/react-ui/./src/components/message/StatusNotification/index.tsx","webpack://@ledgerhq/react-ui/./src/components/message/Tip/index.tsx","webpack://@ledgerhq/react-ui/./src/components/message/Tooltip/index.tsx","webpack://@ledgerhq/react-ui/./src/components/message/Tooltip/styles.ts","webpack://@ledgerhq/react-ui/./src/components/message/index.ts","webpack://@ledgerhq/react-ui/./src/components/navigation/Aside/index.tsx","webpack://@ledgerhq/react-ui/./src/components/navigation/Breadcrumb/index.tsx","webpack://@ledgerhq/react-ui/./src/components/navigation/FlowStepper/index.tsx","webpack://@ledgerhq/react-ui/./src/components/navigation/Header/index.tsx","webpack://@ledgerhq/react-ui/./src/components/navigation/index.ts","webpack://@ledgerhq/react-ui/./src/components/navigation/progress/ProgressBar/Onboarding.tsx","webpack://@ledgerhq/react-ui/./src/components/navigation/progress/Stepper/index.tsx","webpack://@ledgerhq/react-ui/./src/components/navigation/progress/index.ts","webpack://@ledgerhq/react-ui/./src/components/navigation/sideBar/Item/Item.tsx","webpack://@ledgerhq/react-ui/./src/components/navigation/sideBar/Logo/Logo.tsx","webpack://@ledgerhq/react-ui/./src/components/navigation/sideBar/SideBar/SideBar.tsx","webpack://@ledgerhq/react-ui/./src/components/navigation/sideBar/Toggle/Toggle.tsx","webpack://@ledgerhq/react-ui/./src/components/navigation/sideBar/index.tsx","webpack://@ledgerhq/react-ui/./src/components/styled.ts","webpack://@ledgerhq/react-ui/./src/components/tabs/Bar/index.tsx","webpack://@ledgerhq/react-ui/./src/components/tabs/Chip/index.tsx","webpack://@ledgerhq/react-ui/./src/components/tabs/Pill/index.tsx","webpack://@ledgerhq/react-ui/./src/components/tabs/Tabs/index.tsx","webpack://@ledgerhq/react-ui/./src/components/tabs/index.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/components/transitions/index.ts","webpack://@ledgerhq/react-ui/./src/helpers.ts","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/index.ts"],"sourcesContent":["import * as React from \"react\";\n\ninterface Props {\n width?: number | string;\n height?: number | string;\n color?: string;\n}\n\nfunction LedgerLiveAltRegular({\n width = 38,\n height = 32,\n color = \"currentColor\",\n}: Readonly<Props>): React.JSX.Element {\n return (\n <svg\n width={width}\n height={height}\n viewBox=\"0 0 38 32\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M0.620148 22.9137V32H14.4471V29.9849H2.63476V22.9137H0.620148ZM35.3653 22.9137V29.9849H23.553V31.9995H37.3799V22.9137H35.3653ZM14.4671 9.08631V22.9132H23.553V21.0961H16.4817V9.08631H14.4671ZM0.620148 0V9.08631H2.63476V2.01461H14.4471V0H0.620148ZM23.553 0V2.01461H35.3653V9.08631H37.3799V0H23.553Z\"\n fill={color}\n />\n </svg>\n );\n}\n\nexport default LedgerLiveAltRegular;\n","import * as React from \"react\";\n\ninterface Props {\n width?: number | string;\n height?: number | string;\n color?: string;\n}\n\nfunction LedgerLiveRegular({\n width = 220,\n height = 60,\n color = \"currentColor\",\n}: Readonly<Props>): React.JSX.Element {\n return (\n <svg\n width={width}\n height={height}\n viewBox=\"0 0 220 60\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M0 42.9632V60H25.9539V56.2217H3.78153V42.9632H0ZM65.2185 42.9632V56.2217H43.0461V59.9991H69V42.9632H65.2185ZM25.9915 17.0368V42.9623H43.0461V39.5551H29.7731V17.0368H25.9915ZM0 0V17.0368H3.78153V3.7774H25.9539V0H0ZM43.0461 0V3.7774H65.2185V17.0368H69V0H43.0461Z\"\n fill={color}\n />\n <path\n d=\"M86.7939 17.75H90.5814L92.1189 39.725H92.6439L94.4814 22.2125H100.144L102.019 39.725H102.544L104.156 17.75H107.794L105.356 44H99.5439L97.5564 26.4875H97.0314L95.0439 44H89.2314L86.7939 17.75Z\"\n fill={color}\n />\n <path\n d=\"M129.904 44H125.892L124.204 37.625H115.317L113.554 44H109.654L117.229 17.75H122.554L129.904 44ZM116.254 34.175H123.304L120.117 22.025H119.592L116.254 34.175Z\"\n fill={color}\n />\n <path d=\"M134.577 17.75H138.402V40.55H151.827V44H134.577V17.75Z\" fill={color} />\n <path d=\"M157.062 17.75H160.887V40.55H174.312V44H157.062V17.75Z\" fill={color} />\n <path\n d=\"M179.173 17.75H195.673V21.2H182.998V29.075H194.548V32.525H182.998V40.55H196.235V44H179.173V17.75Z\"\n fill={color}\n />\n <path d=\"M207.808 21.2H199.596V17.75H219.846V21.2H211.633V44H207.808V21.2Z\" fill={color} />\n </svg>\n );\n}\n\nexport default LedgerLiveRegular;\n","import React from \"react\";\nimport Icon, { Props as IconProps } from \"../asorted/Icon\";\nimport FlexBox from \"../layout/Flex\";\nimport Text, { TextProps } from \"../asorted/Text\";\nexport interface Column<T> {\n /**\n * A function called to render each cell of the column.\n */\n render: (props: CellProps<T>) => React.ReactNode;\n /**\n * A valid grid template [value](https://developer.mozilla.org/en-US/docs/Web/CSS/grid-template-columns#values).\n * This layout is applied to every cell of the column.\n * Default to \"min-content\" - the largest minimal content contribution of the grid item.\n */\n layout?: string;\n /**\n * A function called to render the header cell.\n * If omitted the rendered header element will be an empty div.\n */\n header?: () => React.ReactNode;\n}\n\nexport interface CellProps<T> {\n /**\n * The cell element.\n */\n elt: T;\n /**\n * The row index.\n */\n rowIndex: number;\n /**\n * The column index.\n */\n columnIndex: number;\n}\n\n/**\n * A column which contains a single icon and that has a fixed width.\n */\nfunction iconColumn<T>({\n props,\n header,\n layout,\n}: {\n /**\n * An object containing the unerlying <Text /> wrapper props as well as\n * the \"name\" and \"weight\" props of the unerlying <Icon />.\n */\n props: (elt: T) => Pick<IconProps, \"name\" | \"weight\"> & TextProps;\n /**\n * An optional render function to display the column header.\n */\n header?: () => React.ReactNode;\n /**\n * The grid column layout, by default \"min-content\".\n */\n layout?: string;\n}): Column<T> {\n return {\n layout: layout || \"min-content\",\n render: ({ elt }) => {\n const { name, weight, ...textProps } = props(elt);\n return (\n <Text {...textProps} style={{ display: \"flex\", alignItems: \"center\" }}>\n <Icon name={name} weight={weight} />\n </Text>\n );\n },\n header,\n };\n}\nexport { iconColumn as icon };\n\n/**\n * A column that contains a title and a subtitle.\n */\nfunction textColumn<T>({\n title,\n subtitle,\n header,\n layout,\n titleProps,\n subtitleProps,\n}: {\n /**\n * An optional title.\n */\n title?: (elt: T) => React.ReactNode;\n /**\n * An optional subtitle.\n */\n subtitle?: (elt: T) => React.ReactNode;\n /**\n * An optional render function to display the column header.\n */\n header?: () => React.ReactNode;\n /**\n * The grid column layout, by default \"auto\".\n */\n layout?: string;\n /**\n * Optional extra props passed to the title <Text /> wrapper.\n */\n titleProps?: (elt: T) => Partial<React.ComponentProps<typeof Text>>;\n /**\n * Optional extra props passed to the subtitle <Text /> wrapper.\n */\n subtitleProps?: (elt: T) => Partial<React.ComponentProps<typeof Text>>;\n}): Column<T> {\n return {\n layout: layout || \"auto\",\n render: ({ elt }) => (\n <FlexBox flexDirection=\"column\" justifyContent=\"center\">\n {title && (\n <Text\n fontWeight=\"medium\"\n variant={\"body\"}\n textOverflow=\"ellipsis\"\n overflow=\"hidden\"\n color=\"neutral.c100\"\n {...((titleProps && titleProps(elt)) || {})}\n >\n {title(elt)}\n </Text>\n )}\n {subtitle && (\n <Text\n fontWeight=\"medium\"\n variant={\"paragraph\"}\n textOverflow=\"ellipsis\"\n overflow=\"hidden\"\n color=\"neutral.c80\"\n {...((subtitleProps && subtitleProps(elt)) || {})}\n >\n {subtitle(elt)}\n </Text>\n )}\n </FlexBox>\n ),\n header,\n };\n}\nexport { textColumn as text };\n","import React, { memo, useMemo } from \"react\";\nimport styled from \"styled-components\";\nimport { border, BorderProps, gridColumn, GridColumnProps } from \"styled-system\";\nimport Grid, { Props as GridProps } from \"../layout/Grid\";\nimport Flex from \"../layout/Flex\";\nimport * as Columns from \"./Columns\";\nimport type { Column } from \"./Columns\";\nimport { BaseStyledProps } from \"../styled\";\nexport type { Column };\n\nexport interface ContainerExtraProps extends BorderProps, BaseStyledProps {}\nexport interface ContainerProps extends ContainerExtraProps, GridProps {}\nconst Container = styled(Grid)<ContainerExtraProps>`\n ${border}\n`;\n\nexport const ExtraRowContainer = styled.div.attrs({ gridColumn: \"1 / -1\" })<GridColumnProps>`\n ${gridColumn}\n`;\n\nexport type RowContainerProps = { rowIndex: number };\nexport const RowContainer = styled(Flex)<RowContainerProps>`\n display: contents;\n`;\n\ninterface CommonProps<T> {\n /** Table data */\n data: T[];\n /** Columns used to render table cells and headers. */\n columns: Column<T>[];\n /**\n * An optional rendering function that will get called after each row render.\n * Can be used to display additional rows and columns dynamically.\n */\n extraRender?: (elt: T, index: number) => React.ReactNode;\n /**\n * A render function that can be used to wrap each row of the table inside an custom element.\n */\n renderRow?: (rowIndex: number, children: React.ReactNode) => React.ReactNode;\n}\n\nexport interface Props<T> extends CommonProps<T>, Omit<ContainerProps, \"columns\" | \"color\"> {\n /**\n * Renders headers if set to true.\n */\n withHeaders?: boolean;\n}\n\nexport interface RowProps<T> extends CommonProps<T> {\n render?: (args: {\n column: Column<T>;\n rowIndex: number;\n columnIndex: number;\n children: React.ReactNode;\n }) => React.ReactNode;\n}\n\nfunction RowsComponent<T>({\n data,\n columns,\n render,\n extraRender,\n renderRow,\n}: Readonly<RowProps<T>>): React.JSX.Element {\n return (\n <React.Fragment key=\"row-component\">\n {data.map((elt, rowIndex) => {\n const row = (\n <>\n {columns.map((column, columnIndex) => (\n <React.Fragment key={`row-component-column-${rowIndex}${columnIndex}`}>\n {render\n ? render({\n column,\n rowIndex,\n columnIndex,\n children: column.render({ elt, rowIndex, columnIndex }),\n })\n : column.render({ elt, rowIndex, columnIndex })}\n </React.Fragment>\n ))}\n {(extraRender && extraRender(elt, rowIndex)) || null}\n </>\n );\n\n if (renderRow) {\n return renderRow(rowIndex, row);\n } else {\n return <React.Fragment key={`row-component-row-${rowIndex}`}>{row}</React.Fragment>;\n }\n })}\n </React.Fragment>\n );\n}\nexport const Rows = memo(RowsComponent) as typeof RowsComponent;\n\nexport function Table<T>({\n data,\n columns,\n withHeaders,\n extraRender,\n renderRow,\n ...containerProps\n}: Readonly<Props<T>>): React.JSX.Element {\n const gridTemplateColumns = useMemo(\n () => columns.reduce<string>((acc, col) => `${acc} ${col.layout || \"auto\"}`, \"\"),\n [columns],\n );\n\n const headers = useMemo(\n () =>\n withHeaders\n ? columns.reduce<React.ReactNode[]>(\n (acc, col, index) => [\n ...acc,\n <React.Fragment key={`header-col-${index}`}>\n {col.header ? col.header() : <div />}\n </React.Fragment>,\n ],\n [],\n )\n : null,\n [withHeaders, columns],\n );\n\n return (\n <Container\n gridTemplateColumns={gridTemplateColumns}\n gridAutoRows=\"auto\"\n columns=\"none\"\n alignItems=\"center\"\n {...containerProps}\n >\n {headers}\n <Rows data={data} columns={columns} extraRender={extraRender} renderRow={renderRow} />\n </Container>\n );\n}\nTable.Columns = Columns;\nTable.ExtraRowContainer = ExtraRowContainer;\nTable.RowContainer = RowContainer;\n\nconst memoTable = memo(Table) as unknown as typeof Table;\nmemoTable.Columns = Columns;\nmemoTable.RowContainer = RowContainer;\nmemoTable.ExtraRowContainer = ExtraRowContainer;\n\nexport default memoTable;\n","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 from \"styled-components\";\nimport Flex from \"../../layout/Flex\";\n\nexport const DEFAULT_BOX_SIZE = 40;\nexport const DEFAULT_ICON_SIZE = 16;\nexport const DEFAULT_BADGE_SIZE = 20;\n\nfunction getClipRectangleSize(badgeSize: number): number {\n return (3 / 4) * badgeSize;\n}\n\nconst getTopRightSquareClippedPolygon = (boxSize: number, rectangleSize: number) => {\n // clipping path that hides top right square of size `${rectangleSize}px`\n const diff = boxSize - rectangleSize;\n return `polygon(0 0, 0 0, 0 0, ${diff}px 0, ${diff}px ${rectangleSize}px, 100% ${rectangleSize}px, 100% 100%, 100% 100%, 100% 100%, 0 100%, 0 100%, 0 100%)`;\n};\n\nconst Container = styled(Flex).attrs((p: { size: number }) => ({\n heigth: p.size,\n width: p.size,\n alignItems: \"center\",\n justifyContent: \"center\",\n position: \"relative\",\n}))<{ size: number }>``;\n\nconst IconBoxBackground = styled(Flex)<{ size: number; badgeSize: number; hasBadge: boolean }>`\n position: absolute;\n height: ${p => p.size}px;\n width: ${p => p.size}px;\n ${p => {\n return (\n p.hasBadge &&\n `clip-path: ${getTopRightSquareClippedPolygon(p.size, getClipRectangleSize(p.badgeSize))};`\n );\n }};\n border-radius: ${p => p.theme.radii[2]}px;\n`;\n\nconst BadgeContainer = styled.div<{ badgeSize: number }>`\n position: absolute;\n ${p => `\n top: -${p.badgeSize / 2 - 2}px;\n right: -${p.badgeSize / 2 - 2}px;`}\n`;\n\nexport type IconProps = {\n size?: number;\n color?: string;\n};\n\nexport type IconBoxProps = {\n /**\n * Component that takes `{size?: number; color?: string}` as props. Will be rendered at the top right with the size provided in `badgeSize` or a default size.\n */\n Badge?: React.ComponentType<IconProps> | ((props: IconProps) => React.JSX.Element);\n /**\n * Color of the border\n */\n borderColor?: string;\n /**\n * Badge color, will be applied to the component provided in the `Badge` prop\n */\n badgeColor?: string;\n /**\n * Badge size, will be applied to the component provided in the `Badge` prop\n */\n badgeSize?: number;\n children?: React.JSX.Element;\n /**\n * Box size for preview\n */\n size?: number;\n};\n\nexport type BoxedIconProps = IconBoxProps & {\n /**\n * Component that takes `{size?: number; color?: string}` as props. Will be rendered at the top right with the size provided in `iconSize` or a default size.\n */\n Icon: React.ComponentType<IconProps> | ((props: IconProps) => React.JSX.Element);\n /**\n * Icon size, will be applied to the component provided in the `Icon` prop\n */\n iconSize?: number;\n /**\n * Icon color, will be applied to the component provided in the `Icon` prop\n */\n iconColor?: string;\n};\n\nexport const IconBox = ({\n Badge,\n size = DEFAULT_BOX_SIZE,\n children,\n borderColor = \"neutral.c40\",\n badgeColor,\n badgeSize = DEFAULT_BADGE_SIZE,\n}: IconBoxProps) => {\n const hasBadge = !!Badge;\n return (\n <Container size={size}>\n <IconBoxBackground\n size={size}\n badgeSize={badgeSize}\n hasBadge={hasBadge}\n border=\"1px solid\"\n borderColor={borderColor}\n />\n {children}\n {hasBadge && (\n <BadgeContainer badgeSize={badgeSize}>\n <Badge size={badgeSize} color={badgeColor} />\n </BadgeContainer>\n )}\n </Container>\n );\n};\n\nconst BoxedIcon = ({\n Icon,\n iconSize = DEFAULT_ICON_SIZE,\n iconColor,\n ...iconBoxProps\n}: BoxedIconProps) => {\n return (\n <IconBox {...iconBoxProps}>\n <Icon size={iconSize || DEFAULT_ICON_SIZE} color={iconColor} />\n </IconBox>\n );\n};\n\nexport default BoxedIcon;\n","import * as icons from \"@ledgerhq/icons-ui/reactLegacy\";\nimport React from \"react\";\n\nexport type Props = {\n name: string;\n size?: number;\n weight?: \"Medium\";\n color?: string;\n};\n\nexport const iconNames = Array.from(\n Object.keys(icons).reduce((set, rawKey) => {\n const key = rawKey.replace(/(.+)(Medium)+$/g, \"$1\");\n if (!set.has(key)) set.add(key);\n return set;\n }, new Set<string>()),\n);\n\nconst Icon = ({\n name,\n size = 16,\n color = \"currentColor\",\n weight = \"Medium\",\n}: Props): React.JSX.Element | null => {\n const maybeIconName = `${name}${weight}`;\n if (maybeIconName in icons) {\n // @ts-expect-error FIXME I don't know how to make you happy ts\n const Component = icons[maybeIconName];\n return <Component size={size} color={color} />;\n }\n return null;\n};\n\nexport default Icon;\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","export { default as Divider } from \"./Divider\";\nexport { default as Icon, IconBox, BoxedIcon, NotificationIcon } from \"./Icon\";\nexport { default as Text } from \"./Text\";\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 { Theme } from \"../../../styles/theme\";\n\nexport function getLinkColors(\n colors: Theme[\"colors\"],\n): Record<\"disabled\" | \"main\" | \"color\" | \"shade\", Record<\"default\" | \"pressed\", string>> {\n return {\n disabled: {\n default: colors.neutral.c50,\n pressed: colors.neutral.c50,\n },\n main: {\n default: colors.neutral.c100,\n pressed: colors.neutral.c80,\n },\n color: {\n default: colors.primary.c80,\n pressed: colors.primary.c70,\n },\n shade: {\n default: colors.neutral.c70,\n pressed: colors.neutral.c80,\n },\n };\n}\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport { getLinkColors } from \"./getLinkStyle\";\nimport { ctaIconSize, ctaTextType } from \"../getCtaStyle\";\nimport { Text } from \"../../asorted\";\nimport { TextProps } from \"../../asorted/Text\";\nimport baseStyled, { BaseStyledProps } from \"../../styled\";\n\nexport type LinkProps = React.AnchorHTMLAttributes<HTMLAnchorElement> &\n BaseStyledProps & {\n /**\n * Component that takes `{size: number; color?: string}` as props\n */\n Icon?: React.ComponentType<{ size: number; color?: string }>;\n /**\n * Affects the colors of the text, icon & underline, can be overriden by the `color` prop\n */\n type?: \"main\" | \"shade\" | \"color\";\n /**\n * Affect the font variant & icon size\n */\n size?: \"small\" | \"medium\" | \"large\";\n /**\n * Color of the link, overrides colors defined by the `type` prop\n */\n color?: string;\n /**\n * Props passed to the rendered text\n */\n textProps?: TextProps;\n /**\n * If true text will always be underlined, else it will be underlined only on hover\n */\n alwaysUnderline?: boolean;\n /**\n * Position of the icon relative to the text\n */\n iconPosition?: \"right\" | \"left\";\n disabled?: boolean;\n children?: React.ReactNode;\n };\n\nexport const DEFAULT_ICON_POSITION = \"right\";\nexport const DEFAULT_SIZE = \"medium\";\nexport const DEFAULT_TYPE = \"main\";\n\nconst IconContainer = styled.div<{\n iconPosition: \"right\" | \"left\";\n iconLink?: boolean;\n}>`\n ${p => (p.iconLink ? \"\" : p.iconPosition === \"left\" ? `margin-right: 6px;` : `margin-left: 6px;`)}\n display: flex;\n align-items: center;\n justify-content: center;\n`;\n\nexport const Base = baseStyled.a<LinkProps>`\n color: ${({ color, theme, disabled, type = \"main\" }) =>\n color || getLinkColors(theme.colors)[disabled ? \"disabled\" : type][\"default\"]};\n cursor: pointer;\n display: inline-flex;\n flex-direction: row;\n text-align: center;\n align-items: center;\n justify-content: center;\n\n &:hover {\n text-decoration: underline;\n }\n &:active {\n color: ${({ color, theme, type = \"main\" }) =>\n color || getLinkColors(theme.colors)[type][\"pressed\"]};\n text-decoration: underline;\n }\n\n text-decoration: ${p => (p.alwaysUnderline ? \"underline\" : \"none\")};\n\n`;\n\nconst LinkContainer = ({\n Icon,\n iconPosition = DEFAULT_ICON_POSITION,\n children,\n color,\n size = DEFAULT_SIZE,\n textProps,\n}: LinkProps): React.ReactElement => {\n const text = (\n <Text\n variant={ctaTextType[size]}\n fontWeight=\"semiBold\"\n color={color || \"inherit\"}\n {...textProps}\n >\n {children}\n </Text>\n );\n\n return (\n <>\n {iconPosition === \"right\" && children ? text : null}\n {Icon ? (\n <IconContainer iconLink={!children} iconPosition={iconPosition}>\n <Icon size={ctaIconSize[size]} color={color || \"currentcolor\"} />\n </IconContainer>\n ) : null}\n {iconPosition === \"left\" && children ? text : null}\n </>\n );\n};\n\nconst Link = (props: LinkProps): React.ReactElement => {\n const { type = DEFAULT_TYPE, size = DEFAULT_SIZE, color } = props;\n return (\n <Base color={color} {...props}>\n <LinkContainer {...props} type={type} size={size} />\n </Base>\n );\n};\n\nexport default Link;\n","import React, { useMemo } from \"react\";\nimport type { ButtonProps } from \"../Button\";\nimport Button from \"../Button\";\n\nexport interface ToggleProps extends Omit<ButtonProps, \"type\"> {\n checked?: boolean;\n}\n\nenum TypeEnum {\n ENABLED = \"main\",\n DISABLED = \"color\",\n}\n\nconst Toggle = ({ checked = true, ...buttonProps }: ToggleProps) => {\n const type = useMemo(() => (checked ? TypeEnum.ENABLED : TypeEnum.DISABLED), [checked]);\n return <Button variant={type} outline={type === TypeEnum.ENABLED} {...buttonProps} />;\n};\n\nexport default Toggle;\n","import { TextVariants } from \"../../styles/theme\";\n\nexport const ctaTextType: { [index: string]: TextVariants } = {\n small: \"small\",\n medium: \"paragraph\",\n large: \"body\",\n};\n\nexport const ctaIconSize: { [index: string]: number } = {\n small: 16,\n medium: 18,\n large: 20,\n};\n","export { default as Button } from \"./Button\";\nexport { default as Toggle } from \"./Toggle\";\nexport { default as Link } from \"./Link\";\n","import styled, { css, useTheme } from \"styled-components\";\nimport { typography, TypographyProps } from \"styled-system\";\nimport React, { InputHTMLAttributes, useState, useMemo, useCallback } from \"react\";\nimport CircledCrossSolidMedium from \"@ledgerhq/icons-ui/reactLegacy/CircledCrossSolidMedium\";\nimport FlexBox from \"../../layout/Flex\";\nimport Text from \"../../asorted/Text\";\nimport { rgba } from \"../../../styles/helpers\";\nimport { ButtonUnstyled } from \"../../cta/Button\";\n\ntype ValueType = HTMLInputElement[\"value\"];\n\nexport type CommonProps = InputHTMLAttributes<HTMLInputElement> &\n TypographyProps & {\n disabled?: boolean;\n error?: React.ReactNode;\n warning?: React.ReactNode;\n info?: React.ReactNode;\n };\n\nexport type InputProps<T = ValueType> = Omit<CommonProps, \"value\" | \"onChange\"> & {\n value: T;\n onChange?: (value: T) => void;\n onChangeEvent?: InputHTMLAttributes<HTMLInputElement>[\"onChange\"];\n renderLeft?: ((props: InputProps<T>) => React.ReactNode) | React.ReactNode;\n renderRight?: ((props: InputProps<T>) => React.ReactNode) | React.ReactNode;\n unwrapped?: boolean;\n containerProps?: InputContainerProps;\n clearable?: boolean;\n /**\n * A function can be provided to serialize a value of any type to a string.\n *\n * This can be useful to wrap the `<BaseInput />` component (which expects a string)\n * and create higher-level components that will automatically perform the input/output\n * conversion to other types.\n *\n * *A serializer function should always be used in conjunction with a deserializer function.*\n */\n serialize?: (value: T) => ValueType;\n /**\n * A deserializer can be provided to convert the html input value from a string to any other type.\n *\n * *A deserializer function should always be used in conjunction with a serializer function.*\n */\n deserialize?: (value: ValueType) => T;\n};\n\ntype InputContainerStyledProps = Partial<CommonProps> & { focus?: boolean };\nexport type InputContainerProps = InputContainerStyledProps & React.HTMLAttributes<HTMLDivElement>;\nexport const InputContainer = styled.div<InputContainerStyledProps>`\n display: flex;\n height: 48px;\n border: ${p => `1px solid ${p.theme.colors.neutral.c40}`};\n border-radius: 24px;\n transition: all 0.2s ease;\n color: ${p => p.theme.colors.neutral.c100};\n\n ${p =>\n p.focus && !p.error && !p.warning\n ? css`\n border: 1px solid ${p.theme.colors.primary.c80};\n box-shadow: 0 0 0 4px ${rgba(p.theme.colors.primary.c60, 0.4)};\n `\n : undefined};\n\n ${p =>\n p.error && !p.disabled\n ? css`\n border: 1px solid ${p.theme.colors.error.c50};\n `\n : undefined};\n\n ${p =>\n !p.error && p.warning && !p.disabled\n ? css`\n border: 1px solid ${p.theme.colors.warning.c40};\n `\n : undefined};\n\n ${p =>\n !p.error && !p.warning && !p.disabled\n ? css`\n &:hover {\n border: ${!p.disabled && `1px solid ${p.theme.colors.primary.c80}`};\n }\n `\n : undefined};\n\n ${p =>\n p.disabled\n ? css`\n color: ${p.theme.colors.neutral.c60};\n background: ${p => p.theme.colors.neutral.c20};\n `\n : undefined};\n`;\n\nexport const BaseInput = styled.input.attrs<\n Partial<CommonProps> & { focus?: boolean } & TypographyProps\n>({\n fontSize: \"paragraph\",\n fontWeight: \"medium\",\n})<Partial<CommonProps> & { focus?: boolean } & TypographyProps>`\n height: 100%;\n width: 100%;\n border: 0;\n caret-color: ${p => (p.error ? p.theme.colors.error.c50 : p.theme.colors.primary.c80)};\n background: none;\n outline: none;\n cursor: ${p => (p.disabled ? \"not-allowed\" : \"text\")};\n flex-shrink: 1;\n padding-left: 20px;\n padding-right: 20px;\n &::placeholder {\n color: ${p => (p.disabled ? p.theme.colors.neutral.c50 : p.theme.colors.neutral.c70)};\n }\n\n /* stylelint-disable property-no-vendor-prefix */\n\n /* Hide type=number arrow for Chrome, Safari, Edge, Opera */\n &::-webkit-outer-spin-button,\n ::-webkit-inner-spin-button {\n -webkit-appearance: none;\n margin: 0;\n }\n\n /* Hide type=number arrow for Firefox */\n &[type=\"number\"] {\n -moz-appearance: textfield;\n }\n /* stylelint-enable property-no-vendor-prefix */\n\n ${typography}\n`;\n\nexport const InputErrorContainer = styled(Text)`\n color: ${p => p.theme.colors.error.c50};\n margin-left: 12px;\n`;\nexport const InputWarningContainer = styled(Text)`\n color: ${p => p.theme.colors.warning.c40};\n margin-left: 12px;\n`;\nexport const InputInfoContainer = styled(Text)`\n color: ${p => p.theme.colors.neutral.c60};\n margin-left: 12px;\n`;\n\nexport const InputRenderLeftContainer = styled(FlexBox).attrs(() => ({\n alignItems: \"center\",\n pl: \"16px\",\n}))``;\n\nexport const InputRenderRightContainer = styled(FlexBox).attrs(() => ({\n alignItems: \"center\",\n pr: \"16px\",\n}))``;\n\nexport const ClearableButtonUnstyled = styled(ButtonUnstyled)`\n display: flex;\n`;\n\n// Yes, this is dirty. If you can figure out a better way please change the code :).\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst IDENTITY = (_: any): any => _;\n\nfunction Input<T = ValueType>(\n props: InputProps<T>,\n ref?: React.ForwardedRef<HTMLInputElement>,\n): React.JSX.Element {\n const { colors } = useTheme();\n const {\n value,\n disabled,\n error,\n warning,\n info,\n onChange,\n onChangeEvent,\n renderLeft,\n renderRight,\n unwrapped,\n containerProps,\n serialize = IDENTITY,\n deserialize = IDENTITY,\n clearable,\n ...htmlInputProps\n } = props;\n const [focus, setFocus] = useState(false);\n const inputValue = useMemo(() => serialize(value), [serialize, value]);\n\n const handleChange = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n onChange && onChange(deserialize(e.target.value));\n onChangeEvent && onChangeEvent(e);\n },\n [onChange, onChangeEvent, deserialize],\n );\n\n const handleClear = useCallback(() => {\n onChange && onChange(deserialize(\"\"));\n }, [onChange, deserialize]);\n\n const inner = (\n <>\n {typeof renderLeft === \"function\" ? renderLeft(props) : renderLeft}\n <BaseInput\n ref={ref}\n {...htmlInputProps}\n disabled={disabled}\n error={error}\n warning={warning}\n info={info}\n onChange={handleChange}\n value={inputValue}\n onFocus={(event: React.FocusEvent<HTMLInputElement>) => {\n setFocus(true);\n htmlInputProps.onFocus && htmlInputProps.onFocus(event);\n }}\n onBlur={(event: React.FocusEvent<HTMLInputElement>) => {\n setFocus(false);\n htmlInputProps.onBlur && htmlInputProps.onBlur(event);\n }}\n />\n {clearable && inputValue && (\n <FlexBox alignItems={\"center\"} mr={7}>\n <ClearableButtonUnstyled onClick={handleClear}>\n <CircledCrossSolidMedium size={18} color={colors.neutral.c50} />\n </ClearableButtonUnstyled>\n </FlexBox>\n )}\n {typeof renderRight === \"function\" ? renderRight(props) : renderRight}\n </>\n );\n\n if (unwrapped) {\n return (\n <FlexBox alignItems=\"stretch\" style={{ height: \"100%\" }}>\n {inner}\n </FlexBox>\n );\n }\n\n return (\n <div>\n <InputContainer\n disabled={disabled}\n focus={focus}\n error={error}\n warning={warning}\n {...containerProps}\n >\n {inner}\n </InputContainer>\n {(error || warning || info) && !disabled && (\n <FlexBox flexDirection=\"column\" rowGap={2} mt={2}>\n {error ? (\n <InputErrorContainer variant=\"small\">{error}</InputErrorContainer>\n ) : warning ? (\n <InputWarningContainer variant=\"small\">{warning}</InputWarningContainer>\n ) : info ? (\n <InputInfoContainer variant=\"small\">{info}</InputInfoContainer>\n ) : null}\n </FlexBox>\n )}\n </div>\n );\n}\n\nexport default React.forwardRef(Input) as <T>(\n props: InputProps<T> & { ref?: React.ForwardedRef<HTMLInputElement> },\n) => ReturnType<typeof Input>;\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport Text from \"../../asorted/Text\";\nimport CheckAloneMedium from \"@ledgerhq/icons-ui/reactLegacy/CheckAloneMedium\";\nimport { renderToStaticMarkup } from \"react-dom/server\";\n\nconst Icon = () =>\n React.cloneElement(CheckAloneMedium({ size: 13, color: \"currentColor\" }), {\n // the xmlns attribute is required to properly display the checkbox\n xmlns: \"http://www.w3.org/2000/svg\",\n });\nconst CheckMarkIcon = encodeURIComponent(renderToStaticMarkup(<Icon />));\n\nconst Input = styled.input<{ size?: number }>`\n background-color: transparent;\n\n border-radius: ${p => `${p.theme.radii[1]}px`};\n position: relative;\n\n min-width: ${p => (p.size ? `${p.size}px` : `${p.theme.space[7]}px`)};\n height: ${p => (p.size ? `${p.size}px` : `${p.theme.space[7]}px`)};\n appearance: none;\n border: 1px solid ${props => props.theme.colors.opacityDefault.c30};\n box-shadow: none;\n\n &:checked {\n background-color: currentColor;\n border-color: currentColor;\n }\n\n &:checked::after {\n content: \" \";\n width: ${p => (p.size ? `${p.size}px` : `${p.theme.space[7]}px`)};\n height: ${p => (p.size ? `${p.size}px` : `${p.theme.space[7]}px`)};\n display: inline-block;\n color: ${props => props.theme.colors.neutral.c00};\n\n background-image: url(\"data:image/svg+xml,${CheckMarkIcon}\");\n background-position: center;\n background-repeat: no-repeat;\n\n /* Trick to center the check mark by taking into account the border */\n position: absolute;\n top: -1px;\n left: -1px;\n }\n`;\n\nconst Label = styled(Text).attrs({ type: \"body\", fontWeight: \"500\" })`\n color: ${props => props.theme.colors.neutral.c80};\n\n /* Version when the input is checked */\n ${Input}:checked + & {\n color: currentColor;\n }\n\n &:first-letter {\n text-transform: uppercase;\n }\n`;\n\nconst Container = styled.div`\n --ll-checkbox-color: unset;\n color: var(--ll-checkbox-color, ${props => props.theme.colors.primary.c90});\n\n display: inline-flex;\n column-gap: ${p => p.theme.space[5]}px;\n align-items: center;\n cursor: pointer;\n\n &[data-variant=\"default\"] {\n --ll-checkbox-color: ${props => props.theme.colors.primary.c90};\n }\n\n &[data-variant=\"success\"] {\n --ll-checkbox-color: ${props => props.theme.colors.success.c50};\n }\n\n &[data-variant=\"error\"] {\n --ll-checkbox-color: ${props => props.theme.colors.error.c50};\n }\n\n &[data-disabled=\"true\"] {\n --ll-checkbox-color: ${props => props.theme.colors.neutral.c80};\n cursor: unset;\n }\n`;\n\nexport type CheckboxProps = {\n isDisabled?: boolean;\n isChecked: boolean;\n variant?: \"default\" | \"success\" | \"error\";\n label?: React.ReactNode;\n name: string;\n onChange: (value: boolean) => void;\n size?: number;\n};\n\nconst Checkbox = ({\n isDisabled = false,\n variant = \"default\",\n label,\n isChecked,\n name,\n onChange,\n size,\n}: CheckboxProps): React.JSX.Element => (\n <Container data-variant={variant} data-disabled={isDisabled}>\n <Input\n type=\"checkbox\"\n name={name}\n id={name}\n checked={isChecked}\n disabled={isDisabled}\n onChange={() => onChange(!isChecked)}\n size={size}\n />\n {label ? (\n <Label as=\"label\" htmlFor={name}>\n {label}\n </Label>\n ) : null}\n </Container>\n);\n\nexport default Checkbox;\n","import React from \"react\";\nimport { components, GroupBase, ControlProps, ValueContainerProps } from \"react-select\";\nimport { useTheme } from \"styled-components\";\nimport SelectInput, { Props as SelectInputProps } from \"../../form/SelectInput\";\nimport Text from \"../../asorted/Text\";\nimport { IconsLegacy } from \"../../../\";\nimport { ValueContainer } from \"../../form/SelectInput/ValueContainer\";\nimport FlexBox from \"../../layout/Flex\";\n\nexport type Props<O> = SelectInputProps<O, false, GroupBase<O>> & {\n label: string;\n};\n\nfunction DropdownControl<O, M extends boolean, G extends GroupBase<O>>(\n props: ControlProps<O, M, G>,\n) {\n const { selectProps, children } = props;\n const { label } = selectProps as unknown as Props<O>;\n\n return (\n <components.Control {...props}>\n <Text variant=\"paragraph\" fontWeight=\"medium\" color=\"neutral.c80\" mr={2}>\n {label}\n </Text>\n {children}\n </components.Control>\n );\n}\n\nfunction DropdownValueContainer<O>(props: ValueContainerProps<O, false>) {\n const isOpen = props.selectProps.menuIsOpen;\n\n return (\n <ValueContainer\n {...props}\n render={() => (\n <FlexBox alignItems=\"center\">\n <Text variant=\"paragraph\" fontWeight=\"medium\" mr={2}>\n <FlexBox>{props.children}</FlexBox>\n </Text>\n <FlexBox alignItems=\"center\" style={{ transform: isOpen ? \"rotate(180deg)\" : \"\" }}>\n <IconsLegacy.DropdownMedium size={20} />\n </FlexBox>\n </FlexBox>\n )}\n />\n );\n}\n\nfunction DropdownIndicatorsContainer() {\n return null;\n}\n\nexport default function Dropdown<O>(props: Props<O>): React.JSX.Element {\n const theme = useTheme();\n const { styles, ...rest } = props;\n\n return (\n <SelectInput\n placeholder=\"\"\n isSearchable={false}\n styles={{\n singleValue: provided => ({\n ...provided,\n color: theme.colors.neutral.c100,\n margin: 0,\n top: undefined,\n position: undefined,\n overflow: undefined,\n maxWidth: undefined,\n transform: undefined,\n }),\n input: () => ({ display: \"none\" }),\n menu: provided => ({\n ...provided,\n border: 0,\n boxShadow: \"none\",\n background: \"none\",\n width: \"auto\",\n minWidth: \"200px\",\n }),\n ...styles,\n }}\n {...rest}\n components={{\n Control: DropdownControl,\n ValueContainer: DropdownValueContainer,\n IndicatorsContainer: DropdownIndicatorsContainer,\n }}\n />\n );\n}\n","import React from \"react\";\nimport Input, { InputProps, InputRenderRightContainer } from \"../BaseInput\";\nimport Text from \"../../asorted/Text\";\nimport styled from \"styled-components\";\n\nexport type Props = InputProps & { legend: string };\n\nconst Legend = styled(Text)`\n color: ${props => props.theme.colors.neutral.c70};\n\n &[data-disabled=\"true\"] {\n color: ${props => props.theme.colors.neutral.c50};\n }\n`;\n\nfunction LegendInput(\n { legend, ...inputProps }: Props,\n ref?: React.ForwardedRef<HTMLInputElement>,\n): React.JSX.Element {\n return (\n <Input\n ref={ref}\n {...inputProps}\n renderRight={\n <InputRenderRightContainer>\n <Legend variant=\"body\" data-disabled={inputProps.disabled}>\n {legend}\n </Legend>\n </InputRenderRightContainer>\n }\n />\n );\n}\n\nexport default React.forwardRef(LegendInput);\n","import React from \"react\";\nimport Input, { InputProps } from \"../BaseInput\";\nimport FlexBox from \"../../layout/Flex\";\nimport Text from \"../../asorted/Text\";\nimport styled from \"styled-components\";\n\n// TODO: Replace me with a real button as soon as they are designed\nconst MaxButton = styled.button<{ active?: boolean }>`\n color: ${p => (p.active ? p.theme.colors.neutral.c00 : p.theme.colors.neutral.c70)};\n background-color: ${p => (p.active ? p.theme.colors.neutral.c100 : p.theme.colors.neutral.c00)};\n border-radius: 100px;\n border-width: 0;\n height: 31px;\n padding-left: 13px;\n padding-right: 13px;\n cursor: pointer;\n\n &:disabled {\n color: ${p => p.theme.colors.neutral.c50};\n background-color: ${p => (p.active ? p.theme.colors.neutral.c30 : \"transparent\")};\n cursor: unset;\n }\n`;\n\nfunction serialize(value?: number) {\n return value ? \"\" + value : \"\";\n}\nfunction deserialize(value: string) {\n try {\n return parseFloat(value);\n } catch {\n return undefined;\n }\n}\n\nfunction NumberInput(\n {\n value,\n onPercentClick,\n max,\n disabled,\n ...inputProps\n }: InputProps<number | undefined> & {\n onPercentClick: (percent: number) => void;\n },\n ref?: React.ForwardedRef<HTMLInputElement>,\n): React.JSX.Element {\n return (\n <Input\n ref={ref}\n serialize={serialize}\n deserialize={deserialize}\n {...inputProps}\n type={\"number\"}\n value={value}\n max={max}\n disabled={disabled}\n renderRight={\n <FlexBox alignItems={\"center\"} justifyContent={\"center\"} py={\"3px\"} mr={\"8px\"}>\n {[0.25, 0.5, 0.75, 1].map(percent => (\n <MaxButton\n key={percent}\n onClick={() => onPercentClick(percent)}\n active={!!value && !!max && Number(value) === percent * Number(max)}\n disabled={disabled}\n >\n <Text variant={\"tiny\"} color={\"inherit\"}>\n {percent * 100}%\n </Text>\n </MaxButton>\n ))}\n </FlexBox>\n }\n />\n );\n}\n\nexport default React.forwardRef(NumberInput);\n","import React from \"react\";\nimport Input, { InputProps } from \"../BaseInput\";\nimport FlexBox from \"../../layout/Flex\";\nimport QrCodeMedium from \"@ledgerhq/icons-ui/reactLegacy/QrCodeMedium\";\nimport styled from \"styled-components\";\n\nconst QrCodeButton = styled.button`\n display: flex;\n align-items: center;\n justify-content: center;\n width: 32px;\n height: 32px;\n border-radius: 50%;\n border-width: 0;\n color: ${p => p.theme.colors.neutral.c00};\n background-color: ${p => p.theme.colors.neutral.c100};\n cursor: pointer;\n\n &:disabled {\n background-color: ${p => p.theme.colors.neutral.c30};\n color: ${p => p.theme.colors.neutral.c50};\n cursor: unset;\n }\n`;\n\nfunction QrCodeInput(\n {\n onQrCodeClick,\n ...inputProps\n }: InputProps & { onQrCodeClick?: (e: React.FormEvent<HTMLButtonElement>) => void },\n ref?: React.ForwardedRef<HTMLInputElement>,\n): React.JSX.Element {\n return (\n <Input\n ref={ref}\n {...inputProps}\n renderRight={\n <FlexBox alignItems={\"center\"} justifyContent={\"center\"} pr={\"8px\"}>\n <QrCodeButton onClick={onQrCodeClick} disabled={inputProps.disabled}>\n <QrCodeMedium size=\"20px\" />\n </QrCodeButton>\n </FlexBox>\n }\n />\n );\n}\n\nexport default React.forwardRef(QrCodeInput);\n","import React from \"react\";\nimport Input, { InputProps } from \"../BaseInput\";\nimport FlexBox from \"../../layout/Flex\";\nimport Text from \"../../asorted/Text\";\nimport styled from \"styled-components\";\n\nconst MaxButton = styled.button`\n color: ${p => p.theme.colors.neutral.c00};\n background-color: ${p => p.theme.colors.neutral.c100};\n border-radius: 100px;\n border-width: 0;\n padding-left: 14px;\n padding-right: 14px;\n height: 100%;\n cursor: pointer;\n\n &:disabled {\n background-color: ${p => p.theme.colors.neutral.c30};\n color: ${p => p.theme.colors.neutral.c50};\n cursor: unset;\n }\n`;\n\nconst Legend = styled(Text)`\n color: ${p => p.theme.colors.neutral.c70};\n\n &[data-disabled=\"true\"] {\n color: ${p => p.theme.colors.neutral.c50};\n }\n`;\n\nfunction QuantityInput(\n {\n onMaxClick,\n price,\n ...inputProps\n }: InputProps & {\n onMaxClick?: (e: React.FormEvent<HTMLButtonElement>) => void;\n price?: string;\n },\n ref?: React.ForwardedRef<HTMLInputElement>,\n): React.JSX.Element {\n return (\n <Input\n ref={ref}\n {...inputProps}\n type={\"number\"}\n renderRight={\n <FlexBox alignItems={\"center\"} justifyContent={\"center\"} pr={\"3px\"} py={\"3px\"}>\n {price && (\n <Legend variant=\"body\" pr={\"12px\"} data-disabled={inputProps.disabled}>\n {price}\n </Legend>\n )}\n <MaxButton onClick={onMaxClick} disabled={inputProps.disabled}>\n <Text variant=\"tiny\" color=\"currentColor\">\n Max\n </Text>\n </MaxButton>\n </FlexBox>\n }\n />\n );\n}\n\nexport default React.forwardRef(QuantityInput);\n","import React, { InputHTMLAttributes, useContext, useMemo } from \"react\";\nimport styled, { css } from \"styled-components\";\n\nimport { rgba } from \"../../../styles/helpers\";\nimport Text from \"../../asorted/Text\";\nimport { RadioContext } from \"./index\";\n\nconst Label = styled(Text)`\n color: var(--ledger-ui-checkbox-color, ${p => p.theme.colors.neutral.c100});\n width: 266px;\n`;\n\nconst Input = styled.input`\n --ledger-ui-checkbox-color: ${p => p.theme.colors.neutral.c50};\n --ledger-ui-checkbox-size: 1.25rem;\n\n position: relative;\n appearance: none;\n width: var(--ledger-ui-checkbox-size);\n height: var(--ledger-ui-checkbox-size);\n flex-shrink: 0;\n border-radius: ${p => `${p.theme.radii[1]}px`};\n border: 1px solid var(--ledger-ui-checkbox-color);\n cursor: pointer;\n\n &:checked::before {\n position: absolute;\n display: block;\n content: \" \";\n background-color: var(--ledger-ui-checkbox-color);\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n margin: auto;\n border-radius: 2px;\n width: calc(var(--ledger-ui-checkbox-size) / 2);\n height: calc(var(--ledger-ui-checkbox-size) / 2);\n }\n\n &[data-variant=\"default\"] {\n &:hover {\n --ledger-ui-checkbox-color: ${p => p.theme.colors.primary.c90};\n }\n &:active {\n --ledger-ui-checkbox-color: ${p => p.theme.colors.primary.c100};\n }\n &:checked,\n &:focus {\n --ledger-ui-checkbox-color: ${p => p.theme.colors.primary.c80};\n }\n &:focus {\n box-shadow: 0px 0px 0px 4px ${p => rgba(p.theme.colors.primary.c60, 0.48)};\n }\n }\n\n &[data-variant=\"main\"] {\n &:hover {\n --ledger-ui-checkbox-color: ${p => p.theme.colors.neutral.c90};\n }\n &:active,\n &:checked,\n &:focus {\n --ledger-ui-checkbox-color: ${p => p.theme.colors.neutral.c100};\n }\n &:focus {\n box-shadow: 0px 0px 0px 4px ${p => rgba(p.theme.colors.neutral.c60, 0.48)};\n }\n }\n\n &[data-variant=\"success\"] {\n &:hover,\n &:checked:not([disabled]),\n &:checked:not([disabled]) + ${Label}, &:focus {\n --ledger-ui-checkbox-color: ${p => p.theme.colors.success.c50};\n }\n &:focus {\n box-shadow: 0px 0px 0px 4px ${p => rgba(p.theme.colors.success.c50, 0.48)};\n }\n }\n\n &[data-variant=\"error\"] {\n &:hover,\n &:checked:not([disabled]),\n &:checked:not([disabled]) + ${Label}, &:focus {\n --ledger-ui-checkbox-color: ${p => p.theme.colors.error.c50};\n }\n &:focus {\n box-shadow: 0px 0px 0px 4px ${p => rgba(p.theme.colors.error.c50, 0.48)};\n }\n }\n\n &[data-variant]:disabled {\n --ledger-ui-checkbox-color: ${p => p.theme.colors.neutral.c40};\n cursor: unset;\n background-color: ${p => p.theme.colors.neutral.c30};\n }\n`;\n\nconst outlinedCSS = css`\n padding: 20px;\n border: 1px solid ${p => p.theme.colors.neutral.c50};\n border-radius: ${p => p.theme.radii[2]}px;\n &[data-variant=\"default\"] {\n &:hover {\n border-color: ${p => p.theme.colors.primary.c90};\n }\n &[data-checked]:active {\n border-color: ${p => p.theme.colors.primary.c100};\n }\n &:focus {\n border-color: ${p => p.theme.colors.primary.c80};\n }\n }\n\n &[data-variant=\"main\"] {\n &:hover {\n border-color: ${p => p.theme.colors.neutral.c90};\n }\n &[data-checked],\n &:active,\n &:focus {\n border-color: ${p => p.theme.colors.neutral.c100};\n }\n }\n\n &[data-variant=\"success\"] {\n &[data-checked]:not([disabled]) {\n border-color: ${p => p.theme.colors.success.c50};\n }\n &:hover {\n border-color: ${p => p.theme.colors.success.c50};\n }\n }\n\n &[data-variant=\"error\"] {\n &[data-checked]:not([disabled]) {\n border-color: ${p => p.theme.colors.error.c50};\n }\n &:hover {\n border-color: ${p => p.theme.colors.error.c50};\n }\n }\n\n &[data-variant]:disabled {\n border-color: ${p => p.theme.colors.neutral.c40};\n cursor: unset;\n }\n`;\n\nconst RadioElement = styled.label.attrs({ tabIndex: -1 })<{\n outlined?: boolean;\n}>`\n display: inline-flex;\n column-gap: 0.75rem;\n align-items: center;\n cursor: pointer;\n &[data-variant]:disabled {\n cursor: unset;\n }\n ${p => p.outlined && outlinedCSS}\n`;\n\ntype InputAttributes = Omit<InputHTMLAttributes<HTMLInputElement>, \"type\" | \"onChange\" | \"name\">;\n\nexport type RadioElementProps = InputAttributes & {\n variant?: \"default\" | \"main\" | \"success\" | \"error\";\n label: string;\n outlined?: boolean;\n};\n\nconst Element = ({\n label,\n value,\n disabled,\n outlined,\n variant = \"default\",\n ...props\n}: RadioElementProps): React.JSX.Element => {\n const context = useContext(RadioContext);\n if (context === undefined) throw new Error(\"RadioElement must be used within a RadioProvider\");\n\n const isChecked = useMemo(() => context.currentValue == value, [context.currentValue, value]);\n\n const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n context.onChange(event.target.value);\n };\n\n return (\n <RadioElement\n data-variant={variant}\n {...(isChecked ? { \"data-checked\": true } : {})}\n outlined={outlined}\n >\n <Input\n type=\"radio\"\n data-variant={variant}\n checked={isChecked}\n disabled={disabled}\n onChange={handleChange}\n value={value}\n name={context.name}\n {...props}\n />\n <Label variant=\"paragraph\">{label}</Label>\n </RadioElement>\n );\n};\n\nElement.displayName = \"Radio.Element\"; // For easy identification in the React devtools & in storybook\nElement.Label = Label;\n\nexport default Element;\n","import React, { InputHTMLAttributes, useContext } from \"react\";\nimport styled from \"styled-components\";\nimport Text from \"../../asorted/Text\";\nimport Flex, { FlexBoxProps } from \"../../layout/Flex\";\nimport { rgba } from \"../../../styles/helpers\";\nimport { RadioContext } from \"./index\";\n\ntype ElementState = {\n checked: boolean;\n disabled?: boolean | undefined;\n};\n\nexport const Label = styled(Text)<ElementState>`\n color: ${p =>\n p.disabled\n ? p.theme.colors.neutral.c50\n : p.checked\n ? p.theme.colors.primary.c90\n : p.theme.colors.neutral.c100};\n`;\n\nconst Container = styled(Flex)<ElementState>`\n cursor: ${p => (p.disabled ? \"\" : \"pointer\")};\n justify-content: center;\n align-items: center;\n background-color: ${p => (p.checked ? p.theme.colors.primary.c20 : \"\")};\n border: 1px solid ${p => (p.checked ? p.theme.colors.primary.c50 : p.theme.colors.neutral.c40)};\n border-radius: ${p => `${p.theme.radii[2]}px`};\n padding: ${p => p.theme.space[6]}px;\n\n &:hover {\n border-color: ${p => (p.disabled || p.checked ? \"\" : p.theme.colors.primary.c80)};\n }\n`;\n\nconst Input = styled.input`\n position: relative;\n appearance: none;\n &:focus ~ ${Container} {\n box-shadow: 0px 0px 0px 4px ${p => rgba(p.theme.colors.primary.c60, 0.48)};\n }\n`;\n\nconst RadioListElement = styled.label.attrs({ tabIndex: -1 })`\n display: inline-flex;\n align-items: center;\n`;\n\ntype InputAttributes = Omit<InputHTMLAttributes<HTMLInputElement>, \"type\" | \"onChange\" | \"name\">;\n\nexport type RadioListElementProps = InputAttributes & {\n /**\n * The string or component that will be rendered as label of this radio element\n * If it's a component, it's rendered with these props: { checked:boolean; disabled:boolean }\n * */\n label: string | React.ComponentType<ElementState> | ((arg1: ElementState) => React.JSX.Element);\n /** Flex props to pass to the container */\n containerProps?: FlexBoxProps;\n};\n\nconst ListElement = ({\n label,\n value,\n disabled,\n containerProps,\n ...props\n}: RadioListElementProps): React.JSX.Element => {\n const context = useContext(RadioContext);\n if (context === undefined) throw new Error(\"RadioElement must be used within a RadioProvider\");\n\n const isChecked = context.currentValue === value;\n\n const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n context.onChange(event.target.value);\n };\n\n return (\n <RadioListElement>\n <Input\n type=\"radio\"\n checked={isChecked}\n disabled={disabled}\n onChange={handleChange}\n value={value}\n name={context.name}\n {...props}\n />\n <Container checked={isChecked} disabled={disabled} {...containerProps}>\n {typeof label === \"string\" ? (\n <Label checked={isChecked} disabled={disabled} variant=\"paragraph\">\n {label}\n </Label>\n ) : (\n React.createElement(label, { checked: isChecked, disabled })\n )}\n </Container>\n </RadioListElement>\n );\n};\n\nListElement.displayName = \"Radio.ListElement\"; // For easy identification in the React devtools & in storybook\nListElement.Label = Label;\n\nexport default ListElement;\n","import React, { InputHTMLAttributes } from \"react\";\n\nimport RadioElement from \"./RadioElement\";\nimport RadioListElement from \"./RadioListElement\";\nimport Flex from \"../../layout/Flex\";\nimport { FlexBoxProps } from \"../../layout/Flex\";\n\nexport type RadioProps = {\n currentValue?: InputHTMLAttributes<HTMLInputElement>[\"value\"];\n onChange: (value: InputHTMLAttributes<HTMLInputElement>[\"value\"]) => void;\n children: React.ReactNode;\n name: string;\n containerProps?: FlexBoxProps;\n};\n\nexport const RadioContext = React.createContext<Omit<RadioProps, \"children\" | \"containerProps\">>({\n name: \"\",\n onChange: () => {},\n});\n\nconst Radio = ({\n currentValue,\n name,\n onChange,\n children,\n containerProps,\n}: RadioProps): React.JSX.Element => {\n return (\n <Flex columnGap=\"1.5rem\" {...containerProps}>\n <RadioContext.Provider value={{ currentValue, name, onChange }}>\n {children}\n </RadioContext.Provider>\n </Flex>\n );\n};\n\nRadio.Element = RadioElement;\nRadio.ListElement = RadioListElement;\n\nexport default Radio;\n","import React from \"react\";\nimport { useTheme } from \"styled-components\";\nimport Input, { InputProps, InputRenderLeftContainer } from \"../BaseInput\";\nimport SearchMedium from \"@ledgerhq/icons-ui/reactLegacy/SearchMedium\";\n\nfunction SearchInput(\n props: InputProps,\n ref?: React.ForwardedRef<HTMLInputElement>,\n): React.JSX.Element {\n const theme = useTheme();\n\n return (\n <Input\n ref={ref}\n {...props}\n renderLeft={\n <InputRenderLeftContainer>\n <SearchMedium\n color={props.disabled ? theme.colors.neutral.c50 : theme.colors.neutral.c70}\n />\n </InputRenderLeftContainer>\n }\n />\n );\n}\n\nexport default React.forwardRef(SearchInput);\n","import React from \"react\";\nimport { components, GroupBase, StylesConfig, ControlProps } from \"react-select\";\nimport { DefaultTheme } from \"styled-components\";\nimport { InputContainer } from \"../BaseInput\";\nimport { Props as SelectProps } from \"./index\";\n\nexport function getStyles<\n O = unknown,\n M extends boolean = false,\n G extends GroupBase<O> = GroupBase<O>,\n>(theme: DefaultTheme): NonNullable<StylesConfig<O, M, G>[\"control\"]> {\n return provided => ({\n ...provided,\n display: \"flex\",\n alignItems: \"center\",\n width: \"100%\",\n border: 0,\n padding: `0px ${theme.space[7]}px`,\n boxShadow: \"none\",\n borderRadius: \"inherit\",\n background: \"transparent\",\n });\n}\n\nexport function Control<\n O = unknown,\n M extends boolean = false,\n G extends GroupBase<O> = GroupBase<O>,\n>(props: ControlProps<O, M, G>): React.JSX.Element {\n const { isFocused, selectProps, children } = props;\n\n const { isDisabled, error, renderLeft } = selectProps as SelectProps<O, M, G>;\n\n return (\n <InputContainer disabled={isDisabled} error={error} focus={isFocused}>\n <components.Control {...props}>\n {renderLeft ? renderLeft(props) : null}\n {children}\n </components.Control>\n </InputContainer>\n );\n}\n","import React from \"react\";\nimport { components, GroupBase, StylesConfig, DropdownIndicatorProps } from \"react-select\";\nimport { useTheme } from \"styled-components\";\nimport Text from \"../../asorted/Text\";\nimport { ChevronBottomMedium, ChevronTopMedium } from \"@ledgerhq/icons-ui/reactLegacy\";\n\nexport function getStyles<\n O = unknown,\n M extends boolean = false,\n G extends GroupBase<O> = GroupBase<O>,\n>(): NonNullable<StylesConfig<O, M, G>[\"dropdownIndicator\"]> {\n return provided => ({\n ...provided,\n padding: 0,\n });\n}\n\nexport function DropdownIndicator<\n O = unknown,\n M extends boolean = false,\n G extends GroupBase<O> = GroupBase<O>,\n>(props: DropdownIndicatorProps<O, M, G>): React.JSX.Element {\n const theme = useTheme();\n const { isDisabled } = props.selectProps;\n\n const ChevronIcon = props.selectProps.menuIsOpen ? ChevronTopMedium : ChevronBottomMedium;\n const color = isDisabled ? theme.colors.neutral.c60 : theme.colors.neutral.c100;\n\n return (\n <components.DropdownIndicator {...props}>\n <Text as=\"div\" color={color} style={{ display: \"flex\" }}>\n <ChevronIcon size={12} />\n </Text>\n </components.DropdownIndicator>\n );\n}\n","import React from \"react\";\nimport { components, GroupBase, IndicatorsContainerProps } from \"react-select\";\nimport FlexBox from \"../../layout/Flex\";\nimport { Props as SelectProps } from \"./index\";\n\nexport function IndicatorsContainer<\n O = unknown,\n M extends boolean = false,\n G extends GroupBase<O> = GroupBase<O>,\n>(props: IndicatorsContainerProps<O, M, G>): React.JSX.Element {\n const { renderRight } = props.selectProps as SelectProps<O, M, G>;\n\n return (\n <FlexBox alignItems=\"center\">\n {renderRight ? renderRight(props) : null}\n <components.IndicatorsContainer {...props} />\n </FlexBox>\n );\n}\n","import React from \"react\";\nimport { components, GroupBase, StylesConfig, MenuListProps } from \"react-select\";\nimport { DefaultTheme } from \"styled-components\";\n\nexport function getStyles<\n O = unknown,\n M extends boolean = false,\n G extends GroupBase<O> = GroupBase<O>,\n>(theme: DefaultTheme): NonNullable<StylesConfig<O, M, G>[\"menuList\"]> {\n const isLight = theme.colors.type === \"light\";\n return provided => ({\n ...provided,\n display: \"flex\",\n flexDirection: \"column\",\n gap: theme.space[2],\n padding: theme.space[3],\n border: `1px solid ${theme.colors.neutral[isLight ? \"c20\" : \"c30\"]}`,\n borderRadius: \"8px\",\n boxShadow: `0px 6px 12px rgba(0, 0, 0, ${isLight ? 0.04 : 0.08})`,\n background: theme.colors.neutral[isLight ? \"c00\" : \"c20\"],\n color: theme.colors.neutral.c80,\n });\n}\n\nexport function MenuList<\n O = unknown,\n M extends boolean = false,\n G extends GroupBase<O> = GroupBase<O>,\n>(props: MenuListProps<O, M, G>): React.JSX.Element {\n return <components.MenuList {...props}>{props.children}</components.MenuList>;\n}\n","import React from \"react\";\nimport { components, GroupBase, StylesConfig, OptionProps } from \"react-select\";\nimport styled from \"styled-components\";\nimport Text from \"../../asorted/Text\";\n\nexport function getStyles<\n O = unknown,\n M extends boolean = false,\n G extends GroupBase<O> = GroupBase<O>,\n>(): NonNullable<StylesConfig<O, M, G>[\"option\"]> {\n return provided => ({\n ...provided,\n display: \"flex\",\n alignItems: \"center\",\n padding: 0,\n cursor: \"inherit\",\n background: \"inherit\",\n color: \"inherit\",\n boxShadow: \"none\",\n border: \"none\",\n \":active\": undefined,\n });\n}\n\nconst Wrapper = styled(Text).attrs({ as: \"div\" })<{\n disabled: boolean;\n selected: boolean;\n focus: boolean;\n}>`\n height: 48px;\n display: flex;\n padding: 0 ${p => p.theme.space[5]}px;\n border-radius: ${p => `${p.theme.radii[1]}px`};\n ${p => (!p.disabled ? \"cursor: pointer;\" : \"\")}\n ${props => {\n const { theme, selected, focus, disabled } = props;\n if (selected) {\n return `\n color: ${theme.colors.primary.c90};\n background: ${theme.colors.primary.c20};\n `;\n }\n if (disabled) {\n return `\n color: ${theme.colors.neutral.c50};\n ${\n focus\n ? `&:not(:active) {\n background: ${theme.colors.neutral.c20};\n }`\n : \"\"\n }\n `;\n }\n return `\n color: ${theme.colors.neutral.c80};\n &:hover {\n color: ${theme.colors.neutral.c100};\n background: ${theme.colors.primary.c10};\n }\n &:active {\n color: ${theme.colors.neutral.c100};\n background: ${theme.colors.primary.c30};\n }\n ${\n focus\n ? `&:not(:active) {\n color: ${theme.colors.neutral.c100};\n background: ${theme.colors.primary.c10};\n }`\n : \"\"\n }\n `;\n }};\n`;\n\nexport type ExtraProps<\n O = unknown,\n M extends boolean = false,\n G extends GroupBase<O> = GroupBase<O>,\n> = {\n /* A render function to customize the contents. */\n render?: (props: React.PropsWithChildren<OptionProps<O, M, G>>) => React.ReactNode;\n};\nexport type Props<\n O = unknown,\n M extends boolean = false,\n G extends GroupBase<O> = GroupBase<O>,\n> = OptionProps<O, M, G> & ExtraProps<O, M, G>;\nexport function Option<\n O = unknown,\n M extends boolean = false,\n G extends GroupBase<O> = GroupBase<O>,\n>(props: Props<O, M, G>): React.JSX.Element {\n const { render, children, ...innerProps } = props;\n\n return (\n <Wrapper\n disabled={props.isDisabled}\n selected={props.isSelected}\n focus={props.isFocused}\n fontWeight=\"semiBold\"\n variant={\"paragraph\"}\n >\n <components.Option {...innerProps}>{render ? render(props) : children}</components.Option>\n </Wrapper>\n );\n}\n","import React from \"react\";\nimport { components, GroupBase, StylesConfig, ValueContainerProps } from \"react-select\";\nimport Text from \"../../asorted/Text\";\n\nexport function getStyles<\n O = unknown,\n M extends boolean = false,\n G extends GroupBase<O> = GroupBase<O>,\n>(): StylesConfig<O, M, G>[\"valueContainer\"] {\n return provided => ({\n ...provided,\n padding: 0,\n });\n}\n\ntype ExtraProps<O = unknown, M extends boolean = false, G extends GroupBase<O> = GroupBase<O>> = {\n /* A render function to customize the contents. */\n render?: (props: React.PropsWithChildren<ValueContainerProps<O, M, G>>) => React.ReactNode;\n};\n\nexport type MixedProps<\n O = unknown,\n M extends boolean = false,\n G extends GroupBase<O> = GroupBase<O>,\n> = ValueContainerProps<O, M, G> & ExtraProps<O, M, G>;\n\nexport function ValueContainer<\n O = unknown,\n M extends boolean = false,\n G extends GroupBase<O> = GroupBase<O>,\n>(props: MixedProps<O, M, G>): React.JSX.Element {\n const color = props.selectProps.isDisabled ? \"neutral.c60\" : \"neutral.c100\";\n return (\n <components.ValueContainer {...props}>\n <Text\n as=\"div\"\n variant=\"paragraph\"\n color={color}\n style={{ display: \"inherit\", alignItems: \"center\" }}\n >\n {props.render ? props.render(props) : props.children}\n </Text>\n </components.ValueContainer>\n );\n}\n","import React, { memo, useMemo } from \"react\";\nimport Select, {\n Props as SelectProps,\n ControlProps,\n IndicatorsContainerProps,\n GroupBase,\n StylesConfig,\n} from \"react-select\";\nimport { DefaultTheme, useTheme } from \"styled-components\";\nimport * as DropdownIndicatorModule from \"./DropdownIndicator\";\nimport * as ValueContainerModule from \"./ValueContainer\";\nimport * as ControlModule from \"./Control\";\nimport * as MenuListModule from \"./MenuList\";\nimport * as OptionModule from \"./Option\";\nimport { IndicatorsContainer } from \"./IndicatorsContainer\";\nimport { InputErrorContainer } from \"../BaseInput\";\n\nexport type SelfProps<O, M extends boolean, G extends GroupBase<O>> = {\n /* An error which will be displayed below the component and will change the style. */\n error?: string;\n /* A component which will be rendered on the left side of the select. */\n renderLeft?: (props: ControlProps<O, M, G>) => React.ReactNode;\n /* A component which will be rendered on the right side of the select, before the indicators. */\n renderRight?: (props: IndicatorsContainerProps<O, M, G>) => React.ReactNode;\n /* This value is used to calculate the height of the menu list when dealing with virtual lists. */\n rowHeight?: number;\n /* Removes all wrappers when rendering the element. */\n unwrapped?: boolean;\n /* Extends defined styles. */\n extendStyles?: (styles: StylesConfig<O, M, G>) => StylesConfig<O, M, G>;\n};\nexport type Props<\n O = unknown,\n M extends boolean = false,\n G extends GroupBase<O> = GroupBase<O>,\n> = SelectProps<O, M, G> & SelfProps<O, M, G>;\n\nconst stylesFn = <O, M extends boolean, G extends GroupBase<O>>(\n theme: DefaultTheme,\n): StylesConfig<O, M, G> => ({\n control: ControlModule.getStyles(theme),\n valueContainer: ValueContainerModule.getStyles(),\n dropdownIndicator: DropdownIndicatorModule.getStyles(),\n menuList: MenuListModule.getStyles(theme),\n option: OptionModule.getStyles(),\n input: provided => ({\n ...provided,\n color: theme.colors.neutral.c100,\n }),\n placeholder: provided => ({\n ...provided,\n color: theme.colors.neutral.c60,\n }),\n singleValue: provided => ({\n ...provided,\n color: \"inherit\",\n }),\n multiValue: provided => ({\n ...provided,\n backgroundColor: theme.colors.primary.c20,\n borderRadius: theme.radii[1],\n }),\n multiValueLabel: provided => ({\n ...provided,\n color: theme.colors.neutral.c100,\n }),\n multiValueRemove: provided => ({\n ...provided,\n cursor: \"pointer\",\n \"&:hover\": {\n color: theme.colors.error.c50,\n backgroundColor: theme.colors.error.c30,\n },\n }),\n menu: provided => ({\n ...provided,\n border: 0,\n boxShadow: \"none\",\n background: \"none\",\n }),\n});\n\nfunction SelectInput<O, M extends boolean, G extends GroupBase<O>>({\n error,\n rowHeight = 48,\n unwrapped,\n extendStyles,\n ...props\n}: Props<O, M, G>): React.JSX.Element {\n const theme = useTheme();\n const styles = useMemo(\n () => (extendStyles ? extendStyles(stylesFn<O, M, G>(theme)) : stylesFn<O, M, G>(theme)),\n [theme, extendStyles],\n );\n const { isDisabled, components = {} } = props;\n\n const innerContent = (\n <Select\n {...props}\n styles={{\n ...styles,\n ...props.styles,\n }}\n classNamePrefix=\"react-select\"\n components={{\n Control: ControlModule.Control,\n ValueContainer: ValueContainerModule.ValueContainer,\n IndicatorsContainer,\n DropdownIndicator: DropdownIndicatorModule.DropdownIndicator,\n MenuList: MenuListModule.MenuList,\n Option: OptionModule.Option,\n IndicatorSeparator: null,\n ...components,\n }}\n // @ts-expect-error We want to be able to pass extra props here…\n rowHeight={rowHeight}\n />\n );\n\n if (unwrapped) return innerContent;\n\n return (\n <div>\n {innerContent}\n {error && !isDisabled && (\n <InputErrorContainer variant={\"paragraph\"}>{error}</InputErrorContainer>\n )}\n </div>\n );\n}\n\nexport default memo(SelectInput) as typeof SelectInput;\n","import React, { useCallback } from \"react\";\nimport styled from \"styled-components\";\nimport { DefaultTheme } from \"styled-components\";\nimport { InputContainer, InputErrorContainer } from \"../BaseInput\";\n\ntype Callbacks = {\n onFocus: <F>(event: React.FocusEvent<F>) => void;\n onBlur: <B>(event: React.FocusEvent<B>) => void;\n};\ntype ExtraRenderProps = {\n renderLeft: (p: StateProps & Callbacks) => React.ReactNode;\n renderRight: (p: StateProps & Callbacks) => React.ReactNode;\n};\nexport type StateProps = {\n error?: string | undefined;\n disabled?: boolean;\n isDisabled?: boolean;\n};\nexport type Props = StateProps & ExtraRenderProps;\ntype DividerProps = {\n disabled: boolean | undefined;\n focus: boolean | undefined;\n error: string | undefined;\n theme?: DefaultTheme;\n};\nfunction getDividerColor(props: DividerProps) {\n if (props.disabled) {\n return props.theme?.colors.neutral.c40;\n }\n if (props.error) {\n return props.theme?.colors.error.c50;\n }\n if (props.focus) {\n return props.theme?.colors.primary.c80;\n }\n\n return props.theme?.colors.neutral.c40;\n}\n\nfunction getHoverBolderColor(props: DividerProps) {\n return props.disabled || props.error ? \"inherit\" : props.theme?.colors.primary.c80;\n}\n\nconst Divider = styled.div<{\n disabled: boolean | undefined;\n focus: boolean | undefined;\n error: string | undefined;\n}>`\n border-right: 1px solid;\n height: 100%;\n transition: border-color 0.2s ease;\n\n border-color: ${getDividerColor};\n ${InputContainer}:hover & {\n border-color: ${getHoverBolderColor};\n }\n`;\n\nexport default function SplitInput(props: Props): React.JSX.Element {\n const { disabled, isDisabled, renderLeft, renderRight, error } = props;\n const [focus, setFocus] = React.useState(false);\n\n const onFocus = useCallback(() => {\n setFocus(true);\n }, [setFocus]);\n const onBlur = useCallback(() => {\n setFocus(false);\n }, [setFocus]);\n\n const disabledState = typeof disabled !== \"undefined\" ? disabled : isDisabled;\n\n return (\n <div>\n <InputContainer disabled={disabledState} focus={focus} error={error}>\n <div style={{ width: \"50%\", height: \"100%\" }}>\n {renderLeft({\n error,\n onFocus,\n onBlur,\n disabled: disabledState,\n isDisabled: disabledState,\n })}\n </div>\n <Divider focus={focus} disabled={disabled} error={error} />\n <div style={{ width: \"50%\", height: \"100%\" }}>\n {typeof renderRight === \"function\"\n ? renderRight({\n error,\n onFocus,\n onBlur,\n disabled: disabledState,\n isDisabled: disabledState,\n })\n : renderRight}\n </div>\n </InputContainer>\n {error && !disabled && <InputErrorContainer>{error}</InputErrorContainer>}\n </div>\n );\n}\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport Text from \"../../asorted/Text\";\nimport Flex from \"../../layout/Flex\";\n\nconst Container = styled(Flex).attrs({ alignItems: \"center\", flexDirection: \"row\" })`\n width: fit-content;\n column-gap: ${p => p.theme.space[5]}px;\n cursor: pointer;\n\n /* reversed VARIANT */\n &[data-reversed=\"true\"] {\n flex-direction: row-reverse;\n }\n\n &[data-disabled=\"true\"] {\n cursor: unset;\n }\n`;\n\nconst Input = styled.input`\n position: absolute;\n visibility: hidden;\n`;\n\nconst Label = styled(Text)`\n &:first-letter {\n text-transform: uppercase;\n }\n`;\n\nconst Switcher = styled.div`\n --ll-switch-width: ${p => p.theme.space[14]}px;\n --ll-switch-height: ${p => p.theme.space[9]}px;\n --ll-switch-padding: ${p => p.theme.space[2]}px;\n\n position: relative;\n display: inline-block;\n\n background: ${props => props.theme.colors.neutral.c60};\n border-radius: ${p => p.theme.space[6]}px;\n width: var(--ll-switch-width);\n height: var(--ll-switch-height);\n\n transition: background 200ms;\n\n &:before,\n &:after {\n content: \"\";\n }\n\n &:focus {\n outline-style: auto;\n outline: 1px solid ${props => props.theme.colors.neutral.c90};\n outline-offset: ${p => p.theme.space[1]}px;\n }\n\n /* CIRCLE ELEMENT */\n &:before {\n position: absolute;\n display: block;\n background: ${props => props.theme.colors.constant.white};\n border-radius: ${p => p.theme.space[12]}px;\n\n width: calc(calc(var(--ll-switch-width) / 2) - var(--ll-switch-padding));\n height: calc(calc(var(--ll-switch-width) / 2) - var(--ll-switch-padding));\n top: var(--ll-switch-padding);\n transform: translateX(var(--ll-switch-padding));\n transition: transform 0.25s;\n }\n\n /* SMALL VARIANT */\n &[data-size=\"small\"] {\n --ll-switch-width: ${p => p.theme.space[8]}px;\n --ll-switch-height: ${p => p.theme.space[6]}px;\n }\n\n &:hover {\n background-color: ${props => props.theme.colors.neutral.c70};\n }\n\n &:active {\n background-color: ${props => props.theme.colors.neutral.c80};\n }\n\n /* CHECKED VARIANT */\n ${Input}:checked ~ & {\n background: ${props => props.theme.colors.primary.c80};\n\n &:before {\n transform: translateX(calc(var(--ll-switch-width) / 2));\n }\n\n &:hover {\n background: ${props => props.theme.colors.primary.c90};\n }\n\n :active {\n background: ${props => props.theme.colors.primary.c100};\n }\n }\n`;\n\nexport type SwitchProps = {\n name: string;\n checked: boolean;\n onChange: (e: React.FormEvent<HTMLDivElement>) => void;\n size?: \"normal\" | \"small\";\n label?: string;\n disabled?: boolean;\n reversed?: boolean;\n};\n\nconst Switch = ({\n name,\n checked,\n onChange,\n label,\n disabled,\n reversed,\n size,\n}: SwitchProps): React.JSX.Element => {\n const handleFocusKeyDown = (e: React.FormEvent<HTMLDivElement> & { key: string }) => {\n if (e.key.match(/enter/i)) onChange(e);\n };\n\n const handleClick = (e: React.FormEvent<HTMLDivElement>) => {\n if (!disabled) onChange(e);\n };\n\n return (\n <Container\n role=\"button\"\n data-reversed={reversed}\n data-disabled={disabled}\n onClick={handleClick}\n tabIndex={0}\n aria-pressed={checked}\n onKeyDown={handleFocusKeyDown}\n >\n <Input type=\"checkbox\" name={name} id={name} disabled={disabled} checked={checked} />\n <Switcher data-size={size} />\n {label ? <Label variant=\"paragraph\">{label}</Label> : null}\n </Container>\n );\n};\n\nexport default Switch;\n","import React, { useEffect } from \"react\";\nimport styled, { useTheme } from \"styled-components\";\nimport Flex from \"../../layout/Flex\";\nimport Text from \"../../asorted/Text\";\nimport { motion, useAnimation } from \"framer-motion\";\n\nconst StyledButton = styled(Flex)`\n cursor: pointer;\n justify-content: center;\n align-items: center;\n`;\nconst StyledFlex = styled(Flex)<{ isSelected: boolean }>`\n height: 100%;\n justify-content: center;\n align-items: center;\n`;\n\nconst StyledText = styled(Text)<{ isSelected: boolean }>`\n line-height: 14.52px;\n overflow: visible;\n text-align: center;\n font-size: 12px;\n color: ${p => (p.isSelected ? p.theme.colors.constant.black : p.theme.colors.opacityDefault.c50)};\n z-index: 10;\n`;\n\ninterface OptionButtonProps<T> {\n option: T;\n selectedOption: T;\n handleSelectOption: (option: T) => void;\n label: string;\n width: number;\n}\n\nconst OptionButton = <T,>({\n option,\n selectedOption,\n handleSelectOption,\n label,\n width,\n}: OptionButtonProps<T>) => {\n const isSelected = selectedOption === option;\n\n return (\n <StyledButton width={width} onClick={() => handleSelectOption(option)}>\n <StyledFlex isSelected={isSelected}>\n <StyledText fontWeight=\"semiBold\" isSelected={isSelected}>\n {label}\n </StyledText>\n </StyledFlex>\n </StyledButton>\n );\n};\n\nexport interface TabSelectorProps<T extends string | number> {\n options: T[];\n selectedOption: T;\n handleSelectOption: (option: T) => void;\n labels: { [key in T]: string };\n}\n\nexport default function TabSelector<T extends string | number>({\n options,\n selectedOption,\n handleSelectOption,\n labels,\n}: Readonly<TabSelectorProps<T>>): React.JSX.Element {\n const { colors } = useTheme();\n\n const longuestLabel =\n labels[options[0]].length > labels[options[1]].length ? options[0] : options[1];\n\n const widthFactor = 8;\n const margin = 20;\n const width = labels[longuestLabel].length * widthFactor + margin;\n const semiWidth = width / 2;\n const controls = useAnimation();\n\n useEffect(() => {\n controls.start({\n x: selectedOption === options[0] ? -semiWidth : semiWidth,\n transition: { type: \"spring\", damping: 30, stiffness: 130 },\n });\n }, [selectedOption, controls, options, semiWidth]);\n\n return (\n <Flex\n flexDirection={\"row\"}\n justifyContent={\"center\"}\n alignItems={\"center\"}\n width={width * 2 + 4}\n height={\"35px\"}\n borderRadius={\"40px\"}\n bg={colors.opacityDefault.c05}\n position={\"relative\"}\n >\n <motion.div\n style={{\n position: \"absolute\",\n width: width,\n height: \"90%\",\n backgroundColor: colors.primary.c80,\n borderRadius: 40,\n }}\n animate={controls}\n />\n {options.map(option => (\n <OptionButton\n width={width}\n key={option}\n option={option}\n selectedOption={selectedOption}\n handleSelectOption={handleSelectOption}\n label={labels[option]}\n />\n ))}\n </Flex>\n );\n}\n","export { default as Input } from \"./BaseInput\";\nexport { default as Checkbox } from \"./Checkbox\";\nexport { default as Dropdown } from \"./Dropdown\";\nexport { default as LegendInput } from \"./LegendInput\";\nexport { default as NumberInput } from \"./NumberInput\";\nexport { default as QrCodeInput } from \"./QrCodeInput\";\nexport { default as QuantityInput } from \"./QuantityInput\";\nexport { default as Radio } from \"./Radio\";\nexport { default as SearchInput } from \"./SearchInput\";\nexport { default as SelectInput } from \"./SelectInput\";\nexport { default as SplitInput } from \"./SplitInput\";\nexport { default as Switch } from \"./Switch\";\nexport { default as TabSelector } from \"./TabSelector\";\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","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","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 React from \"react\";\nimport styled from \"styled-components\";\nimport Text from \"../../asorted/Text\";\n\nexport interface Props {\n /**\n * Radius of the progress ring.\n */\n radius?: number;\n\n /**\n * Thickness of the progress ring.\n */\n stroke?: number;\n\n /**\n * Progress of the loader, in percent, between 0 and 100.\n */\n progress?: number;\n\n /**\n * Whether to make it infinite, with spinning and whatnot.\n */\n infinite?: boolean;\n\n /**\n * Whether to display the progress, defaults to true.\n */\n showPercentage?: boolean;\n\n /**\n * Percentage text color\n */\n textColor?: string;\n\n /**\n * Front stroke color.\n */\n frontStrokeColor?: string;\n\n /**\n * Front stroke linecap.\n * https://developer.mozilla.org/fr/docs/Web/SVG/Attribute/stroke-linecap\n */\n frontStrokeLinecap?: \"butt\" | \"round\";\n\n /**\n * Background stroke color.\n */\n backgroundStrokeColor?: string;\n}\n\nconst StyledCircle = styled.circle.attrs({\n fill: \"transparent\",\n cx: \"50%\",\n cy: \"50%\",\n})`\n transition: stroke-dashoffset 0.35s;\n transform: rotate(-90deg);\n transform-origin: 50% 50%;\n`;\n\nconst StyledCircleBackground = styled(StyledCircle).attrs(props => ({\n stroke: props.stroke || props.theme.colors.primary.c30,\n}))``;\n\nconst StyledCircleFront = styled(StyledCircle).attrs(props => ({\n stroke: props.stroke || props.theme.colors.primary.c80,\n}))``;\n\nconst StyledCenteredText = styled(Text)`\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n text-align: center;\n`;\n\nconst StyledProgressLoaderContainer = styled.div`\n display: flex;\n position: absolute;\n`;\nconst StyledSpinningContainer = styled.div`\n animation: rotation 1s infinite linear;\n display: flex;\n align-items: center;\n justify-content: center;\n @keyframes rotation {\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\n }\n }\n`;\n\nfunction ProgressCircleSvg({\n radius,\n stroke,\n progress,\n backgroundStrokeColor,\n frontStrokeColor,\n frontStrokeLinecap,\n}: {\n radius: number;\n stroke: number;\n progress: number;\n backgroundStrokeColor?: string;\n frontStrokeColor?: string;\n frontStrokeLinecap?: \"butt\" | \"round\" | \"square\";\n}) {\n const normalizedRadius = radius - stroke / 2;\n const circumference = normalizedRadius * 2 * Math.PI;\n const strokeDashoffset = circumference - (progress / 100) * circumference;\n return (\n <svg height={radius * 2} width={radius * 2}>\n <StyledCircleBackground\n strokeWidth={stroke}\n strokeDasharray={circumference + \" \" + circumference}\n style={{ strokeDashoffset: 0 }}\n stroke={backgroundStrokeColor}\n r={normalizedRadius}\n />\n <StyledCircleFront\n strokeWidth={stroke}\n strokeDasharray={circumference + \" \" + circumference}\n style={{ strokeDashoffset }}\n stroke={frontStrokeColor}\n strokeLinecap={frontStrokeLinecap}\n r={normalizedRadius}\n />\n </svg>\n );\n}\n\nexport default function ProgressLoader({\n radius = 32,\n stroke = 6,\n progress = 0,\n showPercentage = true,\n infinite,\n textColor,\n frontStrokeColor,\n frontStrokeLinecap,\n backgroundStrokeColor,\n}: Readonly<Props>): React.JSX.Element {\n return (\n <StyledProgressLoaderContainer>\n {showPercentage && (\n <StyledCenteredText variant=\"body\" color={textColor || \"primary.c80\"}>\n {Math.floor(progress)}%\n </StyledCenteredText>\n )}\n {infinite ? (\n <StyledSpinningContainer>\n <ProgressCircleSvg\n radius={radius}\n stroke={stroke}\n progress={25}\n frontStrokeColor={frontStrokeColor}\n frontStrokeLinecap={frontStrokeLinecap}\n backgroundStrokeColor={backgroundStrokeColor}\n />\n </StyledSpinningContainer>\n ) : (\n <ProgressCircleSvg\n radius={radius}\n stroke={stroke}\n progress={progress}\n frontStrokeColor={frontStrokeColor}\n frontStrokeLinecap={frontStrokeLinecap}\n backgroundStrokeColor={backgroundStrokeColor}\n />\n )}\n </StyledProgressLoaderContainer>\n );\n}\n","export { default as InfiniteLoader } from \"./InfiniteLoader\";\nexport { default as ProgressLoader } from \"./ProgressLoader\";\n","import React from \"react\";\nimport styled, { useTheme, DefaultTheme } from \"styled-components\";\nimport Text from \"../../asorted/Text\";\nimport { TextVariants } from \"../../../styles/theme\";\nimport Flex from \"../../layout/Flex\";\nimport WarningFill from \"@ledgerhq/icons-ui/react/WarningFill\";\nimport InformationFill from \"@ledgerhq/icons-ui/react/InformationFill\";\nimport CheckmarkCircleFill from \"@ledgerhq/icons-ui/react/CheckmarkCircleFill\";\nimport DeleteCircleFill from \"@ledgerhq/icons-ui/react/DeleteCircleFill\";\n\ntype AlertType = \"info\" | \"secondary\" | \"success\" | \"warning\" | \"error\";\n\ntype RenderProps = (props: {\n textProps: { variant?: TextVariants; fontWeight?: string };\n}) => React.JSX.Element;\n\nexport interface AlertProps {\n /**\n * Affects the colors of the background & text and what icon can be displayed.\n */\n type?: AlertType;\n /**\n * Title of the Alert.\n */\n title?: string;\n /**\n * Method for rendering additional content under the title. `{ color: string; textProps: { variant?: TextVariants; fontWeight?: string } }` is passed as props to easily style text elements.\n */\n renderContent?: RenderProps;\n\n /**\n * Method for rendering additional content to the right. `{ color: string; textProps: { variant?: TextVariants; fontWeight?: string } }` is passed as props to easily style text elements.\n */\n renderRight?: RenderProps;\n\n /**\n * Additional props to be passed to the top level container (containing icon + content).\n */\n containerProps?: Record<string, unknown>;\n\n /**\n * Whether or not to display an icon\n */\n showIcon?: boolean;\n}\n\nconst StyledIconContainer = styled.div`\n margin-right: 8px;\n display: flex;\n align-items: center;\n`;\n\nconst icons = {\n info: <InformationFill size=\"M\" />,\n secondary: <InformationFill size=\"M\" />,\n success: <CheckmarkCircleFill size=\"M\" />,\n warning: <WarningFill size=\"M\" />,\n error: <DeleteCircleFill size=\"M\" />,\n};\n\nconst getColors = ({ theme, type }: { theme: DefaultTheme; type?: AlertType }) => {\n switch (type) {\n case \"secondary\":\n return {\n background: theme.colors.opacityDefault.c05,\n iconColor: theme.colors.neutral.c80,\n };\n case \"success\":\n return {\n background: theme.colors.success.c10,\n iconColor: theme.colors.success.c50,\n };\n case \"warning\":\n return {\n background: theme.colors.warning.c10,\n iconColor: theme.colors.warning.c70,\n };\n case \"error\":\n return {\n background: theme.colors.error.c10,\n iconColor: theme.colors.error.c50,\n };\n case \"info\":\n default:\n return {\n background: theme.colors.primary.c10,\n iconColor: theme.colors.primary.c80,\n };\n }\n};\n\nconst StyledAlertContainer = styled(Flex)<{ background?: string; color?: string }>`\n border-radius: ${p => `${p.theme.radii[2]}px`};\n align-items: start;\n`;\n\nconst AlertBodyText = styled(Text).attrs({\n flexShrink: 1,\n variant: \"bodyLineHeight\",\n fontWeight: \"semiBold\",\n})``;\n\nconst AlertUnderlinedText = styled(AlertBodyText)`\n text-decoration-line: underline;\n`;\n\nfunction Alert({\n type = \"info\",\n title,\n showIcon = true,\n renderContent,\n renderRight,\n containerProps,\n}: Readonly<AlertProps>): React.JSX.Element {\n const theme = useTheme();\n const { iconColor, background } = getColors({ theme, type });\n const textProps: { variant?: TextVariants; fontWeight?: string } = {\n variant: \"bodyLineHeight\",\n fontWeight: \"semiBold\",\n };\n const textColor = \"neutral.c100\";\n return (\n <StyledAlertContainer\n color={textColor}\n backgroundColor={background}\n padding={6}\n {...containerProps}\n >\n {showIcon && !!icons[type] && (\n <Flex color={iconColor}>\n <StyledIconContainer>{icons[type]}</StyledIconContainer>\n </Flex>\n )}\n <Flex flexDirection=\"column\" flex={1} alignItems=\"flex-start\" rowGap=\"6px\">\n {title && (\n <Text {...textProps} color={textColor}>\n {title}\n </Text>\n )}\n {renderContent && renderContent({ textProps })}\n </Flex>\n <Flex alignSelf=\"center\">{renderRight && renderRight({ textProps })}</Flex>\n </StyledAlertContainer>\n );\n}\n\nAlert.BodyText = AlertBodyText;\nAlert.UnderlinedText = AlertUnderlinedText;\n\nexport default Alert;\n","import React from \"react\";\n\nimport { Divider, Text } from \"../../asorted\";\nimport Flex from \"../../layout/Flex\";\n\ntype Props = {\n Icon: React.ComponentType<{ size: number; color?: string }>;\n text: string;\n withTopDivider?: boolean;\n};\n\nconst ContinueOnDevice: React.FC<Props> = ({ Icon, text, withTopDivider = true }) => {\n return (\n <Flex flexDirection=\"column\">\n {withTopDivider ? <Divider my={6} /> : null}\n <Flex flexDirection=\"row\" alignItems=\"center\" flexShrink={1}>\n <Icon size={48} />\n <Text\n flex={1}\n pl={4}\n flexWrap=\"wrap\"\n variant=\"body\"\n fontWeight=\"medium\"\n color=\"neutral.c100\"\n >\n {text}\n </Text>\n </Flex>\n </Flex>\n );\n};\n\nexport default ContinueOnDevice;\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport FlexBox from \"../../layout/Flex\";\n\nconst SvgTop = styled.svg`\n position: absolute;\n top: 0;\n left: 0;\n`;\n\nconst SvgBottom = styled.svg`\n position: absolute;\n bottom: 0;\n left: 0;\n`;\n\nexport const BracketLeft = (): React.ReactElement => (\n <FlexBox\n flex=\"0 0 1.2em\"\n flexDirection=\"column\"\n position=\"relative\"\n justifyContent=\"space-between\"\n alignItems=\"flex-start\"\n >\n <SvgTop viewBox=\"0 0 64 64\" fill=\"currentColor\">\n <g>\n <path d=\"M 0,0 V 36.3452 H 8.05844 V 8.05844 H 55.3076 V 0 Z\" />\n </g>\n </SvgTop>\n <SvgBottom viewBox=\"0 0 64 128\" fill=\"currentColor\">\n <g>\n <path d=\"M 0,91.6548 V 128 h 55.3076 v -8.06 H 8.05844 V 91.6548 Z\" />\n </g>\n </SvgBottom>\n </FlexBox>\n);\n\nexport const BracketRight = (): React.ReactElement => (\n <FlexBox\n flex=\"0 0 1.2em\"\n flexDirection=\"column\"\n position=\"relative\"\n justifyContent=\"space-between\"\n alignItems=\"flex-end\"\n >\n <SvgTop viewBox=\"0 0 64 64\" fill=\"currentColor\">\n <g>\n <path d=\"M 8.692,0 V 8.05844 H 55.941 V 36.3452 H 64 V 0 Z\" />\n </g>\n </SvgTop>\n <SvgBottom viewBox=\"0 0 64 128\" fill=\"currentColor\">\n <g>\n <path d=\"m 8.692,119.94 v 8.058 H 64 V 91.6548 H 55.941 V 119.94 Z\" />\n </g>\n </SvgBottom>\n </FlexBox>\n);\n","import React, { memo } from \"react\";\nimport styled from \"styled-components\";\n\nimport Text, { TextProps } from \"../../asorted/Text\";\nimport FlexBox, { FlexBoxProps } from \"../../layout/Flex\";\nimport { BracketRight, BracketLeft } from \"./Brackets\";\n\nexport type Props = React.PropsWithChildren<\n FlexBoxProps & {\n extraTextProps?: TextProps;\n }\n>;\n\nconst Container = styled(FlexBox)`\n justify-content: center;\n flex-wrap: wrap;\n align-items: stretch;\n min-height: ${p => p.theme.space[12]}px;\n`;\n\nconst TextContainer = styled(FlexBox).attrs(() => ({\n flex: \"1\",\n justifyContent: \"center\",\n alignItems: \"center\",\n}))`\n ${Text} {\n flex: 1;\n }\n`;\n\nfunction Log({ children, extraTextProps, ...props }: Props): React.JSX.Element {\n return (\n <Container color=\"neutral.c100\" {...props}>\n <BracketLeft />\n <TextContainer flex=\"1\" alignItems=\"center\" justifyContent=\"center\">\n <Text\n variant=\"h3\"\n textTransform=\"uppercase\"\n textAlign=\"center\"\n color=\"inherit\"\n {...extraTextProps}\n >\n {children}\n </Text>\n </TextContainer>\n <BracketRight />\n </Container>\n );\n}\n\nexport default memo(Log);\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport { color, position, shadow, border, background, layout } from \"styled-system\";\n\nconst ActiveCircle = styled.div`\n position: absolute;\n top: 0;\n right: 0;\n height: 10px;\n width: 10px;\n border-radius: 9999px;\n box-sizing: content-box;\n background-color: ${p => p.theme.colors.error.c50};\n\n border: 2px solid\n var(\n --notification-badge-border,\n ${p => {\n /* The CSS variable is dynamically set by the Notification component */\n return p.theme.colors.background.main;\n }}\n );\n`;\n\nconst Wrapper = styled.div`\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 40px;\n height: 40px;\n border-radius: 9999px;\n ${color}\n ${position}\n ${shadow}\n ${border}\n ${background}\n ${layout}\n`;\n\nexport type Props = {\n /* If true a notification bubble will be displayed in the top right corner of the badge. */\n active?: boolean;\n /* JSX filling up the space inside the badge, usually an <Icon />. */\n icon: React.JSX.Element;\n} & React.ComponentProps<typeof Wrapper>;\nexport default function Badge({ active, icon, ...props }: Props): React.JSX.Element {\n return (\n <Wrapper {...props}>\n {icon}\n {active && <ActiveCircle />}\n </Wrapper>\n );\n}\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport FlexBox, { FlexBoxProps } from \"../../layout/Flex\";\nimport Text from \"../../asorted/Text\";\nimport Badge from \"./Badge\";\nimport Link, { LinkProps } from \"../../cta/Link\";\nimport { ExternalLinkMedium } from \"@ledgerhq/icons-ui/reactLegacy\";\n\ninterface ContainerProps extends FlexBoxProps {\n /* Add the pre-selected background. */\n hasBackground?: boolean;\n}\n\nexport interface Props extends ContainerProps {\n /* The title to be displayed. */\n title: string;\n /* JSX that should be rendered by a call to the <Notification.Badge /> component.*/\n badge: React.ReactNode;\n /* An optional description. */\n description?: string;\n /* An optional link. */\n link?: string;\n /* A callback to perform when clicking on the link. */\n onLinkClick?: LinkProps[\"onClick\"];\n}\n\nconst Container = styled(FlexBox).attrs<ContainerProps>({\n p: 6,\n columnGap: 8,\n alignItems: \"center\",\n})<ContainerProps>`\n --notification-badge-border: ${p => {\n /* Set a CSS variable that will be consumed by the Badge component */\n return p.hasBackground ? p.theme.colors.neutral.c30 : p.theme.colors.background.main;\n }};\n background-color: ${p => (p.hasBackground ? p.theme.colors.neutral.c30 : \"transparent\")};\n\n border-radius: 8px;\n`;\n\nfunction Notification({\n title,\n description,\n badge,\n link,\n onLinkClick,\n hasBackground = false,\n ...containerProps\n}: Readonly<Props>): React.JSX.Element {\n return (\n <Container hasBackground={hasBackground} {...containerProps}>\n {badge}\n <FlexBox flexDirection=\"column\" rowGap={3} flex=\"auto\">\n <Text variant={\"large\"} fontWeight=\"medium\" color=\"neutral.c100\">\n {title}\n </Text>\n {description && (\n <Text variant={\"paragraph\"} fontWeight=\"medium\" color=\"neutral.c80\" whiteSpace=\"pre-wrap\">\n {description}\n </Text>\n )}\n {link && (\n <FlexBox justifyContent={\"flex-start\"}>\n <Link onClick={event => onLinkClick && onLinkClick(event)} Icon={ExternalLinkMedium}>\n {link}\n </Link>\n </FlexBox>\n )}\n </FlexBox>\n </Container>\n );\n}\nNotification.Badge = Badge;\n\nexport type NotificationType = { (p: Props): React.JSX.Element; Badge: typeof Badge };\nexport default Notification as NotificationType;\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport FlexBox, { FlexBoxProps } from \"../../layout/Flex\";\nimport Log from \"../Log/\";\n\ninterface ContainerProps extends FlexBoxProps {\n /* Add the pre-selected border. */\n hasBorder?: boolean;\n}\n\nexport interface Props extends ContainerProps {\n /* The text to be displayed. */\n text: string;\n /* JSX that should be rendered on top of the Notification.*/\n badge: React.ReactNode;\n}\n\nconst Container = styled(FlexBox).attrs<ContainerProps>({\n p: 8,\n rowGap: 9,\n alignItems: \"center\",\n flexDirection: \"column\",\n})<ContainerProps>`\n border-width: 1px;\n border-style: ${p => (p.hasBorder ? \"solid\" : \"none\")};\n border-radius: 8px;\n border-color: ${p => p.theme.colors.neutral.c40};\n`;\n\nfunction StatusNotification({\n text,\n badge,\n hasBorder = false,\n ...containerProps\n}: Readonly<Props>): React.JSX.Element {\n return (\n <Container hasBorder={hasBorder} {...containerProps}>\n {badge}\n <Log>{text}</Log>\n </Container>\n );\n}\n\nexport default StatusNotification;\n","import React from \"react\";\nimport styled, { css } from \"styled-components\";\nimport Text from \"../../asorted/Text\";\nimport { CheckAloneMedium, CloseMedium, CircledAlertMedium } from \"@ledgerhq/icons-ui/reactLegacy\";\nimport { Flex } from \"../../layout\";\n\ntype TipType = \"success\" | \"warning\" | \"error\";\n\nexport interface TipProps {\n type?: TipType;\n label: string;\n}\n\nconst icons = {\n success: <CheckAloneMedium size={16} />,\n warning: <CircledAlertMedium size={16} />,\n error: <CloseMedium size={16} />,\n};\n\nconst StyledIconContainer = styled.div<{ type?: TipType }>`\n ${p => {\n switch (p.type) {\n case \"warning\":\n return css`\n background: ${p.theme.colors.warning.c10};\n color: ${p.theme.colors.warning.c50};\n `;\n case \"error\":\n return css`\n background: ${p.theme.colors.error.c10};\n color: ${p.theme.colors.error.c50};\n `;\n case \"success\":\n default:\n return css`\n background: ${p.theme.colors.success.c30};\n color: ${p.theme.colors.success.c50};\n `;\n }\n }}\n\n border-radius: ${p => `${p.theme.radii[1]}px`};\n margin-right: ${p => `${p.theme.space[6]}px`};\n padding: 6px;\n display: flex;\n align-items: center;\n`;\n\nexport default function Tip({ type, label }: Readonly<TipProps>): React.JSX.Element {\n return (\n <Flex alignItems={\"center\"}>\n {type && <StyledIconContainer type={type}>{icons[type]}</StyledIconContainer>}\n <Text variant={\"paragraph\"} fontWeight={\"medium\"} color={\"neutral.c100\"} flexShrink={1}>\n {label}\n </Text>\n </Flex>\n );\n}\n","import React, { useRef } from \"react\";\nimport Tippy, { TippyProps } from \"@tippyjs/react\";\nimport Text from \"../../asorted/Text\";\n\ntype Placement =\n | \"top\"\n | \"top-start\"\n | \"top-end\"\n | \"right\"\n | \"right-start\"\n | \"right-end\"\n | \"bottom\"\n | \"bottom-start\"\n | \"bottom-end\"\n | \"left\"\n | \"left-start\"\n | \"left-end\"\n | \"auto\"\n | \"auto-start\"\n | \"auto-end\";\n\n// Add more props later on if needed.\n// See https://atomiks.github.io/tippyjs/v6/all-props for the full list.\nexport interface Props extends TippyProps {\n /** The preferred placement of the tippy. */\n placement?: Placement;\n}\n\nexport default function Tooltip(props: Readonly<Props>): React.JSX.Element | null {\n const { content, placement = \"auto\", children, ...rest } = props;\n const triggerRef = useRef<HTMLSpanElement>(null);\n return (\n <>\n <span ref={triggerRef} style={{ display: \"inline-flex\" }}>\n {children}\n </span>\n <Tippy\n {...rest}\n reference={triggerRef as React.RefObject<Element>}\n placement={placement}\n content={\n <Text fontWeight=\"medium\" variant={\"paragraph\"} color=\"neutral.c00\">\n {content}\n </Text>\n }\n />\n </>\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","export { default as Alert } from \"./Alert\";\nexport { default as ContinueOnDevice } from \"./ContinueOnDevice\";\nexport { default as Log } from \"./Log\";\nexport { default as Notification } from \"./Notification\";\nexport { default as Badge } from \"./Notification/Badge\";\nexport { default as Tooltip } from \"./Tooltip\";\nexport { default as Tip } from \"./Tip\";\nexport { default as StatusNotification } from \"./StatusNotification\";\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport { color, layout, typography, ColorProps, LayoutProps, TypographyProps } from \"styled-system\";\nimport FlexBox from \"../../layout/Flex\";\n\nexport type Props = React.PropsWithChildren<{\n /* Header which will be displayed at the top of the Aside. */\n header: React.ReactNode;\n /* Optional footer which will be displayed at the bottom of the Aside. */\n footer?: React.ReactNode;\n}> &\n React.ComponentProps<typeof Wrapper>;\n\ninterface ExtraWrapperProps extends ColorProps, LayoutProps, TypographyProps {}\nconst Wrapper = styled(FlexBox)<ExtraWrapperProps>`\n ${color}\n ${layout}\n ${typography}\n`;\n\nexport default function Aside({ header, footer, children, ...props }: Props): React.JSX.Element {\n return (\n <Wrapper display=\"inline-flex\" flexDirection=\"column\" height=\"100vh\" {...props}>\n {header}\n <FlexBox flex=\"auto\" alignItems=\"center\" justifyContent=\"center\">\n {children}\n </FlexBox>\n {footer ?? null}\n </Wrapper>\n );\n}\n","import React, { memo } from \"react\";\nimport styled, { useTheme } from \"styled-components\";\nimport Flex from \"../../layout/Flex\";\nimport Text from \"../../asorted/Text\";\nimport Dropdown from \"../../form/Dropdown\";\nimport * as ControlModule from \"../../form/SelectInput/Control\";\n\nexport type Props = { segments: Segment[]; onChange: (values: string[]) => void }; //React.PropsWithChildren<unknown>;\nexport type Element = {\n label: string;\n value: string;\n};\nexport type Elements = {\n value: Element;\n options: Element[];\n};\nexport type Segment = Element | Elements;\n\nconst Link = styled(Text).attrs({\n ff: \"Inter|SemiBold\",\n fontSize: 3,\n color: \"neutral.c80\",\n tabIndex: 0,\n})`\n cursor: pointer;\n &:hover,\n &:active,\n &:focus {\n color: ${p => p.theme.colors.neutral.c100};\n text-decoration: underline;\n }\n`;\n\nfunction isMultiSegment(segment: Segment): segment is Elements {\n return (segment as Elements).options !== undefined;\n}\n\nexport default memo(function Breadcrumb({ segments, onChange }: Props): React.JSX.Element {\n const theme = useTheme();\n const [contents] = segments.reduce<[React.ReactNode[], string[]]>(\n ([renderArray, valuesArray], segment, index) => {\n const values = [...valuesArray];\n\n renderArray.push(\n <>\n {index > 0 ? (\n <Text fontWeight=\"semiBold\" color=\"neutral.c40\" variant={\"paragraph\"}>\n /\n </Text>\n ) : null}\n {isMultiSegment(segment) ? (\n <Dropdown\n label=\"\"\n options={segment.options}\n value={segment.value}\n onChange={elt => elt && onChange([...values, elt.value])}\n styles={{\n control: (provided, state) => ({\n ...ControlModule.getStyles<Element>(theme)(provided, state),\n cursor: \"pointer\",\n }),\n singleValue: provided => ({\n ...provided,\n margin: 0,\n top: undefined,\n position: undefined,\n overflow: undefined,\n maxWidth: undefined,\n transform: undefined,\n color: theme.colors.neutral.c80,\n \"&:hover\": {\n color: theme.colors.neutral.c100,\n textDecoration: \"underline\",\n },\n }),\n }}\n />\n ) : (\n <Link\n onKeyDown={(event: React.KeyboardEvent<HTMLSpanElement>) =>\n [\"Enter\", \" \"].includes(event.key) && onChange([...values, segment.value])\n }\n onClick={() => onChange([...values, segment.value])}\n >\n {segment.label}\n </Link>\n )}\n </>,\n );\n\n valuesArray.push(isMultiSegment(segment) ? segment.value.value : segment.value);\n return [renderArray, valuesArray];\n },\n [[], []],\n );\n\n return (\n <Flex columnGap={5} alignItems=\"center\">\n {contents}\n </Flex>\n );\n});\n","import React from \"react\";\nimport { Props as StepperProps } from \"../progress/Stepper\";\nimport Flex, { FlexBoxProps as FlexProps } from \"../../layout/Flex\";\nimport { Stepper } from \"..\";\nimport { isValidReactElement } from \"../../../helpers\";\n\nexport type StepProps = {\n /**\n * A specific index, can be used to explicitely order steps.\n */\n index?: number;\n /**\n * Custom header for this step.\n */\n header?: React.ReactNode;\n /**\n * Custom footer for this step.\n */\n footer?: React.ReactNode;\n /**\n * The label of the step.\n */\n label: string;\n /**\n * Hides the step from the progress stepper.\n */\n hidden?: boolean;\n /**\n * The step contents.\n */\n children: React.ReactNode;\n};\n\ninterface InnerProps {\n /**\n * The active index.\n */\n activeIndex: number;\n /**\n * The total number of steps.\n */\n stepsLength: number;\n}\n\ntype StepChild = React.ReactElement<StepProps>;\ntype SectionRenderFunc<ExtraProps> = (props: InnerProps & ExtraProps) => React.ReactNode;\ntype SectionStepRenderFunc<ExtraProps> = (\n args: InnerProps & ExtraProps & { children: React.ReactNode },\n) => React.ReactNode;\n\nexport interface Props<ExtraProps> {\n /**\n * The index of the active step.\n */\n activeIndex: number;\n /**\n * An optional generic header displayed above the stepper.\n */\n header?: SectionRenderFunc<ExtraProps>;\n /**\n * Custom rendering function to wrap the header (only used if the `header` is defined\n * on the child for the current step.)\n */\n renderStepHeader?: SectionStepRenderFunc<ExtraProps>;\n /**\n * An optional generic footer displayed below the body.\n */\n footer?: SectionRenderFunc<ExtraProps>;\n /**\n * Custom rendering function to wrap the footer (only used if the `footer` is defined\n * on the child for the current step.)\n */\n renderStepFooter?: SectionStepRenderFunc<ExtraProps>;\n /**\n * Extra props that are passed to the header and footer render functions.\n */\n extraProps?: ExtraProps;\n /**\n * Extra props that are passed to the container `Flex` element.\n */\n extraContainerProps?: FlexProps;\n /**\n * Extra props that are passed to the stepper component.\n */\n extraStepperProps?: Partial<StepperProps>;\n /**\n * Extra props that are passed to the stepper `Flex` wrapper.\n */\n extraStepperContainerProps?: FlexProps;\n /**\n * Extra props that are passed to the children `Flex` wrapper.\n */\n extraChildrenContainerProps?: FlexProps;\n /**\n * Custom rendering function to wrap children.\n */\n renderChildren?: (\n args: InnerProps & ExtraProps & { children: React.ReactNode },\n ) => React.ReactNode;\n /**\n * A list of children representing each step of the flow.\n * Each child can have a prop `stepHeader` and/or `stepFooter` that will\n * associate a custom header/footer to this particular step.\n * The custom header/footer can be wrapped using the prop renderStepHeader/renderStepFooter.\n */\n children: StepChild | StepChild[];\n}\n\nfunction FlowStepper<ExtraProps>({\n activeIndex,\n header,\n renderStepHeader,\n footer,\n renderStepFooter,\n extraProps,\n extraContainerProps,\n extraStepperProps,\n extraStepperContainerProps,\n extraChildrenContainerProps,\n renderChildren,\n children,\n}: Props<ExtraProps>) {\n const { steps, innerContents, stepFooter, stepHeader } = React.Children.toArray(children).reduce<{\n steps: string[];\n innerContents: React.ReactNode | null;\n stepHeader: React.ReactNode | null;\n stepFooter: React.ReactNode | null;\n }>(\n (acc, child, idx) => {\n const stepChild = isValidReactElement(child) ? (child as StepChild) : null;\n const index = stepChild?.props.index ?? idx;\n const label = stepChild?.props.label;\n const hidden = stepChild?.props.hidden;\n const stepHeader = stepChild?.props.header;\n const stepFooter = stepChild?.props.footer;\n\n if (label && !hidden) {\n acc.steps[index] = label;\n }\n if (index === activeIndex) {\n acc.innerContents = child;\n acc.stepFooter = stepFooter;\n acc.stepHeader = stepHeader;\n }\n return acc;\n },\n {\n steps: [],\n innerContents: null,\n stepHeader: null,\n stepFooter: null,\n },\n );\n\n const renderArgs = { ...extraProps, activeIndex, stepsLength: steps.length } as InnerProps &\n ExtraProps;\n\n function getSectionContents(\n renderFunc?: SectionRenderFunc<ExtraProps>,\n stepSection?: React.ReactNode,\n renderStepFunc?: SectionStepRenderFunc<ExtraProps>,\n ) {\n return stepSection\n ? renderStepFunc\n ? renderStepFunc({ ...renderArgs, children: stepSection })\n : stepSection\n : renderFunc && renderFunc(renderArgs);\n }\n\n console.log(\"FlowStepper\", { activeIndex, steps, innerContents, stepHeader, stepFooter });\n return (\n <Flex flex={1} flexDirection=\"column\" {...extraContainerProps}>\n {getSectionContents(header, stepHeader, renderStepHeader)}\n <Flex my={8} justifyContent=\"center\" {...extraStepperContainerProps}>\n <Stepper activeIndex={activeIndex} steps={steps} flex={1} {...extraStepperProps} />\n </Flex>\n <Flex flex={1} flexDirection=\"column\" position=\"relative\" {...extraChildrenContainerProps}>\n {renderChildren\n ? renderChildren({ ...renderArgs, children: innerContents })\n : innerContents}\n </Flex>\n {getSectionContents(footer, stepFooter, renderStepFooter)}\n </Flex>\n );\n}\n\nfunction Step({ children }: StepProps) {\n return <>{children}</>;\n}\n\nFlowStepper.Step = Step;\nexport default FlowStepper;\n\nexport type IndexedStepProps = StepProps & {\n /**\n * String to identify the step. Must be different from sibling steps's `key` prop.\n */\n itemKey: string;\n};\n\ntype IndexedStepperChild = React.ReactElement<IndexedStepProps>;\n\nexport type IndexedProps<ExtraProps> = Omit<Props<ExtraProps>, \"activeIndex\" | \"children\"> & {\n /**\n * The key of the active step\n */\n activeKey: string;\n\n /**\n * A list of children representing each step of the flow.\n */\n children: IndexedStepperChild | IndexedStepperChild[];\n};\n\n/**\n * This is a FlowStepper where each child must have an `itemKey: string` prop\n * and the active step is defined by the `activeKey: string` prop.\n *\n * This allows for usages with a lot of steps where dealing with indices could be\n * painful and error prone (for instance inserting/removing a step somewhere would shift\n * the indices of the following steps and navigation would be impacted).\n *\n * By using string identifiers (`itemKey`) for each step, it's more \"human readable\"\n * and less error prone to setup a navigation logic between steps.\n */\nfunction FlowStepperIndexed<ExtraProps>(props: IndexedProps<ExtraProps>) {\n const { activeKey, children, ...otherProps } = props;\n const activeIndex = React.Children.toArray(children).findIndex(child => {\n const stepChild = isValidReactElement(child) ? (child as IndexedStepperChild) : null;\n return stepChild?.props.itemKey === activeKey;\n });\n return (\n <FlowStepper {...otherProps} activeIndex={activeIndex}>\n {children}\n </FlowStepper>\n );\n}\n\nfunction IndexedStep({ children }: IndexedStepProps) {\n return <>{children}</>;\n}\n\nFlowStepperIndexed.Step = IndexedStep;\nFlowStepper.Indexed = FlowStepperIndexed;\n","import React from \"react\";\nimport FlexBox from \"../../layout/Flex\";\n\nexport type Props = {\n /* Content displayed on the left side of the header. */\n left?: React.ReactNode;\n /* Content displayed on the right side of the header. */\n right?: React.ReactNode;\n /* Content displayed in the middle part - vertically centered. */\n children?: React.ReactNode;\n} & React.ComponentProps<typeof FlexBox>;\n\nexport default function Header({\n left,\n right,\n children,\n ...rest\n}: Readonly<Props>): React.JSX.Element {\n return (\n <FlexBox justifyContent=\"space-between\" {...rest}>\n {left}\n <FlexBox justify-content=\"center\">{children}</FlexBox>\n {right}\n </FlexBox>\n );\n}\n","export { default as Aside } from \"./Aside\";\nexport { default as Breadcrumb } from \"./Breadcrumb\";\nexport { default as Header } from \"./Header\";\nexport * from \"./progress\";\nexport { default as SideBar } from \"./sideBar/SideBar\";\nexport { default as FlowStepper } from \"./FlowStepper\";\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport Text from \"../../../asorted/Text\";\n\nconst Container = styled.div`\n display: flex;\n flex-direction: row;\n height: 24px;\n align-items: center;\n`;\n\nconst Bar = styled.div<{ on?: boolean; fill: string | number }>`\n transition: all 600ms linear;\n height: 4px;\n border-radius: 2px;\n /* Disable left/right border radius to match the handler */\n border-top-${p => (p.on ? \"right\" : \"left\")}-radius: 0;\n border-bottom-${p => (p.on ? \"right\" : \"left\")}-radius: 0;\n flex: ${p => p.fill};\n background: ${p => (p.on ? p.theme.colors.neutral.c100 : p.theme.colors.neutral.c40)};\n`;\n\nconst Handler = styled.div`\n transition: all 600ms linear;\n padding: 4px;\n background: ${p => p.theme.colors.neutral.c100};\n border-radius: ${p => `${p.theme.radii[1]}px`};\n\n display: flex;\n align-items: center;\n justify-content: center;\n column-gap: 6px;\n\n & span.index {\n display: flex;\n border-radius: 2px;\n height: 16px;\n width: 16px;\n justify-content: center;\n align-items: center;\n color: ${p => p.theme.colors.neutral.c100};\n background: ${p => p.theme.colors.neutral.c00};\n }\n`;\n\ninterface Step {\n key: string;\n label: string;\n}\n\nexport type OnboardingProps = {\n steps: Step[];\n currentIndex: number;\n};\n\nconst Onboarding = ({ steps, currentIndex }: OnboardingProps): React.JSX.Element => {\n const currentStep = steps[currentIndex];\n const fill = ((currentIndex / (steps.length - 1)) * 100).toFixed(2);\n\n return (\n <Container>\n <Bar on fill={fill} />\n <Handler key={currentStep.key}>\n <Text className=\"index\" color=\"neutral.c00\" fontWeight=\"medium\" variant={\"micro\"}>\n {currentIndex + 1}\n </Text>\n <Text color=\"neutral.c00\" fontWeight=\"medium\" textTransform=\"uppercase\" variant={\"micro\"}>\n {currentStep.label}\n </Text>\n </Handler>\n <Bar fill={100 - Number(fill)} />\n </Container>\n );\n};\n\nexport default Onboarding;\n","import React, { memo, Fragment } from \"react\";\nimport styled from \"styled-components\";\nimport { border, BorderProps, color, ColorProps, space, SpaceProps } from \"styled-system\";\nimport { IconsLegacy } from \"../../../../index\";\nimport Text from \"../../../asorted/Text\";\nimport Flex, { FlexBoxProps } from \"../../../layout/Flex\";\n\n/**\n * The state of a progress bar step.\n */\nexport type StepState = \"pending\" | \"current\" | \"completed\" | \"errored\" | \"disabled\";\n\ntype LabelType = string | React.ComponentType<{ state: StepState }>;\nexport interface Props extends FlexBoxProps {\n /**\n * An array of labels that will determine the progress bar steps.\n * A label is either a string or a component that will be rendered with the\n * prop `state: \"pending\" | \"current\" | \"completed\" | \"errored\"`.\n * A styled StepText component is exported to allow easy styling of such a custom label.\n */\n steps: LabelType[];\n /**\n * Index of the active step, starting at zero and defaulting to 0 if omitted.\n */\n activeIndex?: number;\n /**\n * If true the current step is considered as a failure.\n */\n errored?: boolean;\n /**\n * Steps with indexes contained inside the array will be shown as disabled.\n */\n disabledIndexes?: number[];\n /**\n * Delete steps with same following labels\n */\n filterDuplicate?: boolean;\n /**\n * Complete all the steps\n */\n isOver?: boolean;\n}\n\nexport type StepProps = {\n /**\n * State of the step.\n */\n state: StepState;\n /**\n * The label to display. To display more than text, this can be a component that will be rendered with the\n * prop `state: \"pending\" | \"current\" | \"completed\" | \"errored\" | \"disabled\"`.\n * A styled StepText component is exported to allow easy styling of such a custom Label\n */\n label: LabelType;\n /**\n * If true, hides the left \"separator\" bar that bridges the gap between the wider separator and the item.\n */\n hideLeftSeparator: boolean;\n /**\n * The next step state, or undefined if the current step is the last one.\n */\n nextState?: StepState;\n};\n\nexport const Item = {\n Container: styled.div.attrs({\n mx: \"8px\",\n })<ColorProps & BorderProps & SpaceProps>`\n display: flex;\n justify-content: center;\n align-items: center;\n width: ${p => p.theme.space[8]}px;\n height: ${p => p.theme.space[8]}px;\n ${color}\n ${border}\n ${space}\n `,\n Spacer: styled.div<SpaceProps>`\n display: flex;\n align-self: stretch;\n ${space}\n `,\n Current: styled.div.attrs({\n backgroundColor: \"primary.c90\",\n })<ColorProps>`\n width: 6px;\n height: 6px;\n border-radius: 6px;\n ${color}\n `,\n Pending: styled.div.attrs({\n backgroundColor: \"neutral.c70\",\n })<ColorProps>`\n width: ${p => p.theme.space[2]}px;\n height: ${p => p.theme.space[2]}px;\n border-radius: ${p => p.theme.space[2]}px;\n ${color}\n `,\n Completed: (): React.JSX.Element => <IconsLegacy.CheckAloneMedium size={16} />,\n Disabled: (): React.JSX.Element => <IconsLegacy.CloseMedium size={16} />,\n Errored: (): React.JSX.Element => <IconsLegacy.CloseMedium size={16} />,\n};\n\nexport const StepText = styled(Text)<{ state: StepState }>`\n text-align: center;\n white-space: pre-wrap;\n color: ${p => {\n if (p.state === \"errored\") {\n return p.theme.colors.error.c50;\n }\n if (p.state === \"disabled\") {\n return p.theme.colors.neutral.c50;\n }\n if (p.state === \"pending\") {\n return p.theme.colors.neutral.c70;\n }\n return p.theme.colors.neutral.c100;\n }};\n`;\n\nconst BaseSeparator = styled.div<{ inactive?: boolean }>`\n flex: 1;\n position: relative;\n overflow-x: hidden;\n background-color: ${p => p.theme.colors.neutral.c40};\n height: 1px;\n top: ${p => p.theme.space[5]}px;\n`;\n\nconst Separator = {\n Step: styled(BaseSeparator)``,\n Item: styled(BaseSeparator)<{ position: string }>``,\n};\n\nconst stepContentsByState = {\n pending: (\n <Item.Container>\n <Item.Pending />\n </Item.Container>\n ),\n current: (\n <Item.Container backgroundColor=\"primary.c20\" borderRadius=\"8px\">\n <Item.Current />\n </Item.Container>\n ),\n completed: (\n <Item.Container color=\"primary.c90\" backgroundColor=\"primary.c20\" borderRadius=\"8px\">\n <Item.Completed />\n </Item.Container>\n ),\n errored: (\n <Item.Container color=\"error.c50\" backgroundColor=\"warning.c30\" borderRadius=\"8px\">\n <Item.Errored />\n </Item.Container>\n ),\n disabled: (\n <Item.Container color=\"neutral.c50\">\n <Item.Disabled />\n </Item.Container>\n ),\n};\n\nexport const Step = memo(function Step({\n state,\n label: Label,\n hideLeftSeparator,\n nextState,\n}: StepProps): React.JSX.Element {\n const inactive = state === \"pending\";\n const nextInactive = state === \"pending\";\n\n return (\n <Flex flexDirection=\"column\" alignItems=\"center\" flex={20}>\n <Item.Spacer mb={5}>\n {(!hideLeftSeparator && <Separator.Item inactive={inactive} position=\"left\" />) || (\n <Flex flex=\"1\" />\n )}\n {stepContentsByState[state]}\n {(nextState && <Separator.Item inactive={nextInactive} position=\"right\" />) || (\n <Flex flex=\"1\" />\n )}\n </Item.Spacer>\n {typeof Label === \"string\" ? (\n <StepText state={state} variant=\"small\">\n {Label}\n </StepText>\n ) : (\n <Label state={state} />\n )}\n </Flex>\n );\n});\n\nfunction getState(\n activeIndex: number,\n index: number,\n errored?: boolean,\n disabled?: boolean,\n completed?: boolean,\n) {\n if (completed) {\n return \"completed\";\n }\n if (disabled) {\n return \"disabled\";\n }\n if (activeIndex < index) {\n return \"pending\";\n }\n if (activeIndex === index) {\n return errored ? \"errored\" : \"current\";\n }\n return \"completed\";\n}\n\nfunction Stepper({\n steps,\n activeIndex = 0,\n errored,\n disabledIndexes,\n filterDuplicate,\n isOver,\n ...extraProps\n}: Props) {\n const displayedSteps = filterDuplicate\n ? steps.filter((step, index) => index === 0 || step !== steps[index - 1])\n : steps;\n const dislayedActiveIndex = filterDuplicate\n ? displayedSteps.findIndex(step => step === steps[activeIndex])\n : activeIndex;\n\n return (\n <Flex flexWrap=\"nowrap\" justifyContent=\"space-between\" {...extraProps}>\n {displayedSteps.map((step, idx) => {\n const state = getState(\n dislayedActiveIndex,\n idx,\n errored,\n disabledIndexes?.includes(idx),\n isOver,\n );\n const nextState =\n idx < displayedSteps.length - 1 ? getState(dislayedActiveIndex, idx + 1) : undefined;\n return (\n <Fragment key={idx}>\n {idx > 0 && <Separator.Step inactive={state === \"pending\"} />}\n <Step label={step} state={state} nextState={nextState} hideLeftSeparator={idx === 0} />\n </Fragment>\n );\n })}\n </Flex>\n );\n}\n\nexport default memo(Stepper);\n","export { default as ProgressBar } from \"./ProgressBar\";\nexport { default as Stepper } from \"./Stepper\";\n","import React, { useContext } from \"react\";\nimport styled from \"styled-components\";\nimport SideBarContext from \"../index\";\nimport Text from \"../../../asorted/Text\";\nimport TransitionInOut from \"../../../transitions/TransitionInOut\";\nimport Flex from \"../../../layout/Flex\";\n\nconst ItemWrapper = styled.li`\n /** DEFAULT VARIANT **/\n --ll-sidebar-item-label-color: ${props => props.theme.colors.neutral.c80};\n --ll-sidebar-item-icon-color: ${props => props.theme.colors.neutral.c80};\n --ll-sidebar-item-background-color: unset;\n\n display: flex;\n flex-direction: row;\n align-items: center;\n margin-top: ${p => p.theme.space[3]}px;\n column-gap: ${p => p.theme.space[5]}px;\n padding: ${p => p.theme.space[5]}px;\n border-radius: ${p => p.theme.space[3]}px;\n min-height: ${p => p.theme.space[13]}px;\n min-width: ${p => p.theme.space[13]}px;\n\n color: var(--ll-sidebar-item-icon-color);\n background-color: var(--ll-sidebar-item-background-color);\n cursor: pointer;\n\n /** HOVER VARIANT **/\n &:hover {\n --ll-sidebar-item-label-color: ${props => props.theme.colors.neutral.c100};\n --ll-sidebar-item-icon-color: ${props => props.theme.colors.primary.c80};\n --ll-sidebar-item-background-color: unset;\n }\n\n /** FOCUS VARIANT **/\n &:focus {\n box-shadow: 0px 0px 0px 4px rgba(187, 176, 255, 0.4);\n border-radius: ${p => p.theme.space[3]}px;\n }\n\n /** ACTIVE VARIANT **/\n &[data-active=\"true\"] {\n --ll-sidebar-item-label-color: ${props => props.theme.colors.neutral.c100};\n --ll-sidebar-item-icon-color: ${props => props.theme.colors.primary.c80};\n --ll-sidebar-item-background-color: ${props => props.theme.colors.primary.c20};\n }\n\n /** DISABLE VARIANT **/\n &[data-disable=\"true\"] {\n --ll-sidebar-item-label-color: ${props => props.theme.colors.neutral.c80};\n --ll-sidebar-item-icon-color: ${props => props.theme.colors.neutral.c80};\n --ll-sidebar-item-background-color: unset;\n opacity: 0.3;\n cursor: unset;\n pointer-events: none;\n }\n`;\n\nconst CollapsedBadgeContainer = styled.div`\n position: absolute;\n margin-top: -${p => p.theme.space[11]}px;\n margin-left: ${p => p.theme.space[8]}px;\n`;\n\nconst DefaultBadge = styled.div`\n height: ${p => p.theme.space[4]}px;\n width: ${p => p.theme.space[4]}px;\n border-radius: ${p => p.theme.radii[2]}px;\n background-color: ${p => p.theme.colors.primary.c80};\n`;\n\nexport const ItemLabel = styled(Text)`\n display: inline-block;\n color: var(--ll-sidebar-item-label-color);\n\n text-transform: capitalize;\n`;\n\nexport type ItemType = {\n label: string;\n children: React.JSX.Element;\n onClick: () => void;\n isActive?: boolean;\n isDisabled?: boolean;\n displayNotificationBadge?: boolean;\n customNotificationBadge?: React.JSX.Element;\n};\n\nconst Item = ({\n label,\n children,\n onClick,\n isActive,\n isDisabled,\n displayNotificationBadge,\n customNotificationBadge,\n}: ItemType): React.JSX.Element => {\n const { isExpanded } = useContext(SideBarContext);\n\n const handleClick = () => {\n if (isDisabled) return;\n onClick();\n };\n\n const badge = customNotificationBadge ?? <DefaultBadge />;\n\n return (\n <>\n <ItemWrapper\n role=\"button\"\n onClick={handleClick}\n data-active={isActive}\n data-disable={isDisabled}\n tabIndex={0}\n >\n {children}\n <CollapsedBadgeContainer>\n <TransitionInOut\n unmountOnExit\n mountOnEnter\n in={!isExpanded}\n style={{ transitionDelay: !isExpanded ? \"200ms\" : 0 }}\n >\n {displayNotificationBadge && badge}\n </TransitionInOut>\n </CollapsedBadgeContainer>\n <TransitionInOut\n timeout={200}\n in={isExpanded}\n unmountOnExit\n mountOnEnter\n style={{ transitionDelay: isExpanded ? \"200ms\" : 0, display: \"flex\", flex: \"1\" }}\n >\n <ItemLabel variant=\"paragraph\">{label}</ItemLabel>\n <Flex alignItems=\"center\" justifyContent=\"flex-end\" ml={2} flexGrow={1}>\n {displayNotificationBadge && badge}\n </Flex>\n </TransitionInOut>\n </ItemWrapper>\n </>\n );\n};\n\nexport default Item;\n","import React, { useContext } from \"react\";\nimport styled from \"styled-components\";\n\nimport LedgerLiveIconLarge from \"../../../../assets/logos/LedgerLiveRegular\";\nimport LedgerIconSmall from \"../../../../assets/logos/LedgerLiveAltRegular\";\nimport SideBarContext from \"../../../navigation/sideBar\";\nimport TransitionInOut from \"../../../transitions/TransitionInOut\";\n\nconst Container = styled.div`\n display: flex;\n flex-direction: row;\n overflow: hidden;\n`;\n\nconst Logo = (): React.JSX.Element => {\n const { isExpanded } = useContext(SideBarContext);\n\n return (\n <Container>\n <TransitionInOut\n timeout={300}\n in={isExpanded}\n unmountOnExit\n mountOnEnter\n style={{ transitionDelay: \"300ms\", marginLeft: \"1rem\" }}\n >\n <LedgerLiveIconLarge />\n </TransitionInOut>\n <TransitionInOut\n timeout={300}\n in={!isExpanded}\n unmountOnExit\n mountOnEnter\n style={{ margin: \"auto\", transitionDelay: \"300ms\" }}\n >\n <LedgerIconSmall />\n </TransitionInOut>\n </Container>\n );\n};\n\nexport default Logo;\n","import React, { useMemo, useRef, useState } from \"react\";\nimport { CSSTransition } from \"react-transition-group\";\nimport styled from \"styled-components\";\nimport SideBarContext from \"../../../navigation/sideBar\";\nimport Flex from \"../../../layout/Flex\";\nimport Item from \"../../../navigation/sideBar/Item\";\nimport Logo from \"../../../navigation/sideBar/Logo\";\nimport Toggle from \"../../../navigation/sideBar/Toggle\";\n\nconst Nav = styled(Flex)`\n position: relative;\n padding: ${p => `${p.theme.space[19]}px ${p.theme.space[5]}px 0`};\n row-gap: 1.5rem;\n height: 100vh;\n width: 14.875rem;\n color: ${props => props.theme.colors.neutral.c100};\n border-right: 1px solid ${props => props.theme.colors.neutral.c40};\n background-color: ${props => props.theme.colors.background.main};\n transition: width 200ms;\n will-change: width;\n flex-shrink: 0;\n z-index: ${p => p.theme.zIndexes[2]};\n\n &.nav-enter {\n width: ${p => p.theme.space[19]}px;\n }\n &.nav-enter-done {\n width: 14.875rem;\n }\n &.nav-exit {\n width: 14.875rem;\n }\n &.nav-exit-done {\n width: ${p => `${p.theme.space[19]}px`};\n }\n`;\n\nconst TransparentMouseZone = styled.div`\n position: absolute;\n left: 100%;\n top: 0;\n width: ${p => `${p.theme.space[8]}px`};\n height: 100%;\n`;\n\nexport type SideBarProps = {\n children: Array<React.JSX.Element>;\n onToggle: () => void;\n isExpanded?: boolean;\n};\n\nconst SideBar = ({ children, onToggle, isExpanded = true }: SideBarProps): React.JSX.Element => {\n const [isToggleDisplayed, setToggleDisplayed] = useState(false);\n const providerValue = useMemo(() => ({ isExpanded, onToggle }), [isExpanded, onToggle]);\n const nodeRef = useRef<HTMLDivElement>(null);\n\n return (\n <SideBarContext.Provider value={providerValue}>\n <CSSTransition nodeRef={nodeRef} in={isExpanded} timeout={200} classNames=\"nav\">\n <Nav\n ref={nodeRef}\n flexDirection=\"column\"\n justifyContent=\"flex-start\"\n alignContent=\"stretch\"\n role=\"navigation\"\n aria-label=\"Main\"\n onMouseEnter={() => setToggleDisplayed(true)}\n onMouseLeave={() => setToggleDisplayed(false)}\n >\n <TransparentMouseZone />\n <Toggle isDisplayed={isToggleDisplayed} />\n <Logo />\n <Flex flexDirection=\"column\" justifyContent=\"flex-start\" alignContent=\"stretch\">\n {children}\n </Flex>\n </Nav>\n </CSSTransition>\n </SideBarContext.Provider>\n );\n};\n\nSideBar.Item = Item;\n\nexport default SideBar;\n","import React, { useContext } from \"react\";\nimport styled from \"styled-components\";\n\nimport ArrowLeftIcon from \"@ledgerhq/icons-ui/reactLegacy/ArrowLeftMedium\";\nimport ArrowRightIcon from \"@ledgerhq/icons-ui/reactLegacy/ArrowRightMedium\";\nimport TransitionInOut from \"../../../transitions/TransitionInOut\";\nimport SideBarContext from \"../../../navigation/sideBar\";\n\nconst ToggleButtonContainer = styled(TransitionInOut)`\n --ll-side-bar-toggle-button-size: ${p => p.theme.space[10]}px;\n\n display: flex;\n justify-content: center;\n align-items: center;\n position: absolute;\n top: var(--ll-side-bar-toggle-button-size);\n right: calc(var(--ll-side-bar-toggle-button-size) / -2);\n cursor: pointer;\n\n background: ${p => p.theme.colors.neutral.c20};\n border: 1px solid ${p => p.theme.colors.neutral.c100};\n border-radius: 50%;\n width: var(--ll-side-bar-toggle-button-size);\n height: var(--ll-side-bar-toggle-button-size);\n`;\n\ntype ToggleButtonProps = { isDisplayed: boolean };\nconst ToggleButton = ({ isDisplayed }: ToggleButtonProps): React.JSX.Element => {\n const { isExpanded, onToggle } = useContext(SideBarContext);\n\n return (\n <ToggleButtonContainer\n timeout={200}\n in={isDisplayed}\n appear\n unmountOnExit\n onClick={onToggle}\n role=\"button\"\n >\n {isExpanded ? <ArrowLeftIcon /> : <ArrowRightIcon />}\n </ToggleButtonContainer>\n );\n};\n\nexport default ToggleButton;\n","import { createContext } from \"react\";\n\ntype SideBarContextType = { isExpanded: boolean; onToggle: () => void };\nexport default createContext<Partial<SideBarContextType>>({});\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, { useState } from \"react\";\nimport styled from \"styled-components\";\nimport Flex from \"../../layout/Flex\";\n\nexport type Props = React.PropsWithChildren<{\n /**\n * An optional callback that will be called when the active tab changes.\n */\n onTabChange?: (activeIndex: number) => void;\n /**\n * The tab index to mark as active when rendering for the first time.\n * If omitted, then initially no tabs will be selected.\n */\n initialActiveIndex?: number;\n}>;\ntype ItemProps = {\n active: boolean;\n};\n\nconst Bar = styled.div`\n display: inline-flex;\n border: 1px solid ${p => p.theme.colors.neutral.c40};\n border-radius: 33px;\n padding: 2px;\n`;\n\nconst Item = styled(Flex).attrs({\n flex: 1,\n justifyContent: \"center\",\n alignItems: \"center\",\n})<ItemProps>`\n cursor: pointer;\n padding: 8px 12px 8px 12px;\n border-radius: 33px;\n color: ${p => (p.active ? p.theme.colors.neutral.c00 : p.theme.colors.neutral.c80)};\n background-color: ${p => (p.active ? p.theme.colors.neutral.c100 : \"unset\")};\n`;\n\nexport default function BarTabs({\n children,\n onTabChange,\n initialActiveIndex,\n}: Props): React.JSX.Element {\n const [activeIndex, setActiveIndex] = useState(initialActiveIndex);\n return (\n <Bar>\n {React.Children.toArray(children).map((child, index) => (\n <Item\n key={index}\n active={index === activeIndex}\n onClick={() => {\n setActiveIndex(index);\n onTabChange && onTabChange(index);\n }}\n >\n {child}\n </Item>\n ))}\n </Bar>\n );\n}\n","import React, { useState, useEffect } from \"react\";\nimport styled from \"styled-components\";\nimport Flex from \"../../layout/Flex\";\n\nexport type Props = React.PropsWithChildren<{\n /**\n * An optional callback that will be called when the active tab changes.\n */\n onTabChange?: (activeIndex: number) => void;\n /**\n * The tab index to mark as active when rendering for the first time.\n * If omitted, then initially no tabs will be selected.\n */\n initialActiveIndex?: number;\n}>;\ntype ItemProps = {\n active: boolean;\n};\n\nconst Container = styled(Flex).attrs({\n justifyContent: \"space-between\",\n flex: 1,\n columnGap: 1,\n})`\n border: 1px solid ${p => p.theme.colors.opacityDefault.c10};\n border-radius: 12px;\n padding: 4px;\n`;\n\nconst Item = styled(Flex).attrs({\n flex: 1,\n justifyContent: \"center\",\n alignItems: \"center\",\n})<ItemProps>`\n cursor: pointer;\n padding: 8px 12px 8px 12px;\n border-radius: 10px;\n color: ${p => (p.active ? p.theme.colors.neutral.c100 : p.theme.colors.neutral.c50)};\n background-color: ${p => (p.active ? p.theme.colors.opacityDefault.c10 : \"unset\")};\n`;\n\nexport default function BarTabs({\n children,\n onTabChange,\n initialActiveIndex,\n}: Props): React.JSX.Element {\n const [activeIndex, setActiveIndex] = useState(initialActiveIndex);\n\n useEffect(() => {\n setActiveIndex(initialActiveIndex);\n }, [initialActiveIndex]);\n\n return (\n <Container>\n {React.Children.toArray(children).map((child, index) => (\n <Item\n key={index}\n active={index === activeIndex}\n onClick={() => {\n setActiveIndex(index);\n onTabChange && onTabChange(index);\n }}\n >\n {child}\n </Item>\n ))}\n </Container>\n );\n}\n","import React, { useState } from \"react\";\nimport styled from \"styled-components\";\nimport { border, BorderProps } from \"styled-system\";\nimport Flex from \"../../layout/Flex\";\n\nexport type Props = React.PropsWithChildren<{\n /**\n * An optional callback that will be called when the active tab changes.\n */\n onTabChange?: (activeIndex: number) => void;\n /**\n * The tab index to mark as active when rendering for the first time.\n * If omitted, then initially no tabs will be selected.\n */\n initialActiveIndex?: number;\n}>;\n\nconst Pill = styled.div<BorderProps>`\n display: inline-flex;\n & > :first-child {\n border-top-left-radius: 20px;\n border-bottom-left-radius: 20px;\n padding-left: 12px;\n }\n & > :last-child {\n border-top-right-radius: 20px;\n border-bottom-right-radius: 20px;\n padding-right: 12px;\n }\n & > :not(:first-child) {\n border-left-width: 0;\n }\n ${border};\n`;\nconst Item = styled(Flex).attrs({ flex: 1, justifyContent: \"center\", alignItems: \"center\" })`\n cursor: pointer;\n padding: 8px 10px 8px 10px;\n border: 1px solid;\n &[data-active=\"false\"] {\n color: ${p => p.theme.colors.neutral.c80};\n background-color: ${p => p.theme.colors.neutral.c00};\n border-color: ${p => p.theme.colors.neutral.c40};\n }\n &[data-active=\"true\"] {\n color: ${p => p.theme.colors.neutral.c00};\n background-color: ${p => p.theme.colors.neutral.c100};\n border-color: ${p => p.theme.colors.neutral.c100};\n\n &:not(:last-child) {\n border-right-width: 0;\n }\n }\n &[data-active=\"true\"] + div {\n border-left-width: 1px;\n }\n`;\n\nexport default function PillTabs({\n children,\n onTabChange,\n initialActiveIndex,\n}: Props): React.JSX.Element {\n const [activeIndex, setActiveIndex] = useState(initialActiveIndex);\n return (\n <Pill>\n {React.Children.toArray(children).map((child, index) => (\n <Item\n key={index}\n data-active={index === activeIndex}\n onClick={() => {\n setActiveIndex(index);\n onTabChange && onTabChange(index);\n }}\n >\n {child}\n </Item>\n ))}\n </Pill>\n );\n}\n","import React, { useState, useEffect, createRef, forwardRef } from \"react\";\nimport styled from \"styled-components\";\nimport Flex from \"../../layout/Flex\";\nimport Tag from \"../../Tag\";\nimport Text from \"../../asorted/Text\";\n\nexport interface TabContent {\n index: number;\n title: string;\n disabled?: boolean;\n badge?: string | number;\n Component: React.ReactNode;\n}\n\nexport type Props = React.PropsWithChildren<{\n /**\n * An optional callback that will be called when the active tab changes.\n */\n onTabChange?: (index: number) => void;\n /**\n * The tab index to mark as active when rendering for the first time.\n * If omitted, then initially no tabs will be selected.\n */\n activeIndex?: number;\n tabs: TabContent[];\n}>;\n\nconst Container = styled(Flex).attrs({\n flexDirection: \"column\",\n justifyContent: \"center\",\n alignItems: \"center\",\n})``;\n\nconst TabHeader = styled.div`\n display: flex;\n flex-direction: column;\n flex: 1;\n width: 100%;\n`;\n\nconst TabHeaderContent = styled(Flex).attrs({\n flex: 1,\n alignItems: \"center\",\n})`\n width: 100%;\n`;\n\nconst TabHeaderBox = styled.div<{ disabled: boolean }>`\n display: flex;\n flex-grow: inherit;\n justify-content: center;\n text-align: center;\n cursor: ${p => (p.disabled ? \"default\" : \"pointer\")};\n padding: 8px 12px;\n`;\n\nconst HeaderTitle = styled(Text).attrs({\n fontWeight: \"600\",\n})<{ selected: boolean }>`\n margin-inline: 12px;\n color: ${p => (p.selected ? p.theme.colors.neutral.c100 : p.theme.colors.neutral.c80)};\n`;\n\nconst HeaderBottomBarFixed = styled(Flex).attrs({\n flex: 1,\n})`\n width: 100%;\n position: relative;\n top: 3px;\n border-bottom: 1px solid ${p => p.theme.colors.neutral.c40};\n`;\n\nconst HeaderBottomBarMoving = styled.div<HeaderBottomBarProps>`\n position: relative;\n left: ${p => p.left}px;\n width: ${p => p.width}px;\n transition: all 400ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;\n border-bottom: solid 3px;\n border-bottom-color: ${p => p.theme.colors.primary.c70};\n`;\n\nconst Badge = styled(Tag).attrs(p => ({\n borderRadius: p.theme.radii[3],\n backgroundColor: p.theme.colors.primary.c70,\n color: p.theme.colors.neutral.c00,\n}))`\n padding: 5px;\n min-width: 24px;\n`;\n\ninterface HeaderBottomBarProps {\n left: number;\n width: number;\n}\n\nconst MyBottomBar = (props: HeaderBottomBarProps) => {\n const { width, left } = props;\n return (\n <>\n <HeaderBottomBarFixed />\n <HeaderBottomBarMoving width={width} left={left} />\n </>\n );\n};\n\ninterface HeaderElementProps {\n title: string;\n selected: boolean;\n disabled: boolean;\n badge?: string | number;\n onClick: () => void;\n}\n\nconst HeaderElement = forwardRef<HTMLDivElement, HeaderElementProps>((props, ref) => {\n const { onClick, badge, disabled, selected, title } = props;\n\n return (\n <TabHeaderBox ref={ref} disabled={disabled} onClick={onClick}>\n <HeaderTitle selected={selected}>{title}</HeaderTitle>\n {(badge || badge === 0) && <Badge>{badge}</Badge>}\n </TabHeaderBox>\n );\n});\n\nconst MainContent = styled(Flex).attrs({\n flex: 1,\n})<{ active?: boolean }>`\n width: 100%;\n color: ${p => (p.active ? p.theme.colors.neutral.c00 : p.theme.colors.neutral.c70)};\n background-color: ${p => (p.active ? p.theme.colors.neutral.c100 : p.theme.colors.neutral.c00)};\n`;\n\nexport default function Tabs(props: Props): React.JSX.Element {\n const { tabs, onTabChange } = props;\n const [activeIndex, setActiveIndex] = useState(tabs[0].index);\n const [bottomBar, updateBottomBar] = useState<HeaderBottomBarProps>({ left: 0, width: 0 });\n const mainTab = activeIndex >= 0 ? tabs[activeIndex] : null;\n const refs = tabs.map(() => createRef<HTMLDivElement>());\n\n useEffect(() => {\n const newIndex = props.activeIndex || activeIndex;\n setActiveIndex(newIndex);\n\n if (refs[0].current) {\n const refIndex = tabs.findIndex(t => t.index === newIndex);\n const refsToHandle = refs.slice(0, refIndex);\n const width = refs[refIndex].current?.offsetWidth || 0;\n const left = refsToHandle.reduce((total, ref) => total + (ref.current?.offsetWidth || 0), 0);\n updateBottomBar({\n width,\n left,\n });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [activeIndex]);\n\n const onTabClick = (index: number) => {\n const tab = tabs.find(t => t.index === index);\n if (tab && !tab.disabled) {\n setActiveIndex(index);\n onTabChange && onTabChange(index);\n }\n };\n\n return (\n <Container>\n <TabHeader>\n <TabHeaderContent>\n {tabs.map((tab, i) => (\n <HeaderElement\n ref={refs[i]}\n title={tab.title}\n selected={activeIndex === tab.index}\n badge={tab.badge}\n disabled={!!tab.disabled}\n onClick={() => onTabClick(tab.index)}\n />\n ))}\n </TabHeaderContent>\n <MyBottomBar width={bottomBar.width} left={bottomBar.left} />\n </TabHeader>\n <MainContent>{mainTab && mainTab.Component}</MainContent>\n </Container>\n );\n}\n","export { default as Bar } from \"./Bar\";\nexport { default as Pill } from \"./Pill\";\nexport { default as Tabs } from \"./Tabs\";\nexport { default as Chip } from \"./Chip\";\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","export { default as TransitionInOut } from \"./TransitionInOut\";\nexport { default as TransitionScale } from \"./TransitionScale\";\nexport { default as TransitionSlide } from \"./TransitionSlide\";\n","import React from \"react\";\n\nconst REACT_ELEMENT_TYPE = Symbol.for(\"react.element\");\nconst REACT_TRANSITIONAL_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\");\n\n/**\n * Checks whether a value is a React element.\n *\n * Handles the React 19 `react.transitional.element` symbol (and the classic\n * `react.element` symbol for compatibility), making it safe to use without\n * relying on the legacy `React.isValidElement` API.\n */\nexport const isValidReactElement = (value: unknown): value is React.ReactElement =>\n !!value &&\n typeof value === \"object\" &&\n // eslint-disable-next-line @typescript-eslint/consistent-type-assertions\n \"$$typeof\" in (value as Record<string, unknown>) &&\n // eslint-disable-next-line @typescript-eslint/consistent-type-assertions\n ((value as { $$typeof?: unknown }).$$typeof === REACT_ELEMENT_TYPE ||\n // eslint-disable-next-line @typescript-eslint/consistent-type-assertions\n (value as { $$typeof?: unknown }).$$typeof === REACT_TRANSITIONAL_ELEMENT_TYPE);\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 * from \"./asorted\";\nexport * from \"./cta\";\nexport * from \"./form\";\nexport * from \"./layout\";\nexport * from \"./loaders\";\nexport * from \"./message\";\nexport * from \"./navigation\";\nexport { default as Table } from \"./Table\";\nexport * from \"./tabs\";\nexport { default as Tag } from \"./Tag\";\nexport * from \"./transitions\";\n"],"names":["React","LedgerLiveAltRegular","width","height","color","LedgerLiveRegular","Icon","FlexBox","Text","iconColumn","props","header","layout","elt","name","weight","textProps","icon","textColumn","title","subtitle","titleProps","subtitleProps","text","memo","useMemo","styled","border","gridColumn","Grid","Flex","Columns","Container","ExtraRowContainer","RowContainer","RowsComponent","data","columns","render","extraRender","renderRow","rowIndex","row","column","columnIndex","Rows","Table","withHeaders","containerProps","gridTemplateColumns","acc","col","headers","index","memoTable","baseStyled","getColor","type","active","disabled","getBgColor","undefined","getBorderColor","getPadding","size","getTextProps","TagContainer","p","Tag","children","textColor","baseTextProps","DividerBase","Divider","DEFAULT_BOX_SIZE","DEFAULT_ICON_SIZE","DEFAULT_BADGE_SIZE","getClipRectangleSize","badgeSize","getTopRightSquareClippedPolygon","boxSize","rectangleSize","diff","IconBoxBackground","BadgeContainer","IconBox","Badge","borderColor","badgeColor","hasBadge","BoxedIcon","iconSize","iconColor","iconBoxProps","icons","iconNames","Array","Object","set","rawKey","key","Set","maybeIconName","Component","css","useTheme","Icons","Box","rgba","getColorsByIcon","colors","warning","getDefaultDefaultColors","primary","NotificationIcon","variant","defaultColors","safeIcon","iconBgColor","Wrapper","squareWrapper","roundWrapper","compose","fontSize","fontWeight","textAlign","lineHeight","letterSpacing","system","fontFamily","textVariantStyle","uppercase","value","getFontSource","fontsPath","fontName","fontStyles","default","ChevronBottom","useState","fontSizes","IconContainer","getVariantColors","ButtonUnstyled","Base","buttonSizeStyle","variants","ContentContainer","Button","iconPosition","onClick","ref","iconNodeSize","IconNode","ButtonWithRef","StyledButtonExpand","ButtonExpand","onToggle","expanded","setExpanded","event","getLinkColors","ctaIconSize","ctaTextType","DEFAULT_ICON_POSITION","DEFAULT_SIZE","DEFAULT_TYPE","theme","LinkContainer","Link","TypeEnum","Toggle","checked","buttonProps","typography","useCallback","CircledCrossSolidMedium","InputContainer","BaseInput","InputErrorContainer","InputWarningContainer","InputInfoContainer","InputRenderLeftContainer","InputRenderRightContainer","ClearableButtonUnstyled","IDENTITY","_","Input","error","info","onChange","onChangeEvent","renderLeft","renderRight","unwrapped","serialize","deserialize","clearable","htmlInputProps","focus","setFocus","inputValue","handleChange","e","handleClear","inner","CheckAloneMedium","renderToStaticMarkup","CheckMarkIcon","encodeURIComponent","Label","Checkbox","isDisabled","label","isChecked","components","SelectInput","IconsLegacy","ValueContainer","DropdownControl","selectProps","DropdownValueContainer","isOpen","DropdownIndicatorsContainer","Dropdown","styles","rest","provided","Legend","LegendInput","legend","inputProps","MaxButton","parseFloat","NumberInput","onPercentClick","max","percent","Number","QrCodeMedium","QrCodeButton","QrCodeInput","onQrCodeClick","QuantityInput","onMaxClick","price","useContext","RadioContext","outlinedCSS","RadioElement","Element","outlined","context","Error","RadioListElement","ListElement","Radio","currentValue","SearchMedium","SearchInput","getStyles","Control","isFocused","ChevronBottomMedium","ChevronTopMedium","DropdownIndicator","ChevronIcon","IndicatorsContainer","isLight","MenuList","selected","Option","innerProps","Select","DropdownIndicatorModule","ValueContainerModule","ControlModule","MenuListModule","OptionModule","stylesFn","rowHeight","extendStyles","innerContent","getDividerColor","getHoverBolderColor","SplitInput","onFocus","onBlur","disabledState","Switcher","Switch","reversed","handleFocusKeyDown","handleClick","useEffect","motion","useAnimation","StyledButton","StyledFlex","StyledText","OptionButton","option","selectedOption","handleSelectOption","isSelected","TabSelector","options","labels","longuestLabel","widthFactor","margin","semiWidth","controls","StyleProvider","BannerCard","cta","description","descriptionWidth","tag","image","onClose","boxProps","handleClose","StyledTag","Title","Desc","CloseButton","NotificationCard","isHighlighted","handleCTAClick","ChevronArrow","ChevronArrowContainer","direction","animated","useSpring","ItemStatus","defaultBulletStyle","useBulletStyles","BulletStyle","Bullet","springStyle","getItemStatus","FooterCarouselBullets","Pagination","currentIndex","child","itemIndex","activeIndex","itemCount","isActive","isAdjacent","Math","isEdge","FooterContentCard","FooterDefault","Footers","Footer","ArrowLeft","ArrowRight","FooterContainer","FooterArrowsContainer","FooterArrowContainer","emblaApi","Autoplay","useEmblaCarousel","debounce","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","Close","TransitionSlide","TransitionInOut","Direction","Overlay","ScrollWrapper","ButtonPlaceholder","DrawerContent","footer","big","backgroundColor","setTransitionsEnabled","onBack","extraContainerProps","extraHeaderProps","extraFooterProps","extraFooterDividerProps","ignoreBackdropClick","hideNavigation","disableChildAnimations","enableChildAnimations","handleBackdropClick","stopClickPropagation","Drawer","menuPortalTarget","sideProps","$root","grid","getColumns","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","PopinWrapper","popinProps","useReducer","setSide","reducer","state","update","initialState","useSide","SideProvider","dispatch","_setSide","useRef","TransitionGroup","SideWrapper","queue","setQueue","setDirection","transitionsEnabled","nonce","q","timeout","wrappedOnBack","Side","keyframes","rotate","Loader","extraProps","StyledCircle","StyledCircleBackground","StyledCircleFront","StyledCenteredText","StyledProgressLoaderContainer","StyledSpinningContainer","ProgressCircleSvg","radius","stroke","progress","backgroundStrokeColor","frontStrokeColor","frontStrokeLinecap","normalizedRadius","circumference","strokeDashoffset","ProgressLoader","showPercentage","infinite","WarningFill","InformationFill","CheckmarkCircleFill","DeleteCircleFill","StyledIconContainer","getColors","StyledAlertContainer","AlertBodyText","AlertUnderlinedText","Alert","showIcon","renderContent","background","ContinueOnDevice","withTopDivider","SvgTop","SvgBottom","BracketLeft","BracketRight","Log","extraTextProps","position","shadow","ActiveCircle","ExternalLinkMedium","Notification","badge","link","onLinkClick","hasBackground","StatusNotification","hasBorder","CloseMedium","CircledAlertMedium","Tip","Tippy","Tooltip","content","placement","triggerRef","Aside","isMultiSegment","segment","Breadcrumb","segments","contents","renderArray","valuesArray","values","Stepper","isValidReactElement","FlowStepper","renderStepHeader","renderStepFooter","extraStepperProps","extraStepperContainerProps","extraChildrenContainerProps","renderChildren","innerContents","stepFooter","stepHeader","idx","stepChild","hidden","renderArgs","getSectionContents","renderFunc","stepSection","renderStepFunc","console","Step","FlowStepperIndexed","activeKey","otherProps","IndexedStep","left","right","SideBar","Bar","Handler","Onboarding","currentStep","fill","Fragment","space","Item","StepText","BaseSeparator","Separator","stepContentsByState","hideLeftSeparator","nextState","inactive","nextInactive","getState","errored","completed","disabledIndexes","filterDuplicate","isOver","displayedSteps","dislayedActiveIndex","ProgressBar","SideBarContext","ItemWrapper","CollapsedBadgeContainer","DefaultBadge","ItemLabel","displayNotificationBadge","customNotificationBadge","isExpanded","LedgerLiveIconLarge","LedgerIconSmall","Logo","CSSTransition","Nav","TransparentMouseZone","isToggleDisplayed","setToggleDisplayed","providerValue","nodeRef","ArrowRightIcon","ToggleButtonContainer","ToggleButton","isDisplayed","createContext","gaps","flexbox","overflow","baseStyles","proxyStyled","Proxy","target","thisArg","argumentsList","property","BarTabs","onTabChange","initialActiveIndex","setActiveIndex","Pill","PillTabs","createRef","forwardRef","TabHeader","TabHeaderContent","TabHeaderBox","HeaderTitle","HeaderBottomBarFixed","HeaderBottomBarMoving","MyBottomBar","HeaderElement","MainContent","Tabs","tabs","bottomBar","updateBottomBar","mainTab","refs","refIndex","t","refsToHandle","total","onTabClick","tab","i","Chip","duration","ChildrenWrapper","inProp","TransitionProps","fixed","reverseExit","REACT_ELEMENT_TYPE","Symbol","REACT_TRANSITIONAL_ELEMENT_TYPE","ThemeProvider","defaultTheme","GlobalStyle","palettes","fontMappings","selectedPalette","createGlobalStyle","tippyStyles","Color","fontFamilies","c","a","darken","lighten","mix","b","ff","v","font","style","fallback","ensureContrast","color1","color2","colorL1","colorL2","lRatio","prop","breakpoints","fontWeights","radii","shadows","zIndexes","animationDuration","easings","transition","properties","easing","fadeIn","fadeOut","fadeInGrowX","fadeInUp","animations"],"mappings":";;;;;;;;;AAA+B;AAQ/B,SAASC,qBAAqB,EAC5BC,QAAQ,EAAE,EACVC,SAAS,EAAE,EACXC,QAAQ,cAAc,EACN;IAChB,qBACE,qCAAC;QACC,OAAOF;QACP,QAAQC;QACR,SAAQ;QACR,MAAK;QACL,OAAM;qBAEN,qCAAC;QACC,GAAE;QACF,MAAMC;;AAId;AAEA,sDAAeH,oBAAoBA,EAAC;;;;;;;;;;AC7BL;AAQ/B,SAASI,kBAAkB,EACzBH,QAAQ,GAAG,EACXC,SAAS,EAAE,EACXC,QAAQ,cAAc,EACN;IAChB,qBACE,qCAAC;QACC,OAAOF;QACP,QAAQC;QACR,SAAQ;QACR,MAAK;QACL,OAAM;qBAEN,qCAAC;QACC,GAAE;QACF,MAAMC;sBAER,qCAAC;QACC,GAAE;QACF,MAAMA;sBAER,qCAAC;QACC,GAAE;QACF,MAAMA;sBAER,qCAAC;QAAK,GAAE;QAAyD,MAAMA;sBACvE,qCAAC;QAAK,GAAE;QAAyD,MAAMA;sBACvE,qCAAC;QACC,GAAE;QACF,MAAMA;sBAER,qCAAC;QAAK,GAAE;QAAoE,MAAMA;;AAGxF;AAEA,sDAAeC,iBAAiBA,EAAC;;;;;;;;;;;;;;;AC5CP;AACiC;AACtB;AACa;AAkClD;;CAEC,GACD,SAASI,WAAc,EACrBC,KAAK,EACLC,MAAM,EACNC,MAAM,EAeP;IACC,OAAO;QACL,QAAQA,UAAU;QAClB,QAAQ,CAAC,EAAEC,GAAG,EAAE;YACd,MAAM,EAAEC,IAAI,EAAEC,MAAM,EAAE,GAAGC,WAAW,GAAGN,MAAMG;YAC7C,qBACE,+CAACL,yCAAIA;gBAAE,GAAGQ,SAAS;gBAAE,OAAO;oBAAE,SAAS;oBAAQ,YAAY;gBAAS;6BAClE,+CAACV,yCAAIA;gBAAC,MAAMQ;gBAAM,QAAQC;;QAGhC;QACAJ;IACF;AACF;AAC8B;AAE9B;;CAEC,GACD,SAASO,WAAc,EACrBC,KAAK,EACLC,QAAQ,EACRT,MAAM,EACNC,MAAM,EACNS,UAAU,EACVC,aAAa,EA0Bd;IACC,OAAO;QACL,QAAQV,UAAU;QAClB,QAAQ,CAAC,EAAEC,GAAG,EAAE,iBACd,+CAACN,wCAAOA;gBAAC,eAAc;gBAAS,gBAAe;eAC5CY,uBACC,+CAACX,yCAAIA;gBACH,YAAW;gBACX,SAAS;gBACT,cAAa;gBACb,UAAS;gBACT,OAAM;gBACL,GAAKa,cAAcA,WAAWR,QAAS,CAAC,CAAC;eAEzCM,MAAMN,OAGVO,0BACC,+CAACZ,yCAAIA;gBACH,YAAW;gBACX,SAAS;gBACT,cAAa;gBACb,UAAS;gBACT,OAAM;gBACL,GAAKc,iBAAiBA,cAAcT,QAAS,CAAC,CAAC;eAE/CO,SAASP;QAKlBF;IACF;AACF;AAC8B;;;;;;;;;;;;;;;;;AC/Ie;AACN;AAC0C;AACvB;AACxB;AACG;AAOrC,MAAMqB,YAAYN,4CAAMA,CAACG,4CAAIA,CAAsB,CAAC;EAClD,EAAEF,qCAAMA,CAAC;AACX,CAAC;AAEM,MAAMM,oBAAoBP,sDAAgB,CAAC;IAAE,YAAY;AAAS,EAAmB,CAAC;EAC3F,EAAEE,yCAAUA,CAAC;AACf,CAAC,CAAC;AAGK,MAAMM,eAAeR,4CAAMA,CAACI,4CAAIA,CAAoB,CAAC;;AAE5D,CAAC,CAAC;AAkCF,SAASK,cAAiB,EACxBC,IAAI,EACJC,OAAO,EACPC,MAAM,EACNC,WAAW,EACXC,SAAS,EACa;IACtB,qBACE,+CAACxC,2CAAc;QAAC,KAAI;OACjBoC,KAAK,GAAG,CAAC,CAACvB,KAAK4B;QACd,MAAMC,oBACJ,kGACGL,QAAQ,GAAG,CAAC,CAACM,QAAQC,4BACpB,+CAAC5C,2CAAc;gBAAC,KAAK,CAAC,qBAAqB,EAAEyC,WAAWG,aAAa;eAClEN,SACGA,OAAO;gBACLK;gBACAF;gBACAG;gBACA,UAAUD,OAAO,MAAM,CAAC;oBAAE9B;oBAAK4B;oBAAUG;gBAAY;YACvD,KACAD,OAAO,MAAM,CAAC;gBAAE9B;gBAAK4B;gBAAUG;YAAY,MAGjDL,eAAeA,YAAY1B,KAAK4B,aAAc;QAIpD,IAAID,WAAW;YACb,OAAOA,UAAUC,UAAUC;QAC7B,OAAO;YACL,qBAAO,+CAAC1C,2CAAc;gBAAC,KAAK,CAAC,kBAAkB,EAAEyC,UAAU;eAAGC;QAChE;IACF;AAGN;AACO,MAAMG,qBAAOrB,+BAAIA,CAACW,eAAuC;AAEzD,SAASW,MAAS,EACvBV,IAAI,EACJC,OAAO,EACPU,WAAW,EACXR,WAAW,EACXC,SAAS,EACT,GAAGQ,gBACgB;IACnB,MAAMC,sBAAsBxB,kCAAOA,CACjC,IAAMY,QAAQ,MAAM,CAAS,CAACa,KAAKC,MAAQ,GAAGD,IAAI,CAAC,EAAEC,IAAI,MAAM,IAAI,QAAQ,EAAE,KAC7E;QAACd;KAAQ;IAGX,MAAMe,UAAU3B,kCAAOA,CACrB,IACEsB,cACIV,QAAQ,MAAM,CACZ,CAACa,KAAKC,KAAKE,QAAU;mBAChBH;8BACH,+CAAClD,2CAAc;oBAAC,KAAK,CAAC,WAAW,EAAEqD,OAAO;mBACvCF,IAAI,MAAM,GAAGA,IAAI,MAAM,mBAAK,+CAAC;aAEjC,EACD,EAAE,IAEJ,MACN;QAACJ;QAAaV;KAAQ;IAGxB,qBACE,+CAACL;QACC,qBAAqBiB;QACrB,cAAa;QACb,SAAQ;QACR,YAAW;QACV,GAAGD,cAAc;OAEjBI,uBACD,+CAACP;QAAK,MAAMT;QAAM,SAASC;QAAS,aAAaE;QAAa,WAAWC;;AAG/E;AACAM,MAAM,OAAO,GAAGf,yBAAOA;AACvBe,MAAM,iBAAiB,GAAGb;AAC1Ba,MAAM,YAAY,GAAGZ;AAErB,MAAMoB,0BAAY9B,+BAAIA,CAACsB;AACvBQ,UAAU,OAAO,GAAGvB,yBAAOA;AAC3BuB,UAAU,YAAY,GAAGpB;AACzBoB,UAAU,iBAAiB,GAAGrB;AAE9B,sDAAeqB,SAASA,EAAC;;;;;;;;;;;;;;ACnJC;AAC0B;AACF;AACM;AA6BxD,SAASE,SAAS,EAAEC,IAAI,EAAEC,MAAM,EAAEC,QAAQ,EAAY;IACpD,OAAQF;QACN,KAAK;YACH,IAAIE,UAAU,OAAOD,SAAS,gBAAgB;YAC9C,OAAOA,SAAS,gBAAgB;QAClC;YACE,OAAOC,WAAW,gBAAgB;IACtC;AACF;AAEA,SAASC,WAAW,EAAEH,IAAI,EAAEC,MAAM,EAAEC,QAAQ,EAAY;IACtD,OAAQF;QACN,KAAK;YACH,OAAOC,SAAUC,WAAW,gBAAgB,gBAAiBE;QAC/D,KAAK;YACH,OAAOH,SAAUC,WAAW,gBAAgB,gBAAiBE;QAC/D;YACE;IACJ;AACF;AAEA,SAASC,eAAe,EAAEL,IAAI,EAAEC,MAAM,EAAEC,QAAQ,EAAY;IAC1D,IAAI,CAACD,QAAQ;IACb,OAAQD;QACN,KAAK;YACH,OAAOE,WAAW,gBAAgB;QACpC,KAAK;YACH,OAAOA,WAAW,gBAAgB;IACtC;AACF;AAEA,SAASI,WAAW,EAAEC,IAAI,EAAY;IACpC,0FAA0F;IAC1F,OAAQA;QACN,KAAK;YACH,OAAO;QACT,KAAK;YACH,OAAO;QACT,KAAK;YACH,OAAO;QACT,KAAK;QACL;YACE,OAAO;IACX;AACF;AAEA,SAASC,aAAa,EAAED,IAAI,EAAY;IACtC,OAAQA;QACN,KAAK;QACL,KAAK;QACL,KAAK;YACH,OAAO;gBACL,SAAS;gBACT,YAAY;gBACZ,YAAY;YACd;QACF,KAAK;QACL;YACE,OAAO;gBACL,SAAS;gBACT,YAAY;YACd;IACJ;AACF;AAEA,MAAME,eAAeX,6CAAoB,CAAqB7C,CAAAA,QAAU;QACtE,iBAAiBA,MAAM,EAAE,IAAIA,MAAM,eAAe,IAAIkD,WAAWlD;QACjE,OAAOA,MAAM,KAAK,IAAI8C,SAAS9C;QAC/B,aAAaoD,eAAepD;IAC9B,GAAG,CAAC;;;;iBAIa,EAAEyD,CAAAA,IAAK,GAAGA,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;WACrC,EAAEA,CAAAA,IAAKJ,WAAWI,GAAG;EAC9B,EAAExC,qCAAMA,CAAC;AACX,CAAC;AAEc,SAASyC,IAAI,EAC1BC,QAAQ,EACRrD,SAAS,EACTgD,OAAO,OAAO,EACd,GAAGtD,OACM;IACT,MAAM4D,YAAYd,SAAS9C;IAC3B,MAAM6D,gBAAgBN,aAAa;QAAED;QAAM,GAAGtD,KAAK;IAAC;IACpD,qBACE,+CAACwD;QAAa,MAAMF;QAAO,GAAGtD,KAAK;qBACjC,+CAACF,yCAAIA;QAAE,GAAG+D,aAAa;QAAE,OAAOD;QAAY,GAAItD,YAAYA,YAAY,CAAC,CAAC;OACvEqD;AAIT;;;;;;;;;;;;;;AC7H0B;AACa;AACgB;AACjB;AAGtC,MAAMG,cAAc9C,4CAAMA,CAACI,4CAAIA,EAAE,KAAK,CAAe,CAACqC,IAAqB;QACzE,IAAIA,EAAE,EAAE,IAAI;QACZ,QAAQ;QACR,iBAAiBA,EAAE,KAAK,IAAI;IAC9B,GAAG,CAAC;;gBAEY,EAAEA,CAAAA,IAAKA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;;AAElD,CAAC;AAED,MAAMM,UAA2B/D,CAAAA;IAC/B,IAAI,CAACA,MAAM,IAAI,EAAE,qBAAO,+CAAC8D,aAAgB9D;IACzC,qBACE,+CAACoB,wCAAIA;QAAE,GAAGpB,KAAK;QAAE,eAAc;QAAM,YAAW;qBAC9C,+CAAC8D;QAAY,IAAI;QAAG,MAAM;sBAC1B,+CAAChE,yCAAIA;QAAC,SAAQ;QAAiB,OAAM;QAAc,IAAI;OACpDE,MAAM,IAAI,iBAEb,+CAAC8D;QAAY,IAAI;QAAG,MAAM;;AAGhC;AAEA,sDAAeC,OAAOA,EAAC;;;;;;;;;;;;;;AC7BG;AACa;AACF;AAE9B,MAAMC,mBAAmB,GAAG;AAC5B,MAAMC,oBAAoB,GAAG;AAC7B,MAAMC,qBAAqB,GAAG;AAErC,SAASC,qBAAqBC,SAAiB;IAC7C,OAAQ,IAAI,IAAKA;AACnB;AAEA,MAAMC,kCAAkC,CAACC,SAAiBC;IACxD,yEAAyE;IACzE,MAAMC,OAAOF,UAAUC;IACvB,OAAO,CAAC,uBAAuB,EAAEC,KAAK,MAAM,EAAEA,KAAK,GAAG,EAAED,cAAc,SAAS,EAAEA,cAAc,4DAA4D,CAAC;AAC9J;AAEA,MAAMjD,YAAYN,4CAAMA,CAACI,4CAAIA,EAAE,KAAK,CAAC,CAACqC,IAAyB;QAC7D,QAAQA,EAAE,IAAI;QACd,OAAOA,EAAE,IAAI;QACb,YAAY;QACZ,gBAAgB;QAChB,UAAU;IACZ,GAAqB,CAAC,CAAC;AAEvB,MAAMgB,oBAAoBzD,4CAAMA,CAACI,4CAAIA,CAAyD,CAAC;;UAErF,EAAEqC,CAAAA,IAAKA,EAAE,IAAI,CAAC;SACf,EAAEA,CAAAA,IAAKA,EAAE,IAAI,CAAC;EACrB,EAAEA,CAAAA;IACA,OACEA,EAAE,QAAQ,IACV,CAAC,WAAW,EAAEY,gCAAgCZ,EAAE,IAAI,EAAEU,qBAAqBV,EAAE,SAAS,GAAG,CAAC,CAAC;AAE/F,EAAE;iBACa,EAAEA,CAAAA,IAAKA,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;AACzC,CAAC;AAED,MAAMiB,iBAAiB1D,kDAAiC,CAAC;;EAEvD,EAAEyC,CAAAA,IAAK,CAAC;UACA,EAAEA,EAAE,SAAS,GAAG,IAAI,EAAE;YACpB,EAAEA,EAAE,SAAS,GAAG,IAAI,EAAE,GAAG,CAAC,CAAC;AACvC,CAAC;AA8CM,MAAMkB,UAAU,CAAC,EACtBC,KAAK,EACLtB,OAAOU,gBAAgB,EACvBL,QAAQ,EACRkB,cAAc,aAAa,EAC3BC,UAAU,EACVV,YAAYF,kBAAkB,EACjB;IACb,MAAMa,WAAW,CAAC,CAACH;IACnB,qBACE,+CAACtD;QAAU,MAAMgC;qBACf,+CAACmB;QACC,MAAMnB;QACN,WAAWc;QACX,UAAUW;QACV,QAAO;QACP,aAAaF;QAEdlB,UACAoB,0BACC,+CAACL;QAAe,WAAWN;qBACzB,+CAACQ;QAAM,MAAMR;QAAW,OAAOU;;AAKzC,EAAE;AAEF,MAAME,YAAY,CAAC,EACjBpF,IAAI,EACJqF,WAAWhB,iBAAiB,EAC5BiB,SAAS,EACT,GAAGC,cACY;IACf,qBACE,+CAACR,SAAYQ,4BACX,+CAACvF;QAAK,MAAMqF,YAAYhB;QAAmB,OAAOiB;;AAGxD;AAEA,sDAAeF,SAASA,EAAC;;;;;;;;;;;;ACnI+B;AAC9B;AASnB,MAAMK,YAAYC,MAAM,IAAI,CACjCC,OAAO,IAAI,CAACH,+CAAKA,EAAE,MAAM,CAAC,CAACI,KAAKC;IAC9B,MAAMC,MAAMD,OAAO,OAAO,CAAC,mBAAmB;IAC9C,IAAI,CAACD,IAAI,GAAG,CAACE,MAAMF,IAAI,GAAG,CAACE;IAC3B,OAAOF;AACT,GAAG,IAAIG,QACP;AAEF,MAAM/F,OAAO,CAAC,EACZQ,IAAI,EACJkD,OAAO,EAAE,EACT5D,QAAQ,cAAc,EACtBW,SAAS,QAAQ,EACX;IACN,MAAMuF,gBAAgB,GAAGxF,OAAOC,QAAQ;IACxC,IAAIuF,iBAAiBR,+CAAKA,EAAE;QAC1B,+DAA+D;QAC/D,MAAMS,YAAYT,+CAAK,CAACQ,cAAc;QACtC,qBAAO,+CAACC;YAAU,MAAMvC;YAAM,OAAO5D;;IACvC;IACA,OAAO;AACT;AAEA,sDAAeE,IAAIA,EAAC;;;;;;;;;;;;;;;;ACjCM;AACgC;AAER;AACf;AACuB;AAO1D,SAASuG,gBACPC,MAAoB;IAEpB,MAAM,EAAEC,OAAO,EAAE,GAAGD;IAEpB,OAAO;QACL,SAAS;YACP,OAAO;gBAAE,IAAIC,QAAQ,GAAG;gBAAE,IAAIA,QAAQ,GAAG;YAAC;YAC1C,QAAQ;gBAAE,IAAIA,QAAQ,GAAG;gBAAE,IAAIA,QAAQ,GAAG;YAAC;QAC7C;IACF;AACF;AAEA,SAASC,wBAAwB,EAAEC,OAAO,EAAgB;IACxD,OAAO;QACL,OAAO;YAAE,IAAIA,QAAQ,GAAG;YAAE,IAAIA,QAAQ,GAAG;QAAC;QAC1C,QAAQ;YAAE,IAAIA,QAAQ,GAAG;YAAE,IAAIL,iCAAIA,CAACK,QAAQ,GAAG,EAAE;QAAM;IACzD;AACF;AAOe,SAASC,iBAAiB,EAAEjG,IAAI,EAAEkG,UAAU,OAAO,EAAS;IACzE,MAAM,EAAEL,MAAM,EAAE,GAAGL,+CAAQA;IAC3B,MAAMW,gBAAgBJ,wBAAwBF,OAAO,CAACK,QAAQ;IAC9D,MAAME,WAAoBpG,QAAQyF,yCAAKA,GAAGzF,OAAO;IACjD,MAAMX,OAAOoG,yCAAK,CAACW,SAAS;IAC5B,MAAM,EAAE,IAAIzB,YAAYwB,cAAc,EAAE,EAAE,IAAIE,cAAcF,cAAc,EAAE,EAAE,GAC5EP,gBAAgBC,OAAO,CAACO,SAAS,EAAE,CAACF,QAAQ,IAAI,CAAC;IAEnD,qBACE,+CAACI;QAAQ,iBAAiBD;QAAa,SAASH;qBAC9C,+CAAC7G;QAAK,OAAOsF;;AAGnB;AAEA,MAAM2B,UAAU7F,4CAAMA,CAACiF,uCAAGA,CAA2B,CAAC;;;EAGpD,EAAExC,CAAAA,IAAMA,EAAE,OAAO,KAAK,WAAWqD,gBAAgBC,aAAc;AACjE,CAAC;AAED,MAAMA,eAAejB,0CAAG,CAAC;;AAEzB,CAAC;AAED,MAAMgB,gBAAgBhB,0CAAG,CAAC;;;;;;;;EAQxB,EAAErC,CAAAA,IAAKqC,0CAAG,CAAC;;;;;;;cAOC,EAAErC,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,SAAS,SAAS,SAAS;;;;QAI3D,EAAEA,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,SAAS,8BAA8B,yBAAyB;;;;;;eAMnF,EAAEA,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC;0BACX,EAAEA,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,SAAS,SAAS,qBAAqB;;;;;;;EAOzF,CAAC,CAAC;AACJ,CAAC;;;;;;;;;;;;;;;AChGyB;AACiC;AASpC;AACoC;AAEf;AAE5C,MAAMgE,YAAYH,yCAAMA,CAAC;IACvB,WAAW;QACT,UAAU;QACV,WAAWI,CAAAA,QAAUA,QAAQ,cAAc;IAC7C;AACF;AA6BA,MAAM5H,OAAO+C,8CAAqB,CAChC,CAAC,EAAE4D,UAAU,MAAM,EAAEQ,QAAQ,EAAEvH,KAAK,EAAE,GAAM;QAC1C,UAAUuH,WAAWA,WAAWR;QAChC,OAAO/G,SAAS;IAClB,GACD,CAAC;;eAEa,EAAEM,CAAAA,QAASA,MAAM,UAAU,IAAI,SAAS;EACrD,EAAE,CAACyD,IAAiB+D,yCAAgB,CAAC/D,EAAE,OAAO,IAAI,OAAO,CAAC;EAC1D,EAAEuD,0CAAOA,CACPS,WACAL,yCAAUA,EACVG,qDAAUA,EACVN,uCAAQA,EACRE,wCAASA,EACTD,yCAAUA,EACVG,4CAAaA,EACbC,yCAAMA,CAAC;IACL,cAAc;AAChB,IACA;EACF,EAAE7D,CAAAA,IAAMA,EAAE,aAAa,GAAG,CAAC,gBAAgB,EAAEA,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,GAAI;AACxE,CAAC;AAED,sDAAe3D,IAAIA,EAAC;;;;;;;;;;;ACxEoB;AAGxC,MAAM6H,gBAAgB,CAACvH,OAAiB,CAACJ;QACvC,MAAM4H,YAAY5H,MAAM,SAAS,IAAI;QACrC,MAAM6H,WAAY7H,MAAM,YAAY,IAAIA,MAAM,YAAY,CAACI,SAAU,GAAGA,KAAK,MAAM,CAAC;QACpF,OAAO,CAAC,KAAK,EAAEwH,UAAU,CAAC,EAAEC,SAAS,kBAAkB,CAAC;IAC1D;AAEO,MAAMC,aAAahC,0CAAG,CAAC;;;SAGrB,EAAE6B,cAAc,yBAAyB;;;;;;;SAOzC,EAAEA,cAAc,oBAAoB;;;;;;;SAOpC,EAAEA,cAAc,iBAAiB;;;;;;;SAOjC,EAAEA,cAAc,gBAAgB;;;;;;;SAOhC,EAAEA,cAAc,kBAAkB;;;;;;;SAOlC,EAAEA,cAAc,mBAAmB;;;;;;;SAOnC,EAAEA,cAAc,sBAAsB;;;;AAI/C,CAAC,CAAC;AAEK,MAAMH,mBAQT;IACF,IAAI;QACF,YAAY;QACZ,YAAY;QACZ,kBAAkB;IACpB;IACA,SAAS;QACP,YAAY;QACZ,YAAY;QACZ,kBAAkB;IACpB;IACA,IAAI;QACF,YAAY;QACZ,YAAY;QACZ,kBAAkB;IACpB;IACA,SAAS;QACP,YAAY;QACZ,YAAY;QACZ,kBAAkB;IACpB;IACA,IAAI;QACF,YAAY;QACZ,YAAY;QACZ,kBAAkB;IACpB;IACA,SAAS;QACP,YAAY;QACZ,YAAY;IACd;IACA,IAAI;QACF,YAAY;QACZ,YAAY;QACZ,kBAAkB;IACpB;IACA,SAAS;QACP,YAAY;QACZ,YAAY;IACd;IACA,IAAI;QACF,YAAY;QACZ,YAAY;QACZ,kBAAkB;IACpB;IACA,SAAS;QACP,YAAY;QACZ,YAAY;IACd;IACA,OAAO;QACL,YAAY;IACd;IACA,iBAAiB;QACf,YAAY;QACZ,YAAY;IACd;IACA,MAAM;QACJ,YAAY;IACd;IACA,gBAAgB;QACd,YAAY;QACZ,YAAY;IACd;IACA,WAAW;QACT,YAAY;IACd;IACA,qBAAqB;QACnB,YAAY;QACZ,YAAY;IACd;IACA,OAAO;QACL,YAAY;IACd;IACA,YAAY;QACV,YAAY;IACd;IACA,MAAM;QACJ,YAAY;IACd;IACA,OAAO;QACL,YAAY;IACd;IACA,UAAU;QACR,YAAY;QACZ,YAAY;QACZ,kBAAkB;IACpB;AACF,EAAE;;;;;;;;;;;;;;;;;;AC3J6C;AACgC;AACtC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACFsC;AAC9B;AACY;AACW;AACzB;AACY;AACT;AACS;AAyB3D,MAAMW,gBAAgBnH,0CAEpB,CAAC;;EAED,EAAEyC,CAAAA,IAAK,GAAGA,EAAE,YAAY,KAAK,SAAS,iBAAiB,cAAc,EAAE,EAAEA,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;;AAEjG,CAAC;AAED,MAAM2E,mBAAmB,CAAC3E,IAA+B;QACvD,MAAM;YACJ,SAAS,CAAC;sBACQ,EAAEA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;eACrC,EAAEA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;;;4BAGjB,EAAEyC,gBAAIA,CAACzC,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM;;;4BAG1C,EAAEyC,gBAAIA,CAACzC,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM;;MAEhE,CAAC;YACH,QAAQ,CAAC;eACE,EAAEA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;0BAClB,EAAEA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;;4BAE5B,EAAEA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;;MAEnD,CAAC;QACL;QACA,OAAO,CAAC;oBACU,EAAEA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;aACpC,EAAEA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;;sBAErB,EAAEA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;;;;0BAIzB,EAAEA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;;;;0BAI7B,EAAEA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;;IAEnD,CAAC;QACH,OAAO;YACL,SAAS,CAAC;oBACM,EAAEA,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC;aAClC,EAAEA,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC;;;0BAGd,EAAEyC,gBAAIA,CAACzC,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM;;;0BAGvC,EAAEyC,gBAAIA,CAACzC,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM;;IAE7D,CAAC;YACD,QAAQ,CAAC;aACA,EAAEA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;wBAClB,EAAEA,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC;;0BAEzB,EAAEA,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC;;IAEjD,CAAC;QACH;QACA,SAAS,CAAC;WACD,EAAEA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;sBACnB,EAAEA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;;wBAE3B,EAAEA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;;EAEnD,CAAC;QACD,OAAO;YACL,SAAS,CAAC;oBACM,EAAEA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;aACpC,EAAEA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;;;0BAGhB,EAAEyC,gBAAIA,CAACzC,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM;;;0BAG1C,EAAEyC,gBAAIA,CAACzC,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM;;IAEhE,CAAC;YACD,QAAQ,CAAC;aACA,EAAEA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;wBAClB,EAAEA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;;0BAE3B,EAAEA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;;IAEnD,CAAC;QACH;QACA,UAAU;YACR,SAAS,CAAC;sBACQ,EAAEA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;eACpC,EAAEA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;;;;;MAKtC,CAAC;YACH,QAAQ,CAAC;eACE,EAAEA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;0BAClB,EAAEA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;;;;MAIjD,CAAC;QACL;QACA,SAAS,CAAC;WACD,EAAEA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;;;;;EAKvC,CAAC;IACH;AAEO,MAAM4E,iBAAiBxF,wBAAiB,CAAC;;;;;;;AAOhD,CAAC,CAAC;AAEK,MAAMyF,OAAOzF,8BAAuB,CAAC,CAACY,IAAkB;QAC7D,YAAY;QACZ,UAAUA,EAAE,QAAQ,IAAI;IAC1B,GAAc,CAAC;;;;;gBAKC,EAAEA,CAAAA,IAAMA,EAAE,OAAO,IAAIA,EAAE,OAAO,KAAK,UAAU,IAAI,EAAG;;EAElE,EAAEuD,mCAAOA,CAACO,qBAAUA,EAAEN,gCAAQA,EAAEhG,8BAAMA,EAAE;eAC3B,EAAEwC,CAAAA,IAAKA,EAAE,KAAK,CAAC,SAAS,CAACA,EAAE,QAAQ,CAAC,CAAC;;;;;;EAMlD,EAAEA,CAAAA,IAAK8E,eAAe,CAAC9E,EAAE,IAAI,IAAI,SAAS,CAAC;;eAE9B,EAAEA,CAAAA,IAAMA,EAAE,UAAU,GAAGA,EAAE,UAAU,GAAG,SAAU;;;UAGrD,EAAEA,CAAAA,IAAMA,EAAE,QAAQ,GAAG,YAAY,UAAW;;0BAE5B,EAAEA,CAAAA,IAAKyC,gBAAIA,CAACzC,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK;;;0BAG7C,EAAEA,CAAAA,IAAKyC,gBAAIA,CAACzC,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK;;;EAGrE,EAAEA,CAAAA;IACA,MAAM+E,WAAWJ,iBAAiB3E;IAClC,IAAIA,EAAE,QAAQ,EAAE;QACd,OAAOA,EAAE,OAAO,IAAIA,EAAE,OAAO,KAAK,UAC9B+E,SAAS,QAAQ,CAAC,OAAO,GACzBA,SAAS,QAAQ,CAAC,MAAM;IAC9B;IAEA,MAAM/B,UACJhD,EAAE,OAAO,IAAK;IAChB,OAAQgD;QACN,KAAK;YACH,OAAOhD,EAAE,OAAO,GAAG+E,SAAS,IAAI,CAAC,OAAO,GAAGA,SAAS,IAAI,CAAC,MAAM;QACjE,KAAK;YACH,OAAOA,SAAS,KAAK;QAEvB,KAAK;YACH,OAAO/E,EAAE,OAAO,GAAG+E,SAAS,KAAK,CAAC,OAAO,GAAGA,SAAS,KAAK,CAAC,MAAM;QAEnE,KAAK;YACH,OAAO/E,EAAE,OAAO,GAAG+E,SAAS,KAAK,CAAC,OAAO,GAAGA,SAAS,KAAK,CAAC,MAAM;QAEnE,KAAK;YACH,OAAOA,SAAS,OAAO;QAEzB,KAAK;QACL;YACE,OAAOA,SAAS,OAAO;IAC3B;AACF,EAAE;EACF,EAAE/E,CAAAA,IACAA,EAAE,UAAU,GACRqC,mCAAG,CAAC;iBACK,EAAErC,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;;UAE3B,EAAE0E,cAAc;;;QAGlB,CAAC,GACD,GAAG;EACT,EAAE1E,CAAAA,IAAKA,EAAE,KAAK,CAAC,UAAU,CAAC;QAAC;QAAoB;QAAS;QAAgB;KAAa,EAAE,QAAQ;AACjG,CAAC,CAAC;AAEF,MAAMgF,mBAAmBzH,0CAAU,CAAC,CAAC;AAErC,MAAM0H,SAAS,CACb,EAAE9I,IAAI,EAAE+I,eAAe,OAAO,EAAE1D,WAAW,EAAE,EAAEtB,QAAQ,EAAEiF,OAAO,EAAE,GAAG5I,OAAoB,EACzF6I;IAEA,MAAMC,eAAe7D,YAAYiD,eAAS,CAAClI,MAAM,QAAQ,IAAI,EAAE;IAC/D,MAAM+I,WAAWhI,2BAAOA,CAAC;QACvB,IAAI,CAACnB,MAAM,OAAO;QAClB,IAAI,OAAOA,SAAS,UAAU,OAAOA;QACrC,qBAAO,uCAACA;YAAK,MAAMkJ;;IACrB,GAAG;QAACA;QAAclJ;KAAK;IAEvB,qBACE,uCAAC0I;QAAM,GAAGtI,KAAK;QAAE,KAAK6I;QAAK,YAAY,CAAEjJ,CAAAA,QAAQ,IAAG,KAAM,CAAC+D;QAAU,SAASiF;OAC3ED,iBAAiB,wBAAU,uCAACF,wBAAkB9E,YAA+B,MAC7EoF,0BAAY,uCAACZ;QAAc,cAAcQ;OAAeI,WACxDJ,iBAAiB,uBAAS,uCAACF,wBAAkB9E,YAA+B;AAGnF;AACA,MAAMqF,8BAAgB1J,mCAAgB,CAACoJ;AAQvC,MAAMO,qBAAqBjI,oCAAMA,CAACgI,eAAe,KAAK,CAAChJ,CAAAA,QAAU;QAC/D,MAAMA,MAAM,IAAI,IAAI,QAAQgI,+BAAaA;QACzC,cAAchI,MAAM,YAAY,IAAI;IACtC,GAA0B,CAAC;EACzB,EAAEmI,cAAc;;IAEd,EAAE1E,CAAAA,IAAMA,EAAE,QAAQ,GAAG,8BAA8B,GAAI;;AAE3D,CAAC;AACM,SAASyF,aACd,EAAEC,QAAQ,EAAEP,OAAO,EAAE,GAAG5I,OAA0B,EAClD6I,GAA2C;IAE3C,MAAM,CAACO,UAAUC,YAAY,GAAGpB,4BAAQA,CAAC;IACzC,qBACE,uCAACgB;QACE,GAAGjJ,KAAK;QACT,KAAK6I;QACL,UAAUO;QACV,SAAS,CAACE;YACRD,YAAYD,CAAAA,WAAY,CAACA;YACzBD,YAAY,QAAQA,SAAS,CAACC;YAC9BR,WAAW,QAAQA,QAAQU;QAC7B;;AAGN;AAEO,MAAMf,kBAKT;IACF,IAAI;QACF,SAAS;QACT,QAAQ;IACV;IACA,OAAO;QACL,SAAS;QACT,QAAQ;IACV;IACA,QAAQ;QACN,SAAS;QACT,QAAQ;IACV;IACA,OAAO;QACL,SAAS;QACT,QAAQ;IACV;IACA,IAAI;QACF,SAAS;QACT,QAAQ;IACV;AACF,EAAE;AAEFG,OAAO,QAAQ,GAAGL;AAClBK,OAAO,MAAM,iBAAGpJ,mCAAgB,CAAC4J;AACjCF,cAAc,QAAQ,GAAGN,OAAO,QAAQ;AACxCM,cAAc,MAAM,GAAGN,OAAO,MAAM;AACpC,yCAAeM,aAAaA,EAAC;;;;;;;;AC9TtB,SAASO,cACdnD,MAAuB;IAEvB,OAAO;QACL,UAAU;YACR,SAASA,OAAO,OAAO,CAAC,GAAG;YAC3B,SAASA,OAAO,OAAO,CAAC,GAAG;QAC7B;QACA,MAAM;YACJ,SAASA,OAAO,OAAO,CAAC,IAAI;YAC5B,SAASA,OAAO,OAAO,CAAC,GAAG;QAC7B;QACA,OAAO;YACL,SAASA,OAAO,OAAO,CAAC,GAAG;YAC3B,SAASA,OAAO,OAAO,CAAC,GAAG;QAC7B;QACA,OAAO;YACL,SAASA,OAAO,OAAO,CAAC,GAAG;YAC3B,SAASA,OAAO,OAAO,CAAC,GAAG;QAC7B;IACF;AACF;;;;;;;;;;;;;;;;ACvB0B;AACa;AACQ;AACW;AACrB;AAEsB;AAoCpD,MAAMsD,wBAAwB,QAAQ;AACtC,MAAMC,eAAe,SAAS;AAC9B,MAAMC,eAAe,OAAO;AAEnC,MAAMzB,gBAAgBnH,kDAGpB,CAAC;EACD,EAAEyC,CAAAA,IAAMA,EAAE,QAAQ,GAAG,KAAKA,EAAE,YAAY,KAAK,SAAS,CAAC,kBAAkB,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAE;;;;AAIpG,CAAC;AAEM,MAAM6E,OAAOzF,qCAAuB,CAAC;SACnC,EAAE,CAAC,EAAEnD,KAAK,EAAEmK,KAAK,EAAE5G,QAAQ,EAAEF,OAAO,MAAM,EAAE,GACjDrD,SAAS6J,gDAAaA,CAACM,MAAM,MAAM,CAAC,CAAC5G,WAAW,aAAaF,KAAK,CAAC,UAAU,CAAC;;;;;;;;;;;;WAYvE,EAAE,CAAC,EAAErD,KAAK,EAAEmK,KAAK,EAAE9G,OAAO,MAAM,EAAE,GACvCrD,SAAS6J,gDAAaA,CAACM,MAAM,MAAM,CAAC,CAAC9G,KAAK,CAAC,UAAU,CAAC;;;;mBAIzC,EAAEU,CAAAA,IAAMA,EAAE,eAAe,GAAG,cAAc,OAAQ;;AAErE,CAAC,CAAC;AAEF,MAAMqG,gBAAgB,CAAC,EACrBlK,IAAI,EACJ+I,eAAee,qBAAqB,EACpC/F,QAAQ,EACRjE,KAAK,EACL4D,OAAOqG,YAAY,EACnBrJ,SAAS,EACC;IACV,MAAMO,qBACJ,+CAACf,oCAAIA;QACH,SAAS2J,yCAAW,CAACnG,KAAK;QAC1B,YAAW;QACX,OAAO5D,SAAS;QACf,GAAGY,SAAS;OAEZqD;IAIL,qBACE,kGACGgF,iBAAiB,WAAWhF,WAAW9C,OAAO,MAC9CjB,qBACC,+CAACuI;QAAc,UAAU,CAACxE;QAAU,cAAcgF;qBAChD,+CAAC/I;QAAK,MAAM4J,yCAAW,CAAClG,KAAK;QAAE,OAAO5D,SAAS;UAE/C,MACHiJ,iBAAiB,UAAUhF,WAAW9C,OAAO;AAGpD;AAEA,MAAMkJ,OAAO,CAAC/J;IACZ,MAAM,EAAE+C,OAAO6G,YAAY,EAAEtG,OAAOqG,YAAY,EAAEjK,KAAK,EAAE,GAAGM;IAC5D,qBACE,+CAACsI;QAAK,OAAO5I;QAAQ,GAAGM,KAAK;qBAC3B,+CAAC8J;QAAe,GAAG9J,KAAK;QAAE,MAAM+C;QAAM,MAAMO;;AAGlD;AAEA,sDAAeyG,IAAIA,EAAC;;;;;;;;;;;ACxHmB;AAER;AAM/B,IAAKC,yBAAAA,gDAAAA,SAAAA;;;WAAAA;EAAAA,eAAAA,EAAAA;AAKL,MAAMC,SAAS,CAAC,EAAEC,UAAU,IAAI,EAAE,GAAGC,aAA0B;IAC7D,MAAMpH,OAAOhC,kCAAOA,CAAC,IAAOmJ,4BAAiD;QAACA;KAAQ;IACtF,qBAAO,+CAACxB,mCAAMA;QAAC,SAAS3F;QAAM,SAASA;QAA4B,GAAGoH,WAAW;;AACnF;AAEA,sDAAeF,MAAMA,EAAC;;;;;;;;;AChBf,MAAMR,cAAiD;IAC5D,OAAO;IACP,QAAQ;IACR,OAAO;AACT,EAAE;AAEK,MAAMD,cAA2C;IACtD,OAAO;IACP,QAAQ;IACR,OAAO;AACT,EAAE;;;;;;;;;;;;;ACZ2C;AACA;AACJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACFiB;AACE;AACuB;AACU;AACrD;AACF;AACS;AACG;AAyC3C,MAAMe,iBAAiBvJ,0CAAqC,CAAC;;;UAG1D,EAAEyC,CAAAA,IAAK,CAAC,UAAU,EAAEA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;;;SAGlD,EAAEA,CAAAA,IAAKA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;;EAE1C,EAAEA,CAAAA,IACAA,EAAE,KAAK,IAAI,CAACA,EAAE,KAAK,IAAI,CAACA,EAAE,OAAO,GAC7BqC,mCAAG,CAAC;4BACgB,EAAErC,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;gCACzB,EAAEyC,gBAAIA,CAACzC,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK;QAChE,CAAC,GACDN,UAAU;;EAEhB,EAAEM,CAAAA,IACAA,EAAE,KAAK,IAAI,CAACA,EAAE,QAAQ,GAClBqC,mCAAG,CAAC;4BACgB,EAAErC,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC;QAC/C,CAAC,GACDN,UAAU;;EAEhB,EAAEM,CAAAA,IACA,CAACA,EAAE,KAAK,IAAIA,EAAE,OAAO,IAAI,CAACA,EAAE,QAAQ,GAChCqC,mCAAG,CAAC;4BACgB,EAAErC,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;QACjD,CAAC,GACDN,UAAU;;EAEhB,EAAEM,CAAAA,IACA,CAACA,EAAE,KAAK,IAAI,CAACA,EAAE,OAAO,IAAI,CAACA,EAAE,QAAQ,GACjCqC,mCAAG,CAAC;;oBAEQ,EAAE,CAACrC,EAAE,QAAQ,IAAI,CAAC,UAAU,EAAEA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;;QAEvE,CAAC,GACDN,UAAU;;EAEhB,EAAEM,CAAAA,IACAA,EAAE,QAAQ,GACNqC,mCAAG,CAAC;iBACK,EAAErC,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;sBACxB,EAAEA,CAAAA,IAAKA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;QAChD,CAAC,GACDN,UAAU;AAClB,CAAC,CAAC;AAEK,MAAMqH,YAAYxJ,gDAAkB,CAEzC;IACA,UAAU;IACV,YAAY;AACd,EAAgE,CAAC;;;;eAIlD,EAAEyC,CAAAA,IAAMA,EAAE,KAAK,GAAGA,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,GAAGA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAE;;;UAG9E,EAAEA,CAAAA,IAAMA,EAAE,QAAQ,GAAG,gBAAgB,OAAQ;;;;;WAK5C,EAAEA,CAAAA,IAAMA,EAAE,QAAQ,GAAGA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,GAAGA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAE;;;;;;;;;;;;;;;;;;EAkBvF,EAAE2G,kCAAUA,CAAC;AACf,CAAC,CAAC;AAEK,MAAMK,sBAAsBzJ,oCAAMA,CAAClB,mBAAIA,CAAC,CAAC;SACvC,EAAE2D,CAAAA,IAAKA,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC;;AAEzC,CAAC,CAAC;AACK,MAAMiH,wBAAwB1J,oCAAMA,CAAClB,mBAAIA,CAAC,CAAC;SACzC,EAAE2D,CAAAA,IAAKA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;;AAE3C,CAAC,CAAC;AACK,MAAMkH,qBAAqB3J,oCAAMA,CAAClB,mBAAIA,CAAC,CAAC;SACtC,EAAE2D,CAAAA,IAAKA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;;AAE3C,CAAC,CAAC;AAEK,MAAMmH,2BAA2B5J,oCAAMA,CAACnB,mBAAOA,EAAE,KAAK,CAAC,IAAO;QACnE,YAAY;QACZ,IAAI;IACN,GAAG,CAAC,CAAC,CAAC;AAEC,MAAMgL,4BAA4B7J,oCAAMA,CAACnB,mBAAOA,EAAE,KAAK,CAAC,IAAO;QACpE,YAAY;QACZ,IAAI;IACN,GAAG,CAAC,CAAC,CAAC;AAEC,MAAMiL,0BAA0B9J,oCAAMA,CAACqH,yBAAcA,CAAC,CAAC;;AAE9D,CAAC,CAAC;AAEF,oFAAoF;AACpF,8DAA8D;AAC9D,MAAM0C,WAAW,CAACC,IAAgBA;AAElC,SAASC,MACPjL,KAAoB,EACpB6I,GAA0C;IAE1C,MAAM,EAAEzC,MAAM,EAAE,GAAGL,wCAAQA;IAC3B,MAAM,EACJ2B,KAAK,EACLzE,QAAQ,EACRiI,KAAK,EACL7E,OAAO,EACP8E,IAAI,EACJC,QAAQ,EACRC,aAAa,EACbC,UAAU,EACVC,WAAW,EACXC,SAAS,EACTlJ,cAAc,EACdmJ,YAAYV,QAAQ,EACpBW,cAAcX,QAAQ,EACtBY,SAAS,EACT,GAAGC,gBACJ,GAAG5L;IACJ,MAAM,CAAC6L,OAAOC,SAAS,GAAG7D,4BAAQA,CAAC;IACnC,MAAM8D,aAAahL,2BAAOA,CAAC,IAAM0K,UAAU/D,QAAQ;QAAC+D;QAAW/D;KAAM;IAErE,MAAMsE,eAAe3B,+BAAWA,CAC9B,CAAC4B;QACCb,YAAYA,SAASM,YAAYO,EAAE,MAAM,CAAC,KAAK;QAC/CZ,iBAAiBA,cAAcY;IACjC,GACA;QAACb;QAAUC;QAAeK;KAAY;IAGxC,MAAMQ,cAAc7B,+BAAWA,CAAC;QAC9Be,YAAYA,SAASM,YAAY;IACnC,GAAG;QAACN;QAAUM;KAAY;IAE1B,MAAMS,sBACJ,kFACG,OAAOb,eAAe,aAAaA,WAAWtL,SAASsL,0BACxD,uCAACd;QACC,KAAK3B;QACJ,GAAG+C,cAAc;QAClB,UAAU3I;QACV,OAAOiI;QACP,SAAS7E;QACT,MAAM8E;QACN,UAAUa;QACV,OAAOD;QACP,SAAS,CAACzC;YACRwC,SAAS;YACTF,eAAe,OAAO,IAAIA,eAAe,OAAO,CAACtC;QACnD;QACA,QAAQ,CAACA;YACPwC,SAAS;YACTF,eAAe,MAAM,IAAIA,eAAe,MAAM,CAACtC;QACjD;QAEDqC,aAAaI,4BACZ,uCAAClM,eAAOA;QAAC,YAAY;QAAU,IAAI;qBACjC,uCAACiL;QAAwB,SAASoB;qBAChC,uCAAC5B,mCAAuBA;QAAC,MAAM;QAAI,OAAOlE,OAAO,OAAO,CAAC,GAAG;UAIjE,OAAOmF,gBAAgB,aAAaA,YAAYvL,SAASuL;IAI9D,IAAIC,WAAW;QACb,qBACE,uCAAC3L,eAAOA;YAAC,YAAW;YAAU,OAAO;gBAAE,QAAQ;YAAO;WACnDsM;IAGP;IAEA,qBACE,uCAAC,2BACC,uCAAC5B;QACC,UAAUtH;QACV,OAAO4I;QACP,OAAOX;QACP,SAAS7E;QACR,GAAG/D,cAAc;OAEjB6J,QAEDjB,CAAAA,SAAS7E,WAAW8E,IAAG,KAAM,CAAClI,0BAC9B,uCAACpD,eAAOA;QAAC,eAAc;QAAS,QAAQ;QAAG,IAAI;OAC5CqL,sBACC,uCAACT;QAAoB,SAAQ;OAASS,SACpC7E,wBACF,uCAACqE;QAAsB,SAAQ;OAASrE,WACtC8E,qBACF,uCAACR;QAAmB,SAAQ;OAASQ,QACnC;AAKd;AAEA,0DAAe7L,mCAAgB,CAAC2L,MAAMA,EAER;;;;;;;;;;;;;;;;;;;;;;;;;AC9QJ;AACa;AACD;AACyC;AACvB;AAExD,MAAMrL,OAAO,kBACXN,qCAAkB,CAAC8M,0BAAgBA,CAAC;QAAE,MAAM;QAAI,OAAO;IAAe,IAAI;QACxE,mEAAmE;QACnE,OAAO;IACT;AACF,MAAME,gBAAgBC,mBAAmBF,+CAAoBA,eAAC,uCAACzM;AAE/D,MAAMqL,QAAQjK,4CAA+B,CAAC;;;iBAG7B,EAAEyC,CAAAA,IAAK,GAAGA,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;;;aAGnC,EAAEA,CAAAA,IAAMA,EAAE,IAAI,GAAG,GAAGA,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,GAAGA,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,CAAE;UAC7D,EAAEA,CAAAA,IAAMA,EAAE,IAAI,GAAG,GAAGA,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,GAAGA,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,CAAE;;oBAEhD,EAAEzD,CAAAA,QAASA,MAAM,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC;;;;;;;;;;WAU1D,EAAEyD,CAAAA,IAAMA,EAAE,IAAI,GAAG,GAAGA,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,GAAGA,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,CAAE;YACzD,EAAEA,CAAAA,IAAMA,EAAE,IAAI,GAAG,GAAGA,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,GAAGA,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,CAAE;;WAE3D,EAAEzD,CAAAA,QAASA,MAAM,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;;8CAEP,EAAEsM,cAAc;;;;;;;;;AAS9D,CAAC;AAED,MAAME,QAAQxL,oCAAMA,CAAClB,mBAAIA,EAAE,KAAK,CAAC;IAAE,MAAM;IAAQ,YAAY;AAAM,EAAE,CAAC;SAC7D,EAAEE,CAAAA,QAASA,MAAM,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;;;EAGjD,EAAEiL,MAAM;;;;;;;AAOV,CAAC;AAED,MAAM3J,YAAYN,0CAAU,CAAC;;kCAEK,EAAEhB,CAAAA,QAASA,MAAM,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;;;cAG9D,EAAEyD,CAAAA,IAAKA,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;;;;;yBAKb,EAAEzD,CAAAA,QAASA,MAAM,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;;;;yBAI1C,EAAEA,CAAAA,QAASA,MAAM,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;;;;yBAI1C,EAAEA,CAAAA,QAASA,MAAM,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC;;;;yBAIxC,EAAEA,CAAAA,QAASA,MAAM,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;;;AAGnE,CAAC;AAYD,MAAMyM,WAAW,CAAC,EAChBC,aAAa,KAAK,EAClBjG,UAAU,SAAS,EACnBkG,KAAK,EACLC,SAAS,EACTxM,IAAI,EACJgL,QAAQ,EACR9H,IAAI,EACU,iBACd,uCAAChC;QAAU,gBAAcmF;QAAS,iBAAeiG;qBAC/C,uCAACzB;QACC,MAAK;QACL,MAAM7K;QACN,IAAIA;QACJ,SAASwM;QACT,UAAUF;QACV,UAAU,IAAMtB,SAAS,CAACwB;QAC1B,MAAMtJ;QAEPqJ,sBACC,uCAACH;QAAM,IAAG;QAAQ,SAASpM;OACxBuM,SAED;AAIR,gDAAeF,QAAQA,EAAC;;;;;;;;;;;;;;;;;;;;AC7HE;AAC8D;AAC3C;AACmC;AAC1C;AACE;AAC+B;AAC/B;AAMxC,SAASQ,gBACPjN,KAA4B;IAE5B,MAAM,EAAEkN,WAAW,EAAEvJ,QAAQ,EAAE,GAAG3D;IAClC,MAAM,EAAE2M,KAAK,EAAE,GAAGO;IAElB,qBACE,+CAACL,gDAAkB,EAAK7M,qBACtB,+CAACF,yCAAIA;QAAC,SAAQ;QAAY,YAAW;QAAS,OAAM;QAAc,IAAI;OACnE6M,QAEFhJ;AAGP;AAEA,SAASwJ,uBAA0BnN,KAAoC;IACrE,MAAMoN,SAASpN,MAAM,WAAW,CAAC,UAAU;IAE3C,qBACE,+CAACgN,gEAAcA;QACZ,GAAGhN,KAAK;QACT,QAAQ,kBACN,+CAACH,wCAAOA;gBAAC,YAAW;6BAClB,+CAACC,yCAAIA;gBAAC,SAAQ;gBAAY,YAAW;gBAAS,IAAI;6BAChD,+CAACD,wCAAOA,QAAEG,MAAM,QAAQ,kBAE1B,+CAACH,wCAAOA;gBAAC,YAAW;gBAAS,OAAO;oBAAE,WAAWuN,SAAS,mBAAmB;gBAAG;6BAC9E,+CAACL,iCAA0B;gBAAC,MAAM;;;AAM9C;AAEA,SAASM;IACP,OAAO;AACT;AAEe,SAASC,SAAYtN,KAAe;IACjD,MAAM6J,QAAQ9D,+CAAQA;IACtB,MAAM,EAAEwH,MAAM,EAAE,GAAGC,MAAM,GAAGxN;IAE5B,qBACE,+CAAC8M,6CAAWA;QACV,aAAY;QACZ,cAAc;QACd,QAAQ;YACN,aAAaW,CAAAA,WAAa;oBACxB,GAAGA,QAAQ;oBACX,OAAO5D,MAAM,MAAM,CAAC,OAAO,CAAC,IAAI;oBAChC,QAAQ;oBACR,KAAK1G;oBACL,UAAUA;oBACV,UAAUA;oBACV,UAAUA;oBACV,WAAWA;gBACb;YACA,OAAO,IAAO;oBAAE,SAAS;gBAAO;YAChC,MAAMsK,CAAAA,WAAa;oBACjB,GAAGA,QAAQ;oBACX,QAAQ;oBACR,WAAW;oBACX,YAAY;oBACZ,OAAO;oBACP,UAAU;gBACZ;YACA,GAAGF,MAAM;QACX;QACC,GAAGC,IAAI;QACR,YAAY;YACV,SAASP;YACT,gBAAgBE;YAChB,qBAAqBE;QACvB;;AAGN;;;;;;;;;;;;;;AC3F0B;AACkD;AACtC;AACC;AAIvC,MAAMK,SAAS1M,4CAAMA,CAAClB,6CAAIA,CAAC,CAAC;SACnB,EAAEE,CAAAA,QAASA,MAAM,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;;;WAGxC,EAAEA,CAAAA,QAASA,MAAM,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;;AAErD,CAAC;AAED,SAAS2N,YACP,EAAEC,MAAM,EAAE,GAAGC,YAAmB,EAChChF,GAA0C;IAE1C,qBACE,+CAACoC,sCAAKA;QACJ,KAAKpC;QACJ,GAAGgF,UAAU;QACd,2BACE,+CAAChD,qDAAyBA,sBACxB,+CAAC6C;YAAO,SAAQ;YAAO,iBAAeG,WAAW,QAAQ;WACtDD;;AAMb;AAEA,mEAAetO,2CAAgB,CAACqO,YAAYA,EAAC;;;;;;;;;;;;;;;AClCnB;AACuB;AACT;AACF;AACC;AAEvC,mEAAmE;AACnE,MAAMG,YAAY9M,qDAAmC,CAAC;SAC7C,EAAEyC,CAAAA,IAAMA,EAAE,MAAM,GAAGA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,GAAGA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAE;oBACjE,EAAEA,CAAAA,IAAMA,EAAE,MAAM,GAAGA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,GAAGA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAE;;;;;;;;;WAStF,EAAEA,CAAAA,IAAKA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;sBACvB,EAAEA,CAAAA,IAAMA,EAAE,MAAM,GAAGA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,GAAG,cAAe;;;AAGrF,CAAC;AAED,SAASgI,UAAU/D,KAAc;IAC/B,OAAOA,QAAQ,KAAKA,QAAQ;AAC9B;AACA,SAASgE,YAAYhE,KAAa;IAChC,IAAI;QACF,OAAOqG,WAAWrG;IACpB,EAAE,OAAM;QACN,OAAOvE;IACT;AACF;AAEA,SAAS6K,YACP,EACEtG,KAAK,EACLuG,cAAc,EACdC,GAAG,EACHjL,QAAQ,EACR,GAAG4K,YAGJ,EACDhF,GAA0C;IAE1C,qBACE,+CAACoC,sCAAKA;QACJ,KAAKpC;QACL,WAAW4C;QACX,aAAaC;QACZ,GAAGmC,UAAU;QACd,MAAM;QACN,OAAOnG;QACP,KAAKwG;QACL,UAAUjL;QACV,2BACE,+CAACpD,wCAAOA;YAAC,YAAY;YAAU,gBAAgB;YAAU,IAAI;YAAO,IAAI;WACrE;YAAC;YAAM;YAAK;YAAM;SAAE,CAAC,GAAG,CAACsO,CAAAA,wBACxB,+CAACL;gBACC,KAAKK;gBACL,SAAS,IAAMF,eAAeE;gBAC9B,QAAQ,CAAC,CAACzG,SAAS,CAAC,CAACwG,OAAOE,OAAO1G,WAAWyG,UAAUC,OAAOF;gBAC/D,UAAUjL;6BAEV,+CAACnD,yCAAIA;gBAAC,SAAS;gBAAQ,OAAO;eAC3BqO,UAAU,KAAI;;AAQ/B;AAEA,mEAAe7O,2CAAgB,CAAC0O,YAAYA,EAAC;;;;;;;;;;;;;;;;;;;;;;;;;AC7EnB;AACuB;AACT;AAC+B;AAChC;AAEvC,MAAMM,eAAetN,6CAAa,CAAC;;;;;;;;SAQ1B,EAAEyC,CAAAA,IAAKA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;oBACvB,EAAEA,CAAAA,IAAKA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;;;;sBAIjC,EAAEA,CAAAA,IAAKA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;WAC7C,EAAEA,CAAAA,IAAKA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;;;AAG7C,CAAC;AAED,SAAS8K,YACP,EACEC,aAAa,EACb,GAAGX,YAC8E,EACnFhF,GAA0C;IAE1C,qBACE,uCAACoC,oBAAKA;QACJ,KAAKpC;QACJ,GAAGgF,UAAU;QACd,2BACE,uCAAChO,eAAOA;YAAC,YAAY;YAAU,gBAAgB;YAAU,IAAI;yBAC3D,uCAACyO;YAAa,SAASE;YAAe,UAAUX,WAAW,QAAQ;yBACjE,uCAACQ,wBAAYA;YAAC,MAAK;;;AAM/B;AAEA,4DAAe/O,mCAAgB,CAACiP,YAAYA,EAAC;;;;;;;;;;;;;;;AC/CnB;AACuB;AACT;AACF;AACC;AAEvC,MAAMT,YAAY9M,qDAAa,CAAC;SACvB,EAAEyC,CAAAA,IAAKA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;oBACvB,EAAEA,CAAAA,IAAKA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;;;;;;;;;sBASjC,EAAEA,CAAAA,IAAKA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;WAC7C,EAAEA,CAAAA,IAAKA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;;;AAG7C,CAAC;AAED,MAAMiK,SAAS1M,4CAAMA,CAAClB,6CAAIA,CAAC,CAAC;SACnB,EAAE2D,CAAAA,IAAKA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;;;WAGhC,EAAEA,CAAAA,IAAKA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;;AAE7C,CAAC;AAED,SAASgL,cACP,EACEC,UAAU,EACVC,KAAK,EACL,GAAGd,YAIJ,EACDhF,GAA0C;IAE1C,qBACE,+CAACoC,sCAAKA;QACJ,KAAKpC;QACJ,GAAGgF,UAAU;QACd,MAAM;QACN,2BACE,+CAAChO,wCAAOA;YAAC,YAAY;YAAU,gBAAgB;YAAU,IAAI;YAAO,IAAI;WACrE8O,uBACC,+CAACjB;YAAO,SAAQ;YAAO,IAAI;YAAQ,iBAAeG,WAAW,QAAQ;WAClEc,sBAGL,+CAACb;YAAU,SAASY;YAAY,UAAUb,WAAW,QAAQ;yBAC3D,+CAAC/N,yCAAIA;YAAC,SAAQ;YAAO,OAAM;WAAe;;AAQtD;AAEA,mEAAeR,2CAAgB,CAACmP,cAAcA,EAAC;;;;;;;;;;;;;;;ACjEyB;AACxB;AAED;AACT;AACC;AAEvC,MAAMjC,QAAQxL,4CAAMA,CAAClB,6CAAIA,CAAC,CAAC;yCACc,EAAE2D,CAAAA,IAAKA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;;AAE5E,CAAC;AAED,MAAMwH,QAAQjK,oDAAY,CAAC;8BACG,EAAEyC,CAAAA,IAAKA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;;;;;;;;iBAQ/C,EAAEA,CAAAA,IAAK,GAAGA,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;kCAqBd,EAAEA,CAAAA,IAAKA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;;;kCAGlC,EAAEA,CAAAA,IAAKA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;;;;kCAInC,EAAEA,CAAAA,IAAKA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;;;kCAGlC,EAAEA,CAAAA,IAAKyC,yCAAIA,CAACzC,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM;;;;;;kCAM9C,EAAEA,CAAAA,IAAKA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;;;;;kCAKlC,EAAEA,CAAAA,IAAKA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;;;kCAGnC,EAAEA,CAAAA,IAAKyC,yCAAIA,CAACzC,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM;;;;;;;gCAOhD,EAAE+I,MAAM;kCACN,EAAE/I,CAAAA,IAAKA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;;;kCAGlC,EAAEA,CAAAA,IAAKyC,yCAAIA,CAACzC,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM;;;;;;;gCAOhD,EAAE+I,MAAM;kCACN,EAAE/I,CAAAA,IAAKA,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC;;;kCAGhC,EAAEA,CAAAA,IAAKyC,yCAAIA,CAACzC,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM;;;;;gCAK9C,EAAEA,CAAAA,IAAKA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;;sBAE5C,EAAEA,CAAAA,IAAKA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;;AAExD,CAAC;AAED,MAAMqL,cAAchJ,0CAAG,CAAC;;oBAEJ,EAAErC,CAAAA,IAAKA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;iBACrC,EAAEA,CAAAA,IAAKA,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;;;oBAGrB,EAAEA,CAAAA,IAAKA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;;;oBAGlC,EAAEA,CAAAA,IAAKA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;;;oBAGnC,EAAEA,CAAAA,IAAKA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;;;;;;oBAMlC,EAAEA,CAAAA,IAAKA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;;;;;oBAKlC,EAAEA,CAAAA,IAAKA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;;;;;;oBAMnC,EAAEA,CAAAA,IAAKA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;;;oBAGlC,EAAEA,CAAAA,IAAKA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;;;;;;oBAMlC,EAAEA,CAAAA,IAAKA,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC;;;oBAGhC,EAAEA,CAAAA,IAAKA,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC;;;;;kBAKlC,EAAEA,CAAAA,IAAKA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;;;AAGpD,CAAC;AAED,MAAMsL,eAAe/N,wDAAkB,CAAC;IAAE,UAAU,CAAC;AAAE,EAErD,CAAC;;;;;;;;EAQD,EAAEyC,CAAAA,IAAKA,EAAE,QAAQ,IAAIqL,YAAY;AACnC,CAAC;AAUD,MAAME,UAAU,CAAC,EACfrC,KAAK,EACLjF,KAAK,EACLzE,QAAQ,EACRgM,QAAQ,EACRxI,UAAU,SAAS,EACnB,GAAGzG,OACe;IAClB,MAAMkP,UAAUN,qCAAUA,CAACC,oCAAYA;IACvC,IAAIK,YAAY/L,WAAW,MAAM,IAAIgM,MAAM;IAE3C,MAAMvC,YAAY7L,kCAAOA,CAAC,IAAMmO,QAAQ,YAAY,IAAIxH,OAAO;QAACwH,QAAQ,YAAY;QAAExH;KAAM;IAE5F,MAAMsE,eAAe,CAAC1C;QACpB4F,QAAQ,QAAQ,CAAC5F,MAAM,MAAM,CAAC,KAAK;IACrC;IAEA,qBACE,+CAACyF;QACC,gBAActI;QACb,GAAImG,YAAY;YAAE,gBAAgB;QAAK,IAAI,CAAC,CAAC;QAC9C,UAAUqC;qBAEV,+CAAChE;QACC,MAAK;QACL,gBAAcxE;QACd,SAASmG;QACT,UAAU3J;QACV,UAAU+I;QACV,OAAOtE;QACP,MAAMwH,QAAQ,IAAI;QACjB,GAAGlP,KAAK;sBAEX,+CAACwM;QAAM,SAAQ;OAAaG;AAGlC;AAEAqC,QAAQ,WAAW,GAAG,iBAAiB,+DAA+D;AACtGA,QAAQ,KAAK,GAAGxC;AAEhB,sDAAewC,OAAOA,EAAC;;;;;;;;;;;;;;;;ACpNwC;AACxB;AACD;AACiB;AACR;AACR;AAOhC,MAAMxC,QAAQxL,4CAAMA,CAAClB,6CAAIA,CAAe,CAAC;SACvC,EAAE2D,CAAAA,IACPA,EAAE,QAAQ,GACNA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,GAC1BA,EAAE,OAAO,GACPA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,GAC1BA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;AACtC,CAAC,CAAC;AAEF,MAAMnC,YAAYN,4CAAMA,CAACI,4CAAIA,CAAe,CAAC;UACnC,EAAEqC,CAAAA,IAAMA,EAAE,QAAQ,GAAG,KAAK,UAAW;;;oBAG3B,EAAEA,CAAAA,IAAMA,EAAE,OAAO,GAAGA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,GAAG,GAAI;oBACrD,EAAEA,CAAAA,IAAMA,EAAE,OAAO,GAAGA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,GAAGA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAE;iBAChF,EAAEA,CAAAA,IAAK,GAAGA,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;WACrC,EAAEA,CAAAA,IAAKA,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;;;kBAGjB,EAAEA,CAAAA,IAAMA,EAAE,QAAQ,IAAIA,EAAE,OAAO,GAAG,KAAKA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAE;;AAErF,CAAC;AAED,MAAMwH,QAAQjK,oDAAY,CAAC;;;YAGf,EAAEM,UAAU;gCACQ,EAAEmC,CAAAA,IAAKyC,yCAAIA,CAACzC,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM;;AAE9E,CAAC;AAED,MAAM2L,mBAAmBpO,wDAAkB,CAAC;IAAE,UAAU,CAAC;AAAE,EAAE,CAAC;;;AAG9D,CAAC;AAcD,MAAMqO,cAAc,CAAC,EACnB1C,KAAK,EACLjF,KAAK,EACLzE,QAAQ,EACRX,cAAc,EACd,GAAGtC,OACmB;IACtB,MAAMkP,UAAUN,qCAAUA,CAACC,oCAAYA;IACvC,IAAIK,YAAY/L,WAAW,MAAM,IAAIgM,MAAM;IAE3C,MAAMvC,YAAYsC,QAAQ,YAAY,KAAKxH;IAE3C,MAAMsE,eAAe,CAAC1C;QACpB4F,QAAQ,QAAQ,CAAC5F,MAAM,MAAM,CAAC,KAAK;IACrC;IAEA,qBACE,+CAAC8F,sCACC,+CAACnE;QACC,MAAK;QACL,SAAS2B;QACT,UAAU3J;QACV,UAAU+I;QACV,OAAOtE;QACP,MAAMwH,QAAQ,IAAI;QACjB,GAAGlP,KAAK;sBAEX,+CAACsB;QAAU,SAASsL;QAAW,UAAU3J;QAAW,GAAGX,cAAc;OAClE,OAAOqK,UAAU,yBAChB,+CAACH;QAAM,SAASI;QAAW,UAAU3J;QAAU,SAAQ;OACpD0J,uBAGHrN,8CAAmB,CAACqN,OAAO;QAAE,SAASC;QAAW3J;IAAS;AAKpE;AAEAoM,YAAY,WAAW,GAAG,qBAAqB,+DAA+D;AAC9GA,YAAY,KAAK,GAAG7C;AAEpB,sDAAe6C,WAAWA,EAAC;;;;;;;;;;;;;;ACvGwB;AAET;AACQ;AACb;AAW9B,MAAMR,6BAAevP,8CAAmB,CAAkD;IAC/F,MAAM;IACN,UAAU,KAAO;AACnB,GAAG;AAEH,MAAMgQ,QAAQ,CAAC,EACbC,YAAY,EACZnP,IAAI,EACJgL,QAAQ,EACRzH,QAAQ,EACRrB,cAAc,EACH;IACX,qBACE,+CAAClB,wCAAIA;QAAC,WAAU;QAAU,GAAGkB,cAAc;qBACzC,+CAACuM,aAAa,QAAQ;QAAC,OAAO;YAAEU;YAAcnP;YAAMgL;QAAS;OAC1DzH;AAIT;AAEA2L,MAAM,OAAO,GAAGP,yCAAYA;AAC5BO,MAAM,WAAW,GAAGF,6CAAgBA;AAEpC,sDAAeE,KAAKA,EAAC;;;;;;;;;;;;;;;;;;;;;;ACvCK;AACmB;AAC8B;AACJ;AAEvE,SAASG,YACPzP,KAAiB,EACjB6I,GAA0C;IAE1C,MAAMgB,QAAQ9D,wCAAQA;IAEtB,qBACE,uCAACkF,oBAAKA;QACJ,KAAKpC;QACJ,GAAG7I,KAAK;QACT,0BACE,uCAAC4K,kCAAwBA,sBACvB,uCAAC4E,wBAAYA;YACX,OAAOxP,MAAM,QAAQ,GAAG6J,MAAM,MAAM,CAAC,OAAO,CAAC,GAAG,GAAGA,MAAM,MAAM,CAAC,OAAO,CAAC,GAAG;;;AAMvF;AAEA,4DAAevK,mCAAgB,CAACmQ,YAAYA,EAAC;;;;;;;;;;;;;;AC1BnB;AACuD;AAEnC;AAGvC,SAASC,UAId7F,KAAmB;IACnB,OAAO4D,CAAAA,WAAa;YAClB,GAAGA,QAAQ;YACX,SAAS;YACT,YAAY;YACZ,OAAO;YACP,QAAQ;YACR,SAAS,CAAC,IAAI,EAAE5D,MAAM,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;YAClC,WAAW;YACX,cAAc;YACd,YAAY;QACd;AACF;AAEO,SAAS8F,QAId3P,KAA4B;IAC5B,MAAM,EAAE4P,SAAS,EAAE1C,WAAW,EAAEvJ,QAAQ,EAAE,GAAG3D;IAE7C,MAAM,EAAE0M,UAAU,EAAExB,KAAK,EAAEI,UAAU,EAAE,GAAG4B;IAE1C,qBACE,+CAAC3C,0CAAcA;QAAC,UAAUmC;QAAY,OAAOxB;QAAO,OAAO0E;qBACzD,+CAAC/C,gDAAkB,EAAK7M,OACrBsL,aAAaA,WAAWtL,SAAS,MACjC2D;AAIT;;;;;;;;;;;;;;;;;;ACzC0B;AACiE;AAC9C;AACP;AACiD;AAEhF,SAAS+L;IAKd,OAAOjC,CAAAA,WAAa;YAClB,GAAGA,QAAQ;YACX,SAAS;QACX;AACF;AAEO,SAASsC,kBAId/P,KAAsC;IACtC,MAAM6J,QAAQ9D,+CAAQA;IACtB,MAAM,EAAE2G,UAAU,EAAE,GAAG1M,MAAM,WAAW;IAExC,MAAMgQ,cAAchQ,MAAM,WAAW,CAAC,UAAU,GAAG8P,gEAAgBA,GAAGD,mEAAmBA;IACzF,MAAMnQ,QAAQgN,aAAa7C,MAAM,MAAM,CAAC,OAAO,CAAC,GAAG,GAAGA,MAAM,MAAM,CAAC,OAAO,CAAC,IAAI;IAE/E,qBACE,+CAACgD,0DAA4B,EAAK7M,qBAChC,+CAACF,yCAAIA;QAAC,IAAG;QAAM,OAAOJ;QAAO,OAAO;YAAE,SAAS;QAAO;qBACpD,+CAACsQ;QAAY,MAAM;;AAI3B;;;;;;;;;;;;;ACnC0B;AACqD;AACvC;AAGjC,SAASC,oBAIdjQ,KAAwC;IACxC,MAAM,EAAEuL,WAAW,EAAE,GAAGvL,MAAM,WAAW;IAEzC,qBACE,+CAACH,wCAAOA;QAAC,YAAW;OACjB0L,cAAcA,YAAYvL,SAAS,oBACpC,+CAAC6M,4DAA8B,EAAK7M;AAG1C;;;;;;;;;;;;;AClB0B;AACwD;AAG3E,SAAS0P,UAId7F,KAAmB;IACnB,MAAMqG,UAAUrG,MAAM,MAAM,CAAC,IAAI,KAAK;IACtC,OAAO4D,CAAAA,WAAa;YAClB,GAAGA,QAAQ;YACX,SAAS;YACT,eAAe;YACf,KAAK5D,MAAM,KAAK,CAAC,EAAE;YACnB,SAASA,MAAM,KAAK,CAAC,EAAE;YACvB,QAAQ,CAAC,UAAU,EAAEA,MAAM,MAAM,CAAC,OAAO,CAACqG,UAAU,QAAQ,MAAM,EAAE;YACpE,cAAc;YACd,WAAW,CAAC,2BAA2B,EAAEA,UAAU,OAAO,KAAK,CAAC,CAAC;YACjE,YAAYrG,MAAM,MAAM,CAAC,OAAO,CAACqG,UAAU,QAAQ,MAAM;YACzD,OAAOrG,MAAM,MAAM,CAAC,OAAO,CAAC,GAAG;QACjC;AACF;AAEO,SAASsG,SAIdnQ,KAA6B;IAC7B,qBAAO,+CAAC6M,iDAAmB,EAAK7M,OAAQA,MAAM,QAAQ;AACxD;;;;;;;;;;;;;;;;AC9B0B;AACsD;AACzC;AACD;AAE/B,SAAS0P;IAKd,OAAOjC,CAAAA,WAAa;YAClB,GAAGA,QAAQ;YACX,SAAS;YACT,YAAY;YACZ,SAAS;YACT,QAAQ;YACR,YAAY;YACZ,OAAO;YACP,WAAW;YACX,QAAQ;YACR,WAAWtK;QACb;AACF;AAEA,MAAM0D,UAAU7F,4CAAMA,CAAClB,6CAAIA,EAAE,KAAK,CAAC;IAAE,IAAI;AAAM,EAI7C,CAAC;;;aAGU,EAAE2D,CAAAA,IAAKA,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;iBACpB,EAAEA,CAAAA,IAAK,GAAGA,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;EAC9C,EAAEA,CAAAA,IAAM,CAACA,EAAE,QAAQ,GAAG,qBAAqB,GAAI;EAC/C,EAAEzD,CAAAA;IACA,MAAM,EAAE6J,KAAK,EAAEuG,QAAQ,EAAEvE,KAAK,EAAE5I,QAAQ,EAAE,GAAGjD;IAC7C,IAAIoQ,UAAU;QACZ,OAAO,CAAC;eACC,EAAEvG,MAAM,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;oBACtB,EAAEA,MAAM,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;MACzC,CAAC;IACH;IACA,IAAI5G,UAAU;QACZ,OAAO,CAAC;eACC,EAAE4G,MAAM,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;QAClC,EACEgC,QACI,CAAC;wBACS,EAAEhC,MAAM,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;WACxC,CAAC,GACE,GACL;MACH,CAAC;IACH;IACA,OAAO,CAAC;aACC,EAAEA,MAAM,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;;eAEzB,EAAEA,MAAM,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;oBACvB,EAAEA,MAAM,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;;;eAGhC,EAAEA,MAAM,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;oBACvB,EAAEA,MAAM,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;;MAEzC,EACEgC,QACI,CAAC;iBACI,EAAEhC,MAAM,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;sBACvB,EAAEA,MAAM,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;SACxC,CAAC,GACE,GACL;IACH,CAAC;AACH,EAAE;AACJ,CAAC;AAeM,SAASwG,OAIdrQ,KAAqB;IACrB,MAAM,EAAE4B,MAAM,EAAE+B,QAAQ,EAAE,GAAG2M,YAAY,GAAGtQ;IAE5C,qBACE,+CAAC6G;QACC,UAAU7G,MAAM,UAAU;QAC1B,UAAUA,MAAM,UAAU;QAC1B,OAAOA,MAAM,SAAS;QACtB,YAAW;QACX,SAAS;qBAET,+CAAC6M,+CAAiB,EAAKyD,YAAa1O,SAASA,OAAO5B,SAAS2D;AAGnE;;;;;;;;;;;;;;AC3G0B;AAC8D;AAClD;AAE/B,SAAS+L;IAKd,OAAOjC,CAAAA,WAAa;YAClB,GAAGA,QAAQ;YACX,SAAS;QACX;AACF;AAaO,SAAST,eAIdhN,KAA0B;IAC1B,MAAMN,QAAQM,MAAM,WAAW,CAAC,UAAU,GAAG,gBAAgB;IAC7D,qBACE,+CAAC6M,uDAAyB,EAAK7M,qBAC7B,+CAACF,yCAAIA;QACH,IAAG;QACH,SAAQ;QACR,OAAOJ;QACP,OAAO;YAAE,SAAS;YAAW,YAAY;QAAS;OAEjDM,MAAM,MAAM,GAAGA,MAAM,MAAM,CAACA,SAASA,MAAM,QAAQ;AAI5D;;;;;;;;;;;;;;;;;;;;;AC5C6C;AAOvB;AACqC;AACI;AACN;AACd;AACE;AACJ;AACmB;AACT;AAsBnD,MAAM6Q,WAAW,CACfhH,QAC2B;QAC3B,SAAS6G,mCAAuB,CAAC7G;QACjC,gBAAgB4G,0CAA8B;QAC9C,mBAAmBD,6CAAiC;QACpD,UAAUG,oCAAwB,CAAC9G;QACnC,QAAQ+G,kCAAsB;QAC9B,OAAOnD,CAAAA,WAAa;gBAClB,GAAGA,QAAQ;gBACX,OAAO5D,MAAM,MAAM,CAAC,OAAO,CAAC,IAAI;YAClC;QACA,aAAa4D,CAAAA,WAAa;gBACxB,GAAGA,QAAQ;gBACX,OAAO5D,MAAM,MAAM,CAAC,OAAO,CAAC,GAAG;YACjC;QACA,aAAa4D,CAAAA,WAAa;gBACxB,GAAGA,QAAQ;gBACX,OAAO;YACT;QACA,YAAYA,CAAAA,WAAa;gBACvB,GAAGA,QAAQ;gBACX,iBAAiB5D,MAAM,MAAM,CAAC,OAAO,CAAC,GAAG;gBACzC,cAAcA,MAAM,KAAK,CAAC,EAAE;YAC9B;QACA,iBAAiB4D,CAAAA,WAAa;gBAC5B,GAAGA,QAAQ;gBACX,OAAO5D,MAAM,MAAM,CAAC,OAAO,CAAC,IAAI;YAClC;QACA,kBAAkB4D,CAAAA,WAAa;gBAC7B,GAAGA,QAAQ;gBACX,QAAQ;gBACR,WAAW;oBACT,OAAO5D,MAAM,MAAM,CAAC,KAAK,CAAC,GAAG;oBAC7B,iBAAiBA,MAAM,MAAM,CAAC,KAAK,CAAC,GAAG;gBACzC;YACF;QACA,MAAM4D,CAAAA,WAAa;gBACjB,GAAGA,QAAQ;gBACX,QAAQ;gBACR,WAAW;gBACX,YAAY;YACd;IACF;AAEA,SAASX,YAA0D,EACjE5B,KAAK,EACL4F,YAAY,EAAE,EACdtF,SAAS,EACTuF,YAAY,EACZ,GAAG/Q,OACY;IACf,MAAM6J,QAAQ9D,+CAAQA;IACtB,MAAMwH,SAASxM,kCAAOA,CACpB,IAAOgQ,eAAeA,aAAaF,SAAkBhH,UAAUgH,SAAkBhH,QACjF;QAACA;QAAOkH;KAAa;IAEvB,MAAM,EAAErE,UAAU,EAAEG,aAAa,CAAC,CAAC,EAAE,GAAG7M;IAExC,MAAMgR,6BACJ,+CAACT,yCAAMA;QACJ,GAAGvQ,KAAK;QACT,QAAQ;YACN,GAAGuN,MAAM;YACT,GAAGvN,MAAM,MAAM;QACjB;QACA,iBAAgB;QAChB,YAAY;YACV,SAAS0Q,iCAAqB;YAC9B,gBAAgBD,+CAAmC;YACnDR,mBAAmBA,2DAAAA;YACnB,mBAAmBO,qDAAyC;YAC5D,UAAUG,mCAAuB;YACjC,QAAQC,+BAAmB;YAC3B,oBAAoB;YACpB,GAAG/D,UAAU;QACf;QACA,gEAAgE;QAChE,WAAWiE;;IAIf,IAAItF,WAAW,OAAOwF;IAEtB,qBACE,+CAAC,aACEA,cACA9F,SAAS,CAACwB,4BACT,+CAACjC,+CAAmBA;QAAC,SAAS;OAAcS;AAIpD;AAEA,mEAAepK,+BAAIA,CAACgM,YAAYA,EAAuB;;;;;;;;;;;;;ACnIZ;AACJ;AAE4B;AAsBnE,SAASmE,gBAAgBjR,KAAmB;IAC1C,IAAIA,MAAM,QAAQ,EAAE;QAClB,OAAOA,MAAM,KAAK,EAAE,OAAO,QAAQ;IACrC;IACA,IAAIA,MAAM,KAAK,EAAE;QACf,OAAOA,MAAM,KAAK,EAAE,OAAO,MAAM;IACnC;IACA,IAAIA,MAAM,KAAK,EAAE;QACf,OAAOA,MAAM,KAAK,EAAE,OAAO,QAAQ;IACrC;IAEA,OAAOA,MAAM,KAAK,EAAE,OAAO,QAAQ;AACrC;AAEA,SAASkR,oBAAoBlR,KAAmB;IAC9C,OAAOA,MAAM,QAAQ,IAAIA,MAAM,KAAK,GAAG,YAAYA,MAAM,KAAK,EAAE,OAAO,QAAQ;AACjF;AAEA,MAAM+D,UAAU/C,kDAId,CAAC;;;;;gBAKa,EAAEiQ,gBAAgB;EAChC,EAAE1G,0CAAcA,CAAC;kBACD,EAAE2G,oBAAoB;;AAExC,CAAC;AAEc,SAASC,WAAWnR,KAAY;IAC7C,MAAM,EAAEiD,QAAQ,EAAEyJ,UAAU,EAAEpB,UAAU,EAAEC,WAAW,EAAEL,KAAK,EAAE,GAAGlL;IACjE,MAAM,CAAC6L,OAAOC,SAAS,GAAGxM,yCAAc,CAAC;IAEzC,MAAM8R,UAAU/G,sCAAWA,CAAC;QAC1ByB,SAAS;IACX,GAAG;QAACA;KAAS;IACb,MAAMuF,SAAShH,sCAAWA,CAAC;QACzByB,SAAS;IACX,GAAG;QAACA;KAAS;IAEb,MAAMwF,gBAAgB,OAAOrO,aAAa,cAAcA,WAAWyJ;IAEnE,qBACE,+CAAC,2BACC,+CAACnC,0CAAcA;QAAC,UAAU+G;QAAe,OAAOzF;QAAO,OAAOX;qBAC5D,+CAAC;QAAI,OAAO;YAAE,OAAO;YAAO,QAAQ;QAAO;OACxCI,WAAW;QACVJ;QACAkG;QACAC;QACA,UAAUC;QACV,YAAYA;IACd,mBAEF,+CAACvN;QAAQ,OAAO8H;QAAO,UAAU5I;QAAU,OAAOiI;sBAClD,+CAAC;QAAI,OAAO;YAAE,OAAO;YAAO,QAAQ;QAAO;OACxC,OAAOK,gBAAgB,aACpBA,YAAY;QACVL;QACAkG;QACAC;QACA,UAAUC;QACV,YAAYA;IACd,KACA/F,eAGPL,SAAS,CAACjI,0BAAY,+CAACwH,+CAAmBA,QAAES;AAGnD;;;;;;;;;;;;;;ACnG0B;AACa;AACD;AACD;AAErC,MAAM5J,YAAYN,4CAAMA,CAACI,4CAAIA,EAAE,KAAK,CAAC;IAAE,YAAY;IAAU,eAAe;AAAM,EAAE,CAAC;;cAEvE,EAAEqC,CAAAA,IAAKA,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;;;;;;;;;;;AAWtC,CAAC;AAED,MAAMwH,QAAQjK,oDAAY,CAAC;;;AAG3B,CAAC;AAED,MAAMwL,QAAQxL,4CAAMA,CAAClB,6CAAIA,CAAC,CAAC;;;;AAI3B,CAAC;AAED,MAAMyR,WAAWvQ,kDAAU,CAAC;qBACP,EAAEyC,CAAAA,IAAKA,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;sBACxB,EAAEA,CAAAA,IAAKA,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;uBACvB,EAAEA,CAAAA,IAAKA,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;;;;;cAKjC,EAAEzD,CAAAA,QAASA,MAAM,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;iBACvC,EAAEyD,CAAAA,IAAKA,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;;;;;;;;;;;;;uBAalB,EAAEzD,CAAAA,QAASA,MAAM,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;oBAC7C,EAAEyD,CAAAA,IAAKA,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;;;;;;;gBAO5B,EAAEzD,CAAAA,QAASA,MAAM,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;mBAC1C,EAAEyD,CAAAA,IAAKA,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;;;;;;;;;;;uBAWrB,EAAEA,CAAAA,IAAKA,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;wBACvB,EAAEA,CAAAA,IAAKA,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;;;;sBAI1B,EAAEzD,CAAAA,QAASA,MAAM,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;;;;sBAI1C,EAAEA,CAAAA,QAASA,MAAM,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;;;;EAI9D,EAAEiL,MAAM;gBACM,EAAEjL,CAAAA,QAASA,MAAM,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;;;;;;;kBAOxC,EAAEA,CAAAA,QAASA,MAAM,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;;;;kBAI1C,EAAEA,CAAAA,QAASA,MAAM,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;;;AAG7D,CAAC;AAYD,MAAMwR,SAAS,CAAC,EACdpR,IAAI,EACJ8J,OAAO,EACPkB,QAAQ,EACRuB,KAAK,EACL1J,QAAQ,EACRwO,QAAQ,EACRnO,IAAI,EACQ;IACZ,MAAMoO,qBAAqB,CAACzF;QAC1B,IAAIA,EAAE,GAAG,CAAC,KAAK,CAAC,WAAWb,SAASa;IACtC;IAEA,MAAM0F,cAAc,CAAC1F;QACnB,IAAI,CAAChJ,UAAUmI,SAASa;IAC1B;IAEA,qBACE,+CAAC3K;QACC,MAAK;QACL,iBAAemQ;QACf,iBAAexO;QACf,SAAS0O;QACT,UAAU;QACV,gBAAczH;QACd,WAAWwH;qBAEX,+CAACzG;QAAM,MAAK;QAAW,MAAM7K;QAAM,IAAIA;QAAM,UAAU6C;QAAU,SAASiH;sBAC1E,+CAACqH;QAAS,aAAWjO;QACpBqJ,sBAAQ,+CAACH;QAAM,SAAQ;OAAaG,SAAiB;AAG5D;AAEA,sDAAe6E,MAAMA,EAAC;;;;;;;;;;;;;;;;;;;;;;;;ACnJmB;AACY;AAChB;AACC;AACe;AAErD,MAAMO,eAAe/Q,oCAAMA,CAACI,mBAAIA,CAAC,CAAC;;;;AAIlC,CAAC;AACD,MAAM4Q,aAAahR,oCAAMA,CAACI,mBAAIA,CAA0B,CAAC;;;;AAIzD,CAAC;AAED,MAAM6Q,aAAajR,oCAAMA,CAAClB,mBAAIA,CAA0B,CAAC;;;;;SAKhD,EAAE2D,CAAAA,IAAMA,EAAE,UAAU,GAAGA,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,GAAGA,EAAE,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAE;;AAEnG,CAAC;AAUD,MAAMyO,eAAe,CAAK,EACxBC,MAAM,EACNC,cAAc,EACdC,kBAAkB,EAClB1F,KAAK,EACLnN,KAAK,EACgB;IACrB,MAAM8S,aAAaF,mBAAmBD;IAEtC,qBACE,uCAACJ;QAAa,OAAOvS;QAAO,SAAS,IAAM6S,mBAAmBF;qBAC5D,uCAACH;QAAW,YAAYM;qBACtB,uCAACL;QAAW,YAAW;QAAW,YAAYK;OAC3C3F;AAKX;AASe,SAAS4F,YAAuC,EAC7DC,OAAO,EACPJ,cAAc,EACdC,kBAAkB,EAClBI,MAAM,EACwB;IAC9B,MAAM,EAAErM,MAAM,EAAE,GAAGL,wCAAQA;IAE3B,MAAM2M,gBACJD,MAAM,CAACD,OAAO,CAAC,EAAE,CAAC,CAAC,MAAM,GAAGC,MAAM,CAACD,OAAO,CAAC,EAAE,CAAC,CAAC,MAAM,GAAGA,OAAO,CAAC,EAAE,GAAGA,OAAO,CAAC,EAAE;IAEjF,MAAMG,cAAc;IACpB,MAAMC,SAAS;IACf,MAAMpT,QAAQiT,MAAM,CAACC,cAAc,CAAC,MAAM,GAAGC,cAAcC;IAC3D,MAAMC,YAAYrT,QAAQ;IAC1B,MAAMsT,WAAWhB,uDAAYA;IAE7BF,6BAASA,CAAC;QACRkB,SAAS,KAAK,CAAC;YACb,GAAGV,mBAAmBI,OAAO,CAAC,EAAE,GAAG,CAACK,YAAYA;YAChD,YAAY;gBAAE,MAAM;gBAAU,SAAS;gBAAI,WAAW;YAAI;QAC5D;IACF,GAAG;QAACT;QAAgBU;QAAUN;QAASK;KAAU;IAEjD,qBACE,uCAACzR,eAAIA;QACH,eAAe;QACf,gBAAgB;QAChB,YAAY;QACZ,OAAO5B,QAAQ,IAAI;QACnB,QAAQ;QACR,cAAc;QACd,IAAI4G,OAAO,cAAc,CAAC,GAAG;QAC7B,UAAU;qBAEV,uCAACyL,iDAAU;QACT,OAAO;YACL,UAAU;YACV,OAAOrS;YACP,QAAQ;YACR,iBAAiB4G,OAAO,OAAO,CAAC,GAAG;YACnC,cAAc;QAChB;QACA,SAAS0M;QAEVN,QAAQ,GAAG,CAACL,CAAAA,uBACX,uCAACD;YACC,OAAO1S;YACP,KAAK2S;YACL,QAAQA;YACR,gBAAgBC;YAChB,oBAAoBC;YACpB,OAAOI,MAAM,CAACN,OAAO;;AAK/B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtH+C;AACE;AACA;AACM;AACA;AACA;AACI;AAChB;AACY;AACA;AACF;AACR;AACU;;;;;;;;;;;;;;;;;;;ACZe;AAC/B;AAEY;AACR;AACF;AACH;AACP;AAEF;AAcd,SAASa,WAAW,EACjCvS,KAAK,EACLwS,GAAG,EACHC,WAAW,EACXC,gBAAgB,EAChBC,GAAG,EACHC,KAAK,EACLzK,OAAO,EACP0K,OAAO,EACP,GAAGC,UACG;IACN,MAAMC,cAAiClK,CAAAA;QACrCA,MAAM,eAAe;QACrBgK,UAAUhK;IACZ;IACA,MAAMqI,cAAiCrI,CAAAA;QACrCA,MAAM,eAAe;QACrBV,QAAQU;IACV;IAEA,qBACE,+CAACzC;QAAS,GAAG0M,QAAQ;QAAE,OAAOF;QAAO,KAAKD;QAAK,SAASzB;OACrDyB,qBAAO,+CAACK,iBAAWL,oBACpB,+CAACM,aAAOjT,QACPyS,6BAAe,+CAACS;QAAK,UAAUR;OAAmBD,4BACnD,+CAAC9R,6BAAIA;QAAC,WAAW;OAAI6R,MACpBK,yBACC,+CAACP,sCAAaA;QAAC,iBAAgB;qBAC7B,+CAACa;QAAY,eAAY;QAA8B,SAASJ;;AAK1E;AAEA,MAAMC,YAAYzS,4CAAMA,CAAC0C,oCAAGA,EAAE,KAAK,CAAC;IAAE,MAAM;IAAU,MAAM;IAAS,QAAQ;AAAK,EAAE,CAAC;;oBAEjE,EAAED,CAAAA,IAAKA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;AACtD,CAAC;AAED,MAAMiQ,QAAQ1S,4CAAMA,CAAClB,6CAAIA,EAAE,KAAK,CAAC;IAAE,SAAS;AAAU,EAAE,CAAC;;;;AAIzD,CAAC;AAED,MAAM6T,OAAO3S,4CAAMA,CAAClB,6CAAIA,EAAE,KAAK,CAAC;IAAE,SAAS;IAAS,OAAO;AAAc,EAAE,CAAC;;;;;;AAM5E,CAAC;AAED,MAAM+G,UAAU7F,4CAAMA,CAACI,iCAAIA,CAA+B,CAAC;oBACvC,EAAEqC,CAAAA,IAAKA,EAAE,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC;oBACtC,EAAEA,CAAAA,IAAMA,EAAE,KAAK,GAAG,CAAC,KAAK,EAAEA,EAAE,KAAK,CAAC,EAAE,CAAC,GAAG,OAAQ;;;;;;;eAOrD,EAAEA,CAAAA,IAAMA,EAAE,GAAG,GAAG,SAAS,OAAQ;;;;;;;;AAQhD,CAAC;AAED,MAAMmQ,cAAc5S,4CAAMA,CAAC0H,oCAAMA,EAAE,KAAK,CAAC;IACvC,oBAAM,+CAAC1C,8BAAW;QAAC,MAAK;;IACxB,YAAY;IACZ,SAAS;AACX,EAAE,CAAC;oBACiB,EAAEvC,CAAAA,IAAKA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;AAUtD,CAAC;;;;;;;;;;;;;;;;AC/GqE;AAC/B;AAGa;AACX;AAEN;AAcpB,SAASoQ,iBAAiB,EACvCpT,KAAK,EACLwS,GAAG,EACH1S,IAAI,EACJ2S,WAAW,EACXY,aAAa,EACblL,OAAO,EACP,GAAG2K,UACG;IACN,MAAMQ,iBAAoCzK,CAAAA;QACxCA,MAAM,eAAe;QACrBV,QAAQU;IACV;IAEA,qBACE,+CAACzC;QAAS,GAAG0M,QAAQ;QAAE,eAAeO;QAAe,SAASC;qBAC5D,+CAACvN,oCAAgBA;QAAC,MAAMjG;QAAM,SAASuT,gBAAgB,WAAW;sBAClE,+CAAC1S,6BAAIA;QAAC,eAAc;QAAS,QAAQ0S,gBAAgB,QAAQ;OAC1DrT,uBACC,+CAACX,yCAAIA;QAAC,SAAQ;QAAU,UAAU;OAC/BW,QAGJyS,6BACC,+CAACS;QAAK,OAAOG,gBAAgB,iBAAiB;OAAgBZ,cAE/DD;AAIT;AAEA,MAAMU,OAAO3S,4CAAMA,CAAClB,6CAAIA,EAAE,KAAK,CAAC;IAAE,SAAS;AAAQ,EAAE,CAAC;;;;;AAKtD,CAAC;AAED,MAAM+G,UAAU7F,4CAAMA,CAACG,iCAAIA,CAA+B,CAAC;oBACvC,EAAE,CAAC,EAAE2S,aAAa,EAAE,OAAO,EAAE1N,MAAM,EAAE,EAAE;IACvD,IAAI,CAAC0N,eAAe,OAAO;IAC3B,OAAO1N,OAAO,IAAI,KAAK,SAASA,OAAO,cAAc,CAAC,GAAG,GAAGA,OAAO,OAAO,CAAC,GAAG;AAChF,EAAE;;;;;OAKG,EAAE3C,CAAAA,IAAMA,EAAE,aAAa,GAAG,SAAS,OAAQ;;;;;AAKlD,CAAC;;;;;;;;;AC1E0D;AAI3D,MAAMwC,MAAMpD,uCAA+B,CAAC,CAAC;AAE7C,sDAAeoD,GAAGA,EAAC;;;;;;;;;;;;;;ACNO;AACa;AACC;AAMjC,SAAS+N,aAAahU,KAAY;IACvC,qBACE,+CAACiU,uBAA0BjU,qBACzB,+CAACgG,oCAAiB;AAGxB;AAMA,MAAMiO,wBAAwBjT,qDAA6B,CAAC;;;;;;;;;QASpD,EAAE,CAAC,EAAEkT,SAAS,EAAE,GAAMA,cAAc,SAAS,MAAM,OAAQ;SAC1D,EAAE,CAAC,EAAEA,SAAS,EAAE,GAAMA,cAAc,SAAS,SAAS,IAAK;;;SAG3D,EAAE,CAAC,EAAEA,SAAS,EAAE,GAAMA,cAAc,SAAS,MAAM,KAAM;;;;oBAI9C,EAAE,CAAC,EAAErK,KAAK,EAAE,GAAKA,MAAM,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC;;;;;;;;;;;sBAW/C,EAAE,CAAC,EAAEA,KAAK,EAAE,GAAKA,MAAM,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC;kBACrD,EAAE,CAAC,EAAEA,KAAK,EAAE,GAAKA,MAAM,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC;;;;;;WAMxD,EAAE,CAAC,EAAEA,KAAK,EAAE,GAAKA,MAAM,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;;;;;;;;;;;;;;AActD,CAAC;;;;;;;;;;;;;;;;;;;;;ACrEyB;AACyB;AACN;AACR;AAErC,MAAMyK,qBAAqB;IACzB,QAAQ;IACR,cAAc;IACd,aAAa;IACb,SAAS;AACX;AAEA,MAAMC,kBAAkB;IACtB,MAAM,EAAEnO,MAAM,EAAE,GAAGL,wCAAQA;IAE3B,MAAMyO,cASF;QACF,CAACH,uBAAiB,CAAC,EAAE;YACnB,GAAGC,kBAAkB;YACrB,OAAO;YACP,iBAAiBlO,OAAO,cAAc,CAAC,GAAG;QAC5C;QACA,CAACiO,uBAAiB,CAAC,EAAE;YACnB,GAAGC,kBAAkB;YACrB,OAAO;YACP,iBAAiBlO,OAAO,cAAc,CAAC,GAAG;QAC5C;QACA,CAACiO,oBAAc,CAAC,EAAE;YAChB,GAAGC,kBAAkB;YACrB,OAAO;YACP,iBAAiBlO,OAAO,cAAc,CAAC,GAAG;QAC5C;QACA,CAACiO,qBAAe,CAAC,EAAE;YACjB,GAAGC,kBAAkB;YACrB,OAAO;YACP,SAAS;YACT,iBAAiBlO,OAAO,cAAc,CAAC,GAAG;YAC1C,aAAa;QACf;IACF;IAEA,OAAOoO;AACT;AAEA,MAAMC,SAAS,CAAC,EAAE1R,IAAI,EAAwB;IAC5C,MAAM2R,cAAcN,mDAASA,CAACG,iBAAiB,CAACxR,KAAK;IACrD,kGAAkG,GAClG,0EAA0E,GAC1E,qBAAO,uCAACoR,kDAAY,EAAM;QAAE,OAAOO;IAAY;AACjD;AAEA,sCAAeD,MAAMA,EAAC;;;;;;;;;;;;;;AC3DI;AACa;AAER;AACS;AAExC,MAAMG,wBAAwB5T,kDAAU,CAAC;;;AAGzC,CAAC;AAED,MAAM6T,aAAa,CAAC,EAAElR,QAAQ,EAAEmR,YAAY,EAAY;IACtD,qBACE,+CAACF,6BACEjR,SAAS,GAAG,CAAC,CAACoR,OAAOpS,sBACpB,+CAAC8R,oCAAMA;YAAC,KAAKM,MAAM,GAAG;YAAE,MAAMJ,yCAAaA,CAAChS,OAAOmS,cAAcnR,SAAS,MAAM;;AAIxF;AAEA,sDAAekR,UAAUA,EAAC;;;;;;;;ACrBnB,IAAKR,oCAAAA;;;;;WAAAA;MAKX;;;;;;;;;ACLoC;AAErC;;CAEC,GACM,MAAMM,gBAAgB,CAACK,WAAmBC,aAAqBC;IACpE,MAAMC,WAAWH,cAAcC;IAC/B,IAAIE,UAAU;QACZ,OAAOd,yCAAiB;IAC1B;IAEA,MAAMe,aAAaC,KAAK,GAAG,CAACL,YAAYC,iBAAiB;IACzD,IAAIG,YAAY;QACd,OAAOf,yCAAiB;IAC1B;IAEA,MAAMiB,SAASN,cAAc,KAAKA,cAAcE,YAAY;IAC5D,OAAOI,SAASjB,sCAAc,GAAGA,yCAAiB;AACpD,EAAE;;;;;;;;;;;;AClBgC;AAEmB;AACR;AAE7C,MAAMoB,UAA8C;IAClD,gBAAgBF,+CAAiBA;IACjC,SAASC,2CAAaA;AACxB;AAEA,MAAME,SAAS,CAAC1V;IACd,IAAIA,MAAM,QAAQ,CAAC,MAAM,KAAK,GAAG,OAAO;IAExC,MAAM6F,YAAY4P,OAAO,CAACzV,MAAM,OAAO,CAAC;IACxC,qBAAO,+CAAC6F,WAAc7F;AACxB;AAEA,sDAAe0V,MAAMA,EAAC;;;;;;;;;;;;;;;ACjB2C;AACvC;AACa;AACD;AAGtC,MAAMG,kBAAkB7U,kDAAU,CAAC;;wBAEX,EAAEyC,CAAAA,IAAKA,EAAE,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC;;;;AAIjE,CAAC;AAED,MAAMqS,wBAAwB9U,kDAAU,CAAC;;;;AAIzC,CAAC;AAED,MAAM+U,uBAAuB/U,kDAAU,CAAC;;;;AAIxC,CAAC;AAED,MAAMuU,oBAAoB,CAAC,EAAE5R,QAAQ,EAAEqS,QAAQ,EAAElB,YAAY,EAAErO,OAAO,EAAY;IAChF,qBACE,+CAACoP,qCACC,+CAAChB,uCAAUA;QACT,SAASpO;QACT,UAAU9C;QACV,UAAUqS;QACV,cAAclB;sBAGhB,+CAACgB,2CACC,+CAACC;QAAqB,SAAS,IAAMC,UAAU;qBAC7C,+CAACL,mDAASA;QAAC,MAAK;uBAElB,+CAACI;QAAqB,SAAS,IAAMC,UAAU;qBAC7C,+CAACJ,oDAAUA;QAAC,MAAK;;AAK3B;AAEA,sDAAeL,iBAAiBA,EAAC;;;;;;;;;;;;;AChDP;AACa;AACD;AAGtC,MAAMM,kBAAkB7U,kDAAU,CAAC;;;;;AAKnC,CAAC;AAED,MAAMwU,gBAAgB,CAACxV;IACrB,qBACE,+CAAC6V,qCACC,+CAAChB,uCAAUA,EAAK7U;AAGtB;AAEA,sDAAewV,aAAaA,EAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnBkB;AACK;AACb;AACkC;AAClC;AACT;AAEgB;AAE9C,MAAMY,QAAQpV,0CAAU,CAAC;;AAEzB,CAAC;AAED,MAAMqV,iBAAiBrV,0CAAU,CAAC;;AAElC,CAAC;AAED,MAAMsV,aAAatV,0CAAU,CAAC;;;;;;;AAO9B,CAAC;AAED,MAAMuV,oBAAoBvV,0CAAkC,CAAC;;;;;;;AAO7D,CAAC;AAED;;CAEC,GACD,MAAMwV,WAAW,CAAC,EAChB7S,QAAQ,EACR8C,UAAU,SAAS,EACnBgQ,eAAe,CAAC,EAChBC,WAAW,CAAC,EACZC,MAAM,EACNC,MAAM,EACA;IACN,MAAM,CAAC9B,cAAc+B,gBAAgB,GAAG5O,4BAAQA,CAAC;IACjD,MAAM,CAAC6O,iBAAiBC,mBAAmB,GAAG9O,4BAAQA,CAAU;IAEhE,MAAM+O,UAAUjW,2BAAOA,CACrB,IAAO+V,mBAAmBJ,WAAW;YAACT,0CAAQA,CAAC;gBAAE,OAAOS;gBAAU,GAAGO,aAAa;YAAC;SAAG,GAAG,EAAE,EAC3F;QAACH;QAAiBJ;KAAS;IAG7B,MAAM,CAACQ,UAAUlB,SAAS,GAAGE,uCAAgBA,CAAC;QAAE,MAAM;IAAK,GAAGc;IAE9DpF,6BAASA,CAAC;QACR,IAAI8E,UAAU;YACZ,MAAMS,QAAQC,WAAW,IAAML,mBAAmB,OAAON;YACzD,OAAO,IAAMY,aAAaF;QAC5B;IACF,GAAG;QAACT;KAAS;IAEb,MAAMY,cAAcjN,+BAAWA,CAAC;QAC9B,IAAI,CAAC2L,UAAU;QAEf,MAAMuB,WAAWvB,SAAS,kBAAkB;QAC5Ca,gBAAgBU;QAChBvB,SAAS,QAAQ,CAACuB;IACpB,GAAG;QAACvB;KAAS;IAEbpE,6BAASA,CAAC;QACR,IAAI,CAACoE,UAAU;QAEf,wCAAwC;QACxCsB;QAEA,MAAME,QAAQC,WAAWzB;QAEzB,wCAAwC;QACxC,MAAM0B,kBAAkBvB,kBAAQA,CAAC,CAACwB;YAChCL;YACA,IAAI,CAACK,iBAAiBlR,YAAY,WAAW,QAAQ,sEAAsE;YAC3H,IAAI+Q,MAAM,KAAK,GAAG,GAAG,OAAOZ;YAC5B,IAAIY,MAAM,KAAK,GAAG,GAAG,OAAOb;QAC9B,GAAG,IAAI,8EAA8E;QAErFX,SAAS,EAAE,CAAC,UAAU4B;QACtB5B,SAAS,EAAE,CAAC,mBAAqC6B;QACjD7B,SAAS,EAAE,CAAC,eAAiC8B;QAC7C9B,SAAS,EAAE,CAAC,eAAiC+B;QAE7C,oDAAoD;QACpD/B,SAAS,EAAE,CAAC,UAAUsB;QAEtB,OAAO;YACLE,MAAM,KAAK;YACXxB,SAAS,GAAG,CAAC,UAAU4B;YACvB5B,SAAS,GAAG,CAAC,mBAAqC6B;YAClD7B,SAAS,GAAG,CAAC,eAAiC8B;YAC9C9B,SAAS,GAAG,CAAC,eAAiC+B;YAC9C/B,SAAS,GAAG,CAAC,UAAUsB;QACzB;QAEA,SAASM;YACPF,gBAAgB,OAAO,kGAAkG;QAC3H;QACA,SAASG;YACPH,gBAAgB;QAClB;QACA,SAASI;YACP9B,UAAU;YACVY;YACAc,gBAAgB;QAClB;QACA,SAASK;YACP/B,UAAU;YACVW;YACAe,gBAAgB;QAClB;IACF,GAAG;QAAC1B;QAAUsB;QAAa7Q;KAAQ;IAEnC,IAAI,CAAC9C,SAAS,MAAM,EAAE,OAAO;IAE7B,MAAMqU,sBAAsB,IAAMhC,UAAU,KAAK;IACjD,MAAMiC,sBAAsB,IAAMjC,UAAU,KAAK;IAEjD,qBACE,uCAAC,2BACC,uCAACO;QAAkB,SAAS9P;OACzBA,YAAY,aAAa9C,SAAS,MAAM,GAAG,mBAC1C,gGACE,uCAACqQ,yBAAYA;QACX,eAAY;QACZ,WAAU;QACV,SAASgE;sBAEX,uCAAChE,yBAAYA;QACX,eAAY;QACZ,WAAU;QACV,SAASiE;uBAKf,uCAAC7B;QAAM,KAAKc;qBACV,uCAACb,sBACE1S,SAAS,GAAG,CAACoR,CAAAA,sBACZ,uCAACuB;YAAW,KAAKvB,MAAM,GAAG;WAAGA,0BAMrC,uCAACW,iBAAMA;QACL,UAAU/R;QACV,SAAS8C;QACT,UAAUuP;QACV,cAAclB;;AAItB;AAEA,8CAAe0B,QAAQA,EAAC;AAExB,MAAMS,gBAAgB;IACpB,MAAM;IACN,kBAAkB;IAClB,mBAAmB;AACrB;AAEA,SAASQ,WAAWzB,QAA2B;IAC7CA,SAAS,EAAE,CAAC,eAAekC;IAE3B,IAAIC;IACJ,IAAIC;IAEJ,OAAO;QACL,IAAI,SAAQ;YACV,OAAO,OAAOD,UAAU,eAAe,OAAOC,QAAQ,cAAc,IAAIA,MAAMD;QAChF;QACA,OAAO;YACLnC,SAAS,GAAG,CAAC,eAAekC;YAC5BG,SAAS,mBAAmB,CAAC,WAAWC;QAC1C;IACF;IAEA,SAASJ;QACPG,SAAS,gBAAgB,CAAC,aAAaE;QACvCF,SAAS,gBAAgB,CAAC,WAAWC;IACvC;IACA,SAASC,gBAAgBjP,KAAiB;QACxC+O,SAAS,mBAAmB,CAAC,aAAaE;QAC1CJ,QAAQ7O,MAAM,OAAO;QACrB8O,MAAMjV;IACR;IACA,SAASmV,cAAchP,KAAiB;QACtC+O,SAAS,mBAAmB,CAAC,WAAWC;QACxCF,MAAM9O,MAAM,OAAO;IACrB;AACF;;;;;;;;;;;;AC1MsD;AAEhB;AACW;AAalC,SAASkP,qBAAqB,EAC3C/X,KAAK,EACLwS,GAAG,EACHC,WAAW,EACXE,GAAG,EACHC,KAAK,EACLzK,OAAO,EACP0K,OAAO,EACmB;IAC1B,qBACE,+CAACN,8CAAUA;QACT,OAAOvS;QACP,KACEwS,qBACE,+CAACvK,gCAAMA;YAAC,SAAQ;YAAO,SAAS;WAC7BuK;QAIP,aAAaC;QACb,KAAKE;QACL,OAAOC;QACP,SAASzK;QACT,SAAS0K;;AAGf;;;;;;;;;;;;;;;;;;;;;;;;AC1C2C;AACV;AACM;AACS;AACuB;AACR;AACQ;AAEP;AACA;AAC1B;AACA;AAE/B,IAAKuF,0BAAAA,gDAAAA,SAAAA;;;WAAAA;QAGX;AAED,MAAMvX,YAAYN,4CAAMA,CAACnB,qCAAOA,CAAC,CAAC;;;;AAIlC,CAAC;AAED,MAAMgH,UAAU7F,4CAAMA,CAACnB,qCAAOA,CAE5B,CAAC;;SAEM,EAAE4D,CAAAA,IACPA,EAAE,GAAG,GAAGA,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,GAAGA,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;;;;WAI7E,EAAEA,CAAAA,IAAKA,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;AACtC,CAAC;AAED,MAAMqV,UAAU9X,kDAAoC,CAAC;;;mBAGlC,EAAEyC,CAAAA,IAAMA,EAAE,SAAS,cAAsB,aAAa,aAAc;;;;;;oBAMnE,EAAEA,CAAAA,IAAKA,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC;AAC3D,CAAC;AAED,MAAMsV,gBAAgB/X,4CAAMA,CAACnB,qCAAOA,CAAC,CAAC;;;;AAItC,CAAC;AAED,MAAMmZ,oBAAoBhY,kDAAU,CAAC;aACxB,EAAEyC,CAAAA,IAAKA,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;AACtC,CAAC;AAsBD,MAAMwV,8BAAgB3Z,2CAAgB,CACpC,CACE,EACE8N,MAAM,EACN3M,KAAK,EACLkD,QAAQ,EACRuV,MAAM,EACNC,GAAG,EACH7F,OAAO,EACP8F,eAAe,EACfC,wBAAwB,IAAM,CAAC,EAC/BC,MAAM,EACNC,mBAAmB,EACnBC,gBAAgB,EAChBC,gBAAgB,EAChBC,uBAAuB,EACvBC,sBAAsB,KAAK,EAC3BC,iBAAiB,IAAI,EACrB1F,kBAA0B,EACd,EACdrL;IAEA,MAAMgR,yBAAyBxP,sCAAWA,CACxC,IAAMgP,sBAAsB,QAC5B;QAACA;KAAsB;IAEzB,MAAMS,wBAAwBzP,sCAAWA,CACvC,IAAMgP,sBAAsB,OAC5B;QAACA;KAAsB;IAGzB,MAAMU,sBAAsB1P,sCAAWA,CAAC;QACtC,IAAI,CAACsP,qBAAqB;YACxBrG;QACF;IACF,GAAG;QAACA;QAASqG;KAAoB;IAEjC,MAAMK,uBAAuB3P,sCAAWA,CAAC,CAAC4B;QACxCA,EAAE,eAAe;IACnB,GAAG,EAAE;IAEL,qBACE,+CAAC2M,wDAAeA;QACd,IAAIxL;QACJ;QACA;QACA;QACA,YAAYyM;QACZ,WAAWC;QACX,WAAWD;qBAEX,+CAACf;QAAQ,WAAW5E;QAAW,SAAS6F;QAAqB,KAAKlR;qBAChE,+CAAC8P,wDAAeA;QACd,IAAIvL;QACJ,WAAW8G;QACX;QACA;QACA;QACA;QACA;qBAEA,+CAACrN;QACC,KAAKsS;QACL,SAASa;QACT,iBAAiBZ,mBAAmB;qBAEpC,+CAAC9X,+BACC,+CAACzB,iCAAOA;QACN,gBAAe;QACf,YAAW;QACX,GAAG;QACH,IAAI;QACH,GAAG2Z,gBAAgB;OAEnB,CAACI,gCACA,kGACGN,UAAU,qBACT,+CAAC5Q,uCAAMA;QAAC,SAAQ;QAAU,SAAS4Q;QAAQ,MAAM3D,2EAASA;uBAE1D,+CAACqD,yCAIP,+CAAClZ,yCAAIA;QAAC,SAAS;QAAM,MAAM;QAAG,WAAU;OACrCW,sBAEH,+CAACZ,iCAAOA;QAAC,WAAU;qBACjB,+CAAC6I,uCAAMA;QAAC,SAAQ;QAAU,SAAS4K;QAAS,MAAMoF,uEAAKA;wBAG3D,+CAACK;QACC,eAAc;QACd,YAAW;QACX,UAAS;QACT,UAAS;QACT,GAAG;QACH,IAAI;QACJ,MAAM;QACL,GAAGQ,mBAAmB;OAEtB5V,WAEFuV,wBACC,gHACE,+CAACnV,6CAAOA,EAAK2V,wCACb,+CAAC7Z,iCAAOA;QAAC,YAAW;QAAS,IAAI;QAAG,IAAI;QAAK,GAAG4Z,gBAAgB;OAC7DP;AAUrB;AAGF,MAAMe,SAAS,CACb,EAAEtW,QAAQ,EAAEuW,gBAAgB,EAAE,GAAGC,WAAwB,EACzDtR;IAEA,MAAMuR,QAAQ9a,wCAAa,CACzB,IACE4a,qBAAqB/W,aAAa,OAAOkV,aAAa,cAClDA,SAAS,aAAa,CAAC,UACvB6B,kBACN;QAACA;KAAiB;IAEpB,IAAI,CAACE,OAAO;QACV,qBACE,+CAACnB;YAAc,KAAKpQ;YAAM,GAAGsR,SAAS;WACnCxW;IAGP,OAAO;QACL,qBAAO8U,iDAAqB,eAC1B,+CAACQ;YAAc,KAAKpQ;YAAM,GAAGsR,SAAS;WACnCxW,WAEHyW;IAEJ;AACF;AAEA,mEAAe9a,2CAAgB,CAAC2a,OAAOA,EAAC;;;;;;;;;AChOmB;AAE3D,MAAMpa,UAAUgD,6CAAoB,CAAmC;IAAE,SAAS;AAAO,EAAE,CAAC,CAAC;AAG7F,sDAAehD,OAAOA,EAAC;;;;;;;;;;;ACLyB;AACW;AAO3D,SAASya,WAAWta,KAAY;IAC9B,MAAM,EAAE2B,OAAO,EAAE,GAAG3B;IACpB,OAAO2B,YAAY,SAASA,UAAU,CAAC,OAAO,EAAEA,WAAW,GAAG,kBAAkB,CAAC;AACnF;AAEA,SAAS4Y,QAAQva,KAAY;IAC3B,MAAM,EAAEwa,IAAI,EAAE,GAAGxa;IACjB,OAAO,CAACwa,OAAO,YAAYA,SAAS,SAASA,OAAO,CAAC,OAAO,EAAEA,KAAK,kBAAkB,CAAC;AACxF;AAEA,MAAMrZ,OAAO0B,uCAAqB,CAAC;;yBAEV,EAAEyX,WAAW;sBAChB,EAAEC,QAAQ;EAC9B,EAAEF,mCAAIA,CAAC;AACT,CAAC;AACD,sDAAelZ,IAAIA,EAAC;;;;;;;;;;;;;;;ACxBM;AAC2B;AACvB;AACW;AACS;AAanC,SAASsZ,aAAa,EAAEC,KAAK,EAAEC,YAAY,EAAEC,UAAU,EAAEhX,SAAS,EAAS;IACxF,MAAM,EAAEwC,MAAM,EAAE,GAAGL,+CAAQA;IAC3B,MAAM8U,uBAAuBF,gBAAgBvU,OAAO,OAAO,CAAC,GAAG;IAC/D,MAAM0U,iBAAiBF,cAAcxU,OAAO,OAAO,CAAC,GAAG;IACvD,MAAM2U,gBAAgBnX,aAAasC,yCAAIA,CAACE,OAAO,OAAO,CAAC,IAAI,EAAE;IAC7D,qBACE,+CAAChF,iCAAIA;QAAC,eAAc;QAAS,QAAQ;OAClCsZ,OAAO,IAAI,CAACM,MAAMrY,sBACjB,+CAACvB,iCAAIA;YAAC,KAAKuB;YAAO,eAAc;YAAM,YAAW;WAC9CsY,WAAWtY,QAAQ,GAAGkY,sBAAsBC,iBAE5C,OAAOE,KAAK,OAAO,KAAK,yBACvB,+CAAClb,yCAAIA;YACH,KAAK6C;YACL,UAAU;YACV,SAAQ;YACR,OAAOoY;YACP,IAAG;YACH,YAAW;YACX,MAAM;WAELC,KAAK,OAAO,IAGfA,KAAK,OAAO;AAMxB;AAEA,MAAMC,aAAa,CAACtY,OAAeuY,SAAiBxb;IAClD,qBACE,+CAACyb;QAAiB,SAASD;qBACzB,+CAACpb,yCAAIA;QAAC,OAAOJ;QAAO,YAAW;QAAM,UAAU;OAC5CiD;AAIT;AAEA,MAAMwY,mBAAmBna,4CAAMA,CAACI,qCAAIA,CAAsB,CAAC;;oBAEvC,EAAEqC,CAAAA,IAAKA,EAAE,OAAO,CAAC;;;;;AAKrC,CAAC;;;;;;;;;;;;;;;;;;;;;;;AClEyB;AACmE;AACxC;AAEQ;AAI7D,MAAM4X,aAAa;AAEnB,MAAMC,gBAAgBta,oCAAMA,CAACI,mBAAIA,CAA2C,CAAC;;qBAExD,EAAEqC,CAAAA,IAAMA,EAAE,MAAM,GAAG,IAAI4X,WAAY;;;gBAGxC,EAAE5X,CAAAA,IACdA,EAAE,MAAM,KAAK,cAAcA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,GAAGA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;cACzE,EAAEA,CAAAA,IAAKA,EAAE,MAAM,KAAK,eAAeA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;AAC5E,CAAC;AAED,MAAM8X,oBAAoB,CAAC1R,OAAc2R,QAAoBC;IAC3D,IAAIA,YAAY;QACd,IAAID,WAAW,YAAY,OAAO3R,MAAM,MAAM,CAAC,OAAO,CAAC,GAAG;QAC1D,OAAO;IACT,OAAO,IAAI2R,WAAW,UAAU;QAC9B,OAAO3R,MAAM,MAAM,CAAC,OAAO,CAAC,GAAG;IACjC,OAAO;QACL,OAAO;IACT;AACF;AAEA,MAAM6R,gBAAgB,CAAC7R,OAAc2R,QAAoBC;IACvD,IAAIA,YAAY;QACd,OAAO5R,MAAM,MAAM,CAAC,OAAO,CAAC,GAAG;IACjC,OAAO,IAAI2R,WAAW,YAAY;QAChC,OAAO3R,MAAM,MAAM,CAAC,OAAO,CAAC,GAAG;IACjC;IACA,OAAOA,MAAM,MAAM,CAAC,OAAO,CAAC,GAAG;AACjC;AAEA,MAAM8R,eAAe3a,oCAAMA,CAACI,mBAAIA,CAI9B,CAAC;;;cAGW,EAAEqC,CAAAA,IAAK8X,kBAAkB9X,EAAE,KAAK,EAAEA,EAAE,MAAM,EAAEA,EAAE,UAAU,IAAI,CAACA,EAAE,SAAS,EAAE;oBACpE,EAAEA,CAAAA,IAAKiY,cAAcjY,EAAE,KAAK,EAAEA,EAAE,MAAM,EAAEA,EAAE,UAAU,IAAI,CAACA,EAAE,SAAS,EAAE;;;;AAI1F,CAAC;AAED,MAAMmY,cAAc5a,oCAAMA,CAACI,mBAAIA,CAAC,CAAC;;;AAGjC,CAAC;AASD,MAAMya,0BAA0B;AAEhC,MAAMva,YAAYN,oCAAMA,CAACI,mBAAIA,CAAC,CAAC;;;iBAGd,EAAE,CAACya,wBAAwB;eAC7B,EAAEA,wBAAwB;AACzC,CAAC;AAED,SAASC,kBAAkB,EAAEN,MAAM,EAAEC,UAAU,EAAEM,SAAS,EAAE,GAAG/b,OAAc;IAC3E,MAAM,EAAEoG,MAAM,EAAE,GAAGL,wCAAQA;IAE3B,qBACE,uCAACzE,WAActB,qBACb,uCAAC4b,iCACC,uCAACD;QAAa,QAAQH;QAAQ,YAAYC;QAAY,WAAWM;OAC9DP,WAAW,6BACV,uCAACpa,eAAIA;QAAC,UAAS;qBACb,uCAACga,mCAAuBA;QACtB,OAAOK,cAAc,CAACM,YAAY3V,OAAO,OAAO,CAAC,GAAG,GAAGA,OAAO,OAAO,CAAC,GAAG;QACzE,MAAM;WAMfqV,aAAa,qBAAO,uCAACH;QAAc,QAAQE;;AAGlD;AAEA,8EAAelc,6BAAU,CAACwc,kBAAkBA,EAAC;AAE7CA,kBAAkB,uBAAuB,GAAGD;;;;;;;;;;;;;;;;;;ACnGlB;AAG2B;AAGnB;AACF;AACD;AAC8B;AAET;AAWpD,MAAMI,yBAAyB,CAACpS,OAAc2R,QAAoBU;IAChE,IAAIV,WAAW,aAAa;QAC1B,OAAO;IACT,OAAO,IAAIA,WAAW,UAAU;QAC9B,OAAOU,oBAAoBrS,MAAM,MAAM,CAAC,OAAO,CAAC,GAAG;IACrD;IACA,OAAO;AACT;AAEA,MAAMsS,qBAAqB,CAACtS,OAAc2R,QAAoBC;IAC5D,IAAID,WAAW,aAAa;QAC1B,OAAO;IACT,OAAO,IAAIC,cAAcD,WAAW,UAAU;QAC5C,OAAO3R,MAAM,MAAM,CAAC,OAAO,CAAC,GAAG;IACjC,OAAO,IAAI2R,WAAW,UAAU;QAC9B,OAAO3R,MAAM,MAAM,CAAC,OAAO,CAAC,GAAG;IACjC;IACA,OAAO;AACT;AAEA,MAAMvI,YAAYN,4CAAMA,CAACI,iCAAIA,CAI3B,CAAC;;;iBAGc,EAAEqC,CAAAA,IAAKA,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;cAC3B,EAAEA,CAAAA,IAAKwY,uBAAuBxY,EAAE,KAAK,EAAEA,EAAE,MAAM,EAAEA,EAAE,gBAAgB,EAAE;oBAC/D,EAAEA,CAAAA,IAAK0Y,mBAAmB1Y,EAAE,KAAK,EAAEA,EAAE,MAAM,EAAEA,EAAE,UAAU,EAAE;AAC/E,CAAC;AAED,MAAM2Y,gBAAgBpb,4CAAMA,CAACI,iCAAIA,CAAC,CAAC;;;AAGnC,CAAC;AAED,MAAMib,iCAAiCrb,4CAAMA,CAACI,iCAAIA,CAAC,CAAC;;;AAGpD,CAAC;AAED,SAASkb,aAAa,EAAEC,IAAI,EAAEC,WAAW,EAAEf,UAAU,EAAE7S,OAAO,EAAEmT,SAAS,EAAS;IAChF,MAAM,EAAE3V,MAAM,EAAE,GAAGL,+CAAQA;IAE3B,qBACE,+CAAC3E,6BAAIA;QAAC,eAAc;QAAM,SAASwH;QAAS,MAAM;qBAChD,+CAACkT,8CAAiBA;QAChB,QAAQS,KAAK,MAAM;QACnB,aAAaC;QACb,YAAYf;QACZ,IAAI;QACJ,WAAWM;sBAEb,+CAACza;QACC,QAAQib,KAAK,MAAM;QACnB,YAAYd,cAAc,CAACM;QAC3B,UAAS;QACT,kBAAkBQ,KAAK,gBAAgB;OAEtCA,KAAK,MAAM,KAAK,WAAWA,KAAK,UAAU,GAAG,oBAE9C,+CAACH;QAAc,IAAI;QAAG,eAAc;QAAS,QAAQ;qBACnD,+CAACC;QAA+B,QAAO;qBACrC,+CAACvc,6BAAIA;QACH,SAAQ;QACR,YAAYyc,KAAK,MAAM,KAAK,WAAW,aAAa;QACpD,OACEA,KAAK,MAAM,KAAK,cAAcd,cAAc,CAACM,YACzC,gBACAQ,KAAK,MAAM,KAAK,WACd,gBACA;OAGPA,KAAK,KAAK,GAEXA,MAAM,iBAAiBA,KAAK,MAAM,KAAK,0BACvC,+CAAC7Y,gCAAGA;QACF,MAAK;QACL,MAAK;QACL;QACA;QACA,WAAW;YAAE,OAAO0C,OAAO,OAAO,CAAC,IAAI;QAAC;OACxC,GAAGmW,KAAK,aAAa,GAAG,GAAG,IAAI,CAAC,KAEjCA,MAAM,aAAaA,KAAK,MAAM,KAAK,0BAAY,+CAACP,mDAAcA;QAAC,MAAM;SAEzEO,KAAK,UAAU,IAAIA,KAAK,MAAM,KAAK,0BAClC,+CAACtW,6BAAGA;QAAC,UAAS;QAAW,IAAI;OAC1BsW,KAAK,UAAU,CAACA,KAAK,MAAM,KAAK;AAO/C;AAEA,mEAAejd,qCAAU,CAACgd,aAAaA,EAAC;;;;;;;;;;;;;ACzHC;AAEC;AACb;AAC2B;AA4BxD,MAAMG,uBAA6C,SAASC,iBAAiB,EAC3EhC,KAAK,EACLiC,YAAY,EACZZ,SAAS,EACT,GAAG/b,OACG;IACN,qBACE,+CAACoB,6BAAIA;QAAE,GAAGpB,KAAK;QAAE,eAAc;QAAS,MAAM;OAC3C0a,OAAO,IAAI,CAACM,MAAMrY,sBACjB,+CAAC2Z,yCAAYA;YACX,KAAK3Z;YACL,MAAMqY;YACN,aAAarY,UAAU;YACvB,YAAYA,UAAU+X,MAAM,MAAM,GAAG;YACrC,SAASiC,eAAe,IAAMA,aAAaha,SAASQ;YACpD,WAAW4Y;;AAKrB;AAEA,MAAMa,eAA6C5c,CAAAA,sBACjD,+CAACF,yCAAIA;QAAC,SAAQ;QAAO,YAAW;QAAW,OAAM;QAAe,IAAI;QAAI,GAAGE,KAAK;;AAGlF,MAAM6c,WAAyC7c,CAAAA,sBAC7C,+CAACF,yCAAIA;QAAC,SAAQ;QAAiB,YAAW;QAAS,OAAM;QAAe,GAAGE,KAAK;;AAGlFyc,qBAAqB,QAAQ,GAAGI;AAChCJ,qBAAqB,YAAY,GAAGG;AAEpC,sDAAeH,oBAAoBA,EAAC;;;;;;;;;;;;;;;;;;;;;;;ACjEV;AACO;AACM;AAC4B;AACQ;AAEhB;AACtB;AAEC;AAC0B;AACA;AAchE,MAAMQ,YAAY;AAElB,MAAMpW,UAAU7F,4CAAMA,CAACI,4CAAIA,EAAE,KAAK,CAAeqC,CAAAA,IAAM;QACrD,eAAe;QACf,YAAY;QACZ,gBAAgB;QAChB,QAAQA,EAAE,MAAM,IAAI,GAAGA,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QAChE,OAAOA,EAAE,KAAK,IAAI,GAAGA,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7D,WAAW,GAAGA,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QACvD,UAAU,GAAGA,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QACrD,WAAW,GAAGA,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QACvD,UAAU,GAAGA,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QACrD,QAAQA,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE;QAC3B,GAAGA,EAAE,CAAC,KAAKN,YAAYM,EAAE,CAAC,GAAGA,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG;QAC9C,QAAQ;QACR,iBAAiB;IACnB,GAAG,CAAC,CAAC;AAEL,MAAMqV,UAAU9X,4CAAMA,CAACI,4CAAIA,EAAE,KAAK,CAACqC,CAAAA,IAAM;QACvC,gBAAgB;QAChB,YAAY;QACZ,OAAO;QACP,QAAQ;QACR,QAAQA,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE;QAC3B,UAAU;QACV,KAAK;QACL,MAAM;QACN,iBAAiB;IACnB,GAAG,CAAC,CAAC;AAEL,MAAMyZ,SAASra,2CAAkB,CAAC;;gCAEF,EAAEoa,UAAU,sBAAsB,EAAEA,UAAU;;AAE9E,CAAC;AAED,MAAME,uBAAuBnc,4CAAMA,CAACI,4CAAIA,EAAE,KAAK,CAAC,IAAO;QACrD,gBAAgB;IAClB,GAAG,CAAC,CAAC;AAEL,MAAMgc,YAAYva,uCAAUA,CAACzB,4CAAIA,EAAE,KAAK,CAAC;IACvC,IAAI;IACJ,eAAe;IACf,MAAM;IACN,UAAU;AACZ,EAAE,CAAC,CAAC;AAEJ,MAAMic,cAAcxa,uCAAUA,CAACzB,4CAAIA,EAAE,KAAK,CAAC;IAAE,IAAI;AAAU,EAAE,CAAC,CAAC;AAE/D,MAAM+G,gBAAgBnH,4CAAMA,CAAC0H,gDAAe,CAAC,CAAC;;;AAG9C,CAAC;AAED,MAAM4U,cAAc,CAAC,EAAE3Z,QAAQ,EAAE2P,OAAO,EAAEgG,MAAM,EAAE,GAAGtZ,OAAyB,iBAC5E,+CAACkd,QAAWld,qBACV,+CAACoB,wCAAIA,QACFkY,uBACC,+CAACnR;QAAc,SAASmR;qBACtB,+CAACyD,2EAAaA;QAAC,MAAME;QAAW,OAAM;UAEtC,qBAEN,+CAACE,4BAAsBxZ,yBACvB,+CAACvC,wCAAIA,QACFkS,wBACC,+CAACnL;QAAc,SAASmL;qBACtB,+CAACwJ,uEAASA;QAAC,MAAMG;QAAW,OAAM;UAElC;AAKV,MAAMM,QAAQ,CAAC,EAAEnQ,MAAM,EAAEzJ,QAAQ,EAAEnE,KAAK,EAAEC,MAAM,EAAE,GAAGO,OAAmB,iBACtE,+CAAC4Y,wDAAeA;QAAC,IAAIxL;QAAQ;QAAO;QAAa;qBAC/C,+CAAC0L,6BACC,+CAACkE,wDAAeA;QAAC,IAAI5P;QAAQ;qBAC3B,+CAACvG;QAAQ,OAAOrH;QAAO,QAAQC;QAAS,GAAGO,KAAK;OAC7C2D;AAOX,MAAM6Z,eAAe,CAAC,EACpB7Z,QAAQ,EACRuW,gBAAgB,EAChB,GAAGuD,YACQ;IACX,MAAMrD,QAAQ9a,wCAAa,CACzB,IACE4a,qBAAqB/W,aAAa,OAAOkV,aAAa,cAClDA,SAAS,aAAa,CAAC,UACvB6B,kBACN;QAACA;KAAiB;IAEpB,IAAI,CAACE,OAAO;QACV,qBAAO,+CAACmD,OAAUE,YAAa9Z;IACjC,OAAO;QACL,qBAAO8U,iDAAqB,eAAC,+CAAC8E,OAAUE,YAAa9Z,WAAmByW;IAC1E;AACF;AAEAoD,aAAa,MAAM,GAAGF;AACtBE,aAAa,IAAI,GAAGJ;AACpBI,aAAa,MAAM,GAAGH;AAEtB,sDAAeG,YAAYA,EAAC;;;;;;;;;;ACtIkD;AAQ9E,UAAU;AACV,qEAAqE;AAC9D,IAAIG,UAGC,KAAO,EAAE;AAErB,UAAU;AACV,MAAMC,UAAU,CAAkCC,OAAiBC;IACjE,OAAO;QAAE,GAAGD,KAAK;QAAE,GAAGC,MAAM;IAAC;AAC/B;AAEA,MAAMC,eAAsB;IAC1B,WAAW;IACX,MAAM;AACR;AAOO,MAAM7O,wBAAU5P,8CAAmB,CAAe;IACvD,OAAOye;IACP,SAAS,KAAO;AAClB,GAAG;AAEI,MAAMC,UAAU;IACrB,OAAOpP,qCAAUA,CAACM;AACpB,EAAE;AAEF,MAAM+O,eAAe,CAAC,EAAEta,QAAQ,EAAiC;IAC/D,MAAM,CAACka,OAAOK,SAAS,GAAGR,WAAWE,SAASG;IAE9C,MAAMI,WAAW9T,YAAY,CAACxE,WAAgB7F;QAC5Cke,SAAS;YACPrY;YACA7F;YACA,MAAM,CAAC,CAAC6F;QACV;IACF,GAAG,EAAE;IAEL+L,UAAU;QACR+L,UAAUQ;IACZ,GAAG;QAACA;KAAS;IAEb,qBACE,oBAACjP,QAAQ,QAAQ;QACf,OAAO;YACL2O;YACA,SAASM;QACX;OAECxa;AAGP;AAEA,2DAAesa,gDAAAA,YAAYA,EAAAA,EAAC;;;;;;;;;;;;;;;AClE4C;AACf;AAC1B;AACiC;AAC3B;AAM9B,MAAMK,cAAc,CAACte;IAC1B,yFAAyF;IACzF,MAAM,EAAE6d,KAAK,EAAEF,OAAO,EAAE,GAAGK,sCAAOA;IAClC,MAAM,CAACO,OAAOC,SAAS,GAAGvW,mCAAQA,CAGhC,EAAE;IACJ,MAAM,CAACiM,WAAWuK,aAAa,GAAGxW,mCAAQA,CAAC;IAC3C,MAAM,CAACyW,oBAAoBrF,sBAAsB,GAAGpR,mCAAQA,CAAC;IAC7D,MAAM0W,QAAQP,iCAAMA,CAAC;IACrB,MAAM9K,UAAUjJ,sCAAWA,CAAC,IAAMsT,WAAW;QAACA;KAAQ;IAEtD/L,oCAASA,CAAC;QACR4M,SAASI,CAAAA;YACP,IAAI,CAACf,MAAM,IAAI,IAAI,CAACA,MAAM,SAAS,EAAE,OAAO,EAAE;YAC9C,OAAOe,EAAE,MAAM,CAAC;gBAAC;oBAAE,GAAGf,KAAK;oBAAE,KAAKc,MAAM,OAAO;gBAAG;aAAE;QACtD;IACF,GAAG;QAACd;KAAM;IAEVjM,oCAASA,CAAC;QACR,IAAIiN;QAEJ,IAAIN,MAAM,MAAM,GAAG,GAAG;YACpB,MAAM,GAAG,GAAG/Q,KAAK,GAAG+Q;YACpB,6DAA6D;YAC7D,mDAAmD;YACnDM,UAAUzH,WAAW;gBACnBoH,SAAShR;gBACTiR,aAAa;YACf,GAAG;QACL;QAEA,OAAO;YACL,IAAII,SAASxH,aAAawH;QAC5B;IACF,GAAG;QAACN;KAAM;IAEV,MAAMO,gBAAgBzU,sCAAWA,CAAC;QAChCoU,aAAa;QACb,MAAMnF,SAASuE,OAAO,OAAO;QAC7BvE,UAAUA;IACZ,GAAG;QAACuE,OAAO;KAAM;IAEjB,qBACE,+CAAC5D,mCAAMA;QACJ,GAAGja,KAAK;QACT,QAAQ,CAAC,CAAC6d,MAAM,IAAI;QACpB,SAASvK;QACT,QAAQuK,OAAO,OAAO,SAASiB,gBAAgB3b;QAC/C,uBAAuBkW;QACvB,gBAAgB;qBAEhB,+CAACgF,uDAAeA;QAAC,OAAOK;QAAoB,MAAMA;QAAoB,WAAW;OAC9EH,MAAM,GAAG,CAAC,CAAC,EAAE1Y,SAAS,EAAE7F,KAAK,EAAE0F,GAAG,EAAE,iBACnC,+CAACiT,wDAAeA;YAAC,KAAKjT;YAAK,WAAWwO;WACnCrO,2BAAa,+CAACA,WAAc7F;AAMzC,EAAE;AAEF,sDAAese,WAAWA,EAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACzEc;AACF;AACE;AACE;AACF;AACI;AACI;AACqB;AACR;AACuB;AACzB;AACY;;;;;;;;;;;;;;ACX9C;AAC4B;AACE;AAExD,MAAMW,SAASD,gDAAS,CAAC;;;;;;;AAOzB,CAAC;AAED,MAAME,SAASle,kDAAqB,CAAC;aACxB,EAAEie,OAAO;EACpB,EAAE3b,mCAAIA,CAAC;EACP,EAAEgE,yCAAMA,CAAC;IACP,QAAQ;QACN,UAAU;QACV,OAAO;IACT;AACF,GAAG;AACL,CAAC;AAKc,SAAS0U,eAAe,EACrC1Y,OAAO,EAAE,EACT5D,QAAQ,aAAa,EACrB,GAAGyf,YACG;IACN,qBACE,+CAACD;QACC,MAAM5b;QACN,QAAQ5D;QACR,SAAQ;QACR,MAAK;QACL,OAAM;QACL,GAAGyf,UAAU;qBAEd,+CAAC;QACC,IAAG;QACH,eAAc;QACd,mBAAkB;qBAElB,+CAAC;QAAK,QAAO;QAAI,WAAU;QAAQ,aAAY;sBAC/C,+CAAC;QAAK,QAAO;QAAI,WAAU;QAAQ,aAAY;uBAEjD,+CAAC;QACC,IAAG;QACH,eAAc;QACd,mBAAkB;qBAElB,+CAAC;QAAK,QAAO;QAAI,WAAU;QAAQ,aAAY;sBAC/C,+CAAC;QAAK,QAAO;QAAI,WAAU;QAAQ,aAAY;uBAGjD,+CAAC;QAAK,IAAG;QAAgB,WAAU;qBACjC,+CAAC;QACC,GAAE;QACF,GAAE;QACF,OAAM;QACN,QAAO;QACP,aAAY;QACZ,MAAK;QACL,WAAU;sBAEZ,+CAAC;QACC,GAAE;QACF,GAAE;QACF,OAAM;QACN,QAAO;QACP,aAAY;QACZ,MAAK;QACL,WAAU;uBAGd,+CAAC;QACC,GAAE;QACF,aAAY;QACZ,eAAc;QACd,gBAAe;QACf,MAAK;;AAIb;;;;;;;;;;;;;ACvF0B;AACa;AACD;AAkDtC,MAAMC,eAAepe,yDAAmB,CAAC;IACvC,MAAM;IACN,IAAI;IACJ,IAAI;AACN,EAAE,CAAC;;;;AAIH,CAAC;AAED,MAAMqe,yBAAyBre,4CAAMA,CAACoe,cAAc,KAAK,CAACpf,CAAAA,QAAU;QAClE,QAAQA,MAAM,MAAM,IAAIA,MAAM,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG;IACxD,GAAG,CAAC,CAAC;AAEL,MAAMsf,oBAAoBte,4CAAMA,CAACoe,cAAc,KAAK,CAACpf,CAAAA,QAAU;QAC7D,QAAQA,MAAM,MAAM,IAAIA,MAAM,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG;IACxD,GAAG,CAAC,CAAC;AAEL,MAAMuf,qBAAqBve,4CAAMA,CAAClB,6CAAIA,CAAC,CAAC;;;;;;AAMxC,CAAC;AAED,MAAM0f,gCAAgCxe,kDAAU,CAAC;;;AAGjD,CAAC;AACD,MAAMye,0BAA0Bze,kDAAU,CAAC;;;;;;;;;;;;;AAa3C,CAAC;AAED,SAAS0e,kBAAkB,EACzBC,MAAM,EACNC,MAAM,EACNC,QAAQ,EACRC,qBAAqB,EACrBC,gBAAgB,EAChBC,kBAAkB,EAQnB;IACC,MAAMC,mBAAmBN,SAASC,SAAS;IAC3C,MAAMM,gBAAgBD,mBAAmB,IAAI5K,KAAK,EAAE;IACpD,MAAM8K,mBAAmBD,gBAAiBL,WAAW,MAAOK;IAC5D,qBACE,+CAAC;QAAI,QAAQP,SAAS;QAAG,OAAOA,SAAS;qBACvC,+CAACN;QACC,aAAaO;QACb,iBAAiBM,gBAAgB,MAAMA;QACvC,OAAO;YAAE,kBAAkB;QAAE;QAC7B,QAAQJ;QACR,GAAGG;sBAEL,+CAACX;QACC,aAAaM;QACb,iBAAiBM,gBAAgB,MAAMA;QACvC,OAAO;YAAEC;QAAiB;QAC1B,QAAQJ;QACR,eAAeC;QACf,GAAGC;;AAIX;AAEe,SAASG,eAAe,EACrCT,SAAS,EAAE,EACXC,SAAS,CAAC,EACVC,WAAW,CAAC,EACZQ,iBAAiB,IAAI,EACrBC,QAAQ,EACR1c,SAAS,EACTmc,gBAAgB,EAChBC,kBAAkB,EAClBF,qBAAqB,EACL;IAChB,qBACE,+CAACN,qCACEa,gCACC,+CAACd;QAAmB,SAAQ;QAAO,OAAO3b,aAAa;OACpDyR,KAAK,KAAK,CAACwK,WAAU,MAGzBS,yBACC,+CAACb,6CACC,+CAACC;QACC,QAAQC;QACR,QAAQC;QACR,UAAU;QACV,kBAAkBG;QAClB,oBAAoBC;QACpB,uBAAuBF;wBAI3B,+CAACJ;QACC,QAAQC;QACR,QAAQC;QACR,UAAUC;QACV,kBAAkBE;QAClB,oBAAoBC;QACpB,uBAAuBF;;AAKjC;;;;;;;;;;;ACjL6D;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACDnC;AACyC;AAC7B;AAED;AAC0B;AACQ;AACQ;AACN;AAsCzE,MAAMa,sBAAsB3f,0CAAU,CAAC;;;;AAIvC,CAAC;AAED,MAAMoE,QAAQ;IACZ,oBAAM,uCAACob,2BAAeA;QAAC,MAAK;;IAC5B,yBAAW,uCAACA,2BAAeA;QAAC,MAAK;;IACjC,uBAAS,uCAACC,+BAAmBA;QAAC,MAAK;;IACnC,uBAAS,uCAACF,uBAAWA;QAAC,MAAK;;IAC3B,qBAAO,uCAACG,4BAAgBA;QAAC,MAAK;;AAChC;AAEA,MAAME,YAAY,CAAC,EAAE/W,KAAK,EAAE9G,IAAI,EAA6C;IAC3E,OAAQA;QACN,KAAK;YACH,OAAO;gBACL,YAAY8G,MAAM,MAAM,CAAC,cAAc,CAAC,GAAG;gBAC3C,WAAWA,MAAM,MAAM,CAAC,OAAO,CAAC,GAAG;YACrC;QACF,KAAK;YACH,OAAO;gBACL,YAAYA,MAAM,MAAM,CAAC,OAAO,CAAC,GAAG;gBACpC,WAAWA,MAAM,MAAM,CAAC,OAAO,CAAC,GAAG;YACrC;QACF,KAAK;YACH,OAAO;gBACL,YAAYA,MAAM,MAAM,CAAC,OAAO,CAAC,GAAG;gBACpC,WAAWA,MAAM,MAAM,CAAC,OAAO,CAAC,GAAG;YACrC;QACF,KAAK;YACH,OAAO;gBACL,YAAYA,MAAM,MAAM,CAAC,KAAK,CAAC,GAAG;gBAClC,WAAWA,MAAM,MAAM,CAAC,KAAK,CAAC,GAAG;YACnC;QACF,KAAK;QACL;YACE,OAAO;gBACL,YAAYA,MAAM,MAAM,CAAC,OAAO,CAAC,GAAG;gBACpC,WAAWA,MAAM,MAAM,CAAC,OAAO,CAAC,GAAG;YACrC;IACJ;AACF;AAEA,MAAMgX,uBAAuB7f,oCAAMA,CAACI,mBAAIA,CAA0C,CAAC;iBAClE,EAAEqC,CAAAA,IAAK,GAAGA,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;;AAEhD,CAAC;AAED,MAAMqd,gBAAgB9f,oCAAMA,CAAClB,mBAAIA,EAAE,KAAK,CAAC;IACvC,YAAY;IACZ,SAAS;IACT,YAAY;AACd,EAAE,CAAC,CAAC;AAEJ,MAAMihB,sBAAsB/f,oCAAMA,CAAC8f,cAAc,CAAC;;AAElD,CAAC;AAED,SAASE,MAAM,EACbje,OAAO,MAAM,EACbtC,KAAK,EACLwgB,WAAW,IAAI,EACfC,aAAa,EACb3V,WAAW,EACXjJ,cAAc,EACO;IACrB,MAAMuH,QAAQ9D,wCAAQA;IACtB,MAAM,EAAEb,SAAS,EAAEic,UAAU,EAAE,GAAGP,UAAU;QAAE/W;QAAO9G;IAAK;IAC1D,MAAMzC,YAA6D;QACjE,SAAS;QACT,YAAY;IACd;IACA,MAAMsD,YAAY;IAClB,qBACE,uCAACid;QACC,OAAOjd;QACP,iBAAiBud;QACjB,SAAS;QACR,GAAG7e,cAAc;OAEjB2e,YAAY,CAAC,CAAC7b,KAAK,CAACrC,KAAK,kBACxB,uCAAC3B,eAAIA;QAAC,OAAO8D;qBACX,uCAACyb,2BAAqBvb,KAAK,CAACrC,KAAK,kBAGrC,uCAAC3B,eAAIA;QAAC,eAAc;QAAS,MAAM;QAAG,YAAW;QAAa,QAAO;OAClEX,uBACC,uCAACX,eAAIA;QAAE,GAAGQ,SAAS;QAAE,OAAOsD;OACzBnD,QAGJygB,iBAAiBA,cAAc;QAAE5gB;IAAU,mBAE9C,uCAACc,eAAIA;QAAC,WAAU;OAAUmK,eAAeA,YAAY;QAAEjL;IAAU;AAGvE;AAEA0gB,MAAM,QAAQ,GAAGF;AACjBE,MAAM,cAAc,GAAGD;AAEvB,4CAAeC,KAAKA,EAAC;;;;;;;;;;;;;ACrJK;AAEoB;AACT;AAQrC,MAAMI,mBAAoC,CAAC,EAAExhB,IAAI,EAAEiB,IAAI,EAAEwgB,iBAAiB,IAAI,EAAE;IAC9E,qBACE,+CAACjgB,wCAAIA;QAAC,eAAc;OACjBigB,+BAAiB,+CAACtd,oCAAOA;QAAC,IAAI;SAAQ,oBACvC,+CAAC3C,wCAAIA;QAAC,eAAc;QAAM,YAAW;QAAS,YAAY;qBACxD,+CAACxB;QAAK,MAAM;sBACZ,+CAACE,oCAAIA;QACH,MAAM;QACN,IAAI;QACJ,UAAS;QACT,SAAQ;QACR,YAAW;QACX,OAAM;OAELe;AAKX;AAEA,sDAAeugB,gBAAgBA,EAAC;;;;;;;;;;;;;;AChCN;AACa;AACC;AAExC,MAAME,SAAStgB,kDAAU,CAAC;;;;AAI1B,CAAC;AAED,MAAMugB,YAAYvgB,kDAAU,CAAC;;;;AAI7B,CAAC;AAEM,MAAMwgB,cAAc,kBACzB,+CAAC3hB,wCAAOA;QACN,MAAK;QACL,eAAc;QACd,UAAS;QACT,gBAAe;QACf,YAAW;qBAEX,+CAACyhB;QAAO,SAAQ;QAAY,MAAK;qBAC/B,+CAAC,yBACC,+CAAC;QAAK,GAAE;wBAGZ,+CAACC;QAAU,SAAQ;QAAa,MAAK;qBACnC,+CAAC,yBACC,+CAAC;QAAK,GAAE;UAId;AAEK,MAAME,eAAe,kBAC1B,+CAAC5hB,wCAAOA;QACN,MAAK;QACL,eAAc;QACd,UAAS;QACT,gBAAe;QACf,YAAW;qBAEX,+CAACyhB;QAAO,SAAQ;QAAY,MAAK;qBAC/B,+CAAC,yBACC,+CAAC;QAAK,GAAE;wBAGZ,+CAACC;QAAU,SAAQ;QAAa,MAAK;qBACnC,+CAAC,yBACC,+CAAC;QAAK,GAAE;UAId;;;;;;;;;;;;;;;ACxDkC;AACG;AAEc;AACK;AACH;AAQvD,MAAMjgB,YAAYN,4CAAMA,CAACnB,4CAAOA,CAAC,CAAC;;;;cAIpB,EAAE4D,CAAAA,IAAKA,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;AACvC,CAAC;AAED,MAAM2Y,gBAAgBpb,4CAAMA,CAACnB,4CAAOA,EAAE,KAAK,CAAC,IAAO;QACjD,MAAM;QACN,gBAAgB;QAChB,YAAY;IACd,GAAG,CAAC;EACF,EAAEC,yCAAIA,CAAC;;;AAGT,CAAC;AAED,SAAS4hB,IAAI,EAAE/d,QAAQ,EAAEge,cAAc,EAAE,GAAG3hB,OAAc;IACxD,qBACE,+CAACsB;QAAU,OAAM;QAAgB,GAAGtB,KAAK;qBACvC,+CAACwhB,sCAAWA,uBACZ,+CAACpF;QAAc,MAAK;QAAI,YAAW;QAAS,gBAAe;qBACzD,+CAACtc,yCAAIA;QACH,SAAQ;QACR,eAAc;QACd,WAAU;QACV,OAAM;QACL,GAAG6hB,cAAc;OAEjBhe,0BAGL,+CAAC8d,uCAAYA;AAGnB;AAEA,mEAAe3gB,+BAAIA,CAAC4gB,IAAIA,EAAC;;;;;;;;;;;;;;AClDC;AACa;AAC6C;AAEpF,MAAMI,eAAe9gB,kDAAU,CAAC;;;;;;;;oBAQZ,EAAEyC,CAAAA,IAAKA,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC;;;;;MAK9C,EAAEA,CAAAA;IACA,qEAAqE,GACrE,OAAOA,EAAE,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI;AACvC,EAAE;;AAER,CAAC;AAED,MAAMoD,UAAU7F,kDAAU,CAAC;;;;;;;;EAQzB,EAAEtB,oCAAKA,CAAC;EACR,EAAEkiB,uCAAQA,CAAC;EACX,EAAEC,qCAAMA,CAAC;EACT,EAAE5gB,qCAAMA,CAAC;EACT,EAAEkgB,yCAAUA,CAAC;EACb,EAAEjhB,qCAAMA,CAAC;AACX,CAAC;AAQc,SAAS0E,MAAM,EAAE5B,MAAM,EAAEzC,IAAI,EAAE,GAAGP,OAAc;IAC7D,qBACE,+CAAC6G,SAAY7G,OACVO,MACAyC,wBAAU,+CAAC8e;AAGlB;;;;;;;;;;;;;;;;;;ACrD0B;AACa;AACmB;AACpB;AACV;AACqB;AACmB;AAoBpE,MAAMxgB,YAAYN,4CAAMA,CAACnB,4CAAOA,EAAE,KAAK,CAAiB;IACtD,GAAG;IACH,WAAW;IACX,YAAY;AACd,EAAkB,CAAC;+BACY,EAAE4D,CAAAA;IAC7B,mEAAmE,GACnE,OAAOA,EAAE,aAAa,GAAGA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,GAAGA,EAAE,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI;AACtF,EAAE;oBACgB,EAAEA,CAAAA,IAAMA,EAAE,aAAa,GAAGA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,GAAG,cAAe;;;AAG1F,CAAC;AAED,SAASue,aAAa,EACpBvhB,KAAK,EACLyS,WAAW,EACX+O,KAAK,EACLC,IAAI,EACJC,WAAW,EACXC,gBAAgB,KAAK,EACrB,GAAG9f,gBACa;IAChB,qBACE,+CAAChB;QAAU,eAAe8gB;QAAgB,GAAG9f,cAAc;OACxD2f,qBACD,+CAACpiB,wCAAOA;QAAC,eAAc;QAAS,QAAQ;QAAG,MAAK;qBAC9C,+CAACC,yCAAIA;QAAC,SAAS;QAAS,YAAW;QAAS,OAAM;OAC/CW,QAEFyS,6BACC,+CAACpT,yCAAIA;QAAC,SAAS;QAAa,YAAW;QAAS,OAAM;QAAc,YAAW;OAC5EoT,cAGJgP,sBACC,+CAACriB,wCAAOA;QAAC,gBAAgB;qBACvB,+CAACkK,qCAAIA;QAAC,SAAST,CAAAA,QAAS6Y,eAAeA,YAAY7Y;QAAQ,MAAMyY,kEAAkBA;OAChFG;AAOf;AACAF,aAAa,KAAK,GAAGpd,kCAAKA;AAG1B,sDAAeod,YAAYA,EAAqB;;;;;;;;;;;;;;AC3EtB;AACa;AACmB;AAChC;AAc1B,MAAM1gB,YAAYN,4CAAMA,CAACnB,4CAAOA,EAAE,KAAK,CAAiB;IACtD,GAAG;IACH,QAAQ;IACR,YAAY;IACZ,eAAe;AACjB,EAAkB,CAAC;;gBAEH,EAAE4D,CAAAA,IAAMA,EAAE,SAAS,GAAG,UAAU,OAAQ;;gBAExC,EAAEA,CAAAA,IAAKA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;AAClD,CAAC;AAED,SAAS4e,mBAAmB,EAC1BxhB,IAAI,EACJohB,KAAK,EACLK,YAAY,KAAK,EACjB,GAAGhgB,gBACa;IAChB,qBACE,+CAAChB;QAAU,WAAWghB;QAAY,GAAGhgB,cAAc;OAChD2f,qBACD,+CAACP,iCAAGA,QAAE7gB;AAGZ;AAEA,sDAAewhB,kBAAkBA,EAAC;;;;;;;;;;;;;;;;AC3CR;AACsB;AACV;AAC6D;AAC/D;AASpC,MAAMjd,QAAQ;IACZ,uBAAS,+CAACgH,gEAAgBA;QAAC,MAAM;;IACjC,uBAAS,+CAACoW,kEAAkBA;QAAC,MAAM;;IACnC,qBAAO,+CAACD,2DAAWA;QAAC,MAAM;;AAC5B;AAEA,MAAM5B,sBAAsB3f,kDAA8B,CAAC;EACzD,EAAEyC,CAAAA;IACA,OAAQA,EAAE,IAAI;QACZ,KAAK;YACH,OAAOqC,0CAAG,CAAC;sBACG,EAAErC,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;iBAClC,EAAEA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;QACtC,CAAC;QACH,KAAK;YACH,OAAOqC,0CAAG,CAAC;sBACG,EAAErC,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC;iBAChC,EAAEA,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC;QACpC,CAAC;QACH,KAAK;QACL;YACE,OAAOqC,0CAAG,CAAC;sBACG,EAAErC,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;iBAClC,EAAEA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;QACtC,CAAC;IACL;AACF,EAAE;;iBAEa,EAAEA,CAAAA,IAAK,GAAGA,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;gBAChC,EAAEA,CAAAA,IAAK,GAAGA,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;;;;AAI/C,CAAC;AAEc,SAASgf,IAAI,EAAE1f,IAAI,EAAE4J,KAAK,EAAsB;IAC7D,qBACE,+CAACvL,mCAAIA;QAAC,YAAY;OACf2B,sBAAQ,+CAAC4d;QAAoB,MAAM5d;OAAOqC,KAAK,CAACrC,KAAK,iBACtD,+CAACjD,yCAAIA;QAAC,SAAS;QAAa,YAAY;QAAU,OAAO;QAAgB,YAAY;OAClF6M;AAIT;;;;;;;;;;;;;;;;;;;;ACzDsC;AACa;AACb;AA0BvB,SAASgW,QAAQ3iB,KAAsB;IACpD,MAAM,EAAE4iB,OAAO,EAAEC,YAAY,MAAM,EAAElf,QAAQ,EAAE,GAAG6J,MAAM,GAAGxN;IAC3D,MAAM8iB,aAAa1E,0BAAMA,CAAkB;IAC3C,qBACE,gGACE,uCAAC;QAAK,KAAK0E;QAAY,OAAO;YAAE,SAAS;QAAc;OACpDnf,yBAEH,uCAAC+e,iBAAKA;QACH,GAAGlV,IAAI;QACR,WAAWsV;QACX,WAAWD;QACX,uBACE,uCAAC/iB,eAAIA;YAAC,YAAW;YAAS,SAAS;YAAa,OAAM;WACnD8iB;;AAMb;;;;;;;;;;AChDsD;AAItD,sDAAe9c,0CAAG,CAAC;;;;;;;;;;;sBAWG,EAAE,CAACrC,IAAaA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;WACvD,EAAE,CAACA,IAAaA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;WAW3C,EAAE,CAACA,IAAaA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiEvD,CAAC,EAAC;;;;;;;;;;;;;;;;;;;;;;;AC5FyC;AACsB;AAC1B;AACkB;AACD;AACT;AACR;AAC8B;;;;;;;;;;;;;;;ACP3C;AACa;AAC6D;AAC5D;AAWxC,MAAMoD,UAAU7F,4CAAMA,CAACnB,4CAAOA,CAAoB,CAAC;EACjD,EAAEH,oCAAKA,CAAC;EACR,EAAEQ,qCAAMA,CAAC;EACT,EAAEkK,yCAAUA,CAAC;AACf,CAAC;AAEc,SAAS2Y,MAAM,EAAE9iB,MAAM,EAAEiZ,MAAM,EAAEvV,QAAQ,EAAE,GAAG3D,OAAc;IACzE,qBACE,+CAAC6G;QAAQ,SAAQ;QAAc,eAAc;QAAS,QAAO;QAAS,GAAG7G,KAAK;OAC3EC,sBACD,+CAACJ,wCAAOA;QAAC,MAAK;QAAO,YAAW;QAAS,gBAAe;OACrD8D,WAEFuV,UAAU;AAGjB;;;;;;;;;;;;;;;;AC9BoC;AACiB;AAChB;AACC;AACK;AACqB;AAahE,MAAMnP,OAAO/I,4CAAMA,CAAClB,6CAAIA,EAAE,KAAK,CAAC;IAC9B,IAAI;IACJ,UAAU;IACV,OAAO;IACP,UAAU;AACZ,EAAE,CAAC;;;;;WAKQ,EAAE2D,CAAAA,IAAKA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;;;AAG9C,CAAC;AAED,SAASuf,eAAeC,OAAgB;IACtC,OAAQA,QAAqB,OAAO,KAAK9f;AAC3C;AAEA,mEAAerC,+BAAIA,CAAC,SAASoiB,WAAW,EAAEC,QAAQ,EAAE/X,QAAQ,EAAS;IACnE,MAAMvB,QAAQ9D,+CAAQA;IACtB,MAAM,CAACqd,SAAS,GAAGD,SAAS,MAAM,CAChC,CAAC,CAACE,aAAaC,YAAY,EAAEL,SAAStgB;QACpC,MAAM4gB,SAAS;eAAID;SAAY;QAE/BD,YAAY,IAAI,eACd,kGACG1gB,QAAQ,kBACP,+CAAC7C,yCAAIA;YAAC,YAAW;YAAW,OAAM;YAAc,SAAS;WAAa,OAGpE,MACHkjB,eAAeC,yBACd,+CAAC3V,0CAAQA;YACP,OAAM;YACN,SAAS2V,QAAQ,OAAO;YACxB,OAAOA,QAAQ,KAAK;YACpB,UAAU9iB,CAAAA,MAAOA,OAAOiL,SAAS;uBAAImY;oBAAQpjB,IAAI,KAAK;iBAAC;YACvD,QAAQ;gBACN,SAAS,CAACsN,UAAUoQ,QAAW;wBAC7B,GAAGnN,oDAAuB,CAAU7G,OAAO4D,UAAUoQ,MAAM;wBAC3D,QAAQ;oBACV;gBACA,aAAapQ,CAAAA,WAAa;wBACxB,GAAGA,QAAQ;wBACX,QAAQ;wBACR,KAAKtK;wBACL,UAAUA;wBACV,UAAUA;wBACV,UAAUA;wBACV,WAAWA;wBACX,OAAO0G,MAAM,MAAM,CAAC,OAAO,CAAC,GAAG;wBAC/B,WAAW;4BACT,OAAOA,MAAM,MAAM,CAAC,OAAO,CAAC,IAAI;4BAChC,gBAAgB;wBAClB;oBACF;YACF;2BAGF,+CAACE;YACC,WAAW,CAACT,QACV;oBAAC;oBAAS;iBAAI,CAAC,QAAQ,CAACA,MAAM,GAAG,KAAK8B,SAAS;uBAAImY;oBAAQN,QAAQ,KAAK;iBAAC;YAE3E,SAAS,IAAM7X,SAAS;uBAAImY;oBAAQN,QAAQ,KAAK;iBAAC;WAEjDA,QAAQ,KAAK;QAMtBK,YAAY,IAAI,CAACN,eAAeC,WAAWA,QAAQ,KAAK,CAAC,KAAK,GAAGA,QAAQ,KAAK;QAC9E,OAAO;YAACI;YAAaC;SAAY;IACnC,GACA;QAAC,EAAE;QAAE,EAAE;KAAC;IAGV,qBACE,+CAACliB,wCAAIA;QAAC,WAAW;QAAG,YAAW;OAC5BgiB;AAGP,EAAE,EAAC;;;;;;;;;;;;;ACrGuB;AAE0C;AACvC;AAC0B;AAwGvD,SAASM,YAAwB,EAC/BzO,WAAW,EACXhV,MAAM,EACN0jB,gBAAgB,EAChBzK,MAAM,EACN0K,gBAAgB,EAChBzE,UAAU,EACV5F,mBAAmB,EACnBsK,iBAAiB,EACjBC,0BAA0B,EAC1BC,2BAA2B,EAC3BC,cAAc,EACdrgB,QAAQ,EACU;IAClB,MAAM,EAAE+W,KAAK,EAAEuJ,aAAa,EAAEC,UAAU,EAAEC,UAAU,EAAE,GAAG7kB,iDAAsB,CAACqE,UAAU,MAAM,CAM9F,CAACnB,KAAKuS,OAAOqP;QACX,MAAMC,YAAYZ,iDAAmBA,CAAC1O,SAAUA,QAAsB;QACtE,MAAMpS,QAAQ0hB,WAAW,MAAM,SAASD;QACxC,MAAMzX,QAAQ0X,WAAW,MAAM;QAC/B,MAAMC,SAASD,WAAW,MAAM;QAChC,MAAMF,aAAaE,WAAW,MAAM;QACpC,MAAMH,aAAaG,WAAW,MAAM;QAEpC,IAAI1X,SAAS,CAAC2X,QAAQ;YACpB9hB,IAAI,KAAK,CAACG,MAAM,GAAGgK;QACrB;QACA,IAAIhK,UAAUsS,aAAa;YACzBzS,IAAI,aAAa,GAAGuS;YACpBvS,IAAI,UAAU,GAAG0hB;YACjB1hB,IAAI,UAAU,GAAG2hB;QACnB;QACA,OAAO3hB;IACT,GACA;QACE,OAAO,EAAE;QACT,eAAe;QACf,YAAY;QACZ,YAAY;IACd;IAGF,MAAM+hB,aAAa;QAAE,GAAGpF,UAAU;QAAElK;QAAa,aAAayF,MAAM,MAAM;IAAC;IAG3E,SAAS8J,mBACPC,UAA0C,EAC1CC,WAA6B,EAC7BC,cAAkD;QAElD,OAAOD,cACHC,iBACEA,eAAe;YAAE,GAAGJ,UAAU;YAAE,UAAUG;QAAY,KACtDA,cACFD,cAAcA,WAAWF;IAC/B;IAEAK,QAAQ,GAAG,CAAC,eAAe;QAAE3P;QAAayF;QAAOuJ;QAAeE;QAAYD;IAAW;IACvF,qBACE,+CAAC9iB,wCAAIA;QAAC,MAAM;QAAG,eAAc;QAAU,GAAGmY,mBAAmB;OAC1DiL,mBAAmBvkB,QAAQkkB,YAAYR,iCACxC,+CAACviB,wCAAIA;QAAC,IAAI;QAAG,gBAAe;QAAU,GAAG0iB,0BAA0B;qBACjE,+CAACN,6BAAOA;QAAC,aAAavO;QAAa,OAAOyF;QAAO,MAAM;QAAI,GAAGmJ,iBAAiB;uBAEjF,+CAACziB,wCAAIA;QAAC,MAAM;QAAG,eAAc;QAAS,UAAS;QAAY,GAAG2iB,2BAA2B;OACtFC,iBACGA,eAAe;QAAE,GAAGO,UAAU;QAAE,UAAUN;IAAc,KACxDA,gBAELO,mBAAmBtL,QAAQgL,YAAYN;AAG9C;AAEA,SAASiB,KAAK,EAAElhB,QAAQ,EAAa;IACnC,qBAAO,kGAAGA;AACZ;AAEA+f,YAAY,IAAI,GAAGmB;AACnB,sDAAenB,WAAWA,EAAC;AAuB3B;;;;;;;;;;CAUC,GACD,SAASoB,mBAA+B9kB,KAA+B;IACrE,MAAM,EAAE+kB,SAAS,EAAEphB,QAAQ,EAAE,GAAGqhB,YAAY,GAAGhlB;IAC/C,MAAMiV,cAAc3V,iDAAsB,CAACqE,UAAU,SAAS,CAACoR,CAAAA;QAC7D,MAAMsP,YAAYZ,iDAAmBA,CAAC1O,SAAUA,QAAgC;QAChF,OAAOsP,WAAW,MAAM,YAAYU;IACtC;IACA,qBACE,+CAACrB;QAAa,GAAGsB,UAAU;QAAE,aAAa/P;OACvCtR;AAGP;AAEA,SAASshB,YAAY,EAAEthB,QAAQ,EAAoB;IACjD,qBAAO,kGAAGA;AACZ;AAEAmhB,mBAAmB,IAAI,GAAGG;AAC1BvB,YAAY,OAAO,GAAGoB;;;;;;;;;;;ACnPI;AACc;AAWzB,SAAS5H,OAAO,EAC7BgI,IAAI,EACJC,KAAK,EACLxhB,QAAQ,EACR,GAAG6J,MACa;IAChB,qBACE,+CAAC3N,wCAAOA;QAAC,gBAAe;QAAiB,GAAG2N,IAAI;OAC7C0X,oBACD,+CAACrlB,wCAAOA;QAAC,mBAAgB;OAAU8D,WAClCwhB;AAGP;;;;;;;;;;;;;;;;;;;;ACzB2C;AACU;AACR;AAClB;AAC4B;AACA;;;;;;;;;;;;;ACL7B;AACa;AACE;AAEzC,MAAM7jB,YAAYN,kDAAU,CAAC;;;;;AAK7B,CAAC;AAED,MAAMqkB,MAAMrkB,kDAAmD,CAAC;;;;;aAKnD,EAAEyC,CAAAA,IAAMA,EAAE,EAAE,GAAG,UAAU,OAAQ;gBAC9B,EAAEA,CAAAA,IAAMA,EAAE,EAAE,GAAG,UAAU,OAAQ;QACzC,EAAEA,CAAAA,IAAKA,EAAE,IAAI,CAAC;cACR,EAAEA,CAAAA,IAAMA,EAAE,EAAE,GAAGA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,GAAGA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAE;AACvF,CAAC;AAED,MAAM6hB,UAAUtkB,kDAAU,CAAC;;;cAGb,EAAEyC,CAAAA,IAAKA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;iBAChC,EAAEA,CAAAA,IAAK,GAAGA,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;;;;;;;;;;;;;;WAcrC,EAAEA,CAAAA,IAAKA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;gBAC9B,EAAEA,CAAAA,IAAKA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;;AAElD,CAAC;AAYD,MAAM8hB,aAAa,CAAC,EAAE7K,KAAK,EAAE5F,YAAY,EAAmB;IAC1D,MAAM0Q,cAAc9K,KAAK,CAAC5F,aAAa;IACvC,MAAM2Q,OAAQ,CAAC3Q,eAAgB4F,CAAAA,MAAM,MAAM,GAAG,KAAM,GAAE,EAAG,OAAO,CAAC;IAEjE,qBACE,+CAACpZ,+BACC,+CAAC+jB;QAAI;QAAG,MAAMI;sBACd,+CAACH;QAAQ,KAAKE,YAAY,GAAG;qBAC3B,+CAAC1lB,yCAAIA;QAAC,WAAU;QAAQ,OAAM;QAAc,YAAW;QAAS,SAAS;OACtEgV,eAAe,kBAElB,+CAAChV,yCAAIA;QAAC,OAAM;QAAc,YAAW;QAAS,eAAc;QAAY,SAAS;OAC9E0lB,YAAY,KAAK,kBAGtB,+CAACH;QAAI,MAAM,MAAMjX,OAAOqX;;AAG9B;AAEA,sDAAeF,UAAUA,EAAC;;;;;;;;;;;;;;;;;;AC3EoB;AACP;AACmD;AAC1C;AACP;AACiB;AA2DnD,MAAMK,OAAO;IAClB,WAAW5kB,sDAAgB,CAAC;QAC1B,IAAI;IACN,EAAyC,CAAC;;;;WAIjC,EAAEyC,CAAAA,IAAKA,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;YACvB,EAAEA,CAAAA,IAAKA,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;IAChC,EAAE/D,oCAAKA,CAAC;IACR,EAAEuB,qCAAMA,CAAC;IACT,EAAE0kB,oCAAKA,CAAC;EACV,CAAC;IACD,QAAQ3kB,kDAAsB,CAAC;;;IAG7B,EAAE2kB,oCAAKA,CAAC;EACV,CAAC;IACD,SAAS3kB,sDAAgB,CAAC;QACxB,iBAAiB;IACnB,EAAc,CAAC;;;;IAIb,EAAEtB,oCAAKA,CAAC;EACV,CAAC;IACD,SAASsB,sDAAgB,CAAC;QACxB,iBAAiB;IACnB,EAAc,CAAC;WACN,EAAEyC,CAAAA,IAAKA,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;YACvB,EAAEA,CAAAA,IAAKA,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;mBACjB,EAAEA,CAAAA,IAAKA,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;IACvC,EAAE/D,oCAAKA,CAAC;EACV,CAAC;IACD,WAAW,kBAAyB,+CAACqN,wCAA4B;YAAC,MAAM;;IACxE,UAAU,kBAAyB,+CAACA,mCAAuB;YAAC,MAAM;;IAClE,SAAS,kBAAyB,+CAACA,mCAAuB;YAAC,MAAM;;AACnE,EAAE;AAEK,MAAM8Y,WAAW7kB,4CAAMA,CAAClB,6CAAIA,CAAuB,CAAC;;;SAGlD,EAAE2D,CAAAA;IACP,IAAIA,EAAE,KAAK,KAAK,WAAW;QACzB,OAAOA,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG;IACjC;IACA,IAAIA,EAAE,KAAK,KAAK,YAAY;QAC1B,OAAOA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG;IACnC;IACA,IAAIA,EAAE,KAAK,KAAK,WAAW;QACzB,OAAOA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG;IACnC;IACA,OAAOA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI;AACpC,EAAE;AACJ,CAAC,CAAC;AAEF,MAAMqiB,gBAAgB9kB,kDAAkC,CAAC;;;;oBAIrC,EAAEyC,CAAAA,IAAKA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;;OAE/C,EAAEA,CAAAA,IAAKA,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;AAC/B,CAAC;AAED,MAAMsiB,YAAY;IAChB,MAAM/kB,4CAAMA,CAAC8kB,cAAc,CAAC,CAAC;IAC7B,MAAM9kB,4CAAMA,CAAC8kB,cAAoC,CAAC,CAAC;AACrD;AAEA,MAAME,sBAAsB;IAC1B,uBACE,+CAACJ,KAAK,SAAS,sBACb,+CAACA,KAAK,OAAO;IAGjB,uBACE,+CAACA,KAAK,SAAS;QAAC,iBAAgB;QAAc,cAAa;qBACzD,+CAACA,KAAK,OAAO;IAGjB,yBACE,+CAACA,KAAK,SAAS;QAAC,OAAM;QAAc,iBAAgB;QAAc,cAAa;qBAC7E,+CAACA,KAAK,SAAS;IAGnB,uBACE,+CAACA,KAAK,SAAS;QAAC,OAAM;QAAY,iBAAgB;QAAc,cAAa;qBAC3E,+CAACA,KAAK,OAAO;IAGjB,wBACE,+CAACA,KAAK,SAAS;QAAC,OAAM;qBACpB,+CAACA,KAAK,QAAQ;AAGpB;AAEO,MAAMf,qBAAO/jB,+BAAIA,CAAC,SAAS+jB,KAAK,EACrChH,KAAK,EACL,OAAOrR,KAAK,EACZyZ,iBAAiB,EACjBC,SAAS,EACC;IACV,MAAMC,WAAWtI,UAAU;IAC3B,MAAMuI,eAAevI,UAAU;IAE/B,qBACE,+CAACzc,wCAAIA;QAAC,eAAc;QAAS,YAAW;QAAS,MAAM;qBACrD,+CAACwkB,KAAK,MAAM;QAAC,IAAI;OACb,CAACK,mCAAqB,+CAACF,UAAU,IAAI;QAAC,UAAUI;QAAU,UAAS;wBACnE,+CAAC/kB,wCAAIA;QAAC,MAAK;QAEZ4kB,mBAAmB,CAACnI,MAAM,EACzBqI,2BAAa,+CAACH,UAAU,IAAI;QAAC,UAAUK;QAAc,UAAS;wBAC9D,+CAAChlB,wCAAIA;QAAC,MAAK;SAGd,OAAOoL,UAAU,yBAChB,+CAACqZ;QAAS,OAAOhI;QAAO,SAAQ;OAC7BrR,uBAGH,+CAACA;QAAM,OAAOqR;;AAItB,GAAG;AAEH,SAASwI,SACPpR,WAAmB,EACnBtS,KAAa,EACb2jB,OAAiB,EACjBrjB,QAAkB,EAClBsjB,SAAmB;IAEnB,IAAIA,WAAW;QACb,OAAO;IACT;IACA,IAAItjB,UAAU;QACZ,OAAO;IACT;IACA,IAAIgS,cAActS,OAAO;QACvB,OAAO;IACT;IACA,IAAIsS,gBAAgBtS,OAAO;QACzB,OAAO2jB,UAAU,YAAY;IAC/B;IACA,OAAO;AACT;AAEA,SAAS9C,QAAQ,EACf9I,KAAK,EACLzF,cAAc,CAAC,EACfqR,OAAO,EACPE,eAAe,EACfC,eAAe,EACfC,MAAM,EACN,GAAGvH,YACG;IACN,MAAMwH,iBAAiBF,kBACnB/L,MAAM,MAAM,CAAC,CAACM,MAAMrY,QAAUA,UAAU,KAAKqY,SAASN,KAAK,CAAC/X,QAAQ,EAAE,IACtE+X;IACJ,MAAMkM,sBAAsBH,kBACxBE,eAAe,SAAS,CAAC3L,CAAAA,OAAQA,SAASN,KAAK,CAACzF,YAAY,IAC5DA;IAEJ,qBACE,+CAAC7T,wCAAIA;QAAC,UAAS;QAAS,gBAAe;QAAiB,GAAG+d,UAAU;OAClEwH,eAAe,GAAG,CAAC,CAAC3L,MAAMoJ;QACzB,MAAMvG,QAAQwI,SACZO,qBACAxC,KACAkC,SACAE,iBAAiB,SAASpC,MAC1BsC;QAEF,MAAMR,YACJ9B,MAAMuC,eAAe,MAAM,GAAG,IAAIN,SAASO,qBAAqBxC,MAAM,KAAKjhB;QAC7E,qBACE,+CAACuiB,+BAAQA;YAAC,KAAKtB;WACZA,MAAM,mBAAK,+CAAC2B,UAAU,IAAI;YAAC,UAAUlI,UAAU;0BAChD,+CAACgH;YAAK,OAAO7J;YAAM,OAAO6C;YAAO,WAAWqI;YAAW,mBAAmB9B,QAAQ;;IAGxF;AAGN;AAEA,mEAAetjB,+BAAIA,CAAC0iB,QAAQA,EAAC;;;;;;;;;;;AC9P0B;AACR;;;;;;;;;;;;;;;;ACDL;AACH;AACD;AACG;AAC0B;AAC3B;AAExC,MAAMuD,cAAc/lB,iDAAS,CAAC;;iCAEG,EAAEhB,CAAAA,QAASA,MAAM,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;gCAC3C,EAAEA,CAAAA,QAASA,MAAM,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;;;;;;cAM5D,EAAEyD,CAAAA,IAAKA,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;cACxB,EAAEA,CAAAA,IAAKA,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;WAC3B,EAAEA,CAAAA,IAAKA,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;iBAClB,EAAEA,CAAAA,IAAKA,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;cAC3B,EAAEA,CAAAA,IAAKA,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;aAC1B,EAAEA,CAAAA,IAAKA,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;;;;;;;;mCAQH,EAAEzD,CAAAA,QAASA,MAAM,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;kCAC5C,EAAEA,CAAAA,QAASA,MAAM,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;;;;;;;mBAOzD,EAAEyD,CAAAA,IAAKA,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;;;;;mCAKR,EAAEzD,CAAAA,QAASA,MAAM,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;kCAC5C,EAAEA,CAAAA,QAASA,MAAM,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;wCACpC,EAAEA,CAAAA,QAASA,MAAM,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;;;;;mCAK/C,EAAEA,CAAAA,QAASA,MAAM,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;kCAC3C,EAAEA,CAAAA,QAASA,MAAM,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;;;;;;AAM5E,CAAC;AAED,MAAMgnB,0BAA0BhmB,kDAAU,CAAC;;eAE5B,EAAEyC,CAAAA,IAAKA,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;eACzB,EAAEA,CAAAA,IAAKA,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;AACvC,CAAC;AAED,MAAMwjB,eAAejmB,kDAAU,CAAC;UACtB,EAAEyC,CAAAA,IAAKA,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;SACzB,EAAEA,CAAAA,IAAKA,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;iBAChB,EAAEA,CAAAA,IAAKA,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;oBACrB,EAAEA,CAAAA,IAAKA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;AACtD,CAAC;AAEM,MAAMyjB,YAAYlmB,4CAAMA,CAAClB,6CAAIA,CAAC,CAAC;;;;;AAKtC,CAAC,CAAC;AAYF,MAAM8lB,OAAO,CAAC,EACZjZ,KAAK,EACLhJ,QAAQ,EACRiF,OAAO,EACPuM,QAAQ,EACRzI,UAAU,EACVya,wBAAwB,EACxBC,uBAAuB,EACd;IACT,MAAM,EAAEC,UAAU,EAAE,GAAGzY,qCAAUA,CAACkY,kCAAcA;IAEhD,MAAMnV,cAAc;QAClB,IAAIjF,YAAY;QAChB9D;IACF;IAEA,MAAMqZ,QAAQmF,yCAA2B,+CAACH;IAE1C,qBACE,gHACE,+CAACF;QACC,MAAK;QACL,SAASpV;QACT,eAAawD;QACb,gBAAczI;QACd,UAAU;OAET/I,wBACD,+CAACqjB,6CACC,+CAACpO,wDAAeA;QACd;QACA;QACA,IAAI,CAACyO;QACL,OAAO;YAAE,iBAAiB,CAACA,aAAa,UAAU;QAAE;OAEnDF,4BAA4BlF,uBAGjC,+CAACrJ,wDAAeA;QACd,SAAS;QACT,IAAIyO;QACJ;QACA;QACA,OAAO;YAAE,iBAAiBA,aAAa,UAAU;YAAG,SAAS;YAAQ,MAAM;QAAI;qBAE/E,+CAACH;QAAU,SAAQ;OAAava,sBAChC,+CAACvL,wCAAIA;QAAC,YAAW;QAAS,gBAAe;QAAW,IAAI;QAAG,UAAU;OAClE+lB,4BAA4BlF;AAMzC;AAEA,sDAAe2D,IAAIA,EAAC;;;;;;;;;;;;;;;;AC/IsB;AACH;AAEsC;AACD;AACnB;AACU;AAEnE,MAAMtkB,YAAYN,kDAAU,CAAC;;;;AAI7B,CAAC;AAED,MAAMwmB,OAAO;IACX,MAAM,EAAEH,UAAU,EAAE,GAAGzY,qCAAUA,CAACkY,+CAAcA;IAEhD,qBACE,+CAACxlB,+BACC,+CAACsX,wDAAeA;QACd,SAAS;QACT,IAAIyO;QACJ;QACA;QACA,OAAO;YAAE,iBAAiB;YAAS,YAAY;QAAO;qBAEtD,+CAACC,2DAAmBA,wBAEtB,+CAAC1O,wDAAeA;QACd,SAAS;QACT,IAAI,CAACyO;QACL;QACA;QACA,OAAO;YAAE,QAAQ;YAAQ,iBAAiB;QAAQ;qBAElD,+CAACE,8DAAeA;AAIxB;AAEA,sDAAeC,IAAIA,EAAC;;;;;;;;;;;;;;;;;;;ACzCqC;AACF;AAChB;AACkB;AACjB;AACY;AACA;AACI;AAExD,MAAME,MAAM1mB,4CAAMA,CAACI,4CAAIA,CAAC,CAAC;;WAEd,EAAEqC,CAAAA,IAAK,GAAGA,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAEA,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;;;;SAI1D,EAAEzD,CAAAA,QAASA,MAAM,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;0BAC1B,EAAEA,CAAAA,QAASA,MAAM,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;oBAChD,EAAEA,CAAAA,QAASA,MAAM,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC;;;;WAIvD,EAAEyD,CAAAA,IAAKA,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;;;WAG3B,EAAEA,CAAAA,IAAKA,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;;;;;;;;;WASzB,EAAEA,CAAAA,IAAK,GAAGA,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;;AAE3C,CAAC;AAED,MAAMkkB,uBAAuB3mB,kDAAU,CAAC;;;;SAI/B,EAAEyC,CAAAA,IAAK,GAAGA,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;;AAExC,CAAC;AAQD,MAAM2hB,UAAU,CAAC,EAAEzhB,QAAQ,EAAEwF,QAAQ,EAAEke,aAAa,IAAI,EAAgB;IACtE,MAAM,CAACO,mBAAmBC,mBAAmB,GAAG5f,mCAAQA,CAAC;IACzD,MAAM6f,gBAAgB/mB,kCAAOA,CAAC,IAAO;YAAEsmB;YAAYle;QAAS,IAAI;QAACke;QAAYle;KAAS;IACtF,MAAM4e,UAAU3J,iCAAMA,CAAiB;IAEvC,qBACE,+CAAC0I,wDAAuB;QAAC,OAAOgB;qBAC9B,+CAACL,qDAAaA;QAAC,SAASM;QAAS,IAAIV;QAAY,SAAS;QAAK,YAAW;qBACxE,+CAACK;QACC,KAAKK;QACL,eAAc;QACd,gBAAe;QACf,cAAa;QACb,MAAK;QACL,cAAW;QACX,cAAc,IAAMF,mBAAmB;QACvC,cAAc,IAAMA,mBAAmB;qBAEvC,+CAACF,2CACD,+CAAC1d,sDAAMA;QAAC,aAAa2d;sBACrB,+CAACJ,oDAAIA,uBACL,+CAACpmB,wCAAIA;QAAC,eAAc;QAAS,gBAAe;QAAa,cAAa;OACnEuC;AAMb;AAEAyhB,QAAQ,IAAI,GAAGQ,oDAAIA;AAEnB,sDAAeR,OAAOA,EAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnFmB;AACH;AAEoC;AACE;AACV;AACV;AAEzD,MAAM6C,wBAAwBjnB,oCAAMA,CAAC4X,8BAAeA,CAAC,CAAC;oCAClB,EAAEnV,CAAAA,IAAKA,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;;;;;;;;;;cAU/C,EAAEA,CAAAA,IAAKA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;oBAC5B,EAAEA,CAAAA,IAAKA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;;;;AAIvD,CAAC;AAGD,MAAMykB,eAAe,CAAC,EAAEC,WAAW,EAAqB;IACtD,MAAM,EAAEd,UAAU,EAAEle,QAAQ,EAAE,GAAGyF,8BAAUA,CAACkY,kBAAcA;IAE1D,qBACE,uCAACmB;QACC,SAAS;QACT,IAAIE;QACJ;QACA;QACA,SAAShf;QACT,MAAK;OAEJke,2BAAa,uCAACtK,2BAAaA,wBAAM,uCAACiL,4BAAcA;AAGvD;AAEA,qCAAeE,YAAYA,EAAC;;;;;;;;;;AC5CU;AAGtC,mEAAeE,wCAAaA,CAA8B,CAAC,EAAE,EAAC;;;;;;;;;;;;;ACFrB;AAC0C;AAiB5D;AAqBhB,MAAMI,aAA6CxhB,0CAAOA,CAC/DshB,sCAAOA,EACP3C,oCAAKA,EACL/D,uCAAQA,EACRliB,oCAAKA,EACLQ,qCAAMA,EACNqoB,uCAAQA,EACRF,+CAAIA,EACJpnB,qCAAMA,EACN;AAEF,MAAMwnB,cAAc,IAAIC,MAAM1nB,8CAAMA,EAAE;IACpC,OAAM2nB,MAAqB,EAAEC,OAAO,EAAEC,aAAwC;QAC5E,OAAO7nB,4CAAMA,CAAC2nB,OAAO,KAAK,CAACC,SAASC,eAAeL;IACrD;IACA,KAAIG,MAAM,EAAEG,QAA6B;QACvC,IAAI,OAAOH,MAAM,CAACG,SAAS,KAAK,YAAY;YAC1C,OAAO9nB,4CAAMA,CAAC2nB,MAAM,CAACG,SAAS,CAAC,KAAK,CAAC9nB,8CAAMA,EAAE;gBAACwnB;aAAW;QAC3D;QACA,OAAOG,MAAM,CAACG,SAAS;IACzB;AACF;AAEA,sDAAgCL,WAAWA,EAAC;;;;;;;;;;;;;AC/DJ;AACD;AACF;AAiBrC,MAAMpD,MAAMrkB,kDAAU,CAAC;;oBAEH,EAAEyC,CAAAA,IAAKA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;;;AAGtD,CAAC;AAED,MAAMmiB,OAAO5kB,4CAAMA,CAACI,4CAAIA,EAAE,KAAK,CAAC;IAC9B,MAAM;IACN,gBAAgB;IAChB,YAAY;AACd,EAAa,CAAC;;;;SAIL,EAAEqC,CAAAA,IAAMA,EAAE,MAAM,GAAGA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,GAAGA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAE;oBACjE,EAAEA,CAAAA,IAAMA,EAAE,MAAM,GAAGA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,GAAG,QAAS;AAC9E,CAAC;AAEc,SAASslB,QAAQ,EAC9BplB,QAAQ,EACRqlB,WAAW,EACXC,kBAAkB,EACZ;IACN,MAAM,CAAChU,aAAaiU,eAAe,GAAGjhB,mCAAQA,CAACghB;IAC/C,qBACE,+CAAC5D,WACE/lB,iDAAsB,CAACqE,UAAU,GAAG,CAAC,CAACoR,OAAOpS,sBAC5C,+CAACijB;YACC,KAAKjjB;YACL,QAAQA,UAAUsS;YAClB,SAAS;gBACPiU,eAAevmB;gBACfqmB,eAAeA,YAAYrmB;YAC7B;WAECoS;AAKX;;;;;;;;;;;;;AC5DmD;AACZ;AACF;AAiBrC,MAAMzT,YAAYN,4CAAMA,CAACI,4CAAIA,EAAE,KAAK,CAAC;IACnC,gBAAgB;IAChB,MAAM;IACN,WAAW;AACb,EAAE,CAAC;oBACiB,EAAEqC,CAAAA,IAAKA,EAAE,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC;;;AAG7D,CAAC;AAED,MAAMmiB,OAAO5kB,4CAAMA,CAACI,4CAAIA,EAAE,KAAK,CAAC;IAC9B,MAAM;IACN,gBAAgB;IAChB,YAAY;AACd,EAAa,CAAC;;;;SAIL,EAAEqC,CAAAA,IAAMA,EAAE,MAAM,GAAGA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,GAAGA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAE;oBAClE,EAAEA,CAAAA,IAAMA,EAAE,MAAM,GAAGA,EAAE,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,GAAG,QAAS;AACpF,CAAC;AAEc,SAASslB,QAAQ,EAC9BplB,QAAQ,EACRqlB,WAAW,EACXC,kBAAkB,EACZ;IACN,MAAM,CAAChU,aAAaiU,eAAe,GAAGjhB,mCAAQA,CAACghB;IAE/CrX,oCAASA,CAAC;QACRsX,eAAeD;IACjB,GAAG;QAACA;KAAmB;IAEvB,qBACE,+CAAC3nB,iBACEhC,iDAAsB,CAACqE,UAAU,GAAG,CAAC,CAACoR,OAAOpS,sBAC5C,+CAACijB;YACC,KAAKjjB;YACL,QAAQA,UAAUsS;YAClB,SAAS;gBACPiU,eAAevmB;gBACfqmB,eAAeA,YAAYrmB;YAC7B;WAECoS;AAKX;;;;;;;;;;;;;;;ACpEwC;AACD;AACa;AACf;AAcrC,MAAMoU,OAAOnoB,kDAAuB,CAAC;;;;;;;;;;;;;;;EAenC,EAAEC,qCAAMA,CAAC;AACX,CAAC;AACD,MAAM2kB,OAAO5kB,4CAAMA,CAACI,4CAAIA,EAAE,KAAK,CAAC;IAAE,MAAM;IAAG,gBAAgB;IAAU,YAAY;AAAS,EAAE,CAAC;;;;;WAKlF,EAAEqC,CAAAA,IAAKA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;sBACvB,EAAEA,CAAAA,IAAKA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;kBACtC,EAAEA,CAAAA,IAAKA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;;;WAGzC,EAAEA,CAAAA,IAAKA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;sBACvB,EAAEA,CAAAA,IAAKA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;kBACvC,EAAEA,CAAAA,IAAKA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;;;;;;;;;AASrD,CAAC;AAEc,SAAS2lB,SAAS,EAC/BzlB,QAAQ,EACRqlB,WAAW,EACXC,kBAAkB,EACZ;IACN,MAAM,CAAChU,aAAaiU,eAAe,GAAGjhB,mCAAQA,CAACghB;IAC/C,qBACE,+CAACE,YACE7pB,iDAAsB,CAACqE,UAAU,GAAG,CAAC,CAACoR,OAAOpS,sBAC5C,+CAACijB;YACC,KAAKjjB;YACL,eAAaA,UAAUsS;YACvB,SAAS;gBACPiU,eAAevmB;gBACfqmB,eAAeA,YAAYrmB;YAC7B;WAECoS;AAKX;;;;;;;;;;;;;;;AC/E0E;AACnC;AACF;AACT;AACU;AAuBtC,MAAMzT,YAAYN,4CAAMA,CAACI,4CAAIA,EAAE,KAAK,CAAC;IACnC,eAAe;IACf,gBAAgB;IAChB,YAAY;AACd,EAAE,CAAC,CAAC;AAEJ,MAAMmoB,YAAYvoB,kDAAU,CAAC;;;;;AAK7B,CAAC;AAED,MAAMwoB,mBAAmBxoB,4CAAMA,CAACI,4CAAIA,EAAE,KAAK,CAAC;IAC1C,MAAM;IACN,YAAY;AACd,EAAE,CAAC;;AAEH,CAAC;AAED,MAAMqoB,eAAezoB,kDAAiC,CAAC;;;;;UAK7C,EAAEyC,CAAAA,IAAMA,EAAE,QAAQ,GAAG,YAAY,UAAW;;AAEtD,CAAC;AAED,MAAMimB,cAAc1oB,4CAAMA,CAAClB,6CAAIA,EAAE,KAAK,CAAC;IACrC,YAAY;AACd,EAAyB,CAAC;;SAEjB,EAAE2D,CAAAA,IAAMA,EAAE,QAAQ,GAAGA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,GAAGA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAE;AACxF,CAAC;AAED,MAAMkmB,uBAAuB3oB,4CAAMA,CAACI,4CAAIA,EAAE,KAAK,CAAC;IAC9C,MAAM;AACR,EAAE,CAAC;;;;2BAIwB,EAAEqC,CAAAA,IAAKA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;AAC7D,CAAC;AAED,MAAMmmB,wBAAwB5oB,kDAAgC,CAAC;;QAEvD,EAAEyC,CAAAA,IAAKA,EAAE,IAAI,CAAC;SACb,EAAEA,CAAAA,IAAKA,EAAE,KAAK,CAAC;;;uBAGD,EAAEA,CAAAA,IAAKA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;AACzD,CAAC;AAED,MAAMmB,QAAQ5D,4CAAMA,CAAC0C,oCAAGA,EAAE,KAAK,CAACD,CAAAA,IAAM;QACpC,cAAcA,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE;QAC9B,iBAAiBA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG;QAC3C,OAAOA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG;IACnC,GAAG,CAAC;;;AAGJ,CAAC;AAOD,MAAMomB,cAAc,CAAC7pB;IACnB,MAAM,EAAER,KAAK,EAAE0lB,IAAI,EAAE,GAAGllB;IACxB,qBACE,gHACE,+CAAC2pB,2CACD,+CAACC;QAAsB,OAAOpqB;QAAO,MAAM0lB;;AAGjD;AAUA,MAAM4E,8BAAgBR,qCAAUA,CAAqC,CAACtpB,OAAO6I;IAC3E,MAAM,EAAED,OAAO,EAAEqZ,KAAK,EAAEhf,QAAQ,EAAEmN,QAAQ,EAAE3P,KAAK,EAAE,GAAGT;IAEtD,qBACE,+CAACypB;QAAa,KAAK5gB;QAAK,UAAU5F;QAAU,SAAS2F;qBACnD,+CAAC8gB;QAAY,UAAUtZ;OAAW3P,QAChCwhB,CAAAA,SAASA,UAAU,oBAAM,+CAACrd,aAAOqd;AAGzC;AAEA,MAAM8H,cAAc/oB,4CAAMA,CAACI,4CAAIA,EAAE,KAAK,CAAC;IACrC,MAAM;AACR,EAAwB,CAAC;;SAEhB,EAAEqC,CAAAA,IAAMA,EAAE,MAAM,GAAGA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,GAAGA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAE;oBACjE,EAAEA,CAAAA,IAAMA,EAAE,MAAM,GAAGA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,GAAGA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAE;AACjG,CAAC;AAEc,SAASumB,KAAKhqB,KAAY;IACvC,MAAM,EAAEiqB,IAAI,EAAEjB,WAAW,EAAE,GAAGhpB;IAC9B,MAAM,CAACiV,aAAaiU,eAAe,GAAGjhB,mCAAQA,CAACgiB,IAAI,CAAC,EAAE,CAAC,KAAK;IAC5D,MAAM,CAACC,WAAWC,gBAAgB,GAAGliB,mCAAQA,CAAuB;QAAE,MAAM;QAAG,OAAO;IAAE;IACxF,MAAMmiB,UAAUnV,eAAe,IAAIgV,IAAI,CAAChV,YAAY,GAAG;IACvD,MAAMoV,OAAOJ,KAAK,GAAG,CAAC,kBAAMZ,oCAASA;IAErCzX,oCAASA,CAAC;QACR,MAAM2F,WAAWvX,MAAM,WAAW,IAAIiV;QACtCiU,eAAe3R;QAEf,IAAI8S,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE;YACnB,MAAMC,WAAWL,KAAK,SAAS,CAACM,CAAAA,IAAKA,EAAE,KAAK,KAAKhT;YACjD,MAAMiT,eAAeH,KAAK,KAAK,CAAC,GAAGC;YACnC,MAAM9qB,QAAQ6qB,IAAI,CAACC,SAAS,CAAC,OAAO,EAAE,eAAe;YACrD,MAAMpF,OAAOsF,aAAa,MAAM,CAAC,CAACC,OAAO5hB,MAAQ4hB,QAAS5hB,CAAAA,IAAI,OAAO,EAAE,eAAe,IAAI;YAC1FshB,gBAAgB;gBACd3qB;gBACA0lB;YACF;QACF;IACA,uDAAuD;IACzD,GAAG;QAACjQ;KAAY;IAEhB,MAAMyV,aAAa,CAAC/nB;QAClB,MAAMgoB,MAAMV,KAAK,IAAI,CAACM,CAAAA,IAAKA,EAAE,KAAK,KAAK5nB;QACvC,IAAIgoB,OAAO,CAACA,IAAI,QAAQ,EAAE;YACxBzB,eAAevmB;YACfqmB,eAAeA,YAAYrmB;QAC7B;IACF;IAEA,qBACE,+CAACrB,+BACC,+CAACioB,+BACC,+CAACC,wBACES,KAAK,GAAG,CAAC,CAACU,KAAKC,kBACd,+CAACd;YACC,KAAKO,IAAI,CAACO,EAAE;YACZ,OAAOD,IAAI,KAAK;YAChB,UAAU1V,gBAAgB0V,IAAI,KAAK;YACnC,OAAOA,IAAI,KAAK;YAChB,UAAU,CAAC,CAACA,IAAI,QAAQ;YACxB,SAAS,IAAMD,WAAWC,IAAI,KAAK;4BAIzC,+CAACd;QAAY,OAAOK,UAAU,KAAK;QAAE,MAAMA,UAAU,IAAI;uBAE3D,+CAACH,mBAAaK,WAAWA,QAAQ,SAAS;AAGhD;;;;;;;;;;;;;;;ACxLuC;AACE;AACA;AACA;;;;;;;;;;;;;;ACHH;AACiB;AAEhB;AACvC,MAAMU,WAAW;AACjB,MAAMC,kBAAkB/pB,kDAA+B,CAAC;cAC1C,EAAEhB,CAAAA,QAAS,CAAC,QAAQ,EAAEA,MAAM,OAAO,CAAC,cAAc,CAAC,CAAC;;;;;;;;;;;;;;;;;AAiBlE,CAAC;AAYD,MAAM4Y,kBAAkB,CAAC,EACvBjV,QAAQ,EACR,IAAIqnB,MAAM,EACVnM,UAAUiM,QAAQ,EAClB,GAAGG,iBACkB;IACrB,MAAMlD,UAAU3J,iCAAMA,CAAiB;IACvC,qBACE,+CAACqJ,qDAAaA;QACX,GAAGwD,eAAe;QACnB,SAASlD;QACT,IAAIiD;QACJ,SAASnM;QACT,YAAW;qBAEX,+CAACkM;QAAgB,KAAKhD;QAAS,SAASlJ;OACrClb;AAIT;AAEA,sDAAeiV,eAAeA,EAAC;;;;;;;;;;;;;;ACzDO;AACiB;AAEhB;AACvC,MAAMkS,WAAW;AACjB,MAAMC,kBAAkB/pB,kDAAU,CAAC;wBACX,EAAE8pB,SAAS;;;;;;;;;;;;;;;;;AAiBnC,CAAC;AAYD,MAAM9N,kBAAkB,CAAC,EACvBrZ,QAAQ,EACR,IAAIqnB,MAAM,EACVnM,UAAUiM,QAAQ,EAClB,GAAGG,iBACkB;IACrB,MAAMlD,UAAU3J,iCAAMA,CAAiB;IACvC,qBACE,+CAACqJ,qDAAaA;QACX,GAAGwD,eAAe;QACnB,SAASlD;QACT,IAAIiD;QACJ,SAASnM;QACT,YAAW;qBAEX,+CAACkM;QAAgB,KAAKhD;OAAUpkB;AAGtC;AAEA,sDAAeqZ,eAAeA,EAAC;;;;;;;;;;;;;;ACvDO;AACiB;AAEhB;AACvC,MAAM8N,WAAW;AACjB,MAAMC,kBAAkB/pB,kDAAsD,CAAC;kBAC7D,EAAE8pB,SAAS;;EAE3B,EAAErnB,CAAAA,IACA,CAACA,EAAE,KAAK,GACJ,CAAC;;;IAGL,CAAC,GACG,GAAG;;;;;;;;;;;;;;;;;;0BAkBe,EAAEA,CAAAA,IAAMA,EAAE,WAAW,GAAG,MAAM,CAAC,IAAK;;;;;;;;;;;;;;;;;;0BAkBpC,EAAEA,CAAAA,IAAMA,EAAE,WAAW,GAAG,CAAC,MAAM,IAAK;;AAE9D,CAAC;AAUD,MAAMkV,kBAAkB,CAAC,EACvBhV,QAAQ,EACRunB,KAAK,EACLhX,YAAY,MAAM,EAClBiX,WAAW,EACX,GAAGnrB,OACkB;IACrB,MAAM+nB,UAAU3J,iCAAMA,CAAiB;IACvC,qBACE,+CAACqJ,qDAAaA;QACX,GAAGznB,KAAK;QACT,SAAS+nB;QACT,SAAS+C;QACT,YAAY,CAAC,WAAW,EAAE5W,WAAW;qBAErC,+CAAC6W;QAAgB,KAAKhD;QAAS,OAAOmD;QAAO,aAAaC;OACvDxnB;AAIT;AAEA,sDAAegV,eAAeA,EAAC;;;;;;;;;;;;;ACpFgC;AACA;AACA;;;;;;;;ACA/D,MAAMyS,qBAAqBC,OAAO,GAAG,CAAC;AACtC,MAAMC,kCAAkCD,OAAO,GAAG,CAAC;AAEnD;;;;;;CAMC,GACM,MAAM5H,sBAAsB,CAAC/b,QAClC,CAAC,CAACA,SACF,OAAOA,UAAU,YACjB,yEAAyE;IACzE,cAAeA,SACf,yEAAyE;IACxE,CAACA,MAAiC,QAAQ,KAAK0jB,sBAC9C,yEAAyE;IACxE1jB,MAAiC,QAAQ,KAAK4jB,+BAA8B,EAAG;;;;;;;;;;;;;;;;ACpB7C;AACW;AACc;AACL;AAEvC;AAOb,MAAMvY,gBAAgB,CAAC,EAC5BpP,QAAQ,EACRiE,SAAS,EACT+jB,YAAY,EACZC,kBAAkB,OAAO,EACnB;IACN,MAAM/hB,QAAe9I,kCAAOA,CAC1B,IAAO;YACL,GAAGyqB,6BAAY;YACf,QAAQ;gBACN,GAAGA,oCAAmB;gBACtB,GAAGE,6CAAQ,CAACE,gBAAgB;gBAC5B,SAASF,6CAAQ,CAACE,gBAAgB;YACpC;YACA,OAAOA;QACT,IACA;QAACA;KAAgB;IAEnB,qBACE,+CAACL,gDAAaA;QAAC,OAAO1hB;qBACpB,+CAAC4hB,8BAAWA;QAAC,WAAW7jB;QAAW,cAAc+jB;QAChDhoB;AAGP,EAAE;;;;;;;;;;;;;ACpCoD;AAErB;AAC8B;AACA;AAOxD,MAAM8nB,cAAcI,wDAAmC,CAAC;;;;;;;;;;;;;;;;;;;;gBAoB/C,EAAEpoB,CAAAA,IAAKyC,kCAAIA,CAACzC,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK;;;;;EAK5D,EAAEzD,CAAAA,QAAU,OAAOA,MAAM,SAAS,KAAK,WAAW8H,2DAAUA,GAAG,GAAI;;EAEnE,EAAEgkB,8DAAWA,CAAC;;;;;;;;;;;;;;;;;;;;;;;AAuBhB,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;AC7DwB;AAEa;AAEhC,MAAM5lB,OAAO,CAAC+lB,GAAWC,IAAsBH,wBAAKA,CAACE,GAAG,KAAK,CAACC,GAAG,GAAG,GAAG,QAAQ,GAAG;AAElF,MAAMC,SAAS,CAACF,GAAWC,IAAsBH,MAAME,GAAG,MAAM,CAACC,GAAG,QAAQ,GAAG;AAE/E,MAAME,UAAU,CAACH,GAAWC,IAAsBH,MAAME,GAAG,OAAO,CAACC,GAAG,QAAQ,GAAG;AAEjF,MAAMG,MAAM,CAACJ,GAAWK,GAAWJ,IACxCH,MAAME,GAAG,GAAG,CAACF,MAAMO,IAAIJ,GAAG,QAAQ,GAAG;AAEhC,MAAMK,KAAK,CAACC;IACjB,MAAM,CAACC,MAAM1pB,OAAO,SAAS,CAAC,GAAGypB,EAAE,KAAK,CAAC;IACzC,yBAAyB;IACzB,MAAM,EAAEE,KAAK,EAAErsB,MAAM,EAAE,GAAG2rB,kBAAY,CAACS,KAAK,CAAC1pB,KAAK;IAClD,yBAAyB;IACzB,MAAM4pB,WAAmBX,kBAAY,CAACS,KAAK,CAAC,QAAQ,IAAI;IAExD,OAAO;QACL,YAAY,GAAGA,KAAK,EAAE,EAAEE,UAAU;QAClC,YAAYtsB;QACZ,WAAWqsB;IACb;AACF,EAAE;AAEK,MAAME,iBAAiB,CAACC,QAAgBC;IAC7C,MAAMC,UAAUhB,MAAMc,QAAQ,UAAU,KAAK;IAC7C,MAAMG,UAAUjB,MAAMe,QAAQ,UAAU,KAAK;IAE7C,MAAMG,SAASF,UAAUC,UAAUD,UAAUC,UAAUA,UAAUD;IAEjE,IAAIE,SAAS,KAAK;QAChB,OAAOlB,MAAMc,QAAQ,MAAM,CAAC,KAAK,MAAM,GAAG,MAAM;IAClD;IACA,OAAOA;AACT,EAAE;;;;;;;;;ACrC8B;AAEhC,sDAAgB,CAAA7sB;IACd,MAAMktB,OAAOltB,MAAM,EAAE;IAErB,IAAIktB,QAAQ,MAAM;QAChB,OAAO;IACT;IAEA,OAAOX,gCAAEA,CAACW;AACZ,CAAC,EAAC;;;;;;;;;;ACVqC;AAEvC,MAAM7E,OAAO/gB,yCAAMA,CAAC;IAClB,QAAQ;QAAE,UAAU;QAAU,OAAO;IAAQ;IAC7C,WAAW;QAAE,UAAU;QAAa,OAAO;IAAQ;AACrD;AAEA,sDAAe+gB,IAAIA,EAAC;;;;;;;;;;;;;;ACPqC;AACI;AAItD,MAAM8E,cAAc;IACzB,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,KAAK;AACP,EAAwC;AAEjC,MAAMxH,QAAQ;IACnB;qFACmF,GACnF;IAAG;IAAG;IAAG;IAAG;IAAI;IAAI;IAAI;IAAI;IAAI;IAAI;IAAI;IAAI;IAAI;IAAI;IAAI;IAAI;IAAI;IAAI;IAAI;IAAI;IAAI;CACjF,CAAC;AA2BK,MAAMzd,YAAY;IAAC;IAAG;IAAI;IAAI;IAAI;IAAI;IAAI;IAAI;IAAI;IAAI;IAAI;IAAI;CAAG,CAGtE;AAEF,CACEA,UAAU,KAAK,EACfA,UAAU,IAAI,EACdA,UAAU,UAAU,EACpBA,UAAU,KAAK,EACfA,UAAU,SAAS,EACnBA,UAAU,IAAI,EACdA,UAAU,KAAK,EACfA,UAAU,EAAE,EACZA,UAAU,EAAE,EACZA,UAAU,EAAE,EACZA,UAAU,EAAE,EACZA,UAAU,EAAE,CACb,GAAGA;AACJA,UAAU,eAAe,GAAGA,UAAU,KAAK;AAC3CA,UAAU,cAAc,GAAGA,UAAU,IAAI;AACzCA,UAAU,mBAAmB,GAAGA,UAAU,SAAS;AACnDA,UAAU,QAAQ,GAAGA,UAAU,UAAU;AACzCA,UAAU,OAAO,GAAGA,UAAU,EAAE;AAChCA,UAAU,OAAO,GAAGA,UAAU,EAAE;AAChCA,UAAU,OAAO,GAAGA,UAAU,EAAE;AAChCA,UAAU,OAAO,GAAGA,UAAU,EAAE;AAChCA,UAAU,OAAO,GAAGA,UAAU,EAAE;AAEhC,MAAMklB,cAAc;IAClB,YAAY;IACZ,OAAO;IACP,SAAS;IACT,QAAQ;IACR,UAAU;IACV,MAAM;IACN,WAAW;AACb;AAEO,MAAMC,QAAQ;IAAC;IAAG;IAAG;IAAG;IAAI;IAAI;CAAG,CAAC;AACpC,MAAMC,UAAU;IAAC;CAAkC,CAAC;AACpD,MAAMC,WAAW;IAAC,CAAC;IAAG;IAAG;IAAG;IAAG;IAAI;IAAI;IAAK;IAAK;CAAK,CAAC;AAE9D,sFAAsF;AAC/E,MAAMvB,eAAe;IAC1B,OAAO;QACL,YAAY;YACV,QAAQ;YACR,OAAO;QACT;QACA,OAAO;YACL,QAAQ;YACR,OAAO;QACT;QACA,SAAS;YACP,QAAQ;YACR,OAAO;QACT;QACA,QAAQ;YACN,QAAQ;YACR,OAAO;QACT;QACA,UAAU;YACR,QAAQ;YACR,OAAO;QACT;QACA,MAAM;YACJ,QAAQ;YACR,OAAO;QACT;QACA,WAAW;YACT,QAAQ;YACR,OAAO;QACT;IACF;IACA,OAAO;QACL,QAAQ;YACN,QAAQ;YACR,OAAO;QACT;IACF;AACF,EAAE;AAEF,MAAMwB,oBAAoB;AAC1B,MAAMC,UAAU;IACd,cAAc;AAChB;AAEA,MAAMC,aAAa,CACjBC,aAAa;IAAC;CAAM,EACpB7C,WAAW0C,iBAAiB,EAC5BI,SAASH,QAAQ,YAAY,GAC1B3nB,0CAAG,CAAC;uBACc,EAAE6nB,WAAW,IAAI,CAAC,KAAK;uBACvB,EAAE7C,SAAS;8BACJ,EAAE8C,OAAO;AACvC,CAAC;AAED,MAAMC,SAAS7O,gDAAS,CAAC;;;;;;;EAOvB,CAAC;AACH,MAAM8O,UAAU9O,gDAAS,CAAC;;;;;;;EAOxB,CAAC;AACH,MAAM+O,cAAc/O,gDAAS,CAAC;;;;;;;;;AAS9B,CAAC;AACD,MAAMgP,WAAWhP,gDAAS,CAAC;;;;;;;;;EASzB,CAAC;AACH,MAAMiP,aAAa;IACjB,QAAQ,IAAMnoB,0CAAG,CAAC;IAChB,EAAE+nB,OAAO,CAAC,EAAEL,kBAAkB,CAAC,EAAEC,QAAQ,YAAY,CAAC;EACxD,CAAC;IACD,SAAS,IAAM3nB,0CAAG,CAAC;IACjB,EAAEgoB,QAAQ,CAAC,EAAEN,kBAAkB,CAAC,EAAEC,QAAQ,YAAY,CAAC;EACzD,CAAC;IACD,aAAa,IAAM3nB,0CAAG,CAAC;IACrB,EAAEioB,YAAY,MAAM,EAAEN,QAAQ,YAAY,CAAC;EAC7C,CAAC;IACD,UAAU,IAAM3nB,0CAAG,CAAC;IAClB,EAAEkoB,SAAS,CAAC,EAAER,kBAAkB,CAAC,EAAEC,QAAQ,YAAY,CAAC;EAC1D,CAAC;AACH;AACA,MAAMlF,WAAW;IACf,GAAGziB,0CAAG,CAAC;;;;;qBAKY,EAAErC,CAAAA,IAAKA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;;EAErD,CAAC;IACD,GAAGqC,0CAAG,CAAC;;;;;qBAKY,EAAErC,CAAAA,IAAKA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;;EAErD,CAAC;IACD,OAAOqC,0CAAG,CAAC;;;;;qBAKQ,EAAErC,CAAAA,IAAKA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;;EAErD,CAAC;IACD,IAAIqC,0CAAG,CAAC;;;;qBAIW,EAAErC,CAAAA,IAAKA,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;;EAErD,CAAC;IACD,WAAW;AACb;AA0CA,MAAMoG,QAAsB;IAC1B,OAAO;IACP,OAAO;QACL,QAAQ;YACN,MAAM;gBACJ,KAAK;oBACH,OAAO;gBACT;gBACA,OAAO;oBACL,OAAO;gBACT;YACF;YACA,OAAO;gBACL,KAAK;oBACH,QAAQ;oBACR,OAAO;gBACT;gBACA,KAAK;oBACH,QAAQ;oBACR,OAAO;gBACT;YACF;QACF;QACA,cAAc;QACd,cAAc;IAChB;IACAwjB;IACArB;IACA9jB;IACAklB;IACAzH;IACA2H;IACA,QAAQ5B,mDAAc;IACtBuC;IACA1F;IACAmF;IACAH;IACAJ;AACF;AAEA,sDAAetjB,KAAKA,EAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnTrB;AACA;AACA;AACA;AACA;AACA,iCAAiC,WAAW;AAC5C;AACA;;;;;ACPA;AACA;AACA;AACA,kDAAkD,wCAAwC;AAC1F;AACA;AACA,E;;;;ACNA,wF;;;;ACAA;AACA;AACA;AACA,uDAAuD,iBAAiB;AACxE;AACA,gDAAgD,aAAa;AAC7D,E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACN0B;AACJ;AACC;AACE;AACC;AACA;AACG;AACc;AACpB;AACgB;AACT"}
|