html: add htmlfor for elements
This commit is contained in:
parent
e6f6639366
commit
ab0670ddf8
@ -19,6 +19,7 @@ const defaultLinkProps: ComponentProps<typeof Link> = {
|
||||
const overrideRender: Partial<Record<keyof typeof map, RenderProps>> = {
|
||||
selectLead: {
|
||||
render: () => {
|
||||
const elementName = 'selectLead';
|
||||
const title = titles.selectLead;
|
||||
const valueName = map.selectLead;
|
||||
const Component = components.selectLead;
|
||||
@ -26,7 +27,7 @@ const overrideRender: Partial<Record<keyof typeof map, RenderProps>> = {
|
||||
const builder = builders.selectLead;
|
||||
|
||||
const Element = builder(Component, {
|
||||
elementName: 'selectLead',
|
||||
elementName,
|
||||
valueName,
|
||||
});
|
||||
|
||||
@ -36,9 +37,13 @@ const overrideRender: Partial<Record<keyof typeof map, RenderProps>> = {
|
||||
});
|
||||
|
||||
return (
|
||||
<Container key="selectLead">
|
||||
<Head title={title} addon={<LinkComponent {...defaultLinkProps} />} />
|
||||
<Element {...props} />
|
||||
<Container key={elementName}>
|
||||
<Head
|
||||
htmlFor={elementName}
|
||||
title={title}
|
||||
addon={<LinkComponent {...defaultLinkProps} />}
|
||||
/>
|
||||
<Element {...props} id={elementName} />
|
||||
</Container>
|
||||
);
|
||||
},
|
||||
@ -46,6 +51,7 @@ const overrideRender: Partial<Record<keyof typeof map, RenderProps>> = {
|
||||
|
||||
selectOpportunity: {
|
||||
render: () => {
|
||||
const elementName = 'selectOpportunity';
|
||||
const title = titles.selectOpportunity;
|
||||
const valueName = map.selectOpportunity;
|
||||
const Component = components.selectOpportunity;
|
||||
@ -53,7 +59,7 @@ const overrideRender: Partial<Record<keyof typeof map, RenderProps>> = {
|
||||
const builder = builders.selectOpportunity;
|
||||
|
||||
const Element = builder(Component, {
|
||||
elementName: 'selectOpportunity',
|
||||
elementName,
|
||||
valueName,
|
||||
});
|
||||
|
||||
@ -63,9 +69,13 @@ const overrideRender: Partial<Record<keyof typeof map, RenderProps>> = {
|
||||
});
|
||||
|
||||
return (
|
||||
<Container key="selectOpportunity">
|
||||
<Head title={title} addon={<LinkComponent {...defaultLinkProps} />} />
|
||||
<Element {...props} />
|
||||
<Container key={elementName}>
|
||||
<Head
|
||||
htmlFor={elementName}
|
||||
title={title}
|
||||
addon={<LinkComponent {...defaultLinkProps} />}
|
||||
/>
|
||||
<Element {...props} id={elementName} />
|
||||
</Container>
|
||||
);
|
||||
},
|
||||
@ -73,6 +83,7 @@ const overrideRender: Partial<Record<keyof typeof map, RenderProps>> = {
|
||||
|
||||
selectQuote: {
|
||||
render: () => {
|
||||
const elementName = 'selectQuote';
|
||||
const title = titles.selectQuote;
|
||||
const valueName = map.selectQuote;
|
||||
const Component = components.selectQuote;
|
||||
@ -80,7 +91,7 @@ const overrideRender: Partial<Record<keyof typeof map, RenderProps>> = {
|
||||
const builder = builders.selectQuote;
|
||||
|
||||
const Element = builder(Component, {
|
||||
elementName: 'selectQuote',
|
||||
elementName,
|
||||
valueName,
|
||||
});
|
||||
|
||||
@ -90,9 +101,13 @@ const overrideRender: Partial<Record<keyof typeof map, RenderProps>> = {
|
||||
});
|
||||
|
||||
return (
|
||||
<Container key="selectQuote">
|
||||
<Head title={title} addon={<LinkComponent {...defaultLinkProps} />} />
|
||||
<Element {...props} />
|
||||
<Container key={elementName}>
|
||||
<Head
|
||||
htmlFor={elementName}
|
||||
title={title}
|
||||
addon={<LinkComponent {...defaultLinkProps} />}
|
||||
/>
|
||||
<Element {...props} id={elementName} />
|
||||
</Container>
|
||||
);
|
||||
},
|
||||
@ -100,6 +115,7 @@ const overrideRender: Partial<Record<keyof typeof map, RenderProps>> = {
|
||||
|
||||
tbxVehicleTaxInYear: {
|
||||
render: () => {
|
||||
const elementName = 'tbxVehicleTaxInYear';
|
||||
const title = titles.tbxVehicleTaxInYear;
|
||||
const valueName = map.tbxVehicleTaxInYear;
|
||||
const Component = components.tbxVehicleTaxInYear;
|
||||
@ -107,15 +123,15 @@ const overrideRender: Partial<Record<keyof typeof map, RenderProps>> = {
|
||||
const builder = builders.tbxVehicleTaxInYear;
|
||||
|
||||
const Element = builder(Component, {
|
||||
elementName: 'tbxVehicleTaxInYear',
|
||||
elementName,
|
||||
valueName,
|
||||
});
|
||||
|
||||
return (
|
||||
<Tooltip title="Без учета налога на роскошь" placement="topLeft">
|
||||
<Container>
|
||||
<Head title={title} />
|
||||
<Element {...props} />
|
||||
<Head htmlFor={elementName} title={title} />
|
||||
<Element {...props} id={elementName} />
|
||||
</Container>
|
||||
</Tooltip>
|
||||
);
|
||||
@ -124,6 +140,7 @@ const overrideRender: Partial<Record<keyof typeof map, RenderProps>> = {
|
||||
|
||||
selectHighSeasonStart: {
|
||||
render: () => {
|
||||
const elementName = 'selectHighSeasonStart';
|
||||
const title = titles.selectHighSeasonStart;
|
||||
const valueName = map.selectHighSeasonStart;
|
||||
const Component = components.selectHighSeasonStart;
|
||||
@ -131,15 +148,15 @@ const overrideRender: Partial<Record<keyof typeof map, RenderProps>> = {
|
||||
const builder = builders.selectHighSeasonStart;
|
||||
|
||||
const Element = builder(Component, {
|
||||
elementName: 'selectHighSeasonStart',
|
||||
elementName,
|
||||
valueName,
|
||||
});
|
||||
|
||||
return (
|
||||
<Tooltip title="С какого платежа начинается полный высокий сезон" placement="topLeft">
|
||||
<Container>
|
||||
<Head title={title} />
|
||||
<Element {...props} />
|
||||
<Head htmlFor={elementName} title={title} />
|
||||
<Element {...props} id={elementName} />
|
||||
</Container>
|
||||
</Tooltip>
|
||||
);
|
||||
|
||||
@ -21,8 +21,8 @@ const render = Object.keys(map).reduce((acc, elementName) => {
|
||||
acc[elementName] = {
|
||||
render: () => (
|
||||
<Container key={elementName}>
|
||||
<Head title={title} />
|
||||
<Element {...props} />
|
||||
<Head title={title} htmlFor={elementName} />
|
||||
<Element {...props} id={elementName} />
|
||||
</Container>
|
||||
),
|
||||
};
|
||||
|
||||
@ -3,7 +3,7 @@ import styled from 'styled-components';
|
||||
import { Flex } from 'UIKit/grid';
|
||||
import { min } from 'UIKit/mq';
|
||||
|
||||
const ElementTitle = styled.h5`
|
||||
const ElementTitle = styled.label`
|
||||
color: rgba(0, 0, 0, 0.75);
|
||||
font-weight: 600;
|
||||
font-size: 13px;
|
||||
@ -18,10 +18,18 @@ const ElementTitle = styled.h5`
|
||||
}
|
||||
`;
|
||||
|
||||
export function Head({ title, addon }: { title: string; addon?: ReactNode }) {
|
||||
export function Head({
|
||||
title,
|
||||
addon,
|
||||
htmlFor,
|
||||
}: {
|
||||
title: string;
|
||||
addon?: ReactNode;
|
||||
htmlFor: string;
|
||||
}) {
|
||||
return (
|
||||
<Flex flexDirection={['row']} justifyContent={['space-between']} alignItems={['center']}>
|
||||
<ElementTitle>{title}</ElementTitle>
|
||||
<ElementTitle htmlFor={htmlFor}>{title}</ElementTitle>
|
||||
{addon}
|
||||
</Flex>
|
||||
);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user