diff --git a/desktop/plugins/public/ui-debugger/components/sidebar/inspector/AttributesInspector.tsx b/desktop/plugins/public/ui-debugger/components/sidebar/inspector/AttributesInspector.tsx index 0a2d6e6c8..6ad1c4f35 100644 --- a/desktop/plugins/public/ui-debugger/components/sidebar/inspector/AttributesInspector.tsx +++ b/desktop/plugins/public/ui-debugger/components/sidebar/inspector/AttributesInspector.tsx @@ -20,45 +20,24 @@ import {Checkbox, Col, Row} from 'antd'; import {displayableName} from '../utilities/displayableName'; import ColorInspector from './ColorInspector'; import SizeInspector from './SizeInspector'; -import {theme} from 'flipper-plugin'; import SpaceBoxInspector from './SpaceBoxInspector'; import BoundsInspector from './BoundsInspector'; import Coordinate3DInspector from './Coordinate3DInspector'; import CoordinateInspector from './CoordinateInspector'; +import { + AutoMarginStyle, + EnumAttributeValueStyle, + NumberAttributeValueStyle, + ObjectContainerStyle, + RowStyle, + TextAttributeValueStyle, +} from './Styles'; -const NumberValue = styled.span({ - color: theme.semanticColors.numberValue, - display: 'flex', -}); - -const TextValue = styled.span({ - color: theme.semanticColors.stringValue, - display: 'flex', -}); - -const EnumValue = styled.span({ - color: theme.semanticColors.stringValue, - fontSize: theme.fontSize.small, - margin: 'auto', -}); - -const ContainerStyle = { - marginTop: 4, - marginBottom: 4, - borderStyle: 'solid', - borderColor: theme.dividerColor, - borderWidth: '0 0 1px 0', -}; - -const ObjectContainer = styled.div({ - borderLeftWidth: 5, - borderLeftColor: 'lightgray', - borderLeftStyle: 'solid', -}); - -const CenterContainer = styled.div({ - margin: 'auto', -}); +const NumberValue = styled.span(NumberAttributeValueStyle); +const TextValue = styled.span(TextAttributeValueStyle); +const EnumValue = styled.span(EnumAttributeValueStyle); +const ObjectContainer = styled.div(ObjectContainerStyle); +const CenteredContentContainer = styled.div(AutoMarginStyle); type NamedAttributeInspectorProps = { name: string; }; @@ -67,12 +46,12 @@ const NamedAttributeInspector: React.FC = ({ children, }) => { return ( - - + + {name} - {children} + {children} ); @@ -85,7 +64,7 @@ const ObjectAttributeInspector: React.FC<{ level: number; }> = ({metadata, name, fields, level}) => { return ( -
+
{name} {Object.keys(fields).map(function (key, _) { const metadataId: number = Number(key); diff --git a/desktop/plugins/public/ui-debugger/components/sidebar/inspector/BoundsInspector.tsx b/desktop/plugins/public/ui-debugger/components/sidebar/inspector/BoundsInspector.tsx index d2323fb59..d45fd9066 100644 --- a/desktop/plugins/public/ui-debugger/components/sidebar/inspector/BoundsInspector.tsx +++ b/desktop/plugins/public/ui-debugger/components/sidebar/inspector/BoundsInspector.tsx @@ -9,6 +9,7 @@ import React from 'react'; import {Bounds} from '../../../types'; +import {InspectorStyle} from './Styles'; type Props = { size?: number; @@ -22,13 +23,13 @@ type Props = { }; const BoundsInspector: React.FC = ({ - size = 180, - strokeColor = '#4A5967', - outerBoxColor = '#F2F3F7', - innerBoxColor = '#CCD1D9', - multiplier = 0.4, - margin = 4, - separator = 10, + size = InspectorStyle.bounds.size, + strokeColor = InspectorStyle.strokeColor, + outerBoxColor = InspectorStyle.outerFillColor, + innerBoxColor = InspectorStyle.innerFillColor, + multiplier = InspectorStyle.bounds.multiplier, + margin = InspectorStyle.bounds.margin, + separator = InspectorStyle.bounds.separator, value, }) => { const scale = diff --git a/desktop/plugins/public/ui-debugger/components/sidebar/inspector/ColorInspector.tsx b/desktop/plugins/public/ui-debugger/components/sidebar/inspector/ColorInspector.tsx index 62c5d1b17..27054a841 100644 --- a/desktop/plugins/public/ui-debugger/components/sidebar/inspector/ColorInspector.tsx +++ b/desktop/plugins/public/ui-debugger/components/sidebar/inspector/ColorInspector.tsx @@ -12,25 +12,14 @@ import {Popover} from 'antd'; import {Color} from '../../../types'; import {SketchPicker, RGBColor, ColorResult} from 'react-color'; import {styled} from 'flipper-plugin'; +import {ColorInnerButtonStyle, ColorOuterButtonStyle} from './Styles'; type State = { color: RGBColor; }; -const OuterColorButton = styled.div({ - padding: '5px', - backgroundColor: '#fff', - borderRadius: '5px', - boxShadow: '0 0 0 1px rgba(0,0,0,.1)', - display: 'inline-block', - cursor: 'pointer', -}); - -const InnerColorButton = styled.div({ - width: '36px', - height: '14px', - borderRadius: '2px', -}); +const OuterColorButton = styled.div(ColorOuterButtonStyle); +const InnerColorButton = styled.div(ColorInnerButtonStyle); class ColorInspector extends React.Component<{color: Color}> { state: State = { diff --git a/desktop/plugins/public/ui-debugger/components/sidebar/inspector/Coordinate3DInspector.tsx b/desktop/plugins/public/ui-debugger/components/sidebar/inspector/Coordinate3DInspector.tsx index e53d460a3..79f1beba9 100644 --- a/desktop/plugins/public/ui-debugger/components/sidebar/inspector/Coordinate3DInspector.tsx +++ b/desktop/plugins/public/ui-debugger/components/sidebar/inspector/Coordinate3DInspector.tsx @@ -10,7 +10,12 @@ import React from 'react'; import {Coordinate3D} from '../../../types'; import {Col, Row} from 'antd'; -import {theme} from 'flipper-plugin'; +import { + CenteredContentStyle, + CenteredHeadingContentStyle, + CenteredNumberStyle, + CenteredTextStyle, +} from './Styles'; type Props = { value: Coordinate3D; @@ -19,45 +24,25 @@ type Props = { const Coordinate3DInspector: React.FC = ({value}) => { return ( <> - - + + x - + y - + z - - + + {value.x} - + {value.y} - + {value.z} diff --git a/desktop/plugins/public/ui-debugger/components/sidebar/inspector/CoordinateInspector.tsx b/desktop/plugins/public/ui-debugger/components/sidebar/inspector/CoordinateInspector.tsx index 3b69faf9f..2315c42d8 100644 --- a/desktop/plugins/public/ui-debugger/components/sidebar/inspector/CoordinateInspector.tsx +++ b/desktop/plugins/public/ui-debugger/components/sidebar/inspector/CoordinateInspector.tsx @@ -10,7 +10,12 @@ import React from 'react'; import {Coordinate} from '../../../types'; import {Col, Row} from 'antd'; -import {theme} from 'flipper-plugin'; +import { + CenteredContentStyle, + CenteredHeadingContentStyle, + CenteredNumberStyle, + CenteredTextStyle, +} from './Styles'; type Props = { value: Coordinate; @@ -19,34 +24,19 @@ type Props = { const CoordinateInspector: React.FC = ({value}) => { return ( <> - - + + x - + y - - + + {value.x} - + {value.y} diff --git a/desktop/plugins/public/ui-debugger/components/sidebar/inspector/DefaultInspectorContainer.tsx b/desktop/plugins/public/ui-debugger/components/sidebar/inspector/DefaultInspectorContainer.tsx index 53c2fc13a..24dae988f 100644 --- a/desktop/plugins/public/ui-debugger/components/sidebar/inspector/DefaultInspectorContainer.tsx +++ b/desktop/plugins/public/ui-debugger/components/sidebar/inspector/DefaultInspectorContainer.tsx @@ -9,21 +9,14 @@ import React from 'react'; import {Col, Row} from 'antd'; -import {styled, theme} from 'flipper-plugin'; +import {styled} from 'flipper-plugin'; +import {DefaultInputContainerStyle} from './Styles'; type Props = { name: string; }; -export const DefaultInputContainer = styled.div({ - margin: 'auto', - padding: '2px', - minWidth: '50px', - backgroundColor: theme.backgroundDefault, - borderRadius: '5px', - boxShadow: '0 0 0 1px rgba(0,0,0,.2)', - display: 'inline-block', -}); +export const DefaultInputContainer = styled.div(DefaultInputContainerStyle); export const DefaultInspectorContainer: React.FC = (props) => { return ( diff --git a/desktop/plugins/public/ui-debugger/components/sidebar/inspector/IdentityInspector.tsx b/desktop/plugins/public/ui-debugger/components/sidebar/inspector/IdentityInspector.tsx index 9890b3212..006785a65 100644 --- a/desktop/plugins/public/ui-debugger/components/sidebar/inspector/IdentityInspector.tsx +++ b/desktop/plugins/public/ui-debugger/components/sidebar/inspector/IdentityInspector.tsx @@ -10,33 +10,44 @@ import React from 'react'; import {Col, Row} from 'antd'; import {UINode} from '../../../types'; -import {styled} from 'flipper-plugin'; +import {styled, theme} from 'flipper-plugin'; import {CodeInspector} from './fb-stubs/CodeInspector'; +import {TopSpacedContainerStyle} from './Styles'; type Props = { node: UINode; }; -const IdentityContainer = styled.div({ - marginTop: '10px', -}); +const IdentityContainer = styled.div(TopSpacedContainerStyle); export const IdentityInspector: React.FC = ({node}) => { return ( - +
Name:
- {node.name} + + {node.name} +
- + +
Qualified name:
+ + + {node.qualifiedName} + +
+ +
Id:
- {node.id} + + {node.id} +
- +
); }; diff --git a/desktop/plugins/public/ui-debugger/components/sidebar/inspector/SizeInspector.tsx b/desktop/plugins/public/ui-debugger/components/sidebar/inspector/SizeInspector.tsx index 7fb09036b..123266651 100644 --- a/desktop/plugins/public/ui-debugger/components/sidebar/inspector/SizeInspector.tsx +++ b/desktop/plugins/public/ui-debugger/components/sidebar/inspector/SizeInspector.tsx @@ -10,7 +10,12 @@ import React from 'react'; import {Size} from '../../../types'; import {Col, Row} from 'antd'; -import {theme} from 'flipper-plugin'; +import { + CenteredContentStyle, + CenteredHeadingContentStyle, + CenteredNumberStyle, + CenteredTextStyle, +} from './Styles'; type Props = { value: Size; @@ -19,34 +24,19 @@ type Props = { const SizeInspector: React.FC = ({value}) => { return ( <> - - + + width - + height - - + + {value.width} - + {value.height} diff --git a/desktop/plugins/public/ui-debugger/components/sidebar/inspector/SpaceBoxInspector.tsx b/desktop/plugins/public/ui-debugger/components/sidebar/inspector/SpaceBoxInspector.tsx index 1c59552eb..285ed2c96 100644 --- a/desktop/plugins/public/ui-debugger/components/sidebar/inspector/SpaceBoxInspector.tsx +++ b/desktop/plugins/public/ui-debugger/components/sidebar/inspector/SpaceBoxInspector.tsx @@ -9,6 +9,7 @@ import React from 'react'; import {SpaceBox} from '../../../types'; +import {InspectorStyle} from './Styles'; type Props = { size?: number; @@ -21,12 +22,12 @@ type Props = { }; const SpaceBoxInspector: React.FC = ({ - size = 180, - strokeColor = '#4A5967', - outerBoxColor = '#F2F3F7', - innerBoxColor = '#CCD1D9', - margin = 10, - separator = 4, + size = InspectorStyle.spaceBox.size, + strokeColor = InspectorStyle.strokeColor, + outerBoxColor = InspectorStyle.outerFillColor, + innerBoxColor = InspectorStyle.innerFillColor, + margin = InspectorStyle.spaceBox.margin, + separator = InspectorStyle.spaceBox.separator, value, }) => { const half = size / 2; diff --git a/desktop/plugins/public/ui-debugger/components/sidebar/inspector/Styles.tsx b/desktop/plugins/public/ui-debugger/components/sidebar/inspector/Styles.tsx new file mode 100644 index 000000000..42519278f --- /dev/null +++ b/desktop/plugins/public/ui-debugger/components/sidebar/inspector/Styles.tsx @@ -0,0 +1,109 @@ +/** + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + * + * @format + */ + +import {theme} from 'flipper-plugin'; + +export const InspectorStyle = { + strokeColor: '#4A5967', + outerFillColor: '#F2F3F7', + innerFillColor: '#CCD1D9', + spaceBox: { + size: 180, + margin: 10, + separator: 4, + }, + bounds: { + size: 180, + multiplier: 0.4, + margin: 4, + separator: 10, + }, +} as const; + +export const RowStyle = { + marginTop: 4, + marginBottom: 4, + borderStyle: 'solid', + borderColor: theme.dividerColor, + borderWidth: '0 0 1px 0', +} as const; + +export const ObjectContainerStyle = { + borderLeftWidth: 5, + borderLeftColor: 'lightgray', + borderLeftStyle: 'solid', +} as const; + +export const DefaultInputContainerStyle = { + margin: 'auto', + padding: '2px', + minWidth: '50px', + backgroundColor: theme.backgroundDefault, + borderRadius: '5px', + boxShadow: '0 0 0 1px rgba(0,0,0,.2)', + display: 'inline-block', +} as const; + +export const NumberAttributeValueStyle = { + color: theme.semanticColors.numberValue, + display: 'flex', +} as const; + +export const TextAttributeValueStyle = { + color: theme.semanticColors.stringValue, + display: 'flex', +} as const; + +export const EnumAttributeValueStyle = { + color: theme.semanticColors.stringValue, + fontSize: theme.fontSize.small, + margin: 'auto', +} as const; + +export const CenteredNumberStyle = { + textAlign: 'center', + color: theme.semanticColors.numberValue, +} as const; + +export const CenteredTextStyle = { + textAlign: 'center', +} as const; + +export const CenteredContentStyle = { + paddingLeft: '20%', + paddingRight: '20%', +} as const; + +export const CenteredHeadingContentStyle = { + ...CenteredContentStyle, + fontSize: theme.fontSize.small, +} as const; + +export const ColorOuterButtonStyle = { + padding: '5px', + backgroundColor: '#fff', + borderRadius: '5px', + boxShadow: '0 0 0 1px rgba(0,0,0,.1)', + display: 'inline-block', + cursor: 'pointer', +} as const; + +export const ColorInnerButtonStyle = { + width: '36px', + height: '14px', + borderRadius: '2px', +} as const; + +export const AutoMarginStyle = { + margin: 'auto', +} as const; + +export const TopSpacedContainerStyle = { + marginTop: 10, +} as const;