mirror of
https://github.com/pezkuwichain/pezkuwi-apps.git
synced 2026-04-22 11:17:59 +00:00
117 lines
2.1 KiB
TypeScript
117 lines
2.1 KiB
TypeScript
// Copyright 2017-2026 @pezkuwi/react-params authors & contributors
|
|
// SPDX-License-Identifier: Apache-2.0
|
|
|
|
import React from 'react';
|
|
|
|
import { styled } from '@pezkuwi/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-BTreeMap-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);
|