5.0.27 • Published 4 days ago

@cloudflare/component-form v5.0.27

Weekly downloads
2,110
License
BSD-3-Clause
Repository
-
Last release
4 days ago

@cloudflare/component-form

Cloudflare Form Component

Installation

Installation with yarn is recommended

$ yarn add @cloudflare/component-form

Usage

import React from 'react';
import {
  Form,
  FormHeader,
  FormFooter,
  FormFieldset,
  FormLabel,
  FormFieldError
} from '../../src';
import { Input } from '@cloudflare/component-input';
import { Select } from '@cloudflare/component-select';
import { Textarea } from '@cloudflare/component-textarea';
import { Button } from '@cloudflare/component-button';

class FormComponent extends React.Component {
  constructor(props) {
    super(props);
    this.state = {
      firstName: '',
      lastName: '',
      type: 'suggestion',
      message: 'This is blasphemy! This is madness!'
    };

    this.handleFirstNameChange = this.handleFirstNameChange.bind(this);
    this.handleLastNameChange = this.handleLastNameChange.bind(this);
    this.handleTypeChange = this.handleTypeChange.bind(this);
    this.handleMessageChange = this.handleMessageChange.bind(this);
    this.handleSubmit = this.handleSubmit.bind(this);
  }

  handleFirstNameChange(e) {
    this.setState({ firstName: e.value });
  }

  handleLastNameChange(e) {
    this.setState({ lastName: e.value });
  }

  handleTypeChange(type) {
    this.setState({ type });
  }

  handleMessageChange(e) {
    this.setState({ message: e.value });
  }

  handleSubmit() {
    console.log(JSON.stringify(this.state, null, 2));
    this.setState({
      firstName: '',
      lastName: '',
      type: 'suggestion',
      message: ''
    });
  }

  render() {
    return (
      <Form layout="horizontal" onSubmit={this.handleSubmit}>
        <FormHeader title="Feedback Form" />
        <FormFieldset legend="Name">
          <FormLabel htmlFor="firstName">First Name</FormLabel>
          <Input
            id="firstName"
            name="firstName"
            type="text"
            value={this.state.firstName}
            onChange={this.handleFirstNameChange}
          />
          <FormLabel htmlFor="lastName">Last Name</FormLabel>
          <Input
            id="lastName"
            name="lastName"
            type="text"
            value={this.state.lastName}
            onChange={this.handleLastNameChange}
          />
        </FormFieldset>

        <FormFieldset legend="Type">
          <FormLabel htmlfor="type" hidden>
            Type
          </FormLabel>
          <Select
            id="type"
            options={[
              { value: 'suggestion', label: 'Suggestion' },
              { value: 'problem', label: 'Problem' }
            ]}
            value={this.state.type}
            onChange={this.handleTypeChange}
          />
        </FormFieldset>

        <FormFieldset legend="Message">
          <FormLabel htmlFor="message" hidden>
            Message
          </FormLabel>
          <Textarea
            id="message"
            name="message"
            value={this.state.message}
            onChange={this.handleMessageChange}
          />
          <FormFieldError
            field={{ invalid: true }}
            validations={{
              response: 'Madness? This is Sparta!',
              otherResponse: 'Wax on, wax off'
            }}
          />
        </FormFieldset>

        <FormFooter>
          <Button submit type="primary" onClick={this.handleSubmit}>
            Submit
          </Button>
        </FormFooter>
      </Form>
    );
  }
}

export default FormComponent;
5.0.27

4 days ago

5.0.26

2 months ago

5.0.25

2 months ago

5.0.24

2 months ago

5.0.23

3 months ago

5.0.22

3 months ago

5.0.21

3 months ago

5.0.20

4 months ago

5.0.19

5 months ago

5.0.9

8 months ago

5.0.8

8 months ago

5.0.7

8 months ago

5.0.6

8 months ago

5.0.5

8 months ago

5.0.4

9 months ago

5.0.3

9 months ago

5.0.2

9 months ago

5.0.1

10 months ago

