/
PrimitivePropertyLabelRenderer.tsx
42 lines (39 loc) · 1.49 KB
/
PrimitivePropertyLabelRenderer.tsx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
/*---------------------------------------------------------------------------------------------
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
* See LICENSE.md in the project root for license terms and full copyright notice.
*--------------------------------------------------------------------------------------------*/
/** @packageDocumentation
* @module Properties
*/
import "./PropertyLabelRenderer.scss";
import * as React from "react";
import type { PropertyLabelRendererProps } from "./PropertyLabelRenderer";
import { PropertyLabelRenderer } from "./PropertyLabelRenderer";
/** Properties of a [[PrimitivePropertyLabelRenderer]] React component
* @public
*/
export interface PrimitivePropertyLabelRendererProps
extends PropertyLabelRendererProps {
/** Additional class name for the label wrapper */
className?: string;
/** Offset from the left side in pixels. */
offset?: number;
}
/** A React component that renders a primitive property label
* @public
*/
export class PrimitivePropertyLabelRenderer extends React.PureComponent<PrimitivePropertyLabelRendererProps> {
public override render() {
const { className, offset, children, ...rest } = this.props;
return (
<span
className={`components-primitive-property-label-renderer ${
className ? className : ""
}`}
style={PropertyLabelRenderer.getStyle(offset)}
>
<PropertyLabelRenderer {...rest}>{children}</PropertyLabelRenderer>
</span>
);
}
}