ghost-portal/packages/react-params/src/Holder.tsx
Jaco 27098f34b8
Bump deps (#9040)
* Bump deps

* Bumps

* Adjust

* Adjust

* Adjust test imports

* Adjust

* Re-adjust

* Fix frequency package name

* Adjust build

* Adjust

* Fix before import

* Adjust

* require script

* Adjust checks

* Linting fixes

* Fix json alongside other tests

* Move fixup script

* Remove main type: "module"

* Adjust (some) tests

* Adjust chartjs imports

* Bump deps

* Adjust

* Bump deps

* Adjust styled imports

* Bump deps

* Adjust
2023-02-20 11:38:52 +02:00

113 lines
2.1 KiB
TypeScript

// Copyright 2017-2023 @polkadot/react-params authors & contributors
// SPDX-License-Identifier: Apache-2.0
import React from 'react';
import { styled } from '@polkadot/react-components';
interface Props {
children?: React.ReactNode;
className?: string;
withBorder?: boolean;
withExpander?: boolean;
withPadding?: boolean;
}
function Holder ({ children, className = '', withBorder, withExpander, withPadding }: Props): React.ReactElement<Props> {
return (
<StyledDiv className={`${className} ui--Params ${withBorder ? 'withBorder' : ''} ${withPadding ? 'withPadding' : ''} ${withExpander ? 'withExpander' : ''}`}>
{children}
</StyledDiv>
);
}
const StyledDiv = styled.div`
&.withBorder {
padding-left: 2rem;
.ui--Params-Content {
border-left: 1px dashed var(--border-input);
.ui--Params.withBorder {
padding-left: 0;
}
}
}
&.withExpander {
padding-left: 0.25rem;
}
&.withPadding {
padding-left: 4rem;
}
.ui--Param-composite .ui--row,
.ui--Param-composite .ui--row .ui--InputAddressSimple {
& > .ui--Labelled > label {
text-transform: none !important;
}
}
.ui--row {
flex-wrap: wrap;
}
.ui--Param-Address {
}
.ui--Params-Content {
box-sizing: border-box;
padding: 0;
.ui--Params-Content {
margin-left: 2rem;
}
}
.ui--Param-text {
display: inline-block;
font-size: var(--font-size-base);
line-height: 1.714rem;
overflow: hidden;
text-overflow: ellipsis;
}
.ui--Param-text .icon {
margin-right: 0.5rem !important;
}
.ui--Param-text * {
vertical-align: middle;
}
.ui--Param-text.nowrap {
white-space: nowrap;
}
.ui--Param-text.name {
color: rgba(0, 0, 0, .6);
font-style: italic;
}
.ui--Param-text + .ui--Param-text {
margin-left: 0.5rem;
}
.ui--Param-Vector-buttons {
text-align: right;
}
.ui--Param-composite {
position: relative;
.ui--Param-overlay {
position: absolute;
top: 0.5rem;
right: 3.5rem;
}
}
`;
export default React.memo(Holder);