5.0.10

8 months ago

5.0.11

8 months ago

5.0.12

8 months ago

5.0.13

8 months ago

5.0.14

7 months ago

5.0.15

7 months ago

5.0.16

7 months ago

5.0.17

7 months ago

5.0.18

6 months ago

5.0.0

2 years ago

4.0.0

2 years ago

3.0.354

2 years ago

3.0.353

2 years ago

3.0.356

2 years ago

3.0.355

2 years ago

3.0.358

2 years ago

3.0.357

2 years ago

3.0.359

2 years ago

3.0.350

2 years ago

3.0.352

2 years ago

3.0.351

2 years ago

3.0.339

2 years ago

3.0.343

2 years ago

3.0.342

2 years ago

3.0.345

2 years ago

3.0.344

2 years ago

3.0.347

2 years ago

3.0.346

2 years ago

3.0.349

2 years ago

3.0.348

2 years ago

3.0.341

2 years ago

3.0.340

2 years ago

3.0.334

2 years ago

3.0.336

2 years ago

3.0.335

2 years ago

3.0.338

2 years ago

3.0.337

2 years ago

3.0.329

2 years ago

3.0.328

2 years ago

3.0.332

2 years ago

3.0.331

2 years ago

3.0.333

2 years ago

3.0.330

2 years ago

3.0.318

2 years ago

3.0.317

2 years ago

3.0.319

2 years ago

3.0.321

2 years ago

3.0.320

2 years ago

3.0.323

2 years ago

3.0.322

2 years ago

3.0.325

2 years ago

3.0.324

2 years ago

3.0.327

2 years ago

3.0.326

2 years ago

3.0.314

2 years ago

3.0.316

2 years ago

3.0.315

2 years ago

3.0.307

2 years ago

3.0.306

2 years ago

3.0.309

2 years ago

3.0.308

2 years ago

3.0.310

2 years ago

3.0.312

2 years ago

3.0.311

2 years ago

3.0.313

2 years ago

3.0.301

2 years ago

3.0.300

2 years ago

3.0.303

2 years ago

3.0.302

2 years ago

3.0.305

2 years ago

3.0.304

2 years ago

3.0.299

2 years ago

3.0.298

2 years ago

3.0.293

2 years ago

3.0.292

2 years ago

3.0.295

2 years ago

3.0.294

2 years ago

3.0.297

2 years ago

3.0.296

2 years ago

3.0.291

2 years ago

3.0.290

2 years ago

3.0.289

2 years ago

3.0.288

2 years ago

3.0.287

2 years ago

3.0.280

2 years ago

3.0.282

2 years ago

3.0.281

2 years ago

3.0.284

2 years ago

3.0.283

2 years ago

3.0.286

2 years ago

3.0.285

2 years ago

3.0.277

2 years ago

3.0.276

2 years ago

3.0.279

2 years ago

3.0.278

2 years ago

3.0.275

2 years ago

3.0.274

2 years ago

3.0.271

2 years ago

3.0.270

2 years ago

3.0.273

2 years ago

3.0.272

2 years ago

3.0.268

2 years ago

3.0.269

2 years ago

3.0.266

3 years ago

3.0.265

3 years ago

3.0.267

3 years ago

3.0.260

3 years ago

3.0.262

3 years ago

3.0.261

3 years ago

3.0.264

3 years ago

3.0.263

3 years ago

3.0.257

3 years ago

3.0.259

3 years ago

3.0.258

3 years ago

3.0.255

3 years ago

3.0.256

3 years ago

3.0.254

3 years ago

3.0.253

3 years ago

3.0.252

3 years ago

3.0.251

3 years ago

3.0.250

3 years ago

3.0.248

3 years ago

3.0.249

3 years ago

3.0.247

3 years ago

3.0.244

3 years ago

3.0.246

3 years ago

3.0.245

3 years ago

3.0.243

3 years ago

3.0.242

3 years ago

3.0.241

3 years ago

3.0.240

3 years ago

3.0.239

3 years ago

3.0.237

