` tag. A `style` attribute will be attached if a [style](#style) parameter is passed.
+AutoConnectText generates an HTML `#!html
` tag. A `#!html style` attribute will be attached if a [style](#style) parameter is passed.
**Sample**
-
`AutoConnectText text("text", "Publishing the WiFi signal strength to MQTT channel. RSSI value of ESP8266 to the channel created on ThingSpeak", "font-family:serif;color:#4682b4;");`
+
**`AutoConnectText text("text", "Publishing the WiFi signal strength to MQTT channel. RSSI value of ESP8266 to the channel created on ThingSpeak", "font-family:serif;color:#4682b4;");`**
On the page:
diff --git a/mkdocs/advancedusage.md b/mkdocs/advancedusage.md
index f6742ad..34e88e8 100644
--- a/mkdocs/advancedusage.md
+++ b/mkdocs/advancedusage.md
@@ -22,6 +22,9 @@ Portal.begin();
An autoReconnect option is available to *AutoConnect::begin* without SSID and pass passphrase.
+!!! caution "An autoReconnect will work if SSID detection succeeded"
+ An autoReconnect will not effect if the SSID which stored credential to be connected is a hidden access point.
+
###
Auto save Credential
By default, AutoConnect saves the credentials of the established connection in EEPROM. You can disable it with the [**autoSave**](api.md#autosave) parameter specified by [**AutoConnectConfig**](api.md#autoconnectconfig).
diff --git a/mkdocs/apielements.md b/mkdocs/apielements.md
index 51b35f5..137c5e0 100644
--- a/mkdocs/apielements.md
+++ b/mkdocs/apielements.md
@@ -1,18 +1,9 @@
## AutoConnectButton
-##
Constructor
+###
Constructor
```cpp
-AutoConnectButton()
-```
-```cpp
-AutoConnectButton(const char* name)
-```
-```cpp
-AutoConnectButton(const char* name, const char* value)
-```
-```cpp
-AutoConnectButton(const char* name, const char* value, const String& action)
+AutoConnectButton(const char* name = "", const char* value = "", const String& action = String())
```
**Parameters**
@@ -21,9 +12,9 @@ AutoConnectButton(const char* name, const char* value, const String& action)
action Native code of the action script executed when the button is clicked.
-##
Public member variables
+###
Public member variables
-###
name
+####
name
The element name.
@@ -31,7 +22,7 @@ The element name.
String
-###
value
+####
value
Value of the element.
@@ -39,17 +30,19 @@ Value of the element.
String
-###
action
+####
action
-Native code of the action script executed when the button is clicked.
+HTML native code of the action script to be executed when the button is clicked. It is mostly used with a JavaScript to activate a script.[^1]
**Type**
String
-##
Public member functions
+[^1]:JavaScript can be inserted into a custom Web page using AutoConnectElement.
-###
typeOf
+###
Public member functions
+
+####
typeOf
```cpp
ACElement_t typeOf(void)
@@ -60,18 +53,74 @@ Returns type of AutoConnectElement.
AC_Button
-## AutoConnectElement
+## AutoConnectCheckbox
-##
Constructor
+###
Constructor
```cpp
-AutoConnectElement()
+ explicit AutoConnectCheckboxBasis(const char* name = "", const char* value = "", const char* label = "", const bool checked = false)
```
+
+ **Parameters**
+ name The element name.
+ value Value of the element.
+ label A label string prefixed to the checkbox.
+ check Checked state of the checkbox.
+
+
+###
Public member variables
+
+####
name
+
+The element name.
+
+ **Type**
+ String
+
+
+####
value
+
+Value of the element. It becomes a value attribute of an HTML `#!html
` tag.
+
+ **Type**
+ String
+
+
+####
label
+
+A label is an optional string. A label is always arranged on the right side of the checkbox. Specification of a label will generate an HTML `#!html
` tag with an `id` attribute. The checkbox and the label are connected by the id attribute.
+
+ **Type**
+ String
+
+
+#### checked
+
+It indicates the checked status of the checkbox. The value of the checked checkbox element is packed in the query string and sent by submit.
+
+ **Type**
+ Boolean
+
+
+### Public member functions
+
+#### typeOf
+
```cpp
-AutoConnectElement(conSst char* name)
+ACElement_t typeOf(void)
```
+Returns type of AutoConnectElement.
+
+ **Return value**
+ AC_Checkbox
+
+
+## AutoConnectElement
+
+### Constructor
+
```cpp
-AutoConnectElement(const char* name, const char* value)
+AutoConnectElement(const char* name = "", const char* value = "")
```
**Parameters**
@@ -79,9 +128,9 @@ AutoConnectElement(const char* name, const char* value)
value Value of the element.
-## Public member variables
+### Public member variables
-### name
+#### name
The element name.
@@ -89,17 +138,17 @@ The element name.
String
-### value
+#### value
-Value of the element.
+Value of the element. It is output as HTML as it is as a source for generating HTML code.
**Type**
String
-## Public member functions
+### Public member functions
-### typeOf
+#### typeOf
```cpp
ACElement_t typeOf(void)
@@ -109,3 +158,200 @@ Returns type of AutoConnectElement.
**Return value**
AC_Element
+
+## AutoConnectInput
+
+### Constructor
+
+```cpp
+AutoConnectInput(const char* name = "", const char* value = "", const char* label = "", const char* placeholder = "")
+```
+
+ **Parameters**
+ name The element name.
+ value Value of the element.
+ label Label string.
+ placeholder A placeholder string.
+
+
+### Public member variables
+
+#### name
+
+The element name.
+
+ **Type**
+ String
+
+
+#### value
+
+Value of the element. It becomes a value attribute of an HTML `#!html ` tag. An entered text in the custom Web page will be sent with a query string of the form. The value set before accessing the page is displayed as the initial value.
+
+ **Type**
+ String
+
+
+#### label
+
+A label is an optional string. A label is always arranged on the left side of the input box. Specification of a label will generate an HTML `#!html ` tag with an id attribute. The input box and the label are connected by the id attribute.
+
+ **Type**
+ String
+
+
+#### placeholder
+
+A placeholder is an option string. Specification of a placeholder will generate a `placeholder` attribute for the input tag.
+
+ **Type**
+ String
+
+
+### Public member functions
+
+#### typeOf
+
+```cpp
+ACElement_t typeOf(void)
+```
+Returns type of AutoConnectElement.
+
+ **Return value**
+ AC_Input
+
+
+## AutoConnectRadio
+
+### Constructor
+
+```cpp
+AutoConnectRadio(const char* name = "", std::vector const& values = {}, const char* label = "", const ACArrange_t order = AC_Vertical, const uint8_t checked = 0)
+```
+
+ **Parameters**
+ name The element name.
+ values An array of values of the radio buttons. Specifies an [std::vector](https://en.cppreference.com/w/cpp/container/vector) object.
+ label Label string.
+ order The direction to arrange the radio buttons.
+ checked An index to be checked in the radio buttons.
+
+
+### Public member variables
+
+#### name
+
+The element name.
+
+ **Type**
+ String
+
+
+#### values
+
+An array of String type for the radio button options. It is an initialization list can be used. The `#!html ` tags will be generated from each entry in the values.
+
+ **Type**
+ std::vector<String>
+
+
+#### label
+
+A label is an optional string. A label will be arranged in the left or top of the radio buttons according to the [order](#order).
+
+ **Type**
+ String
+
+
+#### order
+
+Specifies the direction to arrange the radio buttons. A label will place in the left or the top according to the **_order_**. It is a value of **ACArrange_t** type and accepts one of the following:
+
+- **`AC_Horizontal`** : Horizontal arrangement.
+- **`AC_Vertical`** : Vertical arrangement.
+
+ **Type**
+ ACArrange_t
+
+
+#### checked
+
+Specifies the index number (1-based) of the **values** to be checked. If this parameter is not specified neither item is checked.
+
+ **Type**
+ uint8_t
+
+
+### Public member functions
+
+#### typeOf
+
+```cpp
+ACElement_t typeOf(void)
+```
+Returns type of AutoConnectElement.
+
+ **Return value**
+ AC_Radio
+
+
+#### add
+
+```cpp
+void add(const String& value)
+```
+Adds an option for the radio button.
+
+ **Parameters**
+ value An option string to add to the radio button.
+
+
+#### check
+
+```cpp
+void check(const String& value)
+```
+Indicates the check of the specified option for the radio buttons. You can use the **check** function for checking dynamically with arbitrary of the radio button.
+
+ **Parameters**
+ value An option string to be checked.
+
+
+#### empty
+
+```cpp
+void empty(const size_t reserve = 0)
+```
+Clear the array of option strings that AutoConnectRadio has in values. When a **_reserve_** parameter is specified, a vector container of that size is reserved.
+
+ **Parameters**
+ reserve Reserved size of a container for option strings.
+
+
+#### operator [ ]
+
+```cpp
+const String& operator[] (const std::size_t n)
+```
+Returns the option string of the index specified by **_n_**.
+
+ **Parameters**
+ n Index of values array to return.
+
+
+#### value
+
+```cpp
+ const String& value(void) const
+```
+Returns current checked option of the radio buttons.
+
+ **Return value**
+ A String of an option current checked. If there is no checked option, a null string returned.
+
+
+## AutoConnectSelect
+
+## AutoConnectSubmit
+
+## AutoConnectText
diff --git a/mkdocs/css/extra.css b/mkdocs/css/extra.css
new file mode 100644
index 0000000..1a9c3d6
--- /dev/null
+++ b/mkdocs/css/extra.css
@@ -0,0 +1,9 @@
+pre { color: white !important; }
+
+.md-clipboard:before {
+ color: rgb(100, 100, 100);
+}
+
+.codehilite:hover .md-clipboard:before,.md-typeset .highlight:hover .md-clipboard:before,pre:hover .md-clipboard:before {
+ color: rgba(255, 255, 255, 0.54) !important
+}
diff --git a/mkdocs/index.md b/mkdocs/index.md
index 1e4ba49..8e75879 100644
--- a/mkdocs/index.md
+++ b/mkdocs/index.md
@@ -83,11 +83,11 @@ Install third-party platform using the *Boards Manager* of Arduino IDE. You can
Additional necessary library
The [PageBuilder](https://github.com/Hieromon/PageBuilder) library to build HTML for ESP8266WebServer is needed.
-To install the PageBuilder library into your Arduino IDE, you can use the *Library Manager*. Select the board of ESP8266 series in the Arduino IDE, open the library manager and search keyword '**PageBuilder**' with the topic '**Communication**', then you can see the *PageBuilder*. The latest version is required 1.3.0 later.[^1]
+To install the PageBuilder library into your Arduino IDE, you can use the *Library Manager*. Select the board of ESP8266 series in the Arduino IDE, open the library manager and search keyword '**PageBuilder**' with the topic '**Communication**', then you can see the *PageBuilder*. The latest version is required 1.3.1 later.[^1]
-[^1]:Since AutoConnect v0.9.7, PageBuilder v1.3.0 later is required.
+[^1]:Since AutoConnect v0.9.7, PageBuilder v1.3.1 later is required.
Another library (optional)