Skip to content

Commit 2a94386

Browse files
committed
Update implementation approach
1 parent 64b44ad commit 2a94386

File tree

7 files changed

+42
-9
lines changed

7 files changed

+42
-9
lines changed

ui/components/app/snaps/snap-ui-checkbox/snap-ui-checkbox.tsx

+4-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import React, { FunctionComponent, useEffect, useState } from 'react';
2+
import classnames from 'classnames';
23
import { useSnapInterfaceContext } from '../../../../contexts/snaps';
34
import {
45
BorderColor,
@@ -51,7 +52,9 @@ export const SnapUICheckbox: FunctionComponent<SnapUICheckboxProps> = ({
5152

5253
return (
5354
<Box
54-
className="snap-ui-renderer__checkbox"
55+
className={classnames('snap-ui-renderer__checkbox', {
56+
'snap-ui-renderer__field': label !== undefined,
57+
})}
5558
display={Display.Flex}
5659
flexDirection={FlexDirection.Column}
5760
>

ui/components/app/snaps/snap-ui-dropdown/snap-ui-dropdown.tsx

+4-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import React, { FunctionComponent, useEffect, useState } from 'react';
2+
import classnames from 'classnames';
23
import { useSnapInterfaceContext } from '../../../../contexts/snaps';
34
import {
45
Display,
@@ -46,7 +47,9 @@ export const SnapUIDropdown: FunctionComponent<SnapUIDropdownProps> = ({
4647

4748
return (
4849
<Box
49-
className="snap-ui-renderer__dropdown"
50+
className={classnames('snap-ui-renderer__dropdown', {
51+
'snap-ui-renderer__field': label !== undefined,
52+
})}
5053
display={Display.Flex}
5154
flexDirection={FlexDirection.Column}
5255
>

ui/components/app/snaps/snap-ui-file-input/snap-ui-file-input.tsx

+14-2
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,13 @@ export const SnapUIFileInput: FunctionComponent<SnapUIFileInputProps> = ({
146146

147147
if (compact) {
148148
return (
149-
<Box className="snap-ui-renderer__file-input">
149+
<Box
150+
className={classnames('snap-ui-renderer__file-input', {
151+
'snap-ui-renderer__field': label !== undefined,
152+
})}
153+
display={Display.Flex}
154+
flexDirection={FlexDirection.Column}
155+
>
150156
{header}
151157
<ButtonIcon
152158
type="button"
@@ -168,7 +174,13 @@ export const SnapUIFileInput: FunctionComponent<SnapUIFileInputProps> = ({
168174
}
169175

170176
return (
171-
<Box className="snap-ui-renderer__file-input">
177+
<Box
178+
className={classnames('snap-ui-renderer__file-input', {
179+
'snap-ui-renderer__field': label !== undefined,
180+
})}
181+
display={Display.Flex}
182+
flexDirection={FlexDirection.Column}
183+
>
172184
{header}
173185
<Box
174186
className="snap-ui-renderer__file-input__drop-zone"

ui/components/app/snaps/snap-ui-input/snap-ui-input.tsx

+7-2
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,19 @@ import React, {
55
useRef,
66
useState,
77
} from 'react';
8+
import classnames from 'classnames';
89
import { useSnapInterfaceContext } from '../../../../contexts/snaps';
910
import { FormTextField, FormTextFieldProps } from '../../../component-library';
1011

1112
export type SnapUIInputProps = {
1213
name: string;
1314
form?: string;
15+
label?: string | React.ReactNode;
1416
};
1517

1618
export const SnapUIInput: FunctionComponent<
1719
SnapUIInputProps & FormTextFieldProps<'div'>
18-
> = ({ name, form, ...props }) => {
20+
> = ({ name, form, label, ...props }) => {
1921
const { handleInputChange, getValue, focusedInput, setCurrentFocusedInput } =
2022
useSnapInterfaceContext();
2123

@@ -54,10 +56,13 @@ export const SnapUIInput: FunctionComponent<
5456
ref={inputRef}
5557
onFocus={handleFocus}
5658
onBlur={handleBlur}
57-
className="snap-ui-renderer__input"
59+
className={classnames('snap-ui-renderer__input', {
60+
'snap-ui-renderer__field': label !== undefined,
61+
})}
5862
id={name}
5963
value={value}
6064
onChange={handleChange}
65+
{...(label ? { label } : {})}
6166
{...props}
6267
/>
6368
);

ui/components/app/snaps/snap-ui-radio-group/snap-ui-radio-group.tsx

+4-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import React, { FunctionComponent, useEffect, useState } from 'react';
2+
import classnames from 'classnames';
23
import { useSnapInterfaceContext } from '../../../../contexts/snaps';
34
import {
45
AlignItems,
@@ -75,7 +76,9 @@ export const SnapUIRadioGroup: FunctionComponent<SnapUIRadioGroupProps> = ({
7576

7677
return (
7778
<Box
78-
className="snap-ui-renderer__radio"
79+
className={classnames('snap-ui-renderer__radio', {
80+
'snap-ui-renderer__field': label !== undefined,
81+
})}
7982
display={Display.Flex}
8083
flexDirection={FlexDirection.Column}
8184
>

ui/components/app/snaps/snap-ui-renderer/index.scss

+1-1
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@
8787

8888
&__form {
8989
.snap-ui-renderer__panel {
90-
.mm-box--display-flex.mm-box--flex-direction-column {
90+
.snap-ui-renderer__field {
9191
flex: 1 1 50%; // Ensure that adjacent form elements take up to 50% width
9292
}
9393
}

ui/components/app/snaps/snap-ui-selector/snap-ui-selector.tsx

+8-1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import React, {
33
useEffect,
44
MouseEvent as ReactMouseEvent,
55
} from 'react';
6+
import classnames from 'classnames';
67
import {
78
Box,
89
ButtonBase,
@@ -128,7 +129,13 @@ export const SnapUISelector: React.FunctionComponent<SnapUISelectorProps> = ({
128129

129130
return (
130131
<>
131-
<Box display={Display.Flex} flexDirection={FlexDirection.Column}>
132+
<Box
133+
display={Display.Flex}
134+
flexDirection={FlexDirection.Column}
135+
className={classnames({
136+
'snap-ui-renderer__field': label !== undefined,
137+
})}
138+
>
132139
{label && <Label htmlFor={name}>{label}</Label>}
133140
<ButtonBase
134141
className="snap-ui-renderer__selector"

0 commit comments

Comments
 (0)