3 years ago

3.0.238

3 years ago

3.0.236

3 years ago

3.0.233

3 years ago

3.0.235

3 years ago

3.0.234

3 years ago

3.0.232

3 years ago

3.0.231

3 years ago

3.0.230

3 years ago

3.0.229

3 years ago

3.0.226

3 years ago

3.0.228

3 years ago

3.0.227

3 years ago

3.0.222

3 years ago

3.0.221

3 years ago

3.0.224

3 years ago

3.0.223

3 years ago

3.0.225

3 years ago

3.0.219

3 years ago

3.0.220

3 years ago

3.0.218

3 years ago

3.0.208

3 years ago

3.0.207

3 years ago

3.0.209

3 years ago

3.0.211

3 years ago

3.0.210

3 years ago

3.0.213

3 years ago

3.0.212

3 years ago

3.0.215

3 years ago

3.0.214

3 years ago

3.0.217

3 years ago

3.0.206

3 years ago

3.0.205

3 years ago

3.0.204

3 years ago

3.0.203

3 years ago

3.0.202

3 years ago

3.0.201

3 years ago

3.0.200

3 years ago

3.0.199

3 years ago

3.0.198

3 years ago

3.0.197

3 years ago

3.0.196

3 years ago

3.0.195

3 years ago

3.0.194

3 years ago

3.0.193

3 years ago

3.0.192

3 years ago

3.0.190

3 years ago

3.0.191

3 years ago

3.0.189

3 years ago

3.0.188

3 years ago

3.0.187

3 years ago

3.0.186

3 years ago

3.0.185

3 years ago

3.0.184

3 years ago

3.0.183

3 years ago

3.0.182

3 years ago

3.0.181

3 years ago

3.0.180

3 years ago

3.0.179

3 years ago

3.0.178

3 years ago

3.0.177

3 years ago

3.0.176

3 years ago

3.0.175

3 years ago

3.0.174

3 years ago

3.0.173

3 years ago

3.0.172

3 years ago

3.0.171

3 years ago

3.0.170

3 years ago

3.0.169

3 years ago

3.0.168

3 years ago

3.0.167

3 years ago

3.0.166

3 years ago

3.0.165

3 years ago

3.0.164

3 years ago

3.0.163

3 years ago

3.0.162

3 years ago

3.0.161

4 years ago

3.0.160

4 years ago

3.0.159

4 years ago

3.0.158

4 years ago

3.0.157

4 years ago

3.0.156

4 years ago

3.0.155

4 years ago

3.0.154

4 years ago

3.0.153

4 years ago

3.0.152

4 years ago

3.0.151

4 years ago

3.0.150

4 years ago

3.0.149

4 years ago

3.0.148

4 years ago

3.0.147

4 years ago

3.0.145

4 years ago

3.0.146

4 years ago

3.0.144

4 years ago

3.0.143

4 years ago

3.0.142

4 years ago

3.0.141

4 years ago

3.0.140

4 years ago

3.0.139

4 years ago

3.0.138

4 years ago

3.0.137

4 years ago

3.0.136

4 years ago

3.0.134

4 years ago

3.0.135

4 years ago

3.0.133

4 years ago

3.0.132

4 years ago

3.0.131

4 years ago

3.0.130

4 years ago

3.0.129

4 years ago

3.0.128

4 years ago

3.0.127

4 years ago

3.0.126

4 years ago

3.0.125

4 years ago

3.0.123

4 years ago

3.0.124

4 years ago

3.0.122

4 years ago

3.0.121

4 years ago

3.0.120

4 years ago

3.0.119

4 years ago

3.0.118

4 years ago

3.0.116

4 years ago

3.0.117

4 years ago

3.0.115

4 years ago

3.0.114

4 years ago

3.0.113

4 years ago

3.0.112

4 years ago

3.0.111

4 years ago

3.0.110

4 years ago

3.0.109

4 years ago

3.0.108

4 years ago

3.0.107

4 years ago

3.0.106

4 years ago

3.0.105

4 years ago

