--- /dev/null
+<?php
+
+namespace Drupal\form_test\Form;
+
+use Drupal\Core\Form\FormBase;
+use Drupal\Core\Form\FormStateInterface;
+
+/**
+ * Builds a simple form to test states.
+ *
+ * @see \Drupal\FunctionalJavascriptTests\Core\Form\JavascriptStatesTest
+ */
+class JavascriptStatesForm extends FormBase {
+
+ /**
+ * {@inheritdoc}
+ */
+ public function getFormId() {
+ return 'javascript_states_form';
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function buildForm(array $form, FormStateInterface $form_state) {
+ $form['select'] = [
+ '#type' => 'select',
+ '#title' => 'select 1',
+ '#options' => [0 => 0, 1 => 1, 2 => 2],
+ ];
+ $form['number'] = [
+ '#type' => 'number',
+ '#title' => 'enter 1',
+ ];
+ $form['textfield'] = [
+ '#type' => 'textfield',
+ '#title' => 'textfield',
+ '#states' => [
+ 'visible' => [
+ [':input[name="select"]' => ['value' => '1']],
+ 'or',
+ [':input[name="number"]' => ['value' => '1']],
+ ],
+ ],
+ ];
+ return $form;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function submitForm(array &$form, FormStateInterface $form_state) {
+ }
+
+}