3.0.104

4 years ago

3.0.103

4 years ago

3.0.101

4 years ago

3.0.102

4 years ago

3.0.100

4 years ago

3.0.99

4 years ago

3.0.98

4 years ago

3.0.97

4 years ago

3.0.96

4 years ago

3.0.95

4 years ago

3.0.94

4 years ago

3.0.93

4 years ago

3.0.92

4 years ago

3.0.91

4 years ago

3.0.90

4 years ago

3.0.89

4 years ago

3.0.87

4 years ago

3.0.85

4 years ago

3.0.86

4 years ago

3.0.84

4 years ago

3.0.82

4 years ago

3.0.83

4 years ago

3.0.81

4 years ago

3.0.80

4 years ago

3.0.79

4 years ago

3.0.78

4 years ago

3.0.76

4 years ago

3.0.77

4 years ago

3.0.74

4 years ago

3.0.75

4 years ago

3.0.73

4 years ago

3.0.72

4 years ago

3.0.71

4 years ago

3.0.67

4 years ago

3.0.68

4 years ago

3.0.69

4 years ago

3.0.70

4 years ago

3.0.66

4 years ago

3.0.65

4 years ago

3.0.64

4 years ago

3.0.63

4 years ago

3.0.60

4 years ago

3.0.61

4 years ago

3.0.62

4 years ago

3.0.59

4 years ago

3.0.58

4 years ago

3.0.52

4 years ago

3.0.53

4 years ago

3.0.51

4 years ago

3.0.50

4 years ago

3.0.34

4 years ago

3.0.33

4 years ago

3.0.32

4 years ago

3.0.31

4 years ago

3.0.30

4 years ago

3.0.28

4 years ago

3.0.29

4 years ago

3.0.27

4 years ago

3.0.26

4 years ago

3.0.25

4 years ago

3.0.23

4 years ago

3.0.24

4 years ago

3.0.22

4 years ago

3.0.21

4 years ago

3.0.20

4 years ago

3.0.17

4 years ago

3.0.18

4 years ago

3.0.19

4 years ago

3.0.16

4 years ago

3.0.15

4 years ago

3.0.12

4 years ago

3.0.11

4 years ago

3.0.14

4 years ago

3.0.10

4 years ago

3.0.9

4 years ago

3.0.8

4 years ago

3.0.7

4 years ago

3.0.6

4 years ago

3.0.5

4 years ago

3.0.4

4 years ago

3.0.3

4 years ago

3.0.2

4 years ago

3.0.1

4 years ago

3.0.0

4 years ago

2.1.133

4 years ago

2.1.132

4 years ago

2.1.131

4 years ago

2.1.130

4 years ago

2.1.129

4 years ago

2.1.128

4 years ago

2.1.127

4 years ago

2.1.126

4 years ago

2.1.125

4 years ago

2.1.124

4 years ago

2.1.123

4 years ago

2.1.122

4 years ago

2.1.121

4 years ago

2.1.120

4 years ago

2.1.119

4 years ago

2.1.117

4 years ago

2.1.116

4 years ago

2.1.114

4 years ago

2.1.115

4 years ago

2.1.112

4 years ago

2.1.111

4 years ago

2.1.110

4 years ago

2.1.109

4 years ago

2.1.108

4 years ago

2.1.107

5 years ago

2.1.106

5 years ago

2.1.104

5 years ago

2.1.103

5 years ago

2.1.102

5 years ago

2.1.101

5 years ago

2.1.100

5 years ago

2.1.99

5 years ago

2.1.98

5 years ago

2.1.97

5 years ago

2.1.96

5 years ago

2.1.95

5 years ago

2.1.94

5 years ago

2.1.93

5 years ago

2.1.92

5 years ago

2.1.91

5 years ago

2.1.90

5 years ago

2.1.89

5 years ago

2.1.88

5 years ago

2.1.87

5 years ago

2.1.86

5 years ago

2.1.85

5 years ago

2.1.84

5 years ago

2.1.83

5 years ago

2.1.82

5 years ago

2.1.81

5 years ago

2.1.80

5 years ago

2.1.79

5 years ago

2.1.78

5 years ago

2.1.77

5 years ago

2.1.76

5 years ago

2.1.75

5 years ago

2.1.74

5 years ago

2.1.73

5 years ago

2.1.72

5 years ago

2.1.71

5 years ago

2.1.70

5 years ago

2.1.69

5 years ago

2.1.68

5 years ago

2.1.67

5 years ago

2.1.66

5 years ago

2.1.65

5 years ago

2.1.64

5 years ago

2.1.63

5 years ago

2.1.62

5 years ago

2.1.61

5 years ago

2.1.60

5 years ago

2.1.59

5 years ago

2.1.58

5 years ago

2.1.57

5 years ago

2.1.56

5 years ago

2.1.55

5 years ago

2.1.54

5 years ago

2.1.53

5 years ago

2.1.52

5 years ago

2.1.51

5 years ago

2.1.50

5 years ago

2.1.49

5 years ago

2.1.48

5 years ago

2.1.47

5 years ago

2.1.46

5 years ago

2.1.45

5 years ago

2.1.44

5 years ago

2.1.43

5 years ago

2.1.42

5 years ago

2.1.41

5 years ago

2.1.40

5 years ago

2.1.39

5 years ago

2.1.38

5 years ago

2.1.37

5 years ago

2.1.36

5 years ago

2.1.35

5 years ago

2.1.34

5 years ago

2.1.33

5 years ago

2.1.32

5 years ago

2.1.31

5 years ago

2.1.30

5 years ago

2.1.29

5 years ago

2.1.28

5 years ago

2.1.27

5 years ago

2.1.26

5 years ago

2.1.25

5 years ago

2.1.24

5 years ago

2.1.23

5 years ago

2.1.22

5 years ago

2.1.21

5 years ago

2.1.20

5 years ago

2.1.19

5 years ago

2.1.18

5 years ago

2.1.17

5 years ago

2.1.16

5 years ago

2.1.15

5 years ago

2.1.14

5 years ago

2.1.13

5 years ago

2.1.12

5 years ago

2.1.11

5 years ago

2.1.10

5 years ago

2.1.9

5 years ago

2.1.8

5 years ago

2.1.7

5 years ago

2.1.6

5 years ago

2.1.5

5 years ago

2.1.4

5 years ago

2.1.3

5 years ago

2.1.2

5 years ago

2.1.1

5 years ago

2.1.0

6 years ago

2.0.36

6 years ago

2.0.35

6 years ago

2.0.34

6 years ago

2.0.33

6 years ago

2.0.32

6 years ago

2.0.31

6 years ago

2.0.30

6 years ago

2.0.29

6 years ago

2.0.28

6 years ago

2.0.27

6 years ago

2.0.26

6 years ago

2.0.25

6 years ago

2.0.24

6 years ago

2.0.23

6 years ago

2.0.22

6 years ago

2.0.21

6 years ago

2.0.20

6 years ago

2.0.19

6 years ago

2.0.18

6 years ago

2.0.17

6 years ago

2.0.16

6 years ago

2.0.15

6 years ago

2.0.14

6 years ago

2.0.13

6 years ago

2.0.12

6 years ago

2.0.11

6 years ago

2.0.10

6 years ago

2.0.9

6 years ago

2.0.8

6 years ago

2.0.7

6 years ago

2.0.6

6 years ago

2.0.5

6 years ago

2.0.4

6 years ago

2.0.3

6 years ago

2.0.2

6 years ago

2.0.1

6 years ago

2.0.0

6 years ago

1.0.14

6 years ago

1.0.13

6 years ago

1.0.12

6 years ago

1.0.11

6 years ago

1.0.10

6 years ago

1.0.8

6 years ago

1.0.7

6 years ago

1.0.6

6 years ago

1.0.5

6 years ago

1.0.4

6 years ago

1.0.3

6 years ago

1.0.2

6 years ago

1.0.1

6 years ago