diff --git a/.gitignore b/.gitignore
index ba11f5af9..6240da8b1 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,9 +1,21 @@
-site/
-_site/
-*-venv/
-venv-*/
-src/
-.idea/
-.vscode/
-__pycache__/
-kodular-docs/
+# build output
+dist/
+# generated types
+.astro/
+
+# dependencies
+node_modules/
+
+# logs
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+pnpm-debug.log*
+
+
+# environment variables
+.env
+.env.production
+
+# macOS-specific files
+.DS_Store
diff --git a/.vscode/extensions.json b/.vscode/extensions.json
new file mode 100644
index 000000000..22a15055d
--- /dev/null
+++ b/.vscode/extensions.json
@@ -0,0 +1,4 @@
+{
+ "recommendations": ["astro-build.astro-vscode"],
+ "unwantedRecommendations": []
+}
diff --git a/.vscode/launch.json b/.vscode/launch.json
new file mode 100644
index 000000000..d64220976
--- /dev/null
+++ b/.vscode/launch.json
@@ -0,0 +1,11 @@
+{
+ "version": "0.2.0",
+ "configurations": [
+ {
+ "command": "./node_modules/.bin/astro dev",
+ "name": "Development server",
+ "request": "launch",
+ "type": "node-terminal"
+ }
+ ]
+}
diff --git a/docs/CNAME b/CNAME
similarity index 100%
rename from docs/CNAME
rename to CNAME
diff --git a/_config.yml b/_config.yml
deleted file mode 100644
index da6c62e1b..000000000
--- a/_config.yml
+++ /dev/null
@@ -1,2 +0,0 @@
-gems:
- - jekyll-redirect-from
\ No newline at end of file
diff --git a/astro.config.mjs b/astro.config.mjs
new file mode 100644
index 000000000..ca642de2d
--- /dev/null
+++ b/astro.config.mjs
@@ -0,0 +1,53 @@
+// @ts-check
+import { defineConfig } from 'astro/config';
+import starlight from '@astrojs/starlight';
+import starlightLinksValidator from 'starlight-links-validator';
+
+// https://astro.build/config
+export default defineConfig({
+ integrations: [
+ starlight({
+ title: 'Kodular Docs',
+ favicon: '/favicon.ico',
+ logo: { src: './src/assets/logo.png', alt: 'Kodular Logo' },
+ social: {
+ github: 'https://github.com/Kodular/Documentation',
+ 'x.com': 'https://x.com/@KodularIO',
+ youtube: 'https://youtube.com/@Kodular',
+ },
+ editLink: {
+ baseUrl: 'https://github.com/Kodular/Documentation/edit/master/',
+ },
+ sidebar: [
+ {
+ label: 'Guides',
+ collapsed: true,
+ autogenerate: { directory: 'guides' },
+ },
+ {
+ label: 'Blocks',
+ collapsed: true,
+ autogenerate: { directory: 'blocks' },
+ },
+ {
+ label: 'Components',
+ collapsed: true,
+ autogenerate: { directory: 'components' },
+ },
+ {
+ label: 'Support',
+ collapsed: true,
+ autogenerate: { directory: 'support' },
+ },
+ {
+ label: 'Release Notes',
+ collapsed: true,
+ autogenerate: { directory: 'release-notes' },
+ },
+ { label: 'Pricing', slug: 'pricing' },
+ { label: 'Terms of Service', slug: 'terms-of-service' },
+ ],
+ plugins: [starlightLinksValidator()],
+ }),
+ ],
+});
diff --git a/bun.lockb b/bun.lockb
new file mode 100644
index 000000000..ad1bd2e9e
Binary files /dev/null and b/bun.lockb differ
diff --git a/docs/blocks/any-component.md b/docs/blocks/any-component.md
deleted file mode 100644
index e69de29bb..000000000
diff --git a/docs/blocks/colors.md b/docs/blocks/colors.md
deleted file mode 100644
index 8f249b4ae..000000000
--- a/docs/blocks/colors.md
+++ /dev/null
@@ -1,43 +0,0 @@
-# Colors
-
-There are three main types of color blocks:
-
-* [a color box](colors.md#basic)
-* [make color](colors.md#make)
-* [split color](colors.md#split)
-
-## basic color blocks {#basic}
-
-
-
-This is a basic color block. It has a small square shape and has a color in the middle that represents the color stored internally in this block.
-
-If you click on the color in the middle, a pop-up appears on the screen with a table of 70 colors that you can choose from. Clicking on a new color will change the current color of your basic color block.
-
-
-
-Each basic color block that you drag from the Colors drawer to the Blocks Editor screen will display a table with the same colors when clicked.
-
-## make color {#make}
-
-
-
-`make color`
-
-takes in a list of 3 or 4 numbers. These numbers in this list represent values in an RGB code. RGB codes are used to make colors on the Internet. An RGB color chart is available
-
-[here](http://www.tayloredmktg.com/rgb/)
-
-. This first number in this list represents the R value of the code. The second represents the G. The third represents the B. The fourth value is optional and represents the alpha value or how saturated the color is. The default alpha value is 100. Experiment with different values and see how the colors change using this block.
-
-## split color {#split}
-
-
-
-`split color`
-
-does the opposite of
-
-`make color`
-
-. It takes in a color: a color block, variable holding a color, or property from one of the components representing a color and returns a list of the RGB values in that color's RGB code.
diff --git a/docs/blocks/index.md b/docs/blocks/index.md
deleted file mode 100644
index c597763b0..000000000
--- a/docs/blocks/index.md
+++ /dev/null
@@ -1,12 +0,0 @@
-# Overview of Blocks
-
-* [Control](control.md)
-* [Logic](logic.md)
-* [Math](math.md)
-* [Text](text.md)
-* [Lists](lists.md)
-* [Dictionaries](dictionaries.md)
-* [Colors](colors.md)
-* [Variables](variables.md)
-* [Procedures](procedures.md)
-* [Any Component](any-component.md)
diff --git a/docs/components/connectivity/activity-starter.md b/docs/components/connectivity/activity-starter.md
deleted file mode 100644
index 8e47f3439..000000000
--- a/docs/components/connectivity/activity-starter.md
+++ /dev/null
@@ -1,174 +0,0 @@
-# Activity Starter
-
-{>> Non-Visible component<<}
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Connectivity**|API 21, Android 5.0 Lollipop|6|
-
-## Overview
-
-A component that can launch an activity using the `` StartActivity `` method.
-
-Activities that can be launched include:
-
-* starting other App Inventor for Android apps
-* starting the camera application
-* performing web search
-* opening a browser to a specified web page
-* opening the map application to a specified location
-
-You can also launch activities that return text data. See the documentation on using the Activity Starter for examples.
-
-## Events
-
-### Activity Canceled
-
-Event raised if this ActivityStarter returns because the activity was canceled.
-
-
-
-### ActivityError
-
-The ActivityError event is no longer used. Please use the Screen.ErrorOccurred event instead.
-
-
-
-| Params | []() |
-|--------|------|
-|message|Text|
-
-### After Activity
-
-Event raised after this ActivityStarter returns.
-
-
-
-| Params | []() |
-|--------|------|
-|result|Text|
-
-## Methods
-
-### Resolve Activity
-
-Returns: Text
-
-Returns the name of the activity that corresponds to this ActivityStarter, or an empty string if no corresponding activity can be found.
-
-
-
-### Start Activity
-
-Start the activity corresponding to this ActivityStarter.
-
-
-
-## Properties
-
-### Action
-
-Text :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Returns the action that will be used to start the activity.
-
-
-
-
-### Activity Class
-
-Text :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Returns the class part of the specific component that will be started.
-
-
-
-
-### Activity Package
-
-Text :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Returns the package part of the specific component that will be started.
-
-
-
-
-### Data Type
-
-Text :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Returns the MIME type to pass to the activity.
-
-
-
-
-### Data Uri
-
-Text :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Returns the data URI that will be used to start the activity.
-
-
-
-
-### Extra Key
-
-Text :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Returns the extra key that will be passed to the activity
-DEPRECATED: New code should use Extras property instead.
-
-
-
-
-### Extra Value
-
-Text :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Returns the extra value that will be passed to the activity
-DEPRECATED: New code should use Extras property instead.
-
-
-
-
-### Extras
-
-List :heavy_minus_sign: ReadWrite - Blocks
-
-Specifies the list of key-value pairs that will be passed as extra data to the activity.
-
-
-
-
-### Result
-
-Text :heavy_minus_sign: Read - Blocks
-
-Returns the result from the activity.
-
-
-
-### Result Name
-
-Text :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Returns the name that will be used to retrieve a result from the activity.
-
-
-
-
-### Result Type
-
-Text :heavy_minus_sign: Read - Blocks
-
-Returns the MIME type from the activity.
-
-
-
-### Result URI
-
-Text :heavy_minus_sign: Read - Blocks
-
-Returns the URI from the activity.
-
-
diff --git a/docs/components/connectivity/arduino.md b/docs/components/connectivity/arduino.md
deleted file mode 100644
index b73710244..000000000
--- a/docs/components/connectivity/arduino.md
+++ /dev/null
@@ -1,82 +0,0 @@
-# Arduino
-
-{>> Non-Visible component<<}
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Connectivity**|API 21, Android 5.0 Lollipop|1|
-
-## Overview
-
-A non-visible component that connects the device via the USB Serial to Arduino hardware.
-
-## Events
-
-### After Read
-
-Triggered after Read function
-
-
-
-| Params | []() |
-|--------|------|
-|success|Boolean|
-|data|Text|
-
-## Methods
-
-### Baud Rate
-
-Default baud rate is 9600 bps
-
-
-
-| Params | []() |
-|--------|------|
-|baud Rate|Number|
-
-### Close
-
-Returns: Boolean
-
-Closes Arduino Connection
-
-
-
-### Initialize
-
-Initializes Arduino Connection
-
-
-
-### Is Opened
-
-Returns: Boolean
-
-Returns true when the Arduino connection is open
-
-
-
-### Open
-
-Returns: Boolean
-
-Opens Arduino Connection
-
-
-
-### Read
-
-Read from Serial
-
-
-
-### Write
-
-Write Data to Serial
-
-
-
-| Params | []() |
-|--------|------|
-|data|Text|
diff --git a/docs/components/connectivity/bluetooth-admin.md b/docs/components/connectivity/bluetooth-admin.md
deleted file mode 100644
index fb26ee44e..000000000
--- a/docs/components/connectivity/bluetooth-admin.md
+++ /dev/null
@@ -1,179 +0,0 @@
-# Bluetooth Admin
-
-{>> Non-Visible component<<}
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Connectivity**|API 21, Android 5.0 Lollipop|2|
-
-## Overview
-
-A non-visible component that acts as a bluetooth admin.
-
-??? example "Permissions"
- * [android.permission.ACCESS_COARSE_LOCATION](https://developer.android.com/reference/android/Manifest.permission.html#ACCESS_COARSE_LOCATION)
- * [android.permission.BLUETOOTH_ADMIN](https://developer.android.com/reference/android/Manifest.permission.html#BLUETOOTH_ADMIN)
- * [android.permission.BLUETOOTH](https://developer.android.com/reference/android/Manifest.permission.html#BLUETOOTH)
- * [android.permission.READ_EXTERNAL_STORAGE](https://developer.android.com/reference/android/Manifest.permission.html#READ_EXTERNAL_STORAGE)
-
-## Events
-
-### After Pairing
-
-Event triggers when Pairing has finished.
-
-
-
-| Params | []() |
-|--------|------|
-|address|Text|
-
-### After Scanning
-
-Event triggers when Scanning has finished.
-
-
-
-| Params | []() |
-|--------|------|
-|paired Devices|Any|
-|new Devices|Any|
-
-### After Unpairing
-
-Event triggers when Unpairing has finished.
-
-
-
-| Params | []() |
-|--------|------|
-|address|Text|
-
-### Error Occurred
-
-Event triggers when an error occurred.
-
-
-
-| Params | []() |
-|--------|------|
-|message|Text|
-
-### State Changed
-
-Event triggers when the bluetooth state changed.
-
-
-
-| Params | []() |
-|--------|------|
-|state|Text|
-
-## Methods
-
-### Disable
-
-Disable Bluetooth
-
-
-
-### Enable
-
-Enable Bluetooth
-
-
-
-### Has Bluetooth
-
-Returns: Boolean
-
-Returns if the device has Bluetooth
-
-
-
-### Mac Address
-
-Returns: Text
-
-Returns the Bluetooth MacAddress.
-
-
-
-### Pair
-
-Pair Bluetooth device.
-
-
-
-| Params | []() |
-|--------|------|
-|address|Text|
-
-### Scan
-
-Scan Bluetooth devices. Caution: Performing device discovery is a heavy procedure for the Bluetooth adapter and will consume a lot of its resources. If you already hold a connection with a device, then performing discovery can significantly reduce the bandwidth available for the connection, so you should not perform discovery while connected.
-
-
-
-### Scan Mode
-
-Returns: Text
-
-Returns the scan mode of the Bluetooth Adapter
-
-
-
-### State
-
-Returns: Text
-
-Returns the state of the Bluetooth Adapter.
-
-
-
-### Toggle
-
-Toggle Bluetooth
-
-
-
-### Unpairing
-
-Unpair Bluetooth device.
-
-
-
-| Params | []() |
-|--------|------|
-|address|Text|
-
-### Validate Mac Address
-
-Returns: Boolean
-
-Returns true if the MacAddress is valid.
-
-
-
-| Params | []() |
-|--------|------|
-|mac Address|Text|
-
-### Validate User Mac Address
-
-Returns: Boolean
-
-Returns true if the User MacAddress is valid.
-
-
-
-## Properties
-
-### Use Codes
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Use codes instead of strings in returns for ScanMode and State.
-
-
-
diff --git a/docs/components/connectivity/bluetooth-client.md b/docs/components/connectivity/bluetooth-client.md
deleted file mode 100644
index 5ea4775f5..000000000
--- a/docs/components/connectivity/bluetooth-client.md
+++ /dev/null
@@ -1,299 +0,0 @@
-# Bluetooth Client
-
-{>> Non-Visible component<<}
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Connectivity**|API 21, Android 5.0 Lollipop|6|
-
-## Overview
-
-A non-visible component that acts as a bluetooth client.
-
-??? example "Permissions"
- * [android.permission.BLUETOOTH_SCAN](https://developer.android.com/reference/android/Manifest.permission.html#BLUETOOTH_SCAN)
- * [android.permission.BLUETOOTH_ADMIN](https://developer.android.com/reference/android/Manifest.permission.html#BLUETOOTH_ADMIN)
- * [android.permission.BLUETOOTH](https://developer.android.com/reference/android/Manifest.permission.html#BLUETOOTH)
- * [android.permission.BLUETOOTH_CONNECT](https://developer.android.com/reference/android/Manifest.permission.html#BLUETOOTH_CONNECT)
-
-## Events
-
-### BluetoothError
-
-The BluetoothError event is no longer used. Please use the Screen.ErrorOccurred event instead.
-
-
-
-| Params | []() |
-|--------|------|
-|function Name|Text|
-|message|Text|
-
-## Methods
-
-### Bytes Available To Receive
-
-Returns: Number
-
-Returns an estimate of the number of bytes that can be received without blocking
-
-
-
-### Connect
-
-Returns: Boolean
-
-Connect to the Bluetooth device with the specified address and the Serial Port Profile (SPP). Returns true if the connection was successful.
-
-
-
-| Params | []() |
-|--------|------|
-|address|Text|
-
-### Connect With UUID
-
-Returns: Boolean
-
-Connect to the Bluetooth device with the specified address and UUID. Returns true if the connection was successful.
-
-
-
-| Params | []() |
-|--------|------|
-|address|Text|
-|uuid|Text|
-
-### Disconnect
-
-Disconnect from the connected Bluetooth device.
-
-
-
-### Is Device Paired
-
-Returns: Boolean
-
-Checks whether the Bluetooth device with the specified address is paired.
-
-
-
-| Params | []() |
-|--------|------|
-|address|Text|
-
-### Receive Signed 1 Byte Number
-
-Returns: Number
-
-Receive a signed 1-byte number from the connected Bluetooth device.
-
-
-
-### Receive Signed 2 Byte Number
-
-Returns: Number
-
-Receive a signed 2-byte number from the connected Bluetooth device.
-
-
-
-### Receive Signed 4 Byte Number
-
-Returns: Number
-
-Receive a signed 4-byte number from the connected Bluetooth device.
-
-
-
-### Receive Signed Bytes
-
-Returns: List
-
-Receive multiple signed byte values from the connected Bluetooth device. If numberOfBytes is less than 0, read until a delimiter byte value is received.
-
-
-
-| Params | []() |
-|--------|------|
-|number Of Bytes|Number|
-
-### Receive Text
-
-Returns: Text
-
-Receive text from the connected Bluetooth device. If numberOfBytes is less than 0, read until a delimiter byte value is received.
-
-
-
-| Params | []() |
-|--------|------|
-|number Of Bytes|Number|
-
-### Receive Unsigned 1 Byte Number
-
-Returns: Number
-
-Receive an unsigned 1-byte number from the connected Bluetooth device.
-
-
-
-### Receive Unsigned 2 Byte Number
-
-Returns: Number
-
-Receive a unsigned 2-byte number from the connected Bluetooth device.
-
-
-
-### Receive Unsigned 4 Byte Number
-
-Returns: Number
-
-Receive a unsigned 4-byte number from the connected Bluetooth device.
-
-
-
-### Receive Unsigned Bytes
-
-Returns: List
-
-Receive multiple unsigned byte values from the connected Bluetooth device. If numberOfBytes is less than 0, read until a delimiter byte value is received.
-
-
-
-| Params | []() |
-|--------|------|
-|number Of Bytes|Number|
-
-### Remove Name From Address
-
-Returns: Text
-
-Remove the Name from a Bluetooth Address and Name String.
-
-
-
-| Params | []() |
-|--------|------|
-|address And Name|Text|
-
-### Send 1 Byte Number
-
-Send a 1-byte number to the connected Bluetooth device.
-
-
-
-| Params | []() |
-|--------|------|
-|number|Text|
-
-### Send 2 Byte Number
-
-Send a 2-byte number to the connected Bluetooth device.
-
-
-
-| Params | []() |
-|--------|------|
-|number|Text|
-
-### Send 4 Byte Number
-
-Send a 4-byte number to the connected Bluetooth device.
-
-
-
-| Params | []() |
-|--------|------|
-|number|Text|
-
-### Send Bytes
-
-Send a list of byte values to the connected Bluetooth device.
-
-
-
-| Params | []() |
-|--------|------|
-|list|List|
-
-### Send Text
-
-Send text to the connected Bluetooth device.
-
-
-
-| Params | []() |
-|--------|------|
-|text|Text|
-
-## Properties
-
-### Addresses And Names
-
-List :heavy_minus_sign: Read - Blocks
-
-The addresses and names of paired Bluetooth devices
-
-
-
-### Available
-
-Boolean :heavy_minus_sign: Read - Blocks
-
-Whether Bluetooth is available on the device
-
-
-
-### Character Encoding
-
-TextDefault: UTF-8 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Sets the character encoding to use when sending and receiving text.
-
-
-
-
-### Delimiter Byte
-
-NumberDefault: 0 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Sets the delimiter byte to use when passing a negative number for thenumberOfBytes parameter when calling ReceiveText, ReceiveSignedBytes, orReceiveUnsignedBytes.
-
-
-
-
-### Enabled
-
-Boolean :heavy_minus_sign: Read - Blocks
-
-Whether Bluetooth is enabled
-
-
-
-### High Byte First
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Returns true if numbers are sent and received with the most significantbyte first.
-
-
-
-
-### Is Connected
-
-Boolean :heavy_minus_sign: Read - Blocks
-
-Returns true if a connection to a Bluetooth device has been made.
-
-
-
-### Secure
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Whether to invoke SSP (Simple Secure Pairing), which is supported on devices with Bluetooth v2.1 or higher. When working with embedded Bluetooth devices, this property may need to be set to False. For Android 2.0-2.2, this property setting will be ignored.
-
-
-
diff --git a/docs/components/connectivity/bluetooth-server.md b/docs/components/connectivity/bluetooth-server.md
deleted file mode 100644
index ccdf0f1f0..000000000
--- a/docs/components/connectivity/bluetooth-server.md
+++ /dev/null
@@ -1,282 +0,0 @@
-# Bluetooth Server
-
-{>> Non-Visible component<<}
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Connectivity**|API 21, Android 5.0 Lollipop|5|
-
-## Overview
-
-A non-visible component that acts as a bluetooth server.
-
-??? example "Permissions"
- * [android.permission.BLUETOOTH_ADVERTISE](https://developer.android.com/reference/android/Manifest.permission.html#BLUETOOTH_ADVERTISE)
- * [android.permission.BLUETOOTH_ADMIN](https://developer.android.com/reference/android/Manifest.permission.html#BLUETOOTH_ADMIN)
- * [android.permission.BLUETOOTH](https://developer.android.com/reference/android/Manifest.permission.html#BLUETOOTH)
-
-## Events
-
-### BluetoothError
-
-The BluetoothError event is no longer used. Please use the Screen.ErrorOccurred event instead.
-
-
-
-| Params | []() |
-|--------|------|
-|function Name|Text|
-|message|Text|
-
-### Connection Accepted
-
-Indicates that a bluetooth connection has been accepted.
-
-
-
-## Methods
-
-### Accept Connection
-
-Accept an incoming connection with the Serial Port Profile (SPP).
-
-
-
-| Params | []() |
-|--------|------|
-|service Name|Text|
-
-### Accept Connection With UUID
-
-Accept an incoming connection with a specific UUID.
-
-
-
-| Params | []() |
-|--------|------|
-|service Name|Text|
-|uuid|Text|
-
-### Bytes Available To Receive
-
-Returns: Number
-
-Returns an estimate of the number of bytes that can be received without blocking
-
-
-
-### Disconnect
-
-Disconnect from the connected Bluetooth device.
-
-
-
-### Receive Signed 1 Byte Number
-
-Returns: Number
-
-Receive a signed 1-byte number from the connected Bluetooth device.
-
-
-
-### Receive Signed 2 Byte Number
-
-Returns: Number
-
-Receive a signed 2-byte number from the connected Bluetooth device.
-
-
-
-### Receive Signed 4 Byte Number
-
-Returns: Number
-
-Receive a signed 4-byte number from the connected Bluetooth device.
-
-
-
-### Receive Signed Bytes
-
-Returns: List
-
-Receive multiple signed byte values from the connected Bluetooth device. If numberOfBytes is less than 0, read until a delimiter byte value is received.
-
-
-
-| Params | []() |
-|--------|------|
-|number Of Bytes|Number|
-
-### Receive Text
-
-Returns: Text
-
-Receive text from the connected Bluetooth device. If numberOfBytes is less than 0, read until a delimiter byte value is received.
-
-
-
-| Params | []() |
-|--------|------|
-|number Of Bytes|Number|
-
-### Receive Unsigned 1 Byte Number
-
-Returns: Number
-
-Receive an unsigned 1-byte number from the connected Bluetooth device.
-
-
-
-### Receive Unsigned 2 Byte Number
-
-Returns: Number
-
-Receive a unsigned 2-byte number from the connected Bluetooth device.
-
-
-
-### Receive Unsigned 4 Byte Number
-
-Returns: Number
-
-Receive a unsigned 4-byte number from the connected Bluetooth device.
-
-
-
-### Receive Unsigned Bytes
-
-Returns: List
-
-Receive multiple unsigned byte values from the connected Bluetooth device. If numberOfBytes is less than 0, read until a delimiter byte value is received.
-
-
-
-| Params | []() |
-|--------|------|
-|number Of Bytes|Number|
-
-### Send 1 Byte Number
-
-Send a 1-byte number to the connected Bluetooth device.
-
-
-
-| Params | []() |
-|--------|------|
-|number|Text|
-
-### Send 2 Byte Number
-
-Send a 2-byte number to the connected Bluetooth device.
-
-
-
-| Params | []() |
-|--------|------|
-|number|Text|
-
-### Send 4 Byte Number
-
-Send a 4-byte number to the connected Bluetooth device.
-
-
-
-| Params | []() |
-|--------|------|
-|number|Text|
-
-### Send Bytes
-
-Send a list of byte values to the connected Bluetooth device.
-
-
-
-| Params | []() |
-|--------|------|
-|list|List|
-
-### Send Text
-
-Send text to the connected Bluetooth device.
-
-
-
-| Params | []() |
-|--------|------|
-|text|Text|
-
-### Stop Accepting
-
-Stop accepting an incoming connection.
-
-
-
-## Properties
-
-### Available
-
-Boolean :heavy_minus_sign: Read - Blocks
-
-Whether Bluetooth is available on the device
-
-
-
-### Character Encoding
-
-TextDefault: UTF-8 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Sets the character encoding to use when sending and receiving text.
-
-
-
-
-### Delimiter Byte
-
-NumberDefault: 0 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Sets the delimiter byte to use when passing a negative number for thenumberOfBytes parameter when calling ReceiveText, ReceiveSignedBytes, orReceiveUnsignedBytes.
-
-
-
-
-### Enabled
-
-Boolean :heavy_minus_sign: Read - Blocks
-
-Whether Bluetooth is enabled
-
-
-
-### High Byte First
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Returns true if numbers are sent and received with the most significantbyte first.
-
-
-
-
-### Is Accepting
-
-Boolean :heavy_minus_sign: Read - Blocks
-
-Returns true if this BluetoothServer component is accepting anincoming connection.
-
-
-
-### Is Connected
-
-Boolean :heavy_minus_sign: Read - Blocks
-
-Returns true if a connection to a Bluetooth device has been made.
-
-
-
-### Secure
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Whether to invoke SSP (Simple Secure Pairing), which is supported on devices with Bluetooth v2.1 or higher. When working with embedded Bluetooth devices, this property may need to be set to False. For Android 2.0-2.2, this property setting will be ignored.
-
-
-
diff --git a/docs/components/connectivity/download.md b/docs/components/connectivity/download.md
deleted file mode 100644
index c4163db2f..000000000
--- a/docs/components/connectivity/download.md
+++ /dev/null
@@ -1,182 +0,0 @@
-# Download
-
-{>> Non-Visible component<<}
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Connectivity**|API 21, Android 5.0 Lollipop|2|
-
-## Overview
-
-The Download component is a non-visible component that allows users to download any file to the device
-
-??? example "Permissions"
- * [android.permission.DOWNLOAD_WITHOUT_NOTIFICATION](https://developer.android.com/reference/android/Manifest.permission.html#DOWNLOAD_WITHOUT_NOTIFICATION)
- * [android.permission.INTERNET](https://developer.android.com/reference/android/Manifest.permission.html#INTERNET)
- * [android.permission.WRITE_EXTERNAL_STORAGE](https://developer.android.com/reference/android/Manifest.permission.html#WRITE_EXTERNAL_STORAGE)
-
-## Events
-
-### Download Complete
-
-Event to detect if the download is successful finished. You can use the "filePath" to use the downloaded file into your app. The "fileSize" will be returned in bytes.
-
-
-
-| Params | []() |
-|--------|------|
-|file Path|Text|
-|file Name|Text|
-|file Size|Number|
-
-### Got File Size
-
-Event to detect file size is ready to be used.
-
-
-
-| Params | []() |
-|--------|------|
-|size|Number|
-
-### Notification Clicked
-
-Event to detect when the user clicks on a running download, either from a system notification or from the downloads UI.
-
-
-
-### On Download Progress Changed
-
-Get the progress (in percentage) of the current download task.
-
-
-
-| Params | []() |
-|--------|------|
-|progress|Number|
-
-## Methods
-
-### Download
-
-Start the download of the given download url.
-
-
-
-### Get File Size
-
-Get the file size (in bytes) of a file that is stored online or on your device. The block detect automatic if it is a online path or not. You will get the result in the "Got File Size" event.
-
-
-
-| Params | []() |
-|--------|------|
-|path|Text|
-
-### Show Download
-
-You can open the download folder with this block.
-
-
-
-## Properties
-
-### Allow Over Roaming
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Set whether this download may proceed over a roaming connection.
-
-
-
-
-### Description
-
-TextDefault: Downloading file.. :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Set the description that you will see in the download notification.
-
-
-
-
-### Download URL
-
-Text :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Set here the url to the file that you want to download.
-
-
-
-
-### Is Download Manager Available
-
-:warning: ==**Deprecated**==
-
-Boolean :heavy_minus_sign: Read - Blocks
-
-This function is deprecated. Do not use it anymore. We will remove it in the future. Since we support min API 14 the download manager is by default available. The download manager was added in API 9.
-
-
-
-### Require Charging
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Specify that to run this download, the device needs to be plugged in. Works only for devices with api >= 24.
-
-
-
-
-### Require Device Idle
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Specify that to run, the download needs the device to be in idle mode. Idle mode is a loose definition provided by the system, which means that the device is not in use, and has not been in use for some time. Works only for devices with api >= 24.
-
-
-
-
-### Save File As
-
-TextDefault: NewFile.png :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Set here the new filename for the file that you want to download.
-
-
-
-
-### Scan By Media Scanner
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-If the file to be downloaded is to be scanned by MediaScanner.
-
-
-
-
-### Show Notification
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Control whether a system notification is posted by the download manager while this download is running or when it is completed.
-
-
-
-
-### Suppress Warnings
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-If false you will see a toast message with a error message when a error is occurred.
-
-
-
-
-### Title
-
-TextDefault: Download.. :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Set the title that you will see in the download notification.
-
-
-
diff --git a/docs/components/connectivity/ftp.md b/docs/components/connectivity/ftp.md
deleted file mode 100644
index 46e54ef47..000000000
--- a/docs/components/connectivity/ftp.md
+++ /dev/null
@@ -1,195 +0,0 @@
-# FTP
-
-{>> Non-Visible component<<}
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Connectivity**|API 21, Android 5.0 Lollipop|2|
-
-## Overview
-
-A non-visible component that allows for uploading and downloading of files via File Transfer Protocol.
-
-??? example "Permissions"
- * [android.permission.INTERNET](https://developer.android.com/reference/android/Manifest.permission.html#INTERNET)
- * [android.permission.READ_EXTERNAL_STORAGE](https://developer.android.com/reference/android/Manifest.permission.html#READ_EXTERNAL_STORAGE)
- * [android.permission.WRITE_EXTERNAL_STORAGE](https://developer.android.com/reference/android/Manifest.permission.html#WRITE_EXTERNAL_STORAGE)
-
-## Events
-
-### Connect Error
-
-This event returns the reason if a try to connect was not successful.
-
-
-
-| Params | []() |
-|--------|------|
-|error|Text|
-
-### Connection Status
-
-This event returns the status of the connection. If it is connect it will return true, else false.
-
-
-
-| Params | []() |
-|--------|------|
-|is Connected|Boolean|
-
-### Disconnect Error
-
-This event returns the reason if a try to disconnect was not successful.
-
-
-
-| Params | []() |
-|--------|------|
-|error|Text|
-
-### Download Done
-
-This event is invoked when the download is finished.
-
-
-
-### Download error
-
-This event returns the reason if a download was not successful.
-
-
-
-| Params | []() |
-|--------|------|
-|error|Text|
-
-### Upload Done
-
-This event is invoked when the upload is finished.
-
-
-
-### Upload error
-
-This event returns the reason if a upload was not successful.
-
-
-
-| Params | []() |
-|--------|------|
-|error|Text|
-
-## Methods
-
-### Connect
-
-Start the connection to the ftp server.
-
-
-
-### Delete Dir
-
-Delete a directory on the ftp server.
-
-
-
-| Params | []() |
-|--------|------|
-|dir|Text|
-
-### Disconnect
-
-Disconnect the current connection.
-
-
-
-### Download File
-
-Start downloading a file.
-
-
-
-| Params | []() |
-|--------|------|
-|remote Filepath|Text|
-|destination|Text|
-
-### Get List Of Files
-
-Returns: List
-
-Get a list of files in a directory. Returns a empty list if a error occurs.
-
-
-
-| Params | []() |
-|--------|------|
-|dir|Text|
-
-### make Dir
-
-Make/create a directory on the ftp server.
-
-
-
-| Params | []() |
-|--------|------|
-|dir|Text|
-
-### Upload File
-
-Start uploading a file.
-
-
-
-| Params | []() |
-|--------|------|
-|file Path|Text|
-|new Name|Text|
-
-## Properties
-
-### FTP-Server (Host)
-
-TextDefault: ftp.example.org :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Set the ftp server url.
-
-
-
-
-### Password
-
-Text :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Set the password to login into the ftp server.
-
-
-
-
-### Port
-
-NumberDefault: 21 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Set the ftp port number.
-
-
-
-
-### Username
-
-TextDefault: Your Username :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Set the username to login into the ftp server.
-
-
-
-
-### Working Directory
-
-TextDefault: / :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Set the ftp working dir.
-
-
-
diff --git a/docs/components/connectivity/index.md b/docs/components/connectivity/index.md
deleted file mode 100644
index ea26c82ed..000000000
--- a/docs/components/connectivity/index.md
+++ /dev/null
@@ -1,12 +0,0 @@
-# Overview of Connectivity
-
-* [Activity Starter](activity-starter.md)
-* [Arduino](arduino.md)
-* [Bluetooth Admin](bluetooth-admin.md)
-* [Bluetooth Client](bluetooth-client.md)
-* [Bluetooth Server](bluetooth-server.md)
-* [Download](download.md)
-* [FTP](ftp.md)
-* [Network](network.md)
-* [Web](web.md)
-* [WiFi](wifi.md)
\ No newline at end of file
diff --git a/docs/components/connectivity/network.md b/docs/components/connectivity/network.md
deleted file mode 100644
index 92fc20205..000000000
--- a/docs/components/connectivity/network.md
+++ /dev/null
@@ -1,81 +0,0 @@
-# Network
-
-{>> Non-Visible component<<}
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Connectivity**|API 21, Android 5.0 Lollipop|2|
-
-## Overview
-
-A non-visible component that retrieves the internet connection status of the device.
-
-??? example "Permissions"
- * [android.permission.ACCESS_NETWORK_STATE](https://developer.android.com/reference/android/Manifest.permission.html#ACCESS_NETWORK_STATE)
- * [android.permission.ACCESS_WIFI_STATE](https://developer.android.com/reference/android/Manifest.permission.html#ACCESS_WIFI_STATE)
-
-## Events
-
-### On Connect
-
-Called when the device connects to a network.
-
-
-
-### On Disconnect
-
-Called when the device disconnects from a network.
-
-
-
-## Methods
-
-### Is Connected
-
-Returns: Boolean
-
-Returns "True" if the device is connected to a network, "False" otherwise.
-
-
-
-### Is Fast Connection
-
-Returns: Boolean
-
-Returns true if using a fast connection
-
-
-
-### Is Mobile Connection
-
-Returns: Boolean
-
-Returns true if connection is through Mobile
-
-
-
-### Is Roaming
-
-Returns: Boolean
-
-Returns true if using roaming
-
-
-
-### Is Wifi Connection
-
-Returns: Boolean
-
-Returns true if connection is through WiFi
-
-
-
-### Type
-
-:warning: ==**Deprecated**==
-
-Returns: Text
-
-Returns the type of network the device is connected to. e.g. "wifi" or "mobile". This block is deprecated, use the "IsWiFiConnection" and "IsMobileConnection" blocks instead
-
-
diff --git a/docs/components/connectivity/web.md b/docs/components/connectivity/web.md
deleted file mode 100644
index 67c3cbc1c..000000000
--- a/docs/components/connectivity/web.md
+++ /dev/null
@@ -1,283 +0,0 @@
-# Web
-
-{>> Non-Visible component<<}
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Connectivity**|API 21, Android 5.0 Lollipop|6|
-
-## Overview
-
-A non-visible component that provides functions for HTTP GET, POST, PUT, and DELETE requests.
-
-??? example "Permissions"
- * [android.permission.INTERNET](https://developer.android.com/reference/android/Manifest.permission.html#INTERNET)
-
-## Events
-
-### Got File
-
-Event indicating that a request has finished.
-
-
-
-| Params | []() |
-|--------|------|
-|url|Text|
-|response Code|Number|
-|response Type|Text|
-|file Name|Text|
-
-### Got Text
-
-Event indicating that a request has finished.
-
-
-
-| Params | []() |
-|--------|------|
-|url|Text|
-|response Code|Number|
-|response Type|Text|
-|response Content|Text|
-
-### Timed Out
-
-Event indicating that a request has timed out.
-
-
-
-| Params | []() |
-|--------|------|
-|url|Text|
-
-## Methods
-
-### Build Request Data
-
-Returns: Text
-
-Converts a list of two-element sublists, representing name and value pairs, to astring formatted as application/x-www-form-urlencoded media type, suitable to pass toPostText.
-
-
-
-| Params | []() |
-|--------|------|
-|list|List|
-
-### Clear Cookies
-
-Clears all cookies for this Web component.
-
-
-
-### Delete
-
-Performs an HTTP DELETE request using the Url property and retrieves theresponse.
-If the SaveResponse property is true, the response will be saved in a fileand the GotFile event will be triggered. The ResponseFileName propertycan be used to specify the name of the file.
-If the SaveResponse property is false, the GotText event will betriggered.
-
-
-
-### Get
-
-Performs an HTTP GET request using the Url property and retrieves theresponse.
-If the SaveResponse property is true, the response will be saved in a fileand the GotFile event will be triggered. The ResponseFileName propertycan be used to specify the name of the file.
-If the SaveResponse property is false, the GotText event will betriggered.
-
-
-
-### HTML Text Decode
-
-Returns: Text
-
-Decodes the given HTML text value. HTML character entities such as &, <, >, ', and " are changed to &, <, >, ', and ". Entities such as &#xhhhh, and &#nnnn are changed to the appropriate characters.
-
-
-
-| Params | []() |
-|--------|------|
-|html Text|Text|
-
-### JSON Text Decode
-
-Returns: Any
-
-Decodes the given JSON encoded value to produce a corresponding AppInventor value
-A JSON list [x, y, z] decodes to a list (x y z), A JSON object with name A and value B,(denoted as A:B enclosed in curly braces) decodes to a list((A B)), that is, a list containing the two-element list (A B).
-
-
-
-| Params | []() |
-|--------|------|
-|json Text|Text|
-
-### Post File
-
-Performs an HTTP POST request using the Url property and data from the specified file.
-If the SaveResponse property is true, the response will be saved in a file and the GotFile event will be triggered. The ResponseFileName property can be used to specify the name of the file.
-If the SaveResponse property is false, the GotText event will be triggered.
-
-
-
-| Params | []() |
-|--------|------|
-|path|Text|
-
-### Post Text
-
-Performs an HTTP POST request using the Url property and the specified text.
-The characters of the text are encoded using UTF-8 encoding.
-If the SaveResponse property is true, the response will be saved in a file and the GotFile event will be triggered. The responseFileName property can be used to specify the name of the file.
-If the SaveResponse property is false, the GotText event will be triggered.
-
-
-
-| Params | []() |
-|--------|------|
-|text|Text|
-
-### Post Text With Encoding
-
-Performs an HTTP POST request using the Url property and the specified text.
-The characters of the text are encoded using the given encoding.
-If the SaveResponse property is true, the response will be saved in a file and the GotFile event will be triggered. The ResponseFileName property can be used to specify the name of the file.
-If the SaveResponse property is false, the GotText event will be triggered.
-
-
-
-| Params | []() |
-|--------|------|
-|text|Text|
-|encoding|Text|
-
-### Put File
-
-Performs an HTTP PUT request using the Url property and data from the specified file.
-If the SaveResponse property is true, the response will be saved in a file and the GotFile event will be triggered. The ResponseFileName property can be used to specify the name of the file.
-If the SaveResponse property is false, the GotText event will be triggered.
-
-
-
-| Params | []() |
-|--------|------|
-|path|Text|
-
-### Put Text
-
-Performs an HTTP PUT request using the Url property and the specified text.
-The characters of the text are encoded using UTF-8 encoding.
-If the SaveResponse property is true, the response will be saved in a file and the GotFile event will be triggered. The responseFileName property can be used to specify the name of the file.
-If the SaveResponse property is false, the GotText event will be triggered.
-
-
-
-| Params | []() |
-|--------|------|
-|text|Text|
-
-### Put Text With Encoding
-
-Performs an HTTP PUT request using the Url property and the specified text.
-The characters of the text are encoded using the given encoding.
-If the SaveResponse property is true, the response will be saved in a file and the GotFile event will be triggered. The ResponseFileName property can be used to specify the name of the file.
-If the SaveResponse property is false, the GotText event will be triggered.
-
-
-
-| Params | []() |
-|--------|------|
-|text|Text|
-|encoding|Text|
-
-### URI Decode
-
-Returns: Text
-
-Decodes the encoded text value.
-
-
-
-| Params | []() |
-|--------|------|
-|text|Text|
-
-### URI Encode
-
-Returns: Text
-
-Encodes the given text value so that it can be used in a URL.
-
-
-
-| Params | []() |
-|--------|------|
-|text|Text|
-
-### XML Text Decode
-
-Returns: Any
-
-Decodes the given XML string to produce a list structure. See the App Inventor documentation on "Other topics, notes, and details" for information.
-
-
-
-| Params | []() |
-|--------|------|
-|XmlText|Text|
-
-## Properties
-
-### Allow Cookies
-
-BooleanDefault: false :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Whether the cookies from a response should be saved and used in subsequent requests. Cookies are only supported on Android version 2.3 or greater.
-
-
-
-
-### Request Headers
-
-List :heavy_minus_sign: ReadWrite - Blocks
-
-The request headers, as a list of two-element sublists. The first element of each sublist represents the request header field name. The second element of each sublist represents the request header field values, either a single value or a list containing multiple values.
-
-
-
-
-### Response File Name
-
-Text :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The name of the file where the response should be saved. If SaveResponse is true and ResponseFileName is empty, then a new file name will be generated.
-
-
-
-
-### Save Response
-
-BooleanDefault: false :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Whether the response should be saved in a file.
-
-
-
-
-### Timeout
-
-NumberDefault: 0 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The number of milliseconds that a web request will wait for a response before giving up. If set to 0, then there is no time limit on how long the request will wait.
-
-
-
-
-### URL
-
-Text :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The URL for the web request.
-
-
-
diff --git a/docs/components/connectivity/wifi.md b/docs/components/connectivity/wifi.md
deleted file mode 100644
index 382bbc159..000000000
--- a/docs/components/connectivity/wifi.md
+++ /dev/null
@@ -1,109 +0,0 @@
-# WiFi
-
-{>> Non-Visible component<<}
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Connectivity**|API 21, Android 5.0 Lollipop|2|
-
-## Overview
-
-A non-visible component that manages the WiFi settings of the device.
-
-??? example "Permissions"
- * [android.permission.ACCESS_FINE_LOCATION](https://developer.android.com/reference/android/Manifest.permission.html#ACCESS_FINE_LOCATION)
- * [android.permission.CHANGE_WIFI_STATE](https://developer.android.com/reference/android/Manifest.permission.html#CHANGE_WIFI_STATE)
- * [android.permission.INTERNET](https://developer.android.com/reference/android/Manifest.permission.html#INTERNET)
- * [android.permission.ACCESS_WIFI_STATE](https://developer.android.com/reference/android/Manifest.permission.html#ACCESS_WIFI_STATE)
-
-## Methods
-
-### BSSID
-
-Returns: Text
-
-Return the basic service set identifier (BSSID) of the current access point
-
-
-
-### Disable
-
-Disable the Wi-Fi
-
-
-
-### Enable
-
-Enable the Wi-Fi
-
-
-
-### Is 5GHz Supported
-
-Returns: Boolean
-
-Return whether this adapter supports 5 GHz band
-
-
-
-### Is Enabled
-
-Returns: Boolean
-
-Return whether Wi-Fi is enabled or disabled
-
-
-
-### Is WiFi Direct Supported
-
-Returns: Boolean
-
-Return whether this adapter supports Wi-Fi Direct
-
-
-
-### Link Speed
-
-Returns: Number
-
-Returns the current link speed in Mbps
-
-
-
-### Local IP
-
-Returns: Text
-
-Return the current Local IP
-
-
-
-### Mac Address
-
-Returns: Text
-
-Returns the wlan mac address.
-
-
-
-### Signal Strength
-
-Returns: Number
-
-Returns the received signal strength indicator of the current 802.11 network, in dBm
-
-
-
-### SSID
-
-Returns: Text
-
-Returns the service set identifier (SSID) of the current 802.11 network
-
-
-
-### Toggle
-
-Toggle the Wi-Fi
-
-
diff --git a/docs/components/drawing-and-animation/ball.md b/docs/components/drawing-and-animation/ball.md
deleted file mode 100644
index 061344205..000000000
--- a/docs/components/drawing-and-animation/ball.md
+++ /dev/null
@@ -1,268 +0,0 @@
-# Ball
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Drawing and Animation**|API 21, Android 5.0 Lollipop|8|
-
-## Overview
-
-A round 'sprite' that can be placed on a `` Canvas ``, where it can react to touches and drags, interact with other sprites (`` ImageSprite ``s and other `` Ball ``s) and the edge of the Canvas, and move according to its property values.
-
-For example, to have a `` Ball `` move 4 pixels toward the top of a `` Canvas `` every 500 milliseconds (half second), you would set the `` Speed `` property to 4 \[pixels\], the `` Interval `` property to 500 \[milliseconds\], the `` Heading `` property to 90 \[degrees\], and the `` Enabled `` property to `` True ``.
-
-The difference between a `` Ball `` and an `` ImageSprite `` is that the latter can get its appearance from an image file, while a `` Ball ``'s appearance can be changed only by varying its `` PaintColor `` and `` Radius `` properties.
-
-## Events
-
-### Collided With
-
-Event handler called when two enabled sprites (Balls or ImageSprites)collide. Note that checking for collisions with a rotated ImageSprite currentlychecks against its unrotated position. Therefore, collisionchecking will be inaccurate for tall narrow or short wide sprites that arerotated.
-
-
-
-| Params | []() |
-|--------|------|
-|other|Component|
-
-### Dragged
-
-Event handler called when a Ball is dragged. On all calls, the starting coordinates are where the screen was first touched, and the "current" coordinates describe the endpoint of the current line segment. On the first call within a given drag, the "previous" coordinates are the same as the starting coordinates; subsequently, they are the "current" coordinates from the prior call. Note that the Ball won't actually move anywhere in response to the Dragged event unless MoveTo is explicitly called. For smooth movement, each of its coordinates should be set to the sum of its initial value and the difference between its current and previous values.
-
-
-
-| Params | []() |
-|--------|------|
-|start X|Number|
-|start Y|Number|
-|prev X|Number|
-|prev Y|Number|
-|current X|Number|
-|current Y|Number|
-
-### Edge Reached
-
-Event handler called when the Ball reaches an edge of the screen. If Bounce is then called with that edge, the Ball will appear to bounce off of the edge it reached. Edge here is represented as an integer that indicates one of eight directions north (1), northeast (2), east (3), southeast (4), south (-1), southwest (-2), west (-3), and northwest (-4).
-
-
-
-| Params | []() |
-|--------|------|
-|edge|Number|
-
-### Flung
-
-Event handler called when a fling gesture (quick swipe) is made on an enabled Ball. This provides the x and y coordinates of the start of the fling (relative to the upper left of the canvas), the speed (pixels per millisecond), the heading (0-360 degrees), and the x and y velocity components of the fling's vector.
-
-
-
-| Params | []() |
-|--------|------|
-|x|Number|
-|y|Number|
-|speed|Number|
-|heading|Number|
-|x vel|Number|
-|y vel|Number|
-
-### No Longer Colliding With
-
-Event handler called when a pair of sprites (Balls and ImageSprites) are no longer colliding.
-
-
-
-| Params | []() |
-|--------|------|
-|other|Component|
-
-### Touch Down
-
-Event handler called when the user begins touching an enabled Ball (placing their finger on a Ball and leaving it there). This provides the x and y coordinates of the touch, relative to the upper left of the canvas.
-
-
-
-| Params | []() |
-|--------|------|
-|x|Number|
-|y|Number|
-
-### Touch Up
-
-Event handler called when the user stops touching an enabled Ball (lifting their finger after a TouchDown event). This provides the x and y coordinates of the touch, relative to the upper left of the canvas.
-
-
-
-| Params | []() |
-|--------|------|
-|x|Number|
-|y|Number|
-
-### Touched
-
-Event handler called when the user touches an enabled Ball and then immediately lifts their finger. The provided x and y coordinates are relative to the upper left of the canvas.
-
-
-
-| Params | []() |
-|--------|------|
-|x|Number|
-|y|Number|
-
-## Methods
-
-### Bounce
-
-Makes the Ball bounce, as if off a wall. For normal bouncing, the edge argument should be the one returned by EdgeReached.
-
-
-
-| Params | []() |
-|--------|------|
-|edge|Number|
-
-### Colliding With
-
-Returns: Boolean
-
-Indicates whether a collision has been registered between this Ball and the passed sprite (Ball or ImageSprite).
-
-
-
-| Params | []() |
-|--------|------|
-|other|Component|
-
-### Move Into Bounds
-
-Moves the Ball back in bounds if part of it extends out of bounds, having no effect otherwise. If the Ball is too wide to fit on the canvas, this aligns the left side of the Ball with the left side of the canvas. If the Ball is too tall to fit on the canvas, this aligns the top side of the Ball with the top side of the canvas.
-
-
-
-### Move To
-
-Sets the x and y coordinates of the Ball. If CenterAtOrigin is true, the center of the Ball will be placed here. Otherwise, the top left edge of the Ball will be placed at the specified coordinates.
-
-
-
-| Params | []() |
-|--------|------|
-|x|Number|
-|y|Number|
-
-### Point In Direction
-
-Sets the heading of the Ball toward the point with the coordinates (x, y).
-
-
-
-| Params | []() |
-|--------|------|
-|x|Number|
-|y|Number|
-
-### Point Towards
-
-Turns the Ball to point towards a designated target sprite (Ball or ImageSprite). The new heading will be parallel to the line joining the centerpoints of the two sprites.
-
-
-
-| Params | []() |
-|--------|------|
-|target|Component|
-
-## Properties
-
-### Enabled
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Controls whether the Ball moves and can be interacted with through collisions, dragging, touching, and flinging.
-
-
-
-
-### Heading
-
-NumberDefault: 0 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Sets heading in which sprite should move. In addition to changing thelocal variables
-
-
-
-
-### Interval
-
-NumberDefault: 100 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The interval in milliseconds at which the Ball's position is updated. For example, if the interval is 50 and the speed is 10, then every 50 milliseconds the sprite will move 10 pixels in the heading direction.
-
-
-
-
-### Origin At Center
-
-BooleanDefault: False :heavy_minus_sign: Write - Designer
-
-Whether the x- and y-coordinates should represent the center of the Ball (`` true ``) or its left and top edges (`` false ``).
-
-### Paint Color
-
-ColorDefault: #000000FF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The color of the Ball.
-
-
-
-
-### Radius
-
-NumberDefault: 5 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The distance from the edge of the Ball to its center.
-
-
-
-
-### Speed
-
-NumberDefault: 0.0 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The number of pixels that the Ball should move every interval, if enabled.
-
-
-
-
-### Visible
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Whether the Ball is visible.
-
-
-
-
-### X
-
-NumberDefault: 0.0 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The horizontal coordinate of the Ball, increasing as the Ball moves right. If the property OriginAtCenter is true, the coodinate is for the center of the Ball; otherwise, it is for the leftmost point of the Ball.
-
-
-
-
-### Y
-
-NumberDefault: 0.0 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The vertical coordinate of the Ball, increasing as the Ball moves down. If the property OriginAtCenter is true, the coodinate is for the center of the Ball; otherwise, it is for the uppermost point of the Ball.
-
-
-
-
-### Z
-
-NumberDefault: 1.0 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Sets the layer of the sprite, indicating whether it will appear infront of or behind other sprites.
-
-
-
diff --git a/docs/components/drawing-and-animation/canvas.md b/docs/components/drawing-and-animation/canvas.md
deleted file mode 100644
index 0d94205e7..000000000
--- a/docs/components/drawing-and-animation/canvas.md
+++ /dev/null
@@ -1,415 +0,0 @@
-# Canvas
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Drawing and Animation**|API 21, Android 5.0 Lollipop|15|
-
-## Overview
-
-A two-dimensional touch-sensitive rectangular panel on which drawing can be done and sprites can be moved.
-
-
-
-The `` BackgroundColor ``, `` PaintColor ``, `` BackgroundImage ``, `` Width ``, and `` Height `` of the Canvas can be set in either the Designer or in the Blocks Editor. The `` Width `` and `` Height `` are measured in pixels and must be positive.
-
-Any location on the Canvas can be specified as a pair of (X, Y) values, where
-
- * X is the number of pixels away from the left edge of the Canvas
-* Y is the number of pixels away from the top edge of the Canvas
-
-.
-
-
-
-There are events to tell when and where a Canvas has been touched or a `` Sprite `` (`` ImageSprite `` or `` Ball ``) has been dragged. There are also methods for drawing points, lines, and circles.
-
-??? example "Permissions"
- * [android.permission.INTERNET](https://developer.android.com/reference/android/Manifest.permission.html#INTERNET)
- * [android.permission.WRITE_EXTERNAL_STORAGE](https://developer.android.com/reference/android/Manifest.permission.html#WRITE_EXTERNAL_STORAGE) if using [Save](#save) or [Save As](#save-as)
-
-## Events
-
-### Dragged
-
-When the user does a drag from one point (prevX, prevY) toanother (x, y). The pair (startX, startY) indicates where theuser first touched the screen, and "draggedAnySprite" indicates whether asprite is being dragged.
-
-
-
-| Params | []() |
-|--------|------|
-|start X|Number|
-|start Y|Number|
-|prev X|Number|
-|prev Y|Number|
-|current X|Number|
-|current Y|Number|
-|dragged Any Sprite|Boolean|
-
-### Flung
-
-When a fling gesture (quick swipe) is made on the canvas: providesthe (x,y) position of the start of the fling, relative to the upperleft of the canvas. Also provides the speed (pixels per millisecond) and heading(0-360 degrees) of the fling, as well as the x velocity and y velocitycomponents of the fling's vector. The value "flungSprite" is true if a spritewas located near the the starting point of the fling gesture.
-
-
-
-| Params | []() |
-|--------|------|
-|x|Number|
-|y|Number|
-|speed|Number|
-|heading|Number|
-|x vel|Number|
-|y vel|Number|
-|flung Sprite|Boolean|
-
-### Scaled
-
-This event is invoked when two-finger pinches. ScaleFactor is the ratio of the average distance between two-fingers from current and previous scale event.
-
-
-
-| Params | []() |
-|--------|------|
-|scale Factor|Number|
-
-### Touch Down
-
-When the user begins touching the canvas (places finger on canvas andleaves it there): provides the (x,y) position of the touch, relativeto the upper left of the canvas
-
-
-
-| Params | []() |
-|--------|------|
-|x|Number|
-|y|Number|
-
-### Touch Up
-
-When the user stops touching the canvas (lifts finger after aTouchDown event): provides the (x,y) position of the touch, relativeto the upper left of the canvas
-
-
-
-| Params | []() |
-|--------|------|
-|x|Number|
-|y|Number|
-
-### Touched
-
-When the user touches the canvas and then immediately lifts finger: providesthe (x,y) position of the touch, relative to the upper left of the canvas. TouchedAnySpriteis true if the same touch also touched a sprite, and false otherwise.
-
-
-
-| Params | []() |
-|--------|------|
-|x|Number|
-|y|Number|
-|touched Any Sprite|Boolean|
-
-## Methods
-
-### Clear
-
-Clears anything drawn on this Canvas but not any background color or image.
-
-
-
-### Draw Arc
-
-Draw an arc on Canvas, by drawing an arc from a specified oval (specified by left, top, right & bottom). Start angle is 0 when heading to the right, and increase when rotate clockwise. When useCenter is true, a sector will be drawed instead of an arc. When fill is true, a filled arc (or sector) will be drawed instead of just an outline.
-
-
-
-| Params | []() |
-|--------|------|
-|left|Number|
-|top|Number|
-|right|Number|
-|bottom|Number|
-|start Angle|Number|
-|sweep Angle|Number|
-|use Center|Boolean|
-|fill|Boolean|
-
-### Draw Circle
-
-Draws a circle (filled in) with the given radius centered at the given coordinates on the canvas
-
-
-
-| Params | []() |
-|--------|------|
-|center X|Number|
-|center Y|Number|
-|radius|Number|
-|fill|Boolean|
-
-### Draw Line
-
-Draws a line between the given coordinates on the canvas.
-
-
-
-| Params | []() |
-|--------|------|
-|x1|Number|
-|y1|Number|
-|x2|Number|
-|y2|Number|
-
-### Draw Point
-
-Draws a point at the given coordinates on the canvas.
-
-
-
-| Params | []() |
-|--------|------|
-|x|Number|
-|y|Number|
-
-### Draw Polygon
-
-Creates a polygon with with specified number of sides from a radius.
-
-
-
-| Params | []() |
-|--------|------|
-|center X|Number|
-|center Y|Number|
-|num Sides|Number|
-|poly Radius|Number|
-|corner Radius|Number|
-|rotation|Number|
-|fill|Boolean|
-|clear Canvas|Boolean|
-
-### Draw Shape
-
-Draws a shape on the canvas. pointList should be a list contains sub-lists with two number which represents a coordinate. The first point and last point does not need to be the same. e.g. ((x1 y1) (x2 y2) (x3 y3)) When fill is true, the shape will be filled.
-
-
-
-| Params | []() |
-|--------|------|
-|point List|List|
-|fill|Boolean|
-
-### Draw Text
-
-Draws the specified text relative to the specified coordinates using the values of the FontSize and TextAlignment properties.
-
-
-
-| Params | []() |
-|--------|------|
-|text|Text|
-|x|Number|
-|y|Number|
-
-### Draw Text At Angle
-
-Draws the specified text starting at the specified coordinates at the specified angle using the values of the FontSize and TextAlignment properties.
-
-
-
-| Params | []() |
-|--------|------|
-|text|Text|
-|x|Number|
-|y|Number|
-|angle|Number|
-
-### Get Background Pixel Color
-
-Returns: Number
-
-Gets the color of the specified point. This includes the background and any drawn points, lines, or circles but not sprites.
-
-
-
-| Params | []() |
-|--------|------|
-|x|Number|
-|y|Number|
-
-### Get Pixel Color
-
-Returns: Number
-
-Gets the color of the specified point.
-
-
-
-| Params | []() |
-|--------|------|
-|x|Number|
-|y|Number|
-
-### Save
-
-Returns: Text
-
-Saves a picture of this Canvas to the device's external storage. If an error occurs, the Screen's ErrorOccurred event will be called.
-
-
-
-### Save As
-
-Returns: Text
-
-Saves a picture of this Canvas to the device's external storage in the file named fileName. fileName must end with one of .jpg, .jpeg, or .png, which determines the file type.
-
-
-
-| Params | []() |
-|--------|------|
-|file Name|Text|
-
-### Set Background Pixel Color
-
-Sets the color of the specified point. This differs from DrawPoint by having an argument for color.
-
-
-
-| Params | []() |
-|--------|------|
-|x|Number|
-|y|Number|
-|color|Number|
-
-## Properties
-
-### Background Color
-
-ColorDefault: #FFFFFFFF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The color of the canvas background.
-
-
-
-
-### Background Image
-
-Text :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The name of a file containing the background image for the canvas
-
-
-
-
-### Extend Moves Outside Canvas
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Determines whether moves can extend beyond the canvas borders. Default is false. This should normally be false, and the property is provided for backwards compatibility.
-
-
-
-
-### Font Bold
-
-BooleanDefault: False :heavy_minus_sign: Write - Designer
-
-Property for FontBold
-
-### Font Italic
-
-BooleanDefault: False :heavy_minus_sign: Write - Designer
-
-Property for FontItalic
-
-### Font Size
-
-NumberDefault: 14.0 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The font size of text drawn on the canvas.
-
-
-
-
-### Font Typeface
-
-NumberDefault: 0 :heavy_minus_sign: Write - Designer
-
-Property for FontTypeface
-
-### Font Typeface Import
-
-Available as ^^Advanced^^ Property
-
-Text :heavy_minus_sign: Write - DesignerBlocks
-
-Set a custom font.
-
-
-
-### Height
-
-Number :heavy_minus_sign: ReadWrite - Blocks
-
-Set the canvas heightThe height can only be set to >0 or -1 (automatic) or -2 (fill parent) orto a value less then or equal to LENGTH_PERCENT_TAG (which is laterconverted to pixels.
-
-
-
-
-### Height Percent
-
-Number :heavy_minus_sign: Write - Blocks
-
-Specifies the component's vertical height as a percentageof the height of its parent Component.
-
-
-
-### Line Width
-
-NumberDefault: 2.0 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The width of lines drawn on the canvas.
-
-
-
-
-### Paint Color
-
-ColorDefault: #000000FF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The color in which lines are drawn
-
-
-
-
-### Text Alignment
-
-NumberDefault: 1 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Determines the alignment of the text drawn by DrawText() or DrawAngle() with respect to the point specified by that command: point at the left of the text, point at the center of the text, or point at the right of the text.
-
-
-
-
-### Visible
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Returns true iff the component is visible.
-
-
-
-
-### Width
-
-Number :heavy_minus_sign: ReadWrite - Blocks
-
-Set the canvas widthThe width can only be set to >0 or -1 (automatic) or -2 (fill parent)or to a value less then or equal to LENGTH_PERCENT_TAG (which is laterconverted to pixels.
-
-
-
-
-### Width Percent
-
-Number :heavy_minus_sign: Write - Blocks
-
-Specifies the component's horizontal width as a percentageof the Width of its parent Component.
-
-
diff --git a/docs/components/drawing-and-animation/image-editor.md b/docs/components/drawing-and-animation/image-editor.md
deleted file mode 100644
index be96495e0..000000000
--- a/docs/components/drawing-and-animation/image-editor.md
+++ /dev/null
@@ -1,350 +0,0 @@
-# Image Editor
-
-{>> Non-Visible component<<}
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Drawing and Animation**|API 21, Android 5.0 Lollipop|1|
-
-## Overview
-
-Non-visible component that allows users to edit images.
-
-??? example "Permissions"
- * [android.permission.READ_EXTERNAL_STORAGE](https://developer.android.com/reference/android/Manifest.permission.html#READ_EXTERNAL_STORAGE)
- * [android.permission.WRITE_EXTERNAL_STORAGE](https://developer.android.com/reference/android/Manifest.permission.html#WRITE_EXTERNAL_STORAGE)
-
-## Methods
-
-### Blur Effect
-
-Returns: Text
-
-This methods creates a blur effect.
-
-
-
-| Params | []() |
-|--------|------|
-|image A|Text|
-|scale|Number|
-|radius|Number|
-
-### Color Boost Effect
-
-Returns: Text
-
-Color boost technique is basically based on color filtering, which is to increase the intensity of a single color channel. For example: type = green/ blue or red; percent = 40%.
-
-
-
-| Params | []() |
-|--------|------|
-|image A|Text|
-|type|Text|
-|percent|Number|
-
-### Color Filter
-
-Returns: Text
-
-Set a color filter to your image. For example: red = 30; green = 40; blue = 20.
-
-
-
-| Params | []() |
-|--------|------|
-|image A|Text|
-|red|Number|
-|green|Number|
-|blue|Number|
-
-### Flip Picture
-
-Returns: Text
-
-Flip your image vertical or horizontal. For example: type = 1 (vertical); type = 2 (horizontal).
-
-
-
-| Params | []() |
-|--------|------|
-|image A|Text|
-|type|Number|
-
-### Gamma Effect
-
-Returns: Text
-
-Set a gamma effect to your image. For example: red = 5; green = 10; blue = 20.
-
-
-
-| Params | []() |
-|--------|------|
-|image A|Text|
-|red|Number|
-|green|Number|
-|blue|Number|
-
-### Greyscale Effect
-
-Returns: Text
-
-Grayscale is a simple image effect that changes colors to grayscale by default.
-
-
-
-| Params | []() |
-|--------|------|
-|image A|Text|
-
-### Highlight Effect
-
-Returns: Text
-
-Set a highlight effect to your image.
-
-
-
-| Params | []() |
-|--------|------|
-|image A|Text|
-
-### Hue Filter
-
-Returns: Text
-
-Change the hue of an image. For example: level = 1 or 2 or 3 or 4 etc.
-
-
-
-| Params | []() |
-|--------|------|
-|image A|Text|
-|level|Number|
-
-### Image Rotation
-
-Returns: Text
-
-Rotate the image to the degree you need it. For example: degree = 100.
-
-
-
-| Params | []() |
-|--------|------|
-|image A|Text|
-|degree|Number|
-
-### Invert Effect
-
-Returns: Text
-
-This effect inverts your image.
-
-
-
-| Params | []() |
-|--------|------|
-|image A|Text|
-
-### is Landscape
-
-Returns: Boolean
-
-Return true if image is in landscape format, else return false.
-
-
-
-| Params | []() |
-|--------|------|
-|image|Text|
-
-### is Portrait
-
-Returns: Boolean
-
-Return true if image is in portrait format, else return false.
-
-
-
-| Params | []() |
-|--------|------|
-|image|Text|
-
-### is Square
-
-Returns: Boolean
-
-Return true if image is in square format (means as high as wide or as wide as high), else return false.
-
-
-
-| Params | []() |
-|--------|------|
-|image|Text|
-
-### Merge Two Images
-
-Returns: Text
-
-This methods creates a new side by side horizontal image.
-
-
-
-| Params | []() |
-|--------|------|
-|left Image|Text|
-|right Image|Text|
-
-### Pixelate
-
-Returns: Text
-
-This methods creates a pixelate image effect. Use as example as pixelation Amount '1' for a hugh pixel effect and '99' for a almost not visible pixel effect.
-
-
-
-| Params | []() |
-|--------|------|
-|image A|Text|
-|pixelation Amount|Number|
-
-### Round Corner
-
-Returns: Text
-
-Set a round corner to your image. For example: round = 45.
-
-
-
-| Params | []() |
-|--------|------|
-|image A|Text|
-|round|Number|
-
-### Scale Center Crop
-
-Returns: Text
-
-This methods creates a new scale center crop image.
-
-
-
-| Params | []() |
-|--------|------|
-|image A|Text|
-|height|Number|
-|width|Number|
-
-### Sepia Toning Effect
-
-Returns: Text
-
-Set a sepia toning effect to your image. For example: depth = 20; red = 10; green = 20; blue = 25.
-
-
-
-| Params | []() |
-|--------|------|
-|image A|Text|
-|depth|Number|
-|red|Number|
-|green|Number|
-|blue|Number|
-
-### Set Brightness
-
-Returns: Text
-
-Change the brightness of your image. For example: value = 50 (maximum = 255=100% brightness).
-
-
-
-| Params | []() |
-|--------|------|
-|image A|Text|
-|value|Number|
-
-### Set Color Depth
-
-Returns: Text
-
-Change the color depth of an image as you wish. For example: bitOffset = 32 (bit) or bitOffset = 16 (bit).
-
-
-
-| Params | []() |
-|--------|------|
-|image A|Text|
-|bit Offset|Number|
-
-### Set Contrast
-
-Returns: Text
-
-This changes the contrast of your image. For example: value = 1.0 means normal picture contrast. Below 1.0 like as example 0.7 means dark contrast, above 1.0 as example 1.5 means light contrast.
-
-
-
-| Params | []() |
-|--------|------|
-|image A|Text|
-|value|Number|
-
-### Shading Filter
-
-Returns: Text
-
-Make a new image with a shading filter. For example: shadingColor = green(rgb value).
-
-
-
-| Params | []() |
-|--------|------|
-|image A|Text|
-|shading Color|Number|
-
-### Tint Color Effect
-
-Returns: Text
-
-That's a pretty new other cool effect. It changes the tint color of your image. For example: degree = 100.
-
-
-
-| Params | []() |
-|--------|------|
-|image A|Text|
-|degree|Number|
-
-### Watermark Effect
-
-Returns: Text
-
-Set a watermark effect to an image and change the positon/size or color of the text. For example: text = hello; textSize = 25; textColor = red(rgb value); textAlphaValue = 255 (255= 100% visible,127.5= 50% visible, 0= 0% visible); pointX = 50; pointY = 100; text underline(boolean) = true or false.
-
-
-
-| Params | []() |
-|--------|------|
-|image A|Text|
-|text|Text|
-|text Size|Number|
-|text Color|Number|
-|text Underline|Boolean|
-|text Alpha Value|Number|
-|point X|Number|
-|point Y|Number|
-
-## Properties
-
-### Save New Image As
-
-TextDefault: NewImage.png :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Save the new created image to a folder/ name of your choice.
-
-
-
diff --git a/docs/components/drawing-and-animation/image-sprite.md b/docs/components/drawing-and-animation/image-sprite.md
deleted file mode 100644
index 47c48ec63..000000000
--- a/docs/components/drawing-and-animation/image-sprite.md
+++ /dev/null
@@ -1,283 +0,0 @@
-# Image Sprite
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Drawing and Animation**|API 21, Android 5.0 Lollipop|8|
-
-## Overview
-
-A 'sprite' that can be placed on a `` Canvas ``, where it can react to touches and drags, interact with other sprites (`` Ball ``s and other `` ImageSprite ``s) and the edge of the Canvas, and move according to its property values. Its appearance is that of the image specified in its `` Picture `` property (unless its `` Visible `` property is `` False ``).
-
-
-
-To have an `` ImageSprite `` move 10 pixels to the left every 1000 milliseconds (one second), for example, you would set the `` Speed `` property to 10 \[pixels\], the `` Interval `` property to 1000 \[milliseconds\], the `` Heading `` property to 180 \[degrees\], and the `` Enabled `` property to `` True ``. A sprite whose `` Rotates `` property is `` True `` will rotate its image as the sprite's `` Heading `` changes. Checking for collisions with a rotated sprite currently checks the sprite's unrotated position so that collision checking will be inaccurate for tall narrow or short wide sprites that are rotated. Any of the sprite properties can be changed at any time under program control.
-
-??? example "Permissions"
- * [android.permission.INTERNET](https://developer.android.com/reference/android/Manifest.permission.html#INTERNET)
-
-## Events
-
-### Collided With
-
-Event handler called when two enabled sprites (Balls or ImageSprites)collide. Note that checking for collisions with a rotated ImageSprite currentlychecks against its unrotated position. Therefore, collisionchecking will be inaccurate for tall narrow or short wide sprites that arerotated.
-
-
-
-| Params | []() |
-|--------|------|
-|other|Component|
-
-### Dragged
-
-Event handler called when a ImageSprite is dragged. On all calls, the starting coordinates are where the screen was first touched, and the "current" coordinates describe the endpoint of the current line segment. On the first call within a given drag, the "previous" coordinates are the same as the starting coordinates; subsequently, they are the "current" coordinates from the prior call. Note that the ImageSprite won't actually move anywhere in response to the Dragged event unless MoveTo is explicitly called. For smooth movement, each of its coordinates should be set to the sum of its initial value and the difference between its current and previous values.
-
-
-
-| Params | []() |
-|--------|------|
-|start X|Number|
-|start Y|Number|
-|prev X|Number|
-|prev Y|Number|
-|current X|Number|
-|current Y|Number|
-
-### Edge Reached
-
-Event handler called when the ImageSprite reaches an edge of the screen. If Bounce is then called with that edge, the ImageSprite will appear to bounce off of the edge it reached. Edge here is represented as an integer that indicates one of eight directions north (1), northeast (2), east (3), southeast (4), south (-1), southwest (-2), west (-3), and northwest (-4).
-
-
-
-| Params | []() |
-|--------|------|
-|edge|Number|
-
-### Flung
-
-Event handler called when a fling gesture (quick swipe) is made on an enabled ImageSprite. This provides the x and y coordinates of the start of the fling (relative to the upper left of the canvas), the speed (pixels per millisecond), the heading (0-360 degrees), and the x and y velocity components of the fling's vector.
-
-
-
-| Params | []() |
-|--------|------|
-|x|Number|
-|y|Number|
-|speed|Number|
-|heading|Number|
-|x vel|Number|
-|y vel|Number|
-
-### No Longer Colliding With
-
-Event handler called when a pair of sprites (Balls and ImageSprites) are no longer colliding.
-
-
-
-| Params | []() |
-|--------|------|
-|other|Component|
-
-### Touch Down
-
-Event handler called when the user begins touching an enabled ImageSprite (placing their finger on a ImageSprite and leaving it there). This provides the x and y coordinates of the touch, relative to the upper left of the canvas.
-
-
-
-| Params | []() |
-|--------|------|
-|x|Number|
-|y|Number|
-
-### Touch Up
-
-Event handler called when the user stops touching an enabled ImageSprite (lifting their finger after a TouchDown event). This provides the x and y coordinates of the touch, relative to the upper left of the canvas.
-
-
-
-| Params | []() |
-|--------|------|
-|x|Number|
-|y|Number|
-
-### Touched
-
-Event handler called when the user touches an enabled ImageSprite and then immediately lifts their finger. The provided x and y coordinates are relative to the upper left of the canvas.
-
-
-
-| Params | []() |
-|--------|------|
-|x|Number|
-|y|Number|
-
-## Methods
-
-### Bounce
-
-Makes the ImageSprite bounce, as if off a wall. For normal bouncing, the edge argument should be the one returned by EdgeReached.
-
-
-
-| Params | []() |
-|--------|------|
-|edge|Number|
-
-### Colliding With
-
-Returns: Boolean
-
-Indicates whether a collision has been registered between this ImageSprite and the passed sprite (Ball or ImageSprite).
-
-
-
-| Params | []() |
-|--------|------|
-|other|Component|
-
-### Move Into Bounds
-
-Moves the ImageSprite back in bounds if part of it extends out of bounds, having no effect otherwise. If the ImageSprite is too wide to fit on the canvas, this aligns the left side of the ImageSprite with the left side of the canvas. If the ImageSprite is too tall to fit on the canvas, this aligns the top side of the ImageSprite with the top side of the canvas.
-
-
-
-### Move To
-
-Moves the ImageSprite so that its left top corner is at the specfied x and y coordinates.
-
-
-
-| Params | []() |
-|--------|------|
-|x|Number|
-|y|Number|
-
-### Point In Direction
-
-Sets the heading of the ImageSprite toward the point with the coordinates (x, y).
-
-
-
-| Params | []() |
-|--------|------|
-|x|Number|
-|y|Number|
-
-### Point Towards
-
-Turns the ImageSprite to point towards a designated target sprite (Ball or ImageSprite). The new heading will be parallel to the line joining the centerpoints of the two sprites.
-
-
-
-| Params | []() |
-|--------|------|
-|target|Component|
-
-## Properties
-
-### Enabled
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Controls whether the ImageSprite moves and can be interacted with through collisions, dragging, touching, and flinging.
-
-
-
-
-### Heading
-
-NumberDefault: 0 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Sets heading in which sprite should move. In addition to changing thelocal variables
-
-
-
-
-### Height
-
-Number :heavy_minus_sign: ReadWrite - Blocks
-
-The height of the ImageSprite in pixels.
-
-
-
-
-### Interval
-
-NumberDefault: 100 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The interval in milliseconds at which the ImageSprite's position is updated. For example, if the interval is 50 and the speed is 10, then every 50 milliseconds the sprite will move 10 pixels in the heading direction.
-
-
-
-
-### Picture
-
-Text :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The picture that determines the ImageSprite's appearance.
-
-
-
-
-### Rotates
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Whether the image should rotate to match the ImageSprite's heading. The sprite rotates around its centerpoint.
-
-
-
-
-### Speed
-
-NumberDefault: 0.0 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The number of pixels that the ImageSprite should move every interval, if enabled.
-
-
-
-
-### Visible
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Whether the ImageSprite is visible.
-
-
-
-
-### Width
-
-Number :heavy_minus_sign: ReadWrite - Blocks
-
-The width of the ImageSprite in pixels.
-
-
-
-
-### X
-
-NumberDefault: 0.0 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The horizontal coordinate of the left edge of the ImageSprite, increasing as the ImageSprite moves right.
-
-
-
-
-### Y
-
-NumberDefault: 0.0 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The vertical coordinate of the top edge of the ImageSprite, increasing as the ImageSprite moves down.
-
-
-
-
-### Z
-
-NumberDefault: 1.0 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Sets the layer of the sprite, indicating whether it will appear infront of or behind other sprites.
-
-
-
diff --git a/docs/components/drawing-and-animation/index.md b/docs/components/drawing-and-animation/index.md
deleted file mode 100644
index 79f634760..000000000
--- a/docs/components/drawing-and-animation/index.md
+++ /dev/null
@@ -1,7 +0,0 @@
-# Overview of Drawing and Animation
-
-* [Ball](ball.md)
-* [Canvas](canvas.md)
-* [Image Editor](image-editor.md)
-* [Image Sprite](image-sprite.md)
-* [Lottie](lottie.md)
\ No newline at end of file
diff --git a/docs/components/drawing-and-animation/lottie.md b/docs/components/drawing-and-animation/lottie.md
deleted file mode 100644
index 6e1b531f6..000000000
--- a/docs/components/drawing-and-animation/lottie.md
+++ /dev/null
@@ -1,196 +0,0 @@
-# Lottie
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Drawing and Animation**|API 21, Android 5.0 Lollipop|2|
-
-## Overview
-
-A visible component that displays animations from a json or zip file, or from a URL.
-
-## Events
-
-### Animation End
-
-Triggers when the animation ends.
-
-
-
-### Animation Repeat
-
-Triggers when the animation repeated.
-
-
-
-### Animation Start
-
-Triggers when the animation starts.
-
-
-
-### Click
-
-Triggers when the components was clicked.
-
-
-
-### Long Click
-
-Triggers when the components was long clicked.
-
-
-
-## Methods
-
-### End Frame
-
-Set the frame where you want the animation to end.
-
-
-
-| Params | []() |
-|--------|------|
-|frame|Number|
-
-### Get Current Frame
-
-Returns: Number
-
-Get the frame where the animation is now.
-
-
-
-### Get Frame Count
-
-Returns: Number
-
-Get the count of frames in the animation.
-
-
-
-### Is Animating
-
-Returns: Boolean
-
-Check if the Lottie component is animating.
-
-
-
-### Pause Animation
-
-Pause the animation on the Lottie component.
-
-
-
-### Resume Animation
-
-Resume the animation on the Lottie component.
-
-
-
-### Set Current Frame
-
-Set the frame where you want the animation to be now.
-
-
-
-| Params | []() |
-|--------|------|
-|frame|Number|
-
-### Start Animation
-
-Start the animation on the Lottie component.
-
-
-
-### Start Frame
-
-Set the frame where you want the animation to start.
-
-
-
-| Params | []() |
-|--------|------|
-|frame|Number|
-
-## Properties
-
-### Animation Speed
-
-NumberDefault: 1 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Set the speed of the animation.
-
-
-
-
-### Clickable
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Set the component clickable or not clickable.
-
-
-
-
-### Height
-
-Number :heavy_minus_sign: ReadWrite - Blocks
-
-Specifies the component's vertical height, measured in pixels.
-
-
-
-
-### Height Percent
-
-Number :heavy_minus_sign: Write - Blocks
-
-Specifies the component's vertical height as a percentageof the height of its parent Component.
-
-
-
-### Loop Animation
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Set to true if you want to loop the animation.
-
-
-
-
-### Source
-
-Text :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Set the file or url of the file you want to load.
-
-
-
-
-### Visible
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Returns true iff the component is visible.
-
-
-
-
-### Width
-
-Number :heavy_minus_sign: ReadWrite - Blocks
-
-Specifies the component's horizontal width, measured in pixels.
-
-
-
-
-### Width Percent
-
-Number :heavy_minus_sign: Write - Blocks
-
-Specifies the component's horizontal width as a percentageof the Width of its parent Component.
-
-
diff --git a/docs/components/dynamic/dynamic-button.md b/docs/components/dynamic/dynamic-button.md
deleted file mode 100644
index 698edcf0b..000000000
--- a/docs/components/dynamic/dynamic-button.md
+++ /dev/null
@@ -1,230 +0,0 @@
-# Dynamic Button
-
-{>> Non-Visible component<<}
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Dynamic Components**|API 21, Android 5.0 Lollipop|4|
-
-## Overview
-
-A component to create dynamic buttons in Arrangements
-
-## Events
-
-### Button Click
-
-Trigger when a Dynamic Button is clicked.
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-
-### Button Long Click
-
-Trigger when a Dynamic Button is long clicked.
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-
-## Methods
-
-### Create Button
-
-Create a Dynamic Button.
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-|arrangement|Component|
-
-### Delete Button
-
-:warning: ==**Deprecated**==
-
-This block is DEPRECATED! Please use instead the 'Delete Button' block without arrangement parameter.
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-|arrangement|Component|
-
-### Delete Button
-
-Delete a Dynamic Button.
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-
-### Get Button By Id
-
-Returns: Component
-
-Returns the button referenced by its id.
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-
-### Get Enabled
-
-Returns: Boolean
-
-Get the Enabled status of a button.
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-
-### Get Font Size
-
-Returns: Number
-
-Get the Font Size of a button.
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-
-### Get Height
-
-Returns: Number
-
-Get the Height of a button.
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-
-### Get Text
-
-Returns: Text
-
-Get the Text of a button.
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-
-### Get Width
-
-Returns: Number
-
-Get the Width of a button.
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-
-### Set Background Color
-
-Update the Background Color of a button.
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-|color|Number|
-
-### Set Enabled
-
-Update the Enabled status of a button.
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-|enabled|Boolean|
-
-### Set Font
-
-Update the Font of a button.
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-|bold|Boolean|
-|italic|Boolean|
-
-### Set Font Size
-
-Update the Font Size of a button.
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-|size|Number|
-
-### Set Height
-
-Update the Height of a button.
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-|height|Number|
-
-### Set Text
-
-Update the Text of a button.
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-|text|Text|
-
-### Set Text Color
-
-Update the Text Color of a button.
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-|color|Number|
-
-### Set Width
-
-Update the Width of a button.
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-|width|Number|
diff --git a/docs/components/dynamic/dynamic-card-view.md b/docs/components/dynamic/dynamic-card-view.md
deleted file mode 100644
index f459b32d1..000000000
--- a/docs/components/dynamic/dynamic-card-view.md
+++ /dev/null
@@ -1,344 +0,0 @@
-# Dynamic Card View
-
-{>> Non-Visible component<<}
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Dynamic Components**|API 21, Android 5.0 Lollipop|3|
-
-## Overview
-
-A component to create dynamic cardviews in Arrangements.
-
-## Events
-
-### Click
-
-Event to detect that a user has done a simple click on a card view component with the specific id.
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-
-### Long Click
-
-Event to detect that a user has done a simple long click on a card view component with the specific id.
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-
-### Touch Down
-
-Event to detect that a user has done a simple touch down on a card view component with the specific id.
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-
-### Touch Up
-
-Event to detect that a user has done a simple touch up on a card view component with the specific id.
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-
-## Methods
-
-### Add Component To Card View
-
-Add a component into the card view component with the given id.
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-|arrangement|Component|
-
-### Content Padding
-
-Set the content padding of a card view component.
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-|content Padding Left|Number|
-|content Padding Top|Number|
-|content Padding Right|Number|
-|content Padding Bottom|Number|
-
-### Create Card View
-
-Create a new card view component dynamically. Use for width/height '-1' for wrap content or '-2' for fill parent.
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-|arrangement|Component|
-|width|Number|
-|height|Number|
-
-### Delete Card View
-
-Remove a card view component with the given id.
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-
-### Get Background Color
-
-Returns: Number
-
-Get the background color of a card view component.
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-
-### Get Card View By Id
-
-Returns: Component
-
-Returns the card view referenced by its id.
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-
-### Get Corner Radius
-
-Returns: Number
-
-Get the corner radius of a card view component.
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-
-### Get Elevation
-
-Returns: Number
-
-Get the elevation of a card view component.
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-
-### Get Height
-
-Returns: Number
-
-Get the height of a card view component.
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-
-### Get Width
-
-Returns: Number
-
-Get the width of a card view component.
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-
-### Set Background Color
-
-Set the background color of a card view component.
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-|argb|Number|
-
-### Set Corner Radius
-
-Set the corner radius of a card view component.
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-|radius|Number|
-
-### Set Elevation
-
-Set the elevation of a card view component.
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-|value|Number|
-
-### Set Height
-
-Set the height of a card view component.
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-|height|Number|
-
-### Set Width
-
-Set the width of a card view component.
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-|width|Number|
-
-### Stroke Color
-
-Set the stroke color to a card view component with the specific id.
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-|color|Number|
-
-### Stroke Width
-
-Set the stroke width to a card view component with the specific id.
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-|width|Number|
-
-## Properties
-
-### Background Color
-
-ColorDefault: #FFFFFFFF :heavy_minus_sign: Write - DesignerBlocks
-
-Specifies the cards's background color.
-
-
-
-### Content Padding Bottom
-
-NumberDefault: 8 :heavy_minus_sign: Write - DesignerBlocks
-
-Sets the bottom padding between the card's edges and the children of card view.
-
-
-
-### Content Padding Left
-
-NumberDefault: 8 :heavy_minus_sign: Write - DesignerBlocks
-
-Sets the left padding between the card's edges and the children of card view.
-
-
-
-### Content Padding Right
-
-NumberDefault: 8 :heavy_minus_sign: Write - DesignerBlocks
-
-Sets the right padding between the card's edges and the children of card view.
-
-
-
-### Content Padding Top
-
-NumberDefault: 8 :heavy_minus_sign: Write - DesignerBlocks
-
-Sets the top padding between the card's edges and the children of card view.
-
-
-
-### Corner Radius
-
-NumberDefault: 2 :heavy_minus_sign: Write - DesignerBlocks
-
-The corner radius from the card view.
-
-
-
-### Elevation
-
-NumberDefault: 2 :heavy_minus_sign: Write - DesignerBlocks
-
-The card view elevation value.
-
-
-
-### Full Clickable
-
-BooleanDefault: False :heavy_minus_sign: Write - DesignerBlocks
-
-If set to true, the card will consume all click events. This means if you have added as example buttons into the card, then will the card consume the touch event on the button. And this means that the button would not be clickable, but only the entire card.
-
-
-
-### Stroke Color
-
-ColorDefault: #CCCCCCFF :heavy_minus_sign: Write - DesignerBlocks
-
-The stroke width for the card view.
-
-
-
-### Stroke Width
-
-NumberDefault: 1 :heavy_minus_sign: Write - DesignerBlocks
-
-The stroke width for the card view.
-
-
-
-### Touch Color
-
-Available as ^^Advanced^^ Property
-
-ColorDefault: #CCCCCCFF :heavy_minus_sign: Write - DesignerBlocks
-
-Set the touch color also known as ripple color to a card view component.
-
-
diff --git a/docs/components/dynamic/dynamic-image.md b/docs/components/dynamic/dynamic-image.md
deleted file mode 100644
index 0340a6c94..000000000
--- a/docs/components/dynamic/dynamic-image.md
+++ /dev/null
@@ -1,128 +0,0 @@
-# Dynamic Image
-
-{>> Non-Visible component<<}
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Dynamic Components**|API 21, Android 5.0 Lollipop|2|
-
-## Overview
-
-A component to create dynamic image in Arrangements.
-
-## Methods
-
-### Create Image
-
-Create a new image component dynamically. Use for width/height '-1' for wrap content or '-2' for fill parent.
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-|arrangement|Component|
-|path|Text|
-|width|Number|
-|height|Number|
-
-### Delete Image
-
-Remove a image component with the given id.
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-
-### Get Height
-
-Returns: Number
-
-Get the Height of a image component.
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-
-### Get Image By Id
-
-Returns: Component
-
-Returns the image referenced by its id.
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-
-### Get Width
-
-Returns: Number
-
-Get the Width of a image component.
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-
-### Rotation Angle
-
-Specifies the angle of a image component with the given id.
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-|rotation Angle|Number|
-
-### Scale Picture To Fit
-
-Specifies whether a image component with the given id should be resized to match the size of the ImageView.
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-|scale|Boolean|
-
-### Set Height
-
-Update the Height of a image component.
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-|height|Number|
-
-### Set Width
-
-Update the Width of a image component.
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-|width|Number|
-
-### Update Image
-
-Update a image component with the given id.
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-|path|Text|
diff --git a/docs/components/dynamic/dynamic-label.md b/docs/components/dynamic/dynamic-label.md
deleted file mode 100644
index 7faea919a..000000000
--- a/docs/components/dynamic/dynamic-label.md
+++ /dev/null
@@ -1,210 +0,0 @@
-# Dynamic Label
-
-{>> Non-Visible component<<}
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Dynamic Components**|API 21, Android 5.0 Lollipop|3|
-
-## Overview
-
-A component to create dynamic labels in Arrangements
-
-## Methods
-
-### Create Label
-
-Create a Dynamic Label
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-|arrangement|Component|
-
-### Delete Label
-
-Remove a label component with the given id.
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-
-### Get Font Size
-
-Returns: Number
-
-Get the Font Size of a Label
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-
-### Get Height
-
-Returns: Number
-
-Get the Height of a Label
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-
-### Get Label By Id
-
-Returns: Component
-
-Returns the label referenced by its id.
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-
-### Get Text
-
-Returns: Text
-
-Get the Text of a Label
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-
-### Get Width
-
-Returns: Number
-
-Get the Width of a Label
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-
-### Set Alignment
-
-Update the Text Alignment of a Label. 0 = left, 1 = center and 2 = right.
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-|alignment|Number|
-
-### Set Background Color
-
-Update the Background Color of a Label
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-|color|Number|
-
-### Set Font
-
-Update the Font of a Label
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-|bold|Boolean|
-|italic|Boolean|
-
-### Set Font Size
-
-Update the Font Size of a Label
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-|size|Number|
-
-### Set Height
-
-Update the Height of a Label
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-|height|Number|
-
-### Set Text
-
-Update the Text of a Label
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-|text|Text|
-|html|Boolean|
-
-### Set Text Color
-
-Update the Text Color of a Label
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-|color|Number|
-
-### Set Width
-
-Update the Width of a Label
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-|width|Number|
-
-## Properties
-
-### Alignment Center
-
-Number :heavy_minus_sign: Read - Blocks
-
-Center alignment (1)
-
-
-
-### Alignment Left
-
-Number :heavy_minus_sign: Read - Blocks
-
-Left alignment (0)
-
-
-
-### Alignment Right
-
-Number :heavy_minus_sign: Read - Blocks
-
-Right alignment (2)
-
-
diff --git a/docs/components/dynamic/dynamic-space.md b/docs/components/dynamic/dynamic-space.md
deleted file mode 100644
index 512b267d0..000000000
--- a/docs/components/dynamic/dynamic-space.md
+++ /dev/null
@@ -1,94 +0,0 @@
-# Dynamic Space
-
-{>> Non-Visible component<<}
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Dynamic Components**|API 21, Android 5.0 Lollipop|2|
-
-## Overview
-
-A component to create dynamic space in Arrangements.
-
-## Methods
-
-### Create Space
-
-Create a new space component dynamically. Use for width/height '-1' for wrap content or '-2' for fill parent.
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-|arrangement|Component|
-|width|Number|
-|height|Number|
-
-### Delete Space
-
-Remove a space component with the given id.
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-
-### Get Height
-
-Returns: Number
-
-Get the Height of a space component.
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-
-### Get Space By Id
-
-Returns: Component
-
-Returns the space referenced by its id.
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-
-### Get Width
-
-Returns: Number
-
-Get the Width of a space component.
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-
-### Set Height
-
-Update the Height of a space component.
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-|height|Number|
-
-### Set Width
-
-Update the Width of a space component.
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-|width|Number|
diff --git a/docs/components/dynamic/dynamic-text-box.md b/docs/components/dynamic/dynamic-text-box.md
deleted file mode 100644
index e23096500..000000000
--- a/docs/components/dynamic/dynamic-text-box.md
+++ /dev/null
@@ -1,219 +0,0 @@
-# Dynamic Text Box
-
-{>> Non-Visible component<<}
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Dynamic Components**|API 21, Android 5.0 Lollipop|4|
-
-## Overview
-
-A component to create dynamic textboxes in Arrangements
-
-## Events
-
-### On Text Changed
-
-Trigger when the text of a Dynamic TextBox changes
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-|text|Text|
-
-## Methods
-
-### Create Text Box
-
-Create a Dynamic TextBox
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-|arrangement|Component|
-
-### Delete Text Box
-
-Remove a textbox component with the given id.
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-
-### Get Enabled
-
-Returns: Boolean
-
-Get the Enabled status of a TextBox
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-
-### Get Font Size
-
-Returns: Number
-
-Get the Font Size of a TextBox
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-
-### Get Height
-
-Returns: Number
-
-Get the Height of a TextBox
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-
-### Get Text
-
-Returns: Text
-
-Get the Text of a TextBox
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-
-### Get Text Box By Id
-
-Returns: Component
-
-Returns the textbox referenced by its id.
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-
-### Get Width
-
-Returns: Number
-
-Get the Width of a TextBox
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-
-### Set Alignment
-
-Update the Text Alignment of a TextBox. 0 = left, 1 = center and 2 = right.
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-|alignment|Number|
-
-### Set Background Color
-
-Update the Background Color of a TextBox
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-|color|Number|
-
-### Set Enabled
-
-Update the Enabled status of a TextBox
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-|enabled|Boolean|
-
-### Set Font
-
-Update the Font of a TextBox
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-|bold|Boolean|
-|italic|Boolean|
-
-### Set Font Size
-
-Update the Font Size of a TextBox
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-|size|Number|
-
-### Set Height
-
-Update the Height of a TextBox
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-|height|Number|
-
-### Set Text
-
-Update the Text of a TextBox
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-|text|Text|
-
-### Set Text Color
-
-Update the Text Color of a TextBox
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-|color|Number|
-
-### Set Width
-
-Update the Width of a TextBox
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-|width|Number|
diff --git a/docs/components/dynamic/index.md b/docs/components/dynamic/index.md
deleted file mode 100644
index c5212ac70..000000000
--- a/docs/components/dynamic/index.md
+++ /dev/null
@@ -1,8 +0,0 @@
-# Overview of Dynamic Components
-
-* [Dynamic Button](dynamic-button.md)
-* [Dynamic Card View](dynamic-card-view.md)
-* [Dynamic Image](dynamic-image.md)
-* [Dynamic Label](dynamic-label.md)
-* [Dynamic Space](dynamic-space.md)
-* [Dynamic Text Box](dynamic-text-box.md)
\ No newline at end of file
diff --git a/docs/components/experimental/clouddb.md b/docs/components/experimental/clouddb.md
deleted file mode 100644
index 1833ce80b..000000000
--- a/docs/components/experimental/clouddb.md
+++ /dev/null
@@ -1,183 +0,0 @@
-# CloudDB
-
-{>> Non-Visible component<<}
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Experimental**|API 21, Android 5.0 Lollipop|1|
-
-## Overview
-
-Non-visible component that communicates with CloudDB server to store and retrieve information.
-
-??? example "Permissions"
- * [android.permission.INTERNET](https://developer.android.com/reference/android/Manifest.permission.html#INTERNET)
- * [android.permission.ACCESS_NETWORK_STATE](https://developer.android.com/reference/android/Manifest.permission.html#ACCESS_NETWORK_STATE)
-
-## Events
-
-### CloudDB Error
-
-Indicates that an error occurred while communicating with the CloudDB Redis server.
-
-
-
-| Params | []() |
-|--------|------|
-|message|Text|
-
-### Data Changed
-
-Indicates that the data in the CloudDB project has changed
-Launches an event with the tag and value that have been updated.
-
-
-
-| Params | []() |
-|--------|------|
-|tag|Text|
-|value|Any|
-
-### First Removed
-
-Event triggered by the "RemoveFirstFromList" function. The argument "value" is the object that was the first in the list, and which is now removed.
-
-
-
-| Params | []() |
-|--------|------|
-|value|Any|
-
-### Got Value
-
-Indicates that a GetValue request has succeeded.
-
-
-
-| Params | []() |
-|--------|------|
-|tag|Text|
-|value|Any|
-
-### Tag List
-
-Event triggered when we have received the list of known tags. Used with the "GetTagList" Function.
-
-
-
-| Params | []() |
-|--------|------|
-|value|List|
-
-## Methods
-
-### Append Value To List
-
-Append a value to the end of a list atomically. If two devices use this function simultaneously, both will be appended and no data lost.
-
-
-
-| Params | []() |
-|--------|------|
-|tag|Text|
-|item To Add|Any|
-
-### Clear Tag
-
-Remove the tag from CloudDB
-
-
-
-| Params | []() |
-|--------|------|
-|tag|Text|
-
-### Cloud Connected
-
-Returns: Boolean
-
-returns True if we are on the network and will likely be able to connect to the CloudDB server.
-
-
-
-### Get Tag List
-
-Get the list of tags for this application. When complete a "TagList" event will be triggered with the list of known tags.
-
-
-
-### Get Value
-
-Get the Value for a tag, doesn't return the value but will cause a GotValue event to fire when the value is looked up.
-
-
-
-| Params | []() |
-|--------|------|
-|tag|Text|
-|value If Tag Not There|Any|
-
-### Remove First From List
-
-Return the first element of a list and atomically remove it. If two devices use this function simultaneously, one will get the first element and the the other will get the second element, or an error if there is no available element. When the element is available, the "FirstRemoved" event will be triggered.
-
-
-
-| Params | []() |
-|--------|------|
-|tag|Text|
-
-### Store Value
-
-Store a value at a tag.
-
-
-
-| Params | []() |
-|--------|------|
-|tag|Text|
-|value To Store|Any|
-
-## Properties
-
-### Default Redis Server
-
-Text :heavy_minus_sign: Write - Designer
-
-The Default Redis Server to use.
-
-### Project ID
-
-Text :heavy_minus_sign: Read - DesignerBlocks
-
-Gets the ProjectID for this CloudDB project.
-
-
-
-### Redis Port
-
-NumberDefault: 6381 :heavy_minus_sign: Read - DesignerBlocks
-
-The Redis Server port to use. Defaults to 6381
-
-
-
-### Redis Server
-
-TextDefault: DEFAULT :heavy_minus_sign: Read - DesignerBlocks
-
-The Redis Server to use to store data. A setting of "DEFAULT" means that the MIT server will be used.
-
-
-
-### Token
-
-Text :heavy_minus_sign: Write - Designer
-
-This field contains the authentication token used to login to the backed Redis server. For the "DEFAULT" server, do not edit this value, the system will fill it in for you. A system administrator may also provide a special value to you which can be used to share data between multiple projects from multiple people. If using your own Redis server, set a password in the server's config and enter it here.
-
-### Use SSL
-
-BooleanDefault: True :heavy_minus_sign: Write - Designer
-
-Set to true to use SSL to talk to CloudDB/Redis server. This should be set to True for the "DEFAULT" server.
diff --git a/docs/components/experimental/custom-tabs.md b/docs/components/experimental/custom-tabs.md
deleted file mode 100644
index 253f827e6..000000000
--- a/docs/components/experimental/custom-tabs.md
+++ /dev/null
@@ -1,99 +0,0 @@
-# Custom Tabs
-
-{>> Non-Visible component<<}
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Experimental**|API 21, Android 5.0 Lollipop|3|
-
-## Overview
-
-A non-visible component that opens web pages as custom tabs on Google Chrome.
-
-## Methods
-
-### Add Menu Item Open App
-
-Use this block to add a menu item with the given title to open any app you want with the package name. The package name can be as example 'com.instagram.android' to open Instagram on the menu item click. If the app is not installed the menu item will not be added.
-
-
-
-| Params | []() |
-|--------|------|
-|title|Text|
-|package Name|Text|
-
-### Add Menu Item Open Page
-
-Use this block to add a menu item with the given title and page link. The page can be as example 'https://www.instagram.com/kodular/'. If the user have Instagram installed,the page will then be opened in the official Instagram app. Else in the default browser.
-
-
-
-| Params | []() |
-|--------|------|
-|title|Text|
-|page|Text|
-
-### Open Custom Tab
-
-Use this block to open the custom tab.
-
-
-
-## Properties
-
-### Default Share Menu Item
-
-BooleanDefault: True :heavy_minus_sign: Write - Designer
-
-Whether or not to add the default share menu item into the menu.
-
-### Instant Apps Enabled
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Whether or not to enable instant apps.
-
-
-
-
-### Prefer Native
-
-BooleanDefault: True :heavy_minus_sign: Write - DesignerBlocks
-
-Should open the native app handling the URL instead.
-
-
-
-### Show Title
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Whether or not to show the title.
-
-
-
-
-### Toolbar Color
-
-ColorDefault: #3F51B5FF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Specifies the color of the toolbar.
-
-
-
-
-### URL
-
-Text :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The URL to load in the custom tab. The URL must start with 'http://' or 'https://'
-
-
-
-
-### Url Bar Hiding On Scroll
-
-BooleanDefault: False :heavy_minus_sign: Write - Designer
-
-Whether or not to hide the url bar on scrolling.
diff --git a/docs/components/experimental/exoplayer.md b/docs/components/experimental/exoplayer.md
deleted file mode 100644
index bee99523e..000000000
--- a/docs/components/experimental/exoplayer.md
+++ /dev/null
@@ -1,186 +0,0 @@
-# ExoPlayer
-
-{>> Non-Visible component<<}
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Experimental**|API 21, Android 5.0 Lollipop|4|
-
-## Overview
-
-A non-visible component that plays audio files.
-The ExoPlayer component, powered by Google, has significantly lower audio playback delay/lag than other players.
-
-??? example "Permissions"
- * [android.permission.INTERNET](https://developer.android.com/reference/android/Manifest.permission.html#INTERNET)
- * [android.permission.READ_EXTERNAL_STORAGE](https://developer.android.com/reference/android/Manifest.permission.html#READ_EXTERNAL_STORAGE)
-
-## Events
-
-### Completed
-
-This event is invoked if the player state is completed.
-
-
-
-### Got Meta Data
-
-This event returns meta data from the audio stream. Works for files but not for streams as example radio streams.
-
-
-
-| Params | []() |
-|--------|------|
-|artist|Text|
-|title|Text|
-|album|Text|
-|albumArtist|Text|
-|track|Text|
-
-### On Player Error
-
-This event returns the error reason for any problems.
-
-
-
-| Params | []() |
-|--------|------|
-|error Message|Text|
-
-### Other Player Started
-
-This event is signaled when another player has started (and the current player is playing or paused, but not stopped).
-
-
-
-### Other Player Stopped
-
-This event is signaled when another player has stopped (and the current player is playing or paused, but not stopped).
-
-
-
-### Status Changed
-
-This event returns true or false for the respective simpleExoPlayer statuses.
-
-
-
-| Params | []() |
-|--------|------|
-|is Playing|Boolean|
-|is Pause|Boolean|
-|is Stopped|Boolean|
-|is Loading|Boolean|
-
-## Methods
-
-### is Loading
-
-Returns: Boolean
-
-Returns true if the player is current loading.
-
-
-
-### is Pause
-
-Returns: Boolean
-
-Returns true if the player is current in pause mode.
-
-
-
-### is Playing
-
-Returns: Boolean
-
-Returns true if the player is current playing.
-
-
-
-### is Stopped
-
-Returns: Boolean
-
-Returns true if the player is current stopped.
-
-
-
-### Pause
-
-Pause the player.
-
-
-
-### Resume
-
-Resume the player.
-
-
-
-### Seek To
-
-Set a position where the source file should start playing in milliseconds.
-
-
-
-| Params | []() |
-|--------|------|
-|position|Number|
-
-### Start
-
-Start the player.
-
-
-
-### Stop
-
-Stop the player.
-
-
-
-## Properties
-
-### Current Position
-
-Number :heavy_minus_sign: Read - Blocks
-
-Returns the current position of the source file that is playing in milliseconds.
-
-
-
-### Duration
-
-Number :heavy_minus_sign: Read - Blocks
-
-Returns the duration of the source file.
-
-
-
-### Loop
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-If true, the player will loop when it plays.
-
-
-
-
-### Source
-
-Text :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Set the path to the audio source. Can be a asset file, from external card, or from a online stream.
-
-
-
-
-### Volume
-
-NumberDefault: 50 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Sets the volume to a number between 0 and 100
-
-
-
diff --git a/docs/components/experimental/in-app-update.md b/docs/components/experimental/in-app-update.md
deleted file mode 100644
index 69da7447c..000000000
--- a/docs/components/experimental/in-app-update.md
+++ /dev/null
@@ -1,89 +0,0 @@
-# In-App Update
-
-{>> Non-Visible component<<}
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Experimental**|API 21, Android 5.0 Lollipop|1|
-
-## Overview
-
-A non-visible component that lets the user download app updates from within the app.
-Note\: For this component to work correctly, set the MIN API to 21 (Android 5).
-
-??? example "Permissions"
- * [android.permission.INTERNET](https://developer.android.com/reference/android/Manifest.permission.html#INTERNET)
-
-## Events
-
-### Initialized
-
-Use this event to check if updates from Google Play Store are available for your app.
-
-
-
-### Update Canceled
-
-Event will be invoked when the update was canceled.
-
-
-
-### Update Downloaded
-
-Event will be invoked when the update is downloaded.
-
-
-
-### Update Downloading
-
-Event will be invoked when the update is still in downloading progress.
-
-
-
-### Update Failed
-
-Event will be invoked when there was a update fail.
-
-
-
-### Update Installed
-
-Event will be invoked when the update is installed.
-
-
-
-### Update Installing
-
-Event will be invoked when the update is still in installing progress.
-
-
-
-## Methods
-
-### Install Flexible Update Now
-
-Use this block to install a flexible update after it was downloaded.
-
-
-
-### Start Flexible Update
-
-Start the process for flexible in-app updates. The update will be done in the background. Your users can still use your app in this time. After the update download is done you must restart your app.
-
-
-
-### Start Immediate Update
-
-Start the process for immediate in-app updates. In this time your app user can NOT use your app. After the update download is done your app will be restarted automatically.
-
-
-
-## Properties
-
-### Is Update Available
-
-Boolean :heavy_minus_sign: Read - Blocks
-
-Returns true if a update is available for your app.
-
-
diff --git a/docs/components/experimental/index.md b/docs/components/experimental/index.md
deleted file mode 100644
index 5293a90af..000000000
--- a/docs/components/experimental/index.md
+++ /dev/null
@@ -1,8 +0,0 @@
-# Overview of Experimental
-
-* [CloudDB](clouddb.md)
-* [Custom Tabs](custom-tabs.md)
-* [ExoPlayer](exoplayer.md)
-* [In-App Update](in-app-update.md)
-* [Notification](notification.md)
-* [Shortcut Badge](shortcut-badge.md)
\ No newline at end of file
diff --git a/docs/components/experimental/notification.md b/docs/components/experimental/notification.md
deleted file mode 100644
index 590f0f252..000000000
--- a/docs/components/experimental/notification.md
+++ /dev/null
@@ -1,97 +0,0 @@
-# Notification
-
-{>> Non-Visible component<<}
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Experimental**|API 21, Android 5.0 Lollipop|1|
-
-## Overview
-
-A non-visible component that sends a notification to the user''s device.
-
-## Methods
-
-### Are Notification Enabled
-
-Returns: Boolean
-
-Check wether the app can send Notifications
-
-
-
-### Big Picture Notification
-
-Send a normal notification
-
-
-
-| Params | []() |
-|--------|------|
-|notification ID|Number|
-|title|Text|
-|message|Text|
-|big Picture|Text|
-|start Value|Text|
-|remove On Click|Boolean|
-
-### Cancel All Notifications
-
-Cancel all Notifications
-
-
-
-### Cancel Notification
-
-Cancel a Notification with an id
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-
-### Normal Notification
-
-Send a normal notification
-
-
-
-| Params | []() |
-|--------|------|
-|notification ID|Number|
-|title|Text|
-|message|Text|
-|start Value|Text|
-|remove On Click|Boolean|
-
-### Simple Notification
-
-Send a simple notification
-
-
-
-| Params | []() |
-|--------|------|
-|title|Text|
-|message|Text|
-
-## Properties
-
-### Priority
-
-NumberDefault: 1 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Set the priority level. 1 = "Default", 2 = "high", 3 = "low", 4 = "max", 5 = "min"
-
-
-
-
-### Visibility
-
-NumberDefault: 1 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Set the visibility property. 1 = "public", 2 = "private", 3 = "secret".
-
-
-
diff --git a/docs/components/experimental/shortcut-badge.md b/docs/components/experimental/shortcut-badge.md
deleted file mode 100644
index d1cfd02d2..000000000
--- a/docs/components/experimental/shortcut-badge.md
+++ /dev/null
@@ -1,59 +0,0 @@
-# Shortcut Badge
-
-{>> Non-Visible component<<}
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Experimental**|API 21, Android 5.0 Lollipop|1|
-
-## Overview
-
-A non-visible component that adds a dot/badge to the app''s launcher icon when a there are unread notifications in the app.
-
-??? example "Permissions"
- * [com.android.launcher.permission.READ_SETTINGS](https://developer.android.com/reference/android/Manifest.permission.html#com.android.launcher.permission.READ_SETTINGS)
- * [com.sonyericsson.home.permission.BROADCAST_BADGE](https://developer.android.com/reference/android/Manifest.permission.html#com.sonyericsson.home.permission.BROADCAST_BADGE)
- * [android.permission.READ_APP_BADGE](https://developer.android.com/reference/android/Manifest.permission.html#READ_APP_BADGE)
- * [com.htc.launcher.permission.READ_SETTINGS](https://developer.android.com/reference/android/Manifest.permission.html#com.htc.launcher.permission.READ_SETTINGS)
- * [com.huawei.android.launcher.permission.CHANGE_BADGE](https://developer.android.com/reference/android/Manifest.permission.html#com.huawei.android.launcher.permission.CHANGE_BADGE)
- * [com.huawei.android.launcher.permission.WRITE_SETTINGS](https://developer.android.com/reference/android/Manifest.permission.html#com.huawei.android.launcher.permission.WRITE_SETTINGS)
- * [com.majeur.launcher.permission.UPDATE_BADGE](https://developer.android.com/reference/android/Manifest.permission.html#com.majeur.launcher.permission.UPDATE_BADGE)
- * [com.android.launcher.permission.UNINSTALL_SHORTCUT](https://developer.android.com/reference/android/Manifest.permission.html#com.android.launcher.permission.UNINSTALL_SHORTCUT)
- * [com.sonymobile.home.permission.PROVIDER_INSERT_BADGE](https://developer.android.com/reference/android/Manifest.permission.html#com.sonymobile.home.permission.PROVIDER_INSERT_BADGE)
- * [com.htc.launcher.permission.UPDATE_SHORTCUT](https://developer.android.com/reference/android/Manifest.permission.html#com.htc.launcher.permission.UPDATE_SHORTCUT)
- * [me.everything.badger.permission.BADGE_COUNT_READ](https://developer.android.com/reference/android/Manifest.permission.html#me.everything.badger.permission.BADGE_COUNT_READ)
- * [com.sec.android.provider.badge.permission.WRITE](https://developer.android.com/reference/android/Manifest.permission.html#com.sec.android.provider.badge.permission.WRITE)
- * [com.sec.android.provider.badge.permission.READ](https://developer.android.com/reference/android/Manifest.permission.html#com.sec.android.provider.badge.permission.READ)
- * [com.anddoes.launcher.permission.UPDATE_COUNT](https://developer.android.com/reference/android/Manifest.permission.html#com.anddoes.launcher.permission.UPDATE_COUNT)
- * [com.huawei.android.launcher.permission.READ_SETTINGS](https://developer.android.com/reference/android/Manifest.permission.html#com.huawei.android.launcher.permission.READ_SETTINGS)
- * [com.oppo.launcher.permission.WRITE_SETTINGS](https://developer.android.com/reference/android/Manifest.permission.html#com.oppo.launcher.permission.WRITE_SETTINGS)
- * [me.everything.badger.permission.BADGE_COUNT_WRITE](https://developer.android.com/reference/android/Manifest.permission.html#me.everything.badger.permission.BADGE_COUNT_WRITE)
- * [com.android.launcher.permission.INSTALL_SHORTCUT](https://developer.android.com/reference/android/Manifest.permission.html#com.android.launcher.permission.INSTALL_SHORTCUT)
- * [com.oppo.launcher.permission.READ_SETTINGS](https://developer.android.com/reference/android/Manifest.permission.html#com.oppo.launcher.permission.READ_SETTINGS)
- * [com.android.launcher.permission.WRITE_SETTINGS](https://developer.android.com/reference/android/Manifest.permission.html#com.android.launcher.permission.WRITE_SETTINGS)
-
-## Methods
-
-### Apply Count
-
-Use this block to apply a notification badge count.
-
-
-
-| Params | []() |
-|--------|------|
-|count|Number|
-
-### Count
-
-Returns: Number
-
-Use this block to return the notification count.
-
-
-
-### Remove Count
-
-Use this block to remove the notification badge count.
-
-
diff --git a/docs/components/google/firebase-authentication.md b/docs/components/google/firebase-authentication.md
deleted file mode 100644
index f78b5a2c9..000000000
--- a/docs/components/google/firebase-authentication.md
+++ /dev/null
@@ -1,253 +0,0 @@
-# Firebase Authentication
-
-{>> Non-Visible component<<}
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Google**|API 21, Android 5.0 Lollipop|3|
-
-## Overview
-
-A non-visible component that lets users sign in using authentication services provided by Firebase.
-
-??? example "Permissions"
- * [android.permission.INTERNET](https://developer.android.com/reference/android/Manifest.permission.html#INTERNET)
- * [android.permission.ACCESS_NETWORK_STATE](https://developer.android.com/reference/android/Manifest.permission.html#ACCESS_NETWORK_STATE)
- * [android.permission.WAKE_LOCK](https://developer.android.com/reference/android/Manifest.permission.html#WAKE_LOCK)
- * [com.google.android.c2dm.permission.RECEIVE](https://developer.android.com/reference/android/Manifest.permission.html#com.google.android.c2dm.permission.RECEIVE)
-
-## Events
-
-### Current User Failed
-
-Triggers when the current Firebase User failed to load
-
-
-
-### Current User Success
-
-Triggers when the current Firebase User was successful loaded
-
-
-
-| Params | []() |
-|--------|------|
-|user ID|Text|
-|name|Text|
-|email|Text|
-|phone Number|Text|
-|profile Picture|Text|
-
-### Got Id Token
-
-Triggers when the 'Get Id Token' got a result. If there was a error it returns a empty text.
-
-
-
-| Params | []() |
-|--------|------|
-|id Token|Text|
-
-### Login Failed
-
-Triggers when the Firebase Login failed
-
-
-
-| Params | []() |
-|--------|------|
-|provider|Text|
-
-### Login Success
-
-Triggers when the Firebase Login was successful
-
-
-
-| Params | []() |
-|--------|------|
-|provider|Text|
-|user ID|Text|
-|name|Text|
-|email|Text|
-|phone Number|Text|
-|profile Picture|Text|
-
-### Reset Password Email Done
-
-Triggers when the 'Send Reset Password Email' got a result. Returns true if the reset email was send.
-
-
-
-| Params | []() |
-|--------|------|
-|success|Boolean|
-
-### Sign Up Failed
-
-Triggers when the Firebase Sign Up failed
-
-
-
-| Params | []() |
-|--------|------|
-|provider|Text|
-|message|Text|
-
-### Sign Up Success
-
-Triggers when the Firebase Sign Up failed
-
-
-
-| Params | []() |
-|--------|------|
-|provider|Text|
-|user ID|Text|
-|name|Text|
-|email|Text|
-|phone Number|Text|
-|profile Picture|Text|
-
-### User Update Failed
-
-Triggers when updating of the user failed
-
-
-
-| Params | []() |
-|--------|------|
-|type|Text|
-
-### User Update Success
-
-Triggers when updating of the user was successful
-
-
-
-| Params | []() |
-|--------|------|
-|type|Text|
-
-## Methods
-
-### Email Password Login
-
-Try to let the user sign in with Email and Password
-
-
-
-| Params | []() |
-|--------|------|
-|email|Text|
-|password|Text|
-
-### Email Password Sign Up
-
-Create a new user by Email and Password
-
-
-
-| Params | []() |
-|--------|------|
-|email|Text|
-|password|Text|
-
-### Get Current User
-
-Try to get the user that is signed in
-
-
-
-### Get Id Token
-
-Get the id token from the current user.
-
-
-
-### Google Sign In
-
-Try to let the user sign in with Google
-
-
-
-### Is Signed In
-
-Returns: Boolean
-
-Check if the user is signed in
-
-
-
-### Logout
-
-Log the current user out
-
-
-
-### Phone Number Sign In
-
-Try to let the user sign in with a Phone Number
-
-
-
-| Params | []() |
-|--------|------|
-|phone Number|Text|
-
-### Send Reset Password Email
-
-Get the id token from the current user.
-
-
-
-| Params | []() |
-|--------|------|
-|email|Text|
-
-### Update Email
-
-Try to update the email of the current user (The user must have been recently signed in)
-
-
-
-| Params | []() |
-|--------|------|
-|email|Text|
-
-### Update Phone Number
-
-Try to update the phone number of the current user (The user must have been recently signed in)
-
-
-
-| Params | []() |
-|--------|------|
-|phone Number|Text|
-
-### Update Profile
-
-Try to update the profile of the current user (The user must have been recently signed in)
-
-
-
-| Params | []() |
-|--------|------|
-|name|Text|
-|profile Picture|Text|
-
-### Verify Email
-
-Verify the Email
-
-
-
-### Verify Phone Code
-
-Verify the SMS code
-
-
-
-| Params | []() |
-|--------|------|
-|code|Text|
diff --git a/docs/components/google/firebase-database.md b/docs/components/google/firebase-database.md
deleted file mode 100644
index abab04814..000000000
--- a/docs/components/google/firebase-database.md
+++ /dev/null
@@ -1,198 +0,0 @@
-# Firebase Database
-
-{>> Non-Visible component<<}
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Google**|API 21, Android 5.0 Lollipop|4|
-
-## Overview
-
-Non-visible component that communicates with a Firebase to store and retrieve information.
-
-??? example "Permissions"
- * [android.permission.INTERNET](https://developer.android.com/reference/android/Manifest.permission.html#INTERNET)
-
-## Events
-
-### Data Changed
-
-Indicates that the data in the Firebase has changed
-Launches an event with the tag and value that have been updated.
-
-
-
-| Params | []() |
-|--------|------|
-|tag|Text|
-|value|Any|
-
-### Firebase Error
-
-Indicates that the communication with the Firebase signaled an error.
-
-
-
-| Params | []() |
-|--------|------|
-|message|Text|
-
-### First Removed
-
-Event triggered by the "RemoveFirst" function. The argument "value" is the object that was the first in the list, and which is now removed.
-
-
-
-| Params | []() |
-|--------|------|
-|value|Any|
-
-### Got Value
-
-Indicates that a GetValue request has succeeded.
-
-
-
-| Params | []() |
-|--------|------|
-|tag|Text|
-|value|Any|
-
-### Tag List
-
-Event triggered when we have received the list of known tags. Used with the "GetTagList" Function.
-
-
-
-| Params | []() |
-|--------|------|
-|value|List|
-
-## Methods
-
-### Append Value
-
-Append a value to the end of a list atomically. If two devices use this function simultaneously, both will be appended and no data lost.
-
-
-
-| Params | []() |
-|--------|------|
-|tag|Text|
-|value To Add|Any|
-
-### Clear Tag
-
-Remove the tag from Firebase
-
-
-
-| Params | []() |
-|--------|------|
-|tag|Text|
-
-### Get Tag List
-
-Get the list of tags for this application. When complete a "TagList" event will be triggered with the list of known tags.
-
-
-
-### Get Value
-
-GetValue asks Firebase to get the value stored under the given tag
-It will pass valueIfTagNotThere to GotValue if there is no value storedunder the tag.
-
-
-
-| Params | []() |
-|--------|------|
-|tag|Text|
-|value If Tag Not There|Any|
-
-### Go Offline
-
-Take the database offline
-
-
-
-### Go Online
-
-Take the database online
-
-
-
-### Remove First
-
-Return the first element of a list and atomically remove it. If two devices use this function simultaneously, one will get the first element and the the other will get the second element, or an error if there is no available element. When the element is available, the "FirstRemoved" event will be triggered.
-
-
-
-| Params | []() |
-|--------|------|
-|tag|Text|
-
-### Store Value
-
-Asks Firebase to store the given value under the given tag.
-
-
-
-| Params | []() |
-|--------|------|
-|tag|Text|
-|value To Store|Any|
-
-### Unauthenticate
-
-If you are having difficulty with the Companion and you are switching between different Firebase accounts, you may need to use this function to clear internal Firebase caches. You can just use the "Do It" function on this block in the blocks editor. Note: You should not normally need to use this block as part of an application.
-
-
-
-## Properties
-
-### Default URL
-
-Text :heavy_minus_sign: Write - Designer
-
-Property for DefaultURL
-
-### Developer Bucket
-
-Text :heavy_minus_sign: Write - Designer
-
-Getter for the DeveloperBucket.
-
-### Firebase Token
-
-Text :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Returns the FirebaseToken from this FirebaseDB.
-
-
-
-
-### Firebase URL
-
-TextDefault: DEFAULT :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Gets the URL for this FirebaseDB.
-
-
-
-
-### Persist
-
-BooleanDefault: False :heavy_minus_sign: Write - Designer
-
-If true, variables will retain their values when off-line and the App exits. Values will be uploaded to Firebase the next time the App is run while connected to the network. This is useful for applications which will gather data while not connected to the network. Note: AppendValue and RemoveFirst will not work correctly when off-line, they require a network connection.
-
- _Note_: If you set Persist on any Firebase component, on any screen, it makes all Firebase components on all screens persistent. This is a limitation of the low level Firebase library. Also be aware that if you want to set persist to true, you should do so before connecting the Companion for incremental development.
-
-### Project Bucket
-
-Text :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Gets the ProjectBucket for this FirebaseDB.
-
-
-
diff --git a/docs/components/google/firebase-remote-config.md b/docs/components/google/firebase-remote-config.md
deleted file mode 100644
index 935c5c8b2..000000000
--- a/docs/components/google/firebase-remote-config.md
+++ /dev/null
@@ -1,87 +0,0 @@
-# Firebase Remote Config
-
-{>> Non-Visible component<<}
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Google**|API 21, Android 5.0 Lollipop|2|
-
-## Overview
-
-A non-visible component that gets data from the Remote Config service powered by Firebase.
-
-??? example "Permissions"
- * [android.permission.INTERNET](https://developer.android.com/reference/android/Manifest.permission.html#INTERNET)
- * [android.permission.ACCESS_NETWORK_STATE](https://developer.android.com/reference/android/Manifest.permission.html#ACCESS_NETWORK_STATE)
- * [android.permission.WAKE_LOCK](https://developer.android.com/reference/android/Manifest.permission.html#WAKE_LOCK)
- * [com.google.android.finsky.permission.BIND_GET_INSTALL_REFERRER_SERVICE](https://developer.android.com/reference/android/Manifest.permission.html#com.google.android.finsky.permission.BIND_GET_INSTALL_REFERRER_SERVICE)
- * [com.google.android.c2dm.permission.RECEIVE](https://developer.android.com/reference/android/Manifest.permission.html#com.google.android.c2dm.permission.RECEIVE)
-
-## Events
-
-### Fetch Failed
-
-Triggers when the fetch failed
-
-
-
-### Fetch Success
-
-Triggers when the fetch was successful
-
-
-
-## Methods
-
-### Fetch
-
-Fetches parameter values for your app
-
-
-
-### Get Boolean
-
-Returns: Boolean
-
-Gets a boolean value corresponding to the specified key
-
-
-
-| Params | []() |
-|--------|------|
-|key|Text|
-
-### Get Number
-
-Returns: Number
-
-Gets a number value corresponding to the specified key
-
-
-
-| Params | []() |
-|--------|------|
-|key|Text|
-
-### Get Text
-
-Returns: Text
-
-Gets a text value corresponding to the specified key
-
-
-
-| Params | []() |
-|--------|------|
-|key|Text|
-
-## Properties
-
-### Cache Expiration
-
-NumberDefault: 43200 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Time how long the data keeps on the device in ms
-
-
-
diff --git a/docs/components/google/firebase-storage.md b/docs/components/google/firebase-storage.md
deleted file mode 100644
index b1c6d0229..000000000
--- a/docs/components/google/firebase-storage.md
+++ /dev/null
@@ -1,164 +0,0 @@
-# Firebase Storage
-
-{>> Non-Visible component<<}
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Google**|API 21, Android 5.0 Lollipop|2|
-
-## Overview
-
-Firebase Storage to upload files to a Firebase Storage Bucket
-
-??? example "Permissions"
- * [android.permission.INTERNET](https://developer.android.com/reference/android/Manifest.permission.html#INTERNET)
- * [android.permission.ACCESS_NETWORK_STATE](https://developer.android.com/reference/android/Manifest.permission.html#ACCESS_NETWORK_STATE)
- * [android.permission.WAKE_LOCK](https://developer.android.com/reference/android/Manifest.permission.html#WAKE_LOCK)
- * [com.google.android.c2dm.permission.RECEIVE](https://developer.android.com/reference/android/Manifest.permission.html#com.google.android.c2dm.permission.RECEIVE)
-
-## Events
-
-### Delete Failed
-
-Triggers when the file could not be deleted
-
-
-
-| Params | []() |
-|--------|------|
-|file|Text|
-|message|Text|
-
-### Delete Success
-
-Triggers when the file was successfully deleted
-
-
-
-| Params | []() |
-|--------|------|
-|file|Text|
-
-### Download Failed
-
-Triggers when the file could not be downloaded
-
-
-
-| Params | []() |
-|--------|------|
-|file|Text|
-|message|Text|
-
-### Download Success
-
-Triggers when the file was successfully downloaded
-
-
-
-| Params | []() |
-|--------|------|
-|file|Text|
-|downloaded File|Text|
-
-### Upload Failed
-
-Triggers when the file could not be uploaded
-
-
-
-| Params | []() |
-|--------|------|
-|file|Text|
-|message|Text|
-
-### Upload Progress
-
-Triggers when the file upload progress changed
-
-
-
-| Params | []() |
-|--------|------|
-|file|Text|
-|upload Path|Text|
-|transferred Bytes|Number|
-|total Bytes|Number|
-
-### Upload Success
-
-Triggers when the file was successfully uploaded
-
-
-
-| Params | []() |
-|--------|------|
-|file|Text|
-|upload Path|Text|
-|download Url|Text|
-
-## Methods
-
-### Delete File
-
-Try to delete a file from Firebase Storage
-
-
-
-| Params | []() |
-|--------|------|
-|file|Text|
-
-### Download File
-
-Try to download a file from Firebase Storage
-
-
-
-| Params | []() |
-|--------|------|
-|file|Text|
-|to Folder|Text|
-
-### Get Bucket
-
-Returns: Text
-
-Get the name of the Storage Bucket
-
-
-
-### Pause Downloads
-
-Pause all the active downloads
-
-
-
-### Pause Uploads
-
-Pause all the active uploads
-
-
-
-### Resume Downloads
-
-Resume all the active downloads
-
-
-
-### Resume Uploads
-
-Resume all the active uploads
-
-
-
-### Upload File
-
-Try to upload a file to Firebase Storage
-
-
-
-| Params | []() |
-|--------|------|
-|file|Text|
-|upload Path|Text|
diff --git a/docs/components/google/google-account-picker.md b/docs/components/google/google-account-picker.md
deleted file mode 100644
index c9913339f..000000000
--- a/docs/components/google/google-account-picker.md
+++ /dev/null
@@ -1,31 +0,0 @@
-# Google Account Picker
-
-{>> Non-Visible component<<}
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Google**|API 21, Android 5.0 Lollipop|1|
-
-## Overview
-
-A non-visible component that shows a pop-up list of Google accounts currently signed-in on the device for the user to pick from.
-
-## Events
-
-### Picked
-
-Event raised after account has been picked.
-
-
-
-| Params | []() |
-|--------|------|
-|account Name|Text|
-
-## Methods
-
-### Pick
-
-Provide an account picker to pick a Google account.
-
-
diff --git a/docs/components/google/google-maps.md b/docs/components/google/google-maps.md
deleted file mode 100644
index 790de921a..000000000
--- a/docs/components/google/google-maps.md
+++ /dev/null
@@ -1,716 +0,0 @@
-# Google Maps
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Google**|API 21, Android 5.0 Lollipop|5|
-
-## Overview
-
-A visible component that shows a map on the screen powered by Google''s Maps service.
-
-??? example "Permissions"
- * [android.permission.ACCESS_FINE_LOCATION](https://developer.android.com/reference/android/Manifest.permission.html#ACCESS_FINE_LOCATION)
- * [android.permission.ACCESS_COARSE_LOCATION](https://developer.android.com/reference/android/Manifest.permission.html#ACCESS_COARSE_LOCATION)
- * [android.permission.INTERNET](https://developer.android.com/reference/android/Manifest.permission.html#INTERNET)
- * [android.permission.ACCESS_NETWORK_STATE](https://developer.android.com/reference/android/Manifest.permission.html#ACCESS_NETWORK_STATE)
- * [android.permission.WRITE_EXTERNAL_STORAGE](https://developer.android.com/reference/android/Manifest.permission.html#WRITE_EXTERNAL_STORAGE)
- * [com.google.android.providers.gsf.permission.READ_GSERVICES](https://developer.android.com/reference/android/Manifest.permission.html#com.google.android.providers.gsf.permission.READ_GSERVICES)
-
-## Events
-
-### Camera Position Changed
-
-Called after the camera position of a map has changed.
-
-
-
-| Params | []() |
-|--------|------|
-|lat|Number|
-|lng|Number|
-|bearing|Number|
-|tilt|Number|
-|zoom|Number|
-
-### Finished Dragging Circle
-
-Event been raised after the action of moving a draggable circle is finished. Possible a user drag the center of the circle or drag the radius marker of the circle
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-|center Lat|Number|
-|center Lng|Number|
-|radius|Number|
-
-### Info Window Clicked
-
-When the marker's infowindow is clicked, returning marker's id
-
-
-
-| Params | []() |
-|--------|------|
-|marker Id|Number|
-
-### Map Is Ready
-
-Indicates that the map has been rendered and ready for adding markers or changing other settings. Please add or updating markers within this event
-
-
-
-### On Location Changed
-
-Triggers this event when user location has changed. Only works when EnableMylocation is set to true
-
-
-
-| Params | []() |
-|--------|------|
-|lat|Number|
-|lng|Number|
-
-### On Map Click
-
-Called when the user makes a tap gesture on the map
-
-
-
-| Params | []() |
-|--------|------|
-|lat|Number|
-|lng|Number|
-
-### On Map Long Click
-
-Called when the user makes a long-press gesture on the map
-
-
-
-| Params | []() |
-|--------|------|
-|lat|Number|
-|lng|Number|
-
-### On Marker Click
-
-When a marker is clicked
-
-
-
-| Params | []() |
-|--------|------|
-|marker Id|Number|
-|latitude|Number|
-|longitude|Number|
-
-### On Marker Drag
-
-When a marker is been dragged
-
-
-
-| Params | []() |
-|--------|------|
-|marker Id|Number|
-|latitude|Number|
-|longitude|Number|
-
-### On Marker Drag End
-
-When the user drags a marker and finish the action, returning marker's id and it's latest position
-
-
-
-| Params | []() |
-|--------|------|
-|marker Id|Number|
-|latitude|Number|
-|longitude|Number|
-
-### On Marker Drag Start
-
-When a marker starts been dragged
-
-
-
-| Params | []() |
-|--------|------|
-|marker Id|Number|
-|latitude|Number|
-|longitude|Number|
-
-### On Point Of Interest Click
-
-This event will be invoked when a user clicks on a point of interest. This can be a shop, coffee-bar or else.
-
-
-
-| Params | []() |
-|--------|------|
-|lat|Number|
-|lng|Number|
-|place Name|Text|
-|place ID|Text|
-
-## Methods
-
-### Add Circle
-
-Returns: Number
-
-Create a circle overlay on the map UI with specified latitude and longitude for center. "hue" (min 0, max 360) and "alpha" (min 0, max 255) are used to set color and transparency level of the circle, "strokeWidth" and "strokeColor" are for the perimeter of the circle. Returning a unique id of the circle for future reference to events raised by moving this circle. If the circle isset to be draggable, two default markers will appear on the map: one in the center of the circle, another on the perimeter.
-
-
-
-| Params | []() |
-|--------|------|
-|lat|Number|
-|lng|Number|
-|radius|Number|
-|alpha|Number|
-|hue|Number|
-|stroke Width|Number|
-|stroke Color|Number|
-|draggable|Boolean|
-
-### Add Markers
-
-Returns: List
-
-Adding a list of YailLists for markers. The representation of a maker in the inner YailList is composed of: lat(double) [required], long(double) [required], Color, title(String), snippet(String), draggable(boolean). Return a list of unqiue ids for the added markers. Note that the markers ids are not meant to persist after the app is closed, but for temporary references to the markers within the program only. Return an empty list if any error happen in the input
-
-
-
-| Params | []() |
-|--------|------|
-|markers|List|
-
-### Add Markers From Json
-
-Adding a list of markers that are represented as JsonArray. The inner JsonObject represents a markerand is composed of name-value pairs. Name fields for a marker are: "lat" (type double) [required], "lng"(type double) [required], "color"(type int)[in hue value ranging from 0~360], "title"(type String), "snippet"(type String), "draggable"(type boolean)
-
-
-
-| Params | []() |
-|--------|------|
-|json String|Text|
-
-### Add Markers Hue
-
-Returns: List
-
-Adding a list of YailList for markers. The inner YailList represents a marker and is composed of lat(Double) [required], long(Double) [required], color(int)[in hue value ranging from 0-360], title(String), snippet(String), draggable(boolean). Return a list of unique ids for the markers that are added
-
-
-
-| Params | []() |
-|--------|------|
-|markers|List|
-
-### Add Overlay
-
-Add overlay.
-
-
-
-### Add Polygon
-
-A Polygon is an enclosed shape that can be used to mark areas on the map.
-
-
-
-| Params | []() |
-|--------|------|
-|lat Min|Number|
-|lat Max|Number|
-|lon Min|Number|
-|lon Max|Number|
-
-### Add Polyline
-
-Returns: Number
-
-This block will return the unique id of the new added polyline. Create a new polyline on the map. Use for 'points' a list of lat, lng pairs. A integer for the 'width' (in pixel) and a valid color for the 'color' parameter.
-
-
-
-| Params | []() |
-|--------|------|
-|points|List|
-|width|Number|
-|color|Number|
-
-### Add Tile Overlay
-
-Add title overlay.
-
-
-
-### Bound Camera
-
-Transforms the camera such that the specified latitude/longitude bounds are centered on screen at the greatest possible zoom level. Need to specify both latitudes and longitudes for both northeast location and southwest location of the bounding box
-
-
-
-| Params | []() |
-|--------|------|
-|ne Lat|Number|
-|ne Lng|Number|
-|sw Lat|Number|
-|sw Lng|Number|
-
-### Clear All Polygons
-
-Clear all Polygons.
-
-
-
-### Draw Central Square
-
-Draw central square.
-
-
-
-### Enable Compass
-
-Enables/disables the compass widget on the map's ui. Call this only after event "MapIsReady" is received
-
-
-
-| Params | []() |
-|--------|------|
-|enable|Boolean|
-
-### Enable Map Camera Pos Change Listener
-
-Enable/Disable to listen to map's camera position changed event
-
-
-
-| Params | []() |
-|--------|------|
-|enabled|Boolean|
-
-### Enable Map Click Listener
-
-Enable/Disable to listen to map's click event
-
-
-
-| Params | []() |
-|--------|------|
-|enabled|Boolean|
-
-### Enable Map Long Click Listener
-
-Enable/disable to listen to map's long click event
-
-
-
-| Params | []() |
-|--------|------|
-|enabled|Boolean|
-
-### Enable My Location
-
-Enable or disable my location widget control for Google Map. One can call GetMyLocation() to obtain the current location after enable this."
-
-
-
-| Params | []() |
-|--------|------|
-|enabled|Boolean|
-
-### Enable Rotate
-
-Enables/disables the capability to rotate a map on the ui. Call this only after the event "MapIsReady" is received.
-
-
-
-| Params | []() |
-|--------|------|
-|enable|Boolean|
-
-### Enable Scroll
-
-Enables/disables the capability to scroll a map on the ui. Call this only after the event "MapIsReady" is received
-
-
-
-| Params | []() |
-|--------|------|
-|enable|Boolean|
-
-### Enable Zoom Control
-
-Enables/disables the zoom widget on the map's ui. Call this only after the event "MapIsReady" is received
-
-
-
-| Params | []() |
-|--------|------|
-|enable|Boolean|
-
-### Enable Zoom Gesture
-
-Enables/disables zoom gesture on the map ui. Call this only after the event "MapIsReady" is received.
-
-
-
-| Params | []() |
-|--------|------|
-|enable|Boolean|
-
-### Get All Circle IDs
-
-Returns: List
-
-Get all circles Ids. A short cut to get all the references for the eixisting circles
-
-
-
-### Get All Marker IDs
-
-Returns: List
-
-Get all the existing markers's Ids
-
-
-
-### Get All Polyline Ids
-
-Returns: List
-
-This will return a list with all available polyline id's.
-
-
-
-### Get Bounding Box
-
-Returns: Text
-
-Get bounding box.
-
-
-
-| Params | []() |
-|--------|------|
-|latitude In Degrees|Number|
-|longitude In Degrees|Number|
-|half Side In Km|Number|
-
-### Get Map Center
-
-Returns: Text
-
-Get map center. If a error occures the output will be '-999'.
-
-
-
-### Get Markers
-
-Returns: List
-
-Add a list of markers composed of name-value pairs. Name fields for a marker are: "lat" (type double) [required], "lng"(type double) [required], "color"(type int)[in hue value ranging from 0~360], "title"(type String), "snippet"(type String), "draggable"(type boolean)
-
-
-
-### Get My Location
-
-Returns: List
-
-Get current location using Google Map Service. Return a YailList with first item beingthe latitude, the second item being the longitude, and last time being the accuracy of the reading.
-
-
-
-### Get Points From Json
-
-Returns: List
-
-Convert a JsonArray of points (lat, lng pairs) to a list.
-
-
-
-| Params | []() |
-|--------|------|
-|json String|Text|
-
-### Get Zoom Level Info
-
-:warning: ==**Deprecated**==
-
-Returns: Number
-
-Deprecated block! Don't use this anymore. Use instead 'Camera Zoom Level'.
-
-
-
-### Move Camera
-
-Move the map's camera to the specified position and zoom level
-
-
-
-| Params | []() |
-|--------|------|
-|lat|Number|
-|lng|Number|
-|zoom|Number|
-
-### Remove Circle
-
-Returns: Boolean
-
-Remove a circle for the map. Returns true if successfully removed, false if the circle does not exist with the specified id
-
-
-
-| Params | []() |
-|--------|------|
-|circle Id|Number|
-
-### Remove Marker
-
-Remove a marker from the map
-
-
-
-| Params | []() |
-|--------|------|
-|marker Id|Number|
-
-### Remove Polyline
-
-Returns: Boolean
-
-Use this block to remove a polyline from the map. It will return true if it was successful.
-
-
-
-| Params | []() |
-|--------|------|
-|polyline Id|Number|
-
-### Set Map Type
-
-Set the layer of Google map. Default layer is "normal", other choices including "hybrid","satellite", and "terrain"
-
-
-
-| Params | []() |
-|--------|------|
-|layer Name|Text|
-
-### Update Circle
-
-Set the property of an existing circle. Properties include: "alpha"(number, value ranging from 0~255), "color" (nimber, hue value ranging 0~360), "radius"(number in meters)
-
-
-
-| Params | []() |
-|--------|------|
-|circle Id|Number|
-|property Name|Text|
-|value|Any|
-
-### Update Marker
-
-Set the property of a marker, note that the marker has to be added first or else will throw an exception! Properties include: "color"(hue value ranging from 0~360), "title", "snippet", "draggable"(give either true or false as the value).
-
-
-
-| Params | []() |
-|--------|------|
-|marker Id|Number|
-|property Name|Text|
-|value|Any|
-
-### Update Polyline
-
-Update any polyline with the given id. You can change the property values for 'width' (in pixel), 'color' or 'points (a list of lat, lng pairs).
-
-
-
-| Params | []() |
-|--------|------|
-|polyline Id|Number|
-|property Name|Text|
-|points|Any|
-
-## Properties
-
-### API Key
-
-Text :heavy_minus_sign: Write - Designer
-
-Get the API Key
-
-### Camera Angle
-
-NumberDefault: 0 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Move the map's camera to the specified tilt, the angle (in degrees) from the nadir (directly facing the Earth). Must be a value between 0.0 and 90.0
-
-
-
-
-### Camera Rotation
-
-NumberDefault: 0 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Move the map's camera to the specified bearing, the direction that the camera is pointing in (in degrees clockwise from north).
-
-
-
-
-### Camera Zoom Level
-
-NumberDefault: 15 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Move the map's camera to the specified zoom level.
-
-
-
-
-### Compass Enabled
-
-Boolean :heavy_minus_sign: Read - Blocks
-
-Indicates whether the compass widget is currently enabled in the map ui
-
-
-
-### Height
-
-Number :heavy_minus_sign: ReadWrite - Blocks
-
-Specifies the component's vertical height, measured in pixels.
-
-
-
-
-### Height Percent
-
-Number :heavy_minus_sign: Write - Blocks
-
-Specifies the component's vertical height as a percentageof the height of its parent Component.
-
-
-
-### Map Camera Changed Listener Enabled
-
-Boolean :heavy_minus_sign: Read - Blocks
-
-Indicates if the map camera's position changed listener is currently enabled
-
-
-
-### Map Click Listener Enabled
-
-Boolean :heavy_minus_sign: Read - Blocks
-
-Indicates if the mapClick event listener is currently enabled
-
-
-
-### Map Long Click Listener Enabled
-
-Boolean :heavy_minus_sign: Read - Blocks
-
-Indicates if the map longClick listener is currently enabled
-
-
-
-### Map Type
-
-Text :heavy_minus_sign: Read - Blocks
-
-Indicates the current map type
-
-
-
-### My Location Enabled
-
-Boolean :heavy_minus_sign: Read - Blocks
-
-Indicates whether my locaiton UI control is currently enabled for the Google map.
-
-
-
-### Rotate Enabled
-
-Boolean :heavy_minus_sign: Read - Blocks
-
-Indicates whether the capability to rotate a map on the ui is currently enabled
-
-
-
-### Scroll Enabled
-
-Boolean :heavy_minus_sign: Read - Blocks
-
-Indicates whether the capability to scroll a map on the ui is currently enabled
-
-
-
-### Style
-
-Text :heavy_minus_sign: Write - Blocks
-
-Sets the style of the map from json. Just use a text field and paste there the json data. Create a custom map style at https://mapstyle.withgoogle.com/. Set the theme to "standard" to clear the style json.
-
-
-
-### Theme
-
-TextDefault: standard :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Sets the theme of the map. The choices are "standard"(default), "silver", "retro", "dark", "night", "aubergine", "vintage", "kodular" and "roads-only".
-
-
-
-
-### Visible
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Returns true iff the component is visible.
-
-
-
-
-### Width
-
-Number :heavy_minus_sign: ReadWrite - Blocks
-
-Specifies the component's horizontal width, measured in pixels.
-
-
-
-
-### Width Percent
-
-Number :heavy_minus_sign: Write - Blocks
-
-Specifies the component's horizontal width as a percentageof the Width of its parent Component.
-
-
-
-### Zoom Control Enabled
-
-Boolean :heavy_minus_sign: Read - Blocks
-
-Indicates whether the zoom widget on the map ui is currently enabled
-
-
-
-### Zoom Gesture Enabled
-
-Boolean :heavy_minus_sign: Read - Blocks
-
-Indicates whether the zoom gesture is currently enabled
-
-
diff --git a/docs/components/google/google-play-games.md b/docs/components/google/google-play-games.md
deleted file mode 100644
index a9857439d..000000000
--- a/docs/components/google/google-play-games.md
+++ /dev/null
@@ -1,134 +0,0 @@
-# Google Play Games
-
-{>> Non-Visible component<<}
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Google**|API 21, Android 5.0 Lollipop|1|
-
-## Overview
-
-A non-visible component that enables game user authentication, leaderboards, and more.
-Powered by the Google Play Games service.
-
-??? example "Permissions"
- * [android.permission.INTERNET](https://developer.android.com/reference/android/Manifest.permission.html#INTERNET)
-
-## Events
-
-### Got Player
-
-Got player info
-
-
-
-| Params | []() |
-|--------|------|
-|name|Text|
-|id|Text|
-|level|Number|
-|xp|Number|
-
-### Signed In
-
-User signed in.
-
-
-
-| Params | []() |
-|--------|------|
-|success|Boolean|
-
-### Signed Out
-
-User signed out.
-
-
-
-## Methods
-
-### Get Player
-
-Get the current player
-
-
-
-### Increment Achievement
-
-Increment an achievement.
-
-
-
-| Params | []() |
-|--------|------|
-|achievement Id|Text|
-|by|Number|
-
-### Is Signed In
-
-Returns: Boolean
-
-Is user signed in?
-
-
-
-### Show Achievements
-
-Shows Achievement.
-
-
-
-### Show Leaderboard
-
-Shows Leaderboard.
-
-
-
-| Params | []() |
-|--------|------|
-|leaderboard Id|Text|
-
-### Sign In
-
-Sign in the user. useLastAccount, true: use the last signed in account if possible, false: open a screen to choose for an account
-
-
-
-| Params | []() |
-|--------|------|
-|use Last Account|Boolean|
-
-### Sign Out
-
-Sign out the user.
-
-
-
-### Submit Score
-
-Submits user score to leaderboard.
-
-
-
-| Params | []() |
-|--------|------|
-|leaderboard Id|Text|
-|score|Number|
-
-### Unlock Achievements
-
-Unlock an achievement.
-
-
-
-| Params | []() |
-|--------|------|
-|achievement Id|Text|
-
-## Properties
-
-### Google Play Games App ID
-
-Text :heavy_minus_sign: Write - Designer
-
-Property for GooglePlayGamesAppId
diff --git a/docs/components/google/google-recaptcha.md b/docs/components/google/google-recaptcha.md
deleted file mode 100644
index 56ef60c8e..000000000
--- a/docs/components/google/google-recaptcha.md
+++ /dev/null
@@ -1,80 +0,0 @@
-# Google reCaptcha
-
-{>> Non-Visible component<<}
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Google**|API 21, Android 5.0 Lollipop|1|
-
-## Overview
-
-A non-visible that prompts users to complete a ReCaptcha challenge. Use this component to protect apps from spam and abuse, and to verify that your users are humans.
-
-??? example "Permissions"
- * [android.permission.INTERNET](https://developer.android.com/reference/android/Manifest.permission.html#INTERNET)
-
-## Events
-
-### Prompt Errored
-
-Event will be invoked when Google reCaptcha prompt returns an error status code.
-
-
-
-| Params | []() |
-|--------|------|
-|error Code|Number|
-|error Message|Text|
-
-### Prompt Succeeded
-
-Event will be invoked Google reCaptcha returns a success status code, returning the user response token which should be verified later.
-
-
-
-| Params | []() |
-|--------|------|
-|user Response Token|Text|
-
-### Validate Response
-
-Event will be triggered after the Validate method gets a response. 'success' will return true when the prompt was completed successfully, 'challenge Timestamp' is the date the challenge was completed in ISO format, 'app Package Name' will return the package name of the app where the challenge was completed, and 'error Messages' is a list of all errors that occurred during the validation.
-
-
-
-| Params | []() |
-|--------|------|
-|success|Boolean|
-|challenge Timestamp|Text|
-|app Package Name|Text|
-|error Messages|List|
-
-## Methods
-
-### Prompt reCaptcha
-
-Prompt the user with a Google reCaptcha challenge. Needs a reCaptcha API Site Key to work.
-
-
-
-### Validate
-
-Validate the received userResponseToken with your API Secret Key, for increased security. It is recommended to use the 'Obfuscated Text' block with the API Secret Key.
-
-
-
-| Params | []() |
-|--------|------|
-|user Response Token|Text|
-|secret Key|Text|
-
-## Properties
-
-### Site Key
-
-Text :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Sets the Google reCaptcha API Site Key. It is mandatory to use reCaptcha, as it will identify user's request with the challenge prompt.
-
-
-
diff --git a/docs/components/google/index.md b/docs/components/google/index.md
deleted file mode 100644
index 7b6868055..000000000
--- a/docs/components/google/index.md
+++ /dev/null
@@ -1,11 +0,0 @@
-# Overview of Google
-
-* [Firebase Authentication](firebase-authentication.md)
-* [Firebase Database](firebase-database.md)
-* [Firebase Remote Config](firebase-remote-config.md)
-* [Firebase Storage](firebase-storage.md)
-* [Google Account Picker](google-account-picker.md)
-* [Google Maps](google-maps.md)
-* [Google Play Games](google-play-games.md)
-* [Google reCaptcha](google-recaptcha.md)
-* [Youtube Player](youtube-player.md)
\ No newline at end of file
diff --git a/docs/components/google/youtube-player.md b/docs/components/google/youtube-player.md
deleted file mode 100644
index 6f1fca790..000000000
--- a/docs/components/google/youtube-player.md
+++ /dev/null
@@ -1,249 +0,0 @@
-# Youtube Player
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Google**|API 21, Android 5.0 Lollipop|2|
-
-## Overview
-
-A visible component that plays YouTube videos.
-Note\: For this component to work correctly, set the MIN API to 17 (Android 4.2).
-
-??? example "Permissions"
- * [android.permission.INTERNET](https://developer.android.com/reference/android/Manifest.permission.html#INTERNET)
-
-## Events
-
-### Error
-
-Use this event to detect that there was any error with the player. Return values: 'UNKNOWN', 'INVALID_PARAMETER_IN_REQUEST', 'HTML_5_PLAYER', 'VIDEO_NOT_FOUND', 'VIDEO_NOT_PLAYABLE_IN_EMBEDDED_PLAYER', 'INVALID_VOLUME' or 'INVALID_SEEK_TO'.
-
-
-
-| Params | []() |
-|--------|------|
-|error|Text|
-
-### Fullscreen
-
-Event to get notified when the player enters or exits fullscreen. The variable 'fullscreen' returns true or false.
-
-
-
-| Params | []() |
-|--------|------|
-|fullscreen|Boolean|
-
-### Initialized
-
-Use this event to start the playing of a normal or instant youtube video.
-
-
-
-### Playback Quality Changed
-
-Use this event to detect that the playback quality was changed. Return values: 'UNKNOWN', 'SMALL', 'MEDIUM', 'LARGE', 'HD720', 'HD1080', 'HIGH_RES' or 'DEFAULT'.
-
-
-
-| Params | []() |
-|--------|------|
-|quality|Text|
-
-### Playback Rate Changed
-
-Use this event to detect that the playback rate was changed. Return values: 'UNKNOWN', 'RATE_0_25', 'RATE_0_5', 'RATE_1', 'RATE_1_5' or 'RATE_2'.
-
-
-
-| Params | []() |
-|--------|------|
-|rate|Text|
-
-### State Changed
-
-Use this event to detect that the state changes. Return values: 'UNKNOWN', 'UNSTARTED', 'ENDED', 'PLAYING', 'PAUSED', 'BUFFERING' or 'VIDEO_CUED'.
-
-
-
-| Params | []() |
-|--------|------|
-|state|Text|
-
-## Methods
-
-### Enter Fullscreen
-
-Enter the video in fullscreen mode.
-
-
-
-### Exit Fullscreen
-
-Exit the video from fullscreen mode.
-
-
-
-### Get Thumbnail From Video Id
-
-Returns: Text
-
-This block will return the thumbnail image path from a video id. Use only as example '_bZj-LOXdH8' from a youtube video.
-
-
-
-| Params | []() |
-|--------|------|
-|video Id|Text|
-
-### Instant Load
-
-Use this block together with the 'Youtube Player' Initialized event. Loads and automatically plays the specified youtube video. Use only as example '_bZj-LOXdH8' from a youtube video.
-
-
-
-| Params | []() |
-|--------|------|
-|video Id|Text|
-
-### Load
-
-Loads the specified video's thumbnail and prepares the player to play the video. Does not automatically play the video. Use only as example '_bZj-LOXdH8' from a youtube video.
-
-
-
-| Params | []() |
-|--------|------|
-|video Id|Text|
-
-### Pause
-
-Pause the youtube video.
-
-
-
-### Play
-
-Plays the youtube video.
-
-
-
-### Seek To
-
-Set a position where the youtube video should start playing in seconds.
-
-
-
-| Params | []() |
-|--------|------|
-|position|Number|
-
-### Toggle Fullscreen
-
-Toggle the state of the video player.
-
-
-
-## Properties
-
-### Enable Live Video UI
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-If you want to play live videos you must setup the UI accordingly, by calling this method. If enabled, the user can not select a second on the video progress bar.
-
-
-
-
-### Get Current Second
-
-Number :heavy_minus_sign: Read - Blocks
-
-Returns the current second.
-
-
-
-### Get Video Duration
-
-Number :heavy_minus_sign: Read - Blocks
-
-Returns the video duration in seconds.
-
-
-
-### Height
-
-Number :heavy_minus_sign: ReadWrite - Blocks
-
-Specifies the component's vertical height, measured in pixels.
-
-
-
-
-### Height Percent
-
-Number :heavy_minus_sign: Write - Blocks
-
-Specifies the component's vertical height as a percentageof the height of its parent Component.
-
-
-
-### Is Fullscreen
-
-Boolean :heavy_minus_sign: Read - Blocks
-
-Returns true if the player is in fullscreen mode.
-
-
-
-### Start Second
-
-NumberDefault: 0 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The time from which the video should start playing.
-
-
-
-
-### Test Video Id
-
-Text :heavy_minus_sign: Read - Blocks
-
-Use this block to test the youtube player. Powered by Kodular.io
-
-
-
-### Visible
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Returns true iff the component is visible.
-
-
-
-
-### Volume
-
-NumberDefault: 50 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Set the volume to a number between 0 and 100.Use only integer numbers.
-
-
-
-
-### Width
-
-Number :heavy_minus_sign: ReadWrite - Blocks
-
-Specifies the component's horizontal width, measured in pixels.
-
-
-
-
-### Width Percent
-
-Number :heavy_minus_sign: Write - Blocks
-
-Specifies the component's horizontal width as a percentageof the Width of its parent Component.
-
-
diff --git a/docs/components/layout/general/card-view.md b/docs/components/layout/general/card-view.md
deleted file mode 100644
index 1195e42d6..000000000
--- a/docs/components/layout/general/card-view.md
+++ /dev/null
@@ -1,196 +0,0 @@
-# Card View
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Layout > General**|API 21, Android 5.0 Lollipop|4|
-
-## Overview
-
-A visible component that lets the user group other components as a Card.
-Cards are panels with a set elevation and border radius, meant to draw the user''s attention to their content.
-
-## Events
-
-### Click
-
-Event to detect that a user has done a simple "Click".
-
-
-
-### Long Click
-
-Event to detect that a user has done a simple "Long click".
-
-
-
-### Touch Down
-
-Event to detect that a user has done a simple touch down on the card.
-
-
-
-### Touch Up
-
-Event to detect that a user has done a simple touch up on the card.
-
-
-
-## Properties
-
-### Align Horizontal
-
-NumberDefault: 1 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-A number that encodes how contents of the arrangement are aligned horizontally. The choices are: 1 = left aligned, 2 = right aligned, 3 = horizontally centered. Alignment has no effect if the arrangement's width is automatic.
-
-
-
-
-### Align Vertical
-
-NumberDefault: 1 :heavy_minus_sign: Write - DesignerBlocks
-
-Property for AlignVertical
-
-
-
-### Background Color
-
-ColorDefault: #FFFFFFFF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Specifies the card view background color.
-
-
-
-
-### Content Padding Bottom
-
-NumberDefault: 8 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Sets the bottom padding between the card view edges and the children of CardView.
-
-
-
-
-### Content Padding Left
-
-NumberDefault: 8 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Sets the left padding between the card view edges and the children of card view.
-
-
-
-
-### Content Padding Right
-
-NumberDefault: 8 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Sets the right padding between the card view edges and the children of card view.
-
-
-
-
-### Content Padding Top
-
-NumberDefault: 8 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Sets the top padding between the card view edges and the children of card view.
-
-
-
-
-### Corner Radius
-
-NumberDefault: 2 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The corner radius from the card view.
-
-
-
-
-### Elevation
-
-NumberDefault: 2 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The card view elevation value.
-
-
-
-
-### Full Clickable
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-If set to true, the card will consume all click events. This means if you have added as example buttons into the card, then will the card consume the touch event on the button. And this means that the button would not be clickable, but only the entire card.
-
-
-
-
-### Height
-
-Number :heavy_minus_sign: ReadWrite - Blocks
-
-Specifies the component's vertical height, measured in pixels.
-
-
-
-
-### Height Percent
-
-Number :heavy_minus_sign: Write - Blocks
-
-Specifies the component's vertical height as a percentageof the height of its parent Component.
-
-
-
-### Stroke Color
-
-ColorDefault: #CCCCCCFF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The stroke color for the card view.
-
-
-
-
-### Stroke Width
-
-NumberDefault: 0 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The stroke width for the card view.
-
-
-
-
-### Touch Color
-
-Available as ^^Advanced^^ Property
-
-ColorDefault: #CCCCCCFF :heavy_minus_sign: Write - Designer
-
-Set the touch color also known as ripple color to the card view component.
-
-### Visible
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Returns true iff the component is visible.
-
-
-
-
-### Width
-
-Number :heavy_minus_sign: ReadWrite - Blocks
-
-Specifies the component's horizontal width, measured in pixels.
-
-
-
-
-### Width Percent
-
-Number :heavy_minus_sign: Write - Blocks
-
-Specifies the component's horizontal width as a percentageof the Width of its parent Component.
-
-
diff --git a/docs/components/layout/general/grid-view.md b/docs/components/layout/general/grid-view.md
deleted file mode 100644
index 82d27faa4..000000000
--- a/docs/components/layout/general/grid-view.md
+++ /dev/null
@@ -1,174 +0,0 @@
-# Grid View
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Layout > General**|API 21, Android 5.0 Lollipop|1|
-
-## Overview
-
-A visible component that groups other components in a two-dimensional, scrollable grid.
-
-??? example "Permissions"
- * [android.permission.INTERNET](https://developer.android.com/reference/android/Manifest.permission.html#INTERNET)
-
-## Events
-
-### After Picking
-
-Triggers after an item from this component has been selected
-
-
-
-| Params | []() |
-|--------|------|
-|item|Text|
-
-## Methods
-
-### Clear Grid View
-
-Clears the items from the component
-
-
-
-## Properties
-
-### Background Color
-
-ColorDefault: #00000000 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Specifies the background color.
-
-
-
-
-### Columns
-
-NumberDefault: 4 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Returns number of columns for this component
-
-
-
-
-### Elements
-
-List :heavy_minus_sign: ReadWrite - Blocks
-
-List of elements to be used for GridView
-
-
-
-
-### Elements From String
-
-Text :heavy_minus_sign: Write - DesignerBlocks
-
-The elements specified as a string with the items separated by commas such as: Cheese,Fruit,Bacon,Radish. Each word before the comma will be an element in the list.
-
-
-
-### Font Size
-
-NumberDefault: 14.0 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Sets the font size of the elements
-
-
-
-
-### Height
-
-Number :heavy_minus_sign: ReadWrite - Blocks
-
-Specifies the component's vertical height, measured in pixels.
-
-
-
-
-### Height Percent
-
-Number :heavy_minus_sign: Write - Blocks
-
-Specifies the component's vertical height as a percentageof the height of its parent Component.
-
-
-
-### Padding
-
-NumberDefault: 2 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The amount of padding (in DIP) on left, top, right, bottom
-
-
-
-
-### Selection
-
-Text :heavy_minus_sign: ReadWrite - Blocks
-
-Set the selection to the GridView
-
-
-
-
-### Stretch Enabled
-
-BooleanDefault: True :heavy_minus_sign: Write - DesignerBlocks
-
-Control how items are stretched to fill their space
-
-
-
-### Text Color
-
-ColorDefault: #000000FF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Specifies the checkbox's text color as an alpha-red-green-blueinteger.
-
-
-
-
-### Thumbnail Height in DIP
-
-NumberDefault: 155 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Sets the thumbnail height in DIP (Density Independent Pixels)
-
-
-
-
-### Thumbnail Width in DIP
-
-NumberDefault: 155 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Sets the thumbnail width in DIP (Density Independent Pixels)
-
-
-
-
-### Visible
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Returns true iff the component is visible.
-
-
-
-
-### Width
-
-Number :heavy_minus_sign: ReadWrite - Blocks
-
-Specifies the component's horizontal width, measured in pixels.
-
-
-
-
-### Width Percent
-
-Number :heavy_minus_sign: Write - Blocks
-
-Specifies the component's horizontal width as a percentageof the Width of its parent Component.
-
-
diff --git a/docs/components/layout/general/horizontal-arrangement.md b/docs/components/layout/general/horizontal-arrangement.md
deleted file mode 100644
index 6362560d2..000000000
--- a/docs/components/layout/general/horizontal-arrangement.md
+++ /dev/null
@@ -1,140 +0,0 @@
-# Horizontal Arrangement
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Layout > General**|API 21, Android 5.0 Lollipop|10|
-
-## Overview
-
-A formatting element in which to place components that should be displayed from left to right. If you wish to have components displayed one over another, use `` VerticalArrangement `` instead.
-
-## Events
-
-### Click
-
-Click listener event.
-
-
-
-### Long Click
-
-Long click listener event.
-
-
-
-## Properties
-
-### Align Horizontal
-
-NumberDefault: 1 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-A number that encodes how contents of the arrangement are aligned horizontally. The choices are: 1 = left aligned, 2 = right aligned, 3 = horizontally centered. Alignment has no effect if the arrangement's width is automatic.
-
-
-
-
-### Align Vertical
-
-NumberDefault: 1 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-A number that encodes how the contents of the arrangement are aligned vertically. The choices are: 1 = aligned at the top, 2 = vertically centered, 3 = aligned at the bottom. Alignment has no effect if the arrangement's height is automatic.
-
-
-
-
-### Background Color
-
-ColorDefault: #00000000 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Returns the component's background color
-
-
-
-
-### Clickable
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Set the component clickable or not clickable.
-
-
-
-
-### Height
-
-Number :heavy_minus_sign: ReadWrite - Blocks
-
-Specifies the component's vertical height, measured in pixels.
-
-
-
-
-### Height Percent
-
-Number :heavy_minus_sign: Write - Blocks
-
-Specifies the component's vertical height as a percentageof the height of its parent Component.
-
-
-
-### Image
-
-Text :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Returns the path of the button's image.
-
-
-
-
-### Is Card
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-If enabled the arrangement will be convert to a card view. You can detect clicks on it with the "Click" event.
-
-
-
-
-### Scrollbar
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Whether to display a scrollbar
-
-
-
-
-### Use Round Card
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-If enabled the card layout will have then round corners.
-
-
-
-
-### Visible
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Returns true iff the component is visible.
-
-
-
-
-### Width
-
-Number :heavy_minus_sign: ReadWrite - Blocks
-
-Specifies the component's horizontal width, measured in pixels.
-
-
-
-
-### Width Percent
-
-Number :heavy_minus_sign: Write - Blocks
-
-Specifies the component's horizontal width as a percentageof the Width of its parent Component.
-
-
diff --git a/docs/components/layout/general/horizontal-scroll-arrangement.md b/docs/components/layout/general/horizontal-scroll-arrangement.md
deleted file mode 100644
index 4bd7d453c..000000000
--- a/docs/components/layout/general/horizontal-scroll-arrangement.md
+++ /dev/null
@@ -1,142 +0,0 @@
-# Horizontal Scroll Arrangement
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Layout > General**|API 21, Android 5.0 Lollipop|8|
-
-## Overview
-
-A formatting element in which to place components that should be displayed from left to right. If you wish to have components displayed one over another, use `` VerticalArrangement `` instead.
-
-This version is scrollable.
-
-## Events
-
-### Click
-
-Click listener event.
-
-
-
-### Long Click
-
-Long click listener event.
-
-
-
-## Properties
-
-### Align Horizontal
-
-NumberDefault: 1 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-A number that encodes how contents of the arrangement are aligned horizontally. The choices are: 1 = left aligned, 2 = right aligned, 3 = horizontally centered. Alignment has no effect if the arrangement's width is automatic.
-
-
-
-
-### Align Vertical
-
-NumberDefault: 1 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-A number that encodes how the contents of the arrangement are aligned vertically. The choices are: 1 = aligned at the top, 2 = vertically centered, 3 = aligned at the bottom. Alignment has no effect if the arrangement's height is automatic.
-
-
-
-
-### Background Color
-
-ColorDefault: #00000000 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Returns the component's background color
-
-
-
-
-### Clickable
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Set the component clickable or not clickable.
-
-
-
-
-### Height
-
-Number :heavy_minus_sign: ReadWrite - Blocks
-
-Specifies the component's vertical height, measured in pixels.
-
-
-
-
-### Height Percent
-
-Number :heavy_minus_sign: Write - Blocks
-
-Specifies the component's vertical height as a percentageof the height of its parent Component.
-
-
-
-### Image
-
-Text :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Returns the path of the button's image.
-
-
-
-
-### Is Card
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-If enabled the arrangement will be convert to a card view. You can detect clicks on it with the "Click" event.
-
-
-
-
-### Scrollbar
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Whether to display a scrollbar
-
-
-
-
-### Use Round Card
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-If enabled the card layout will have then round corners.
-
-
-
-
-### Visible
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Returns true iff the component is visible.
-
-
-
-
-### Width
-
-Number :heavy_minus_sign: ReadWrite - Blocks
-
-Specifies the component's horizontal width, measured in pixels.
-
-
-
-
-### Width Percent
-
-Number :heavy_minus_sign: Write - Blocks
-
-Specifies the component's horizontal width as a percentageof the Width of its parent Component.
-
-
diff --git a/docs/components/layout/general/index.md b/docs/components/layout/general/index.md
deleted file mode 100644
index af0bfc864..000000000
--- a/docs/components/layout/general/index.md
+++ /dev/null
@@ -1,11 +0,0 @@
-# Overview of Layout > General
-
-* [Card View](card-view.md)
-* [Grid View](grid-view.md)
-* [Horizontal Arrangement](horizontal-arrangement.md)
-* [Horizontal Scroll Arrangement](horizontal-scroll-arrangement.md)
-* [Space](space.md)
-* [Swipe Refresh Layout](swipe-refresh-layout.md)
-* [Table Arrangement](table-arrangement.md)
-* [Vertical Arrangement](vertical-arrangement.md)
-* [Vertical Scroll Arrangement](vertical-scroll-arrangement.md)
\ No newline at end of file
diff --git a/docs/components/layout/general/space.md b/docs/components/layout/general/space.md
deleted file mode 100644
index 714be88bc..000000000
--- a/docs/components/layout/general/space.md
+++ /dev/null
@@ -1,54 +0,0 @@
-# Space
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Layout > General**|API 21, Android 5.0 Lollipop|1|
-
-## Overview
-
-A visible component that creates spaces between components.
-
-## Properties
-
-### Height
-
-Number :heavy_minus_sign: ReadWrite - Blocks
-
-Specifies the component's vertical height, measured in pixels.
-
-
-
-
-### Height Percent
-
-Number :heavy_minus_sign: Write - Blocks
-
-Specifies the component's vertical height as a percentageof the height of its parent Component.
-
-
-
-### Visible
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Returns true iff the component is visible.
-
-
-
-
-### Width
-
-Number :heavy_minus_sign: ReadWrite - Blocks
-
-Specifies the component's horizontal width, measured in pixels.
-
-
-
-
-### Width Percent
-
-Number :heavy_minus_sign: Write - Blocks
-
-Specifies the component's horizontal width as a percentageof the Width of its parent Component.
-
-
diff --git a/docs/components/layout/general/swipe-refresh-layout.md b/docs/components/layout/general/swipe-refresh-layout.md
deleted file mode 100644
index 9c375f945..000000000
--- a/docs/components/layout/general/swipe-refresh-layout.md
+++ /dev/null
@@ -1,150 +0,0 @@
-# Swipe Refresh Layout
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Layout > General**|API 21, Android 5.0 Lollipop|2|
-
-## Overview
-
-A visible component that groups other components and lets the user refresh them via a swipe-down gesture.
-
-## Events
-
-### On Refresh
-
-Event to detect when a refresh is triggered via the swipe gesture.
-
-
-
-## Properties
-
-### Align Horizontal
-
-NumberDefault: 1 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-A number that encodes how contents of the arrangement are aligned horizontally. The choices are: 1 = left aligned, 2 = right aligned, 3 = horizontally centered. Alignment has no effect if the arrangement's width is automatic.
-
-
-
-
-### Align Vertical
-
-NumberDefault: 1 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-A number that encodes how the contents of the arrangement are aligned vertically. The choices are: 1 = aligned at the top, 2 = vertically centered, 3 = aligned at the bottom. Alignment has no effect if the arrangement's height is automatic.
-
-
-
-
-### Background Color
-
-ColorDefault: #00000000 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The background color of the swipe refresh layout.
-
-
-
-
-### Enabled
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-If set to true the swpipe refresh layout is enabled.
-
-
-
-
-### Height
-
-Number :heavy_minus_sign: ReadWrite - Blocks
-
-Specifies the component's vertical height, measured in pixels.
-
-
-
-
-### Height Percent
-
-Number :heavy_minus_sign: Write - Blocks
-
-Specifies the component's vertical height as a percentageof the height of its parent Component.
-
-
-
-### Is Refreshing
-
-Boolean :heavy_minus_sign: Read - Blocks
-
-Returns true if is actively showing refresh progress.
-
-
-
-### Large Size
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-If enabled is set to true the pull size will be large, else the size is default.
-
-
-
-
-### Nested Scrolling
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Enable or disable nested scrolling for this view.
-
-
-
-
-### Progress Animation Colors
-
-List :heavy_minus_sign: ReadWrite - Blocks
-
-Set the colors used in the progress animation. Use a 'make a list' block. The first color on the list is than the first spinner color.
-
-
-
-
-### Progress Background Color
-
-ColorDefault: #FFFFFFFF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Change the pull to refresh background color.
-
-
-
-
-### Refreshing
-
-Boolean :heavy_minus_sign: Write - Blocks
-
-Notify the widget that refresh state has changed. Do not call this when refresh is triggered by a swipe gesture.
-
-
-
-### Visible
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Returns true iff the component is visible.
-
-
-
-
-### Width
-
-Number :heavy_minus_sign: ReadWrite - Blocks
-
-Specifies the component's horizontal width, measured in pixels.
-
-
-
-
-### Width Percent
-
-Number :heavy_minus_sign: Write - Blocks
-
-Specifies the component's horizontal width as a percentageof the Width of its parent Component.
-
-
diff --git a/docs/components/layout/general/table-arrangement.md b/docs/components/layout/general/table-arrangement.md
deleted file mode 100644
index 31ff1125f..000000000
--- a/docs/components/layout/general/table-arrangement.md
+++ /dev/null
@@ -1,66 +0,0 @@
-# Table Arrangement
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Layout > General**|API 21, Android 5.0 Lollipop|1|
-
-## Overview
-
-A formatting element in which to place components that should be displayed in tabular form.
-
-## Properties
-
-### Columns
-
-NumberDefault: 2 :heavy_minus_sign: Write - Designer
-
-Columns property getter method.
-
-### Height
-
-Number :heavy_minus_sign: ReadWrite - Blocks
-
-Specifies the component's vertical height, measured in pixels.
-
-
-
-
-### Height Percent
-
-Number :heavy_minus_sign: Write - Blocks
-
-Specifies the component's vertical height as a percentageof the height of its parent Component.
-
-
-
-### Rows
-
-NumberDefault: 2 :heavy_minus_sign: Write - Designer
-
-Rows property getter method.
-
-### Visible
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Returns true iff the component is visible.
-
-
-
-
-### Width
-
-Number :heavy_minus_sign: ReadWrite - Blocks
-
-Specifies the component's horizontal width, measured in pixels.
-
-
-
-
-### Width Percent
-
-Number :heavy_minus_sign: Write - Blocks
-
-Specifies the component's horizontal width as a percentageof the Width of its parent Component.
-
-
diff --git a/docs/components/layout/general/vertical-arrangement.md b/docs/components/layout/general/vertical-arrangement.md
deleted file mode 100644
index 9c7b70c8e..000000000
--- a/docs/components/layout/general/vertical-arrangement.md
+++ /dev/null
@@ -1,140 +0,0 @@
-# Vertical Arrangement
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Layout > General**|API 21, Android 5.0 Lollipop|10|
-
-## Overview
-
-A formatting element in which to place components that should be displayed one below another. (The first child component is stored on top, the second beneath it, etc.) If you wish to have components displayed next to one another, use `` HorizontalArrangement `` instead.
-
-## Events
-
-### Click
-
-Click listener event.
-
-
-
-### Long Click
-
-Long click listener event.
-
-
-
-## Properties
-
-### Align Horizontal
-
-NumberDefault: 1 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-A number that encodes how contents of the arrangement are aligned horizontally. The choices are: 1 = left aligned, 2 = right aligned, 3 = horizontally centered. Alignment has no effect if the arrangement's width is automatic.
-
-
-
-
-### Align Vertical
-
-NumberDefault: 1 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-A number that encodes how the contents of the arrangement are aligned vertically. The choices are: 1 = aligned at the top, 2 = vertically centered, 3 = aligned at the bottom. Alignment has no effect if the arrangement's height is automatic.
-
-
-
-
-### Background Color
-
-ColorDefault: #00000000 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Returns the component's background color
-
-
-
-
-### Clickable
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Set the component clickable or not clickable.
-
-
-
-
-### Height
-
-Number :heavy_minus_sign: ReadWrite - Blocks
-
-Specifies the component's vertical height, measured in pixels.
-
-
-
-
-### Height Percent
-
-Number :heavy_minus_sign: Write - Blocks
-
-Specifies the component's vertical height as a percentageof the height of its parent Component.
-
-
-
-### Image
-
-Text :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Returns the path of the button's image.
-
-
-
-
-### Is Card
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-If enabled the arrangement will be convert to a card view. You can detect clicks on it with the "Click" event.
-
-
-
-
-### Scrollbar
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Whether to display a scrollbar
-
-
-
-
-### Use Round Card
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-If enabled the card layout will have then round corners.
-
-
-
-
-### Visible
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Returns true iff the component is visible.
-
-
-
-
-### Width
-
-Number :heavy_minus_sign: ReadWrite - Blocks
-
-Specifies the component's horizontal width, measured in pixels.
-
-
-
-
-### Width Percent
-
-Number :heavy_minus_sign: Write - Blocks
-
-Specifies the component's horizontal width as a percentageof the Width of its parent Component.
-
-
diff --git a/docs/components/layout/general/vertical-scroll-arrangement.md b/docs/components/layout/general/vertical-scroll-arrangement.md
deleted file mode 100644
index 08d008003..000000000
--- a/docs/components/layout/general/vertical-scroll-arrangement.md
+++ /dev/null
@@ -1,142 +0,0 @@
-# Vertical Scroll Arrangement
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Layout > General**|API 21, Android 5.0 Lollipop|8|
-
-## Overview
-
-A formatting element in which to place components that should be displayed one below another. (The first child component is stored on top, the second beneath it, etc.) If you wish to have components displayed next to one another, use `` HorizontalArrangement `` instead.
-
- This version is scrollable
-
-## Events
-
-### Click
-
-Click listener event.
-
-
-
-### Long Click
-
-Long click listener event.
-
-
-
-## Properties
-
-### Align Horizontal
-
-NumberDefault: 1 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-A number that encodes how contents of the arrangement are aligned horizontally. The choices are: 1 = left aligned, 2 = right aligned, 3 = horizontally centered. Alignment has no effect if the arrangement's width is automatic.
-
-
-
-
-### Align Vertical
-
-NumberDefault: 1 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-A number that encodes how the contents of the arrangement are aligned vertically. The choices are: 1 = aligned at the top, 2 = vertically centered, 3 = aligned at the bottom. Alignment has no effect if the arrangement's height is automatic.
-
-
-
-
-### Background Color
-
-ColorDefault: #00000000 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Returns the component's background color
-
-
-
-
-### Clickable
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Set the component clickable or not clickable.
-
-
-
-
-### Height
-
-Number :heavy_minus_sign: ReadWrite - Blocks
-
-Specifies the component's vertical height, measured in pixels.
-
-
-
-
-### Height Percent
-
-Number :heavy_minus_sign: Write - Blocks
-
-Specifies the component's vertical height as a percentageof the height of its parent Component.
-
-
-
-### Image
-
-Text :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Returns the path of the button's image.
-
-
-
-
-### Is Card
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-If enabled the arrangement will be convert to a card view. You can detect clicks on it with the "Click" event.
-
-
-
-
-### Scrollbar
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Whether to display a scrollbar
-
-
-
-
-### Use Round Card
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-If enabled the card layout will have then round corners.
-
-
-
-
-### Visible
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Returns true iff the component is visible.
-
-
-
-
-### Width
-
-Number :heavy_minus_sign: ReadWrite - Blocks
-
-Specifies the component's horizontal width, measured in pixels.
-
-
-
-
-### Width Percent
-
-Number :heavy_minus_sign: Write - Blocks
-
-Specifies the component's horizontal width as a percentageof the Width of its parent Component.
-
-
diff --git a/docs/components/layout/index.md b/docs/components/layout/index.md
deleted file mode 100644
index c2eb89298..000000000
--- a/docs/components/layout/index.md
+++ /dev/null
@@ -1,6 +0,0 @@
-# Overview of Layout
-
-* [Layout > General](general/index.md)
-* [Layout > Lists](lists/index.md)
-* [Layout > Views](views/index.md)
-* [Layout > Navigation](navigation/index.md)
\ No newline at end of file
diff --git a/docs/components/layout/lists/index.md b/docs/components/layout/lists/index.md
deleted file mode 100644
index c5499814d..000000000
--- a/docs/components/layout/lists/index.md
+++ /dev/null
@@ -1,4 +0,0 @@
-# Overview of Layout > Lists
-
-* [List View](list-view.md)
-* [List View Image and Text](list-view-image-and-text.md)
\ No newline at end of file
diff --git a/docs/components/layout/lists/list-view-image-and-text.md b/docs/components/layout/lists/list-view-image-and-text.md
deleted file mode 100644
index 1583375a6..000000000
--- a/docs/components/layout/lists/list-view-image-and-text.md
+++ /dev/null
@@ -1,304 +0,0 @@
-# List View Image and Text
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Layout > Lists**|API 21, Android 5.0 Lollipop|4|
-
-## Overview
-
-A visible component that displays a list of elements consisting of an image and two labels.
-
-??? example "Permissions"
- * [android.permission.INTERNET](https://developer.android.com/reference/android/Manifest.permission.html#INTERNET)
-
-## Events
-
-### Click
-
-Triggers when the user clicks on a item in the list
-
-
-
-| Params | []() |
-|--------|------|
-|position|Number|
-|title|Text|
-|subtitle|Text|
-|image|Text|
-
-### Long Click
-
-Triggers when the user long clicks on a item in the list
-
-
-
-| Params | []() |
-|--------|------|
-|position|Number|
-|title|Text|
-|subtitle|Text|
-|image|Text|
-
-## Methods
-
-### Add Item
-
-Add a item to the list
-
-
-
-| Params | []() |
-|--------|------|
-|image|Text|
-|title|Text|
-|subtitle|Text|
-
-### Add Item From List
-
-Add a item to the list
-
-
-
-| Params | []() |
-|--------|------|
-|list|List|
-
-### Clear List
-
-Remove all the items from the list
-
-
-
-### Remove Item
-
-Remove a item from the list
-
-
-
-| Params | []() |
-|--------|------|
-|position|Number|
-
-### Update Item
-
-Update a item of the list
-
-
-
-| Params | []() |
-|--------|------|
-|position|Number|
-|image|Text|
-|title|Text|
-|subtitle|Text|
-
-## Properties
-
-### Background Color
-
-ColorDefault: #FFFFFF00 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Set the background color of the listview
-
-
-
-
-### Divider Color
-
-Available as ^^Advanced^^ Property
-
-ColorDefault: #CCCCCCFF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Set the divider color of the listview
-
-
-
-
-### Height
-
-Number :heavy_minus_sign: ReadWrite - Blocks
-
-Determines the height of the list on the view.
-
-
-
-
-### Height Percent
-
-Number :heavy_minus_sign: Write - Blocks
-
-Specifies the component's vertical height as a percentageof the height of its parent Component.
-
-
-
-### Image Side
-
-NumberDefault: 1 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Set the side of the image
-Set it to 1 for Left side and 2 for Right side
-
-
-
-
-### Item Size
-
-NumberDefault: 1 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Set ListItem Size
-Set it to 1 for Normal size, 2 for Small size and 3 for Big size.
-
-
-
-
-### Subtitle Bold
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Whether the subtitle should be in bold text
-
-
-
-
-### Subtitle Color
-
-ColorDefault: #757575FF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Changed the color of the subtitle text
-
-
-
-
-### Subtitle Font Typeface
-
-NumberDefault: 0 :heavy_minus_sign: Write - Designer
-
-Change the Typeface of the Subtitle
-
-### Subtitle Font Typeface Import
-
-Available as ^^Advanced^^ Property
-
-Text :heavy_minus_sign: Write - DesignerBlocks
-
-Set a custom title font.
-
-
-
-### Subtitle HTML
-
-Available as ^^Advanced^^ Property
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-If true, then the subtitle will show html text else it will show plain text. Note: Not all HTML is supported.
-
-
-
-
-### Subtitle Italic
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Whether the subtitle should be in italic text
-
-
-
-
-### Subtitle Text Size
-
-NumberDefault: 14 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The text size of the subtitle.
-
-
-
-
-### Title Bold
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Whether the title should be in bold text
-
-
-
-
-### Title Color
-
-ColorDefault: #212121FF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Changed the color of the title text
-
-
-
-
-### Title Font Typeface
-
-NumberDefault: 0 :heavy_minus_sign: Write - Designer
-
-Change the Typeface of the Title
-
-### Title Font Typeface Import
-
-Available as ^^Advanced^^ Property
-
-Text :heavy_minus_sign: Write - DesignerBlocks
-
-Set a custom title font.
-
-
-
-### Title HTML
-
-Available as ^^Advanced^^ Property
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-If true, then the title will show html text else it will show plain text. Note: Not all HTML is supported.
-
-
-
-
-### Title Italic
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Whether the title should be in italic text
-
-
-
-
-### Title Text Size
-
-NumberDefault: 14 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The text size of the title.
-
-
-
-
-### Visible
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Returns true iff the component is visible.
-
-
-
-
-### Width
-
-Number :heavy_minus_sign: ReadWrite - Blocks
-
-Determines the width of the list on the view.
-
-
-
-
-### Width Percent
-
-Number :heavy_minus_sign: Write - Blocks
-
-Specifies the component's horizontal width as a percentageof the Width of its parent Component.
-
-
diff --git a/docs/components/layout/lists/list-view.md b/docs/components/layout/lists/list-view.md
deleted file mode 100644
index e9d5e3e33..000000000
--- a/docs/components/layout/lists/list-view.md
+++ /dev/null
@@ -1,325 +0,0 @@
-# List View
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Layout > Lists**|API 21, Android 5.0 Lollipop|13|
-
-## Overview
-
-This is a visible component that displays a list of text elements.
- The list can be set using the ElementsFromString property or using the Elements block in the blocks editor.
-
-## Events
-
-### After Picking
-
-Simple event to be raised after the an element has been chosen in the list. The selected element is available in the Selection property.
-
-
-
-### Long Click
-
-Simple event to be raised after the an element has been chosen in the list via long click. The selected element is available in the Selection property.
-
-
-
-## Methods
-
-### Clear List
-
-Remove all the items from the list
-
-
-
-## Properties
-
-### Background Color
-
-ColorDefault: #607D8BFF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The color of the listview background.
-
-
-
-
-### Divider Color
-
-Available as ^^Advanced^^ Property
-
-ColorDefault: #000000FF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Set the divider color
-
-
-
-
-### Divider Height
-
-Available as ^^Advanced^^ Property
-
-NumberDefault: 2 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Set the divider height.
-
-
-
-
-### Elements
-
-List :heavy_minus_sign: ReadWrite - Blocks
-
-List of text elements to show in the ListView.
-
-
-
-
-### Elements From String
-
-Text :heavy_minus_sign: Write - DesignerBlocks
-
-The ListView elements specified as a string with the items separated by commas such as: Cheese,Fruit,Bacon,Radish. Each word before the comma will be an element in the list.
-
-
-
-### Filter Bar Hint
-
-TextDefault: Search list... :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The hint that will be displayed in the filter bar.
-
-
-
-
-### Font Bold
-
-BooleanDefault: False :heavy_minus_sign: Write - Designer
-
-Property for FontBold
-
-### Font Italic
-
-BooleanDefault: False :heavy_minus_sign: Write - Designer
-
-Property for FontItalic
-
-### Font Size
-
-NumberDefault: 22 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The text size of the listview items.
-
-
-
-
-### Font Typeface
-
-NumberDefault: 0 :heavy_minus_sign: Write - Designer
-
-Property for FontTypeface
-
-### Font Typeface Import
-
-Available as ^^Advanced^^ Property
-
-Text :heavy_minus_sign: Write - DesignerBlocks
-
-Set a custom font.
-
-
-
-### Height
-
-Number :heavy_minus_sign: ReadWrite - Blocks
-
-Determines the height of the list on the view.
-
-
-
-
-### Height Percent
-
-Number :heavy_minus_sign: Write - Blocks
-
-Specifies the component's vertical height as a percentageof the height of its parent Component.
-
-
-
-### HTML Format
-
-Available as ^^Advanced^^ Property
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Returns true if html is enabled.
-
-
-
-
-### Item Height in %
-
-NumberDefault: 10 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Set the listview item height. If you write 10, that means the item height will be 10 percent of the device screen height.
-
-
-
-
-### Long Click Enabled
-
-Available as ^^Advanced^^ Property
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-If true long click on items are enabled, else long click is disabled.
-
-
-
-
-### Scroll To Position
-
-Number :heavy_minus_sign: Write - Blocks
-
-Smoothly scroll to the specified position. The listview will scroll such that the indicated position is displayed.
-
-
-
-### Scrollbar Fading
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Return the state of ScrollbarFading. If ScrollbarFading is enabled returns true.
-
-
-
-
-### Scrolling Speed
-
-NumberDefault: 1.0 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The amount of friction applied to flings.
-
-
-
-
-### Search Hint Color
-
-Available as ^^Advanced^^ Property
-
-ColorDefault: #CCCCCCFF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The color of the search hint text.
-
-
-
-
-### Search Text Color
-
-ColorDefault: #FFFFFFFF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The color of the search text.
-
-
-
-
-### Search Text Size
-
-NumberDefault: 14.0 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The text size of the search text.
-
-
-
-
-### Selection
-
-Text :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Set the selection to the ListView.
-
-
-
-
-### Selection Color
-
-ColorDefault: #CCCCCCFF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The color of the item when it is selected.
-
-
-
-
-### Selection Index
-
-Number :heavy_minus_sign: ReadWrite - Blocks
-
-The index of the currently selected item, starting at 1. If no item is selected, the value will be 0. If an attempt is made to set this to a number less than 1 or greater than the number of items in the ListView, SelectionIndex will be set to 0, and Selection will be set to the empty text.
-
-
-
-
-### Show Filter Bar
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Sets visibility of ShowFilterBar. True will show the bar, False will hide it.
-
-
-
-
-### Show Scrollbar
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Return the state of ShowScrollbar. If ShowScrollbar is enabled returns true.
-
-
-
-
-### Show Selection Color
-
-Available as ^^Advanced^^ Property
-
-BooleanDefault: False :heavy_minus_sign: Write - Designer
-
-Sets visibility of ShowSelectionColor. True will show the selection color on a selected item, False will hide it.
-
-### Text Alignment
-
-NumberDefault: 0 :heavy_minus_sign: Write - Designer
-
-Property for TextAlignment
-
-### Text Color
-
-ColorDefault: #000000FF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The text color of the listview items.
-
-
-
-
-### Visible
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Returns true iff the component is visible.
-
-
-
-
-### Width
-
-Number :heavy_minus_sign: ReadWrite - Blocks
-
-Determines the width of the list on the view.
-
-
-
-
-### Width Percent
-
-Number :heavy_minus_sign: Write - Blocks
-
-Specifies the component's horizontal width as a percentageof the Width of its parent Component.
-
-
diff --git a/docs/components/layout/navigation/bottom-navigation.md b/docs/components/layout/navigation/bottom-navigation.md
deleted file mode 100644
index c016ccf53..000000000
--- a/docs/components/layout/navigation/bottom-navigation.md
+++ /dev/null
@@ -1,112 +0,0 @@
-# Bottom Navigation
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Layout > Navigation**|API 21, Android 5.0 Lollipop|1|
-
-## Overview
-
-A visible component that shows a navigation menu in the bottom of the screen.
-
-## Events
-
-### Item Selected
-
-Event triggers when an item was selected.
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-|title|Text|
-
-## Methods
-
-### Add Item
-
-Add an item to the bottom menu
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-|title|Text|
-|image|Text|
-
-### Remove All Items
-
-Remove all items from the bottom menu
-
-
-
-### Remove Item
-
-Remove an item from the bottom menu
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-
-### Select Item
-
-Select an item from the bottom menu
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-
-### Update Item
-
-Update an item of the bottom menu
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-|title|Text|
-|image|Text|
-
-## Properties
-
-### Background Color
-
-ColorDefault: #FFFFFFFF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Set the background color of the Bottom Navigation Menu
-
-
-
-
-### Selected Color
-
-ColorDefault: #3F51B5FF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Set the color of the selected item of the Bottom Navigation Menu
-
-
-
-
-### Unselected Color
-
-ColorDefault: #6E6E6EFF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Set the color of the unselected items of the Bottom Navigation Menu
-
-
-
-
-### Visible
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Returns true iff the component is visible.
-
-
-
diff --git a/docs/components/layout/navigation/index.md b/docs/components/layout/navigation/index.md
deleted file mode 100644
index 75bd596b7..000000000
--- a/docs/components/layout/navigation/index.md
+++ /dev/null
@@ -1,6 +0,0 @@
-# Overview of Layout > Navigation
-
-* [Bottom Navigation](bottom-navigation.md)
-* [Side Menu Layout](side-menu-layout.md)
-* [Tab Layout](tab-layout.md)
-* [View Pager](view-pager.md)
\ No newline at end of file
diff --git a/docs/components/layout/navigation/side-menu-layout.md b/docs/components/layout/navigation/side-menu-layout.md
deleted file mode 100644
index c39f1293a..000000000
--- a/docs/components/layout/navigation/side-menu-layout.md
+++ /dev/null
@@ -1,147 +0,0 @@
-# Side Menu Layout
-
-{>> Non-Visible component<<}
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Layout > Navigation**|API 21, Android 5.0 Lollipop|2|
-
-## Overview
-
-A non-visible component that creates a side menu.
-Side menus are navigation menus that slide from the left of the screen via a swipe-right gesture.
-
-## Events
-
-### On Menu Item Click
-
-Triggers when the user clicks on an item of the Navigation Menu
-
-
-
-| Params | []() |
-|--------|------|
-|title|Text|
-
-## Methods
-
-### Add Item
-
-Add an item to the Navigation Menu
-
-
-
-| Params | []() |
-|--------|------|
-|title|Text|
-|image|Text|
-|enabled|Boolean|
-|checked|Boolean|
-|group|Number|
-
-### Remove Item
-
-Remove an item from the Navigation Menu
-
-
-
-| Params | []() |
-|--------|------|
-|title|Text|
-
-### Update Item
-
-Update an item of the Navigation Menu
-
-
-
-| Params | []() |
-|--------|------|
-|title|Text|
-|new Title|Text|
-|image|Text|
-|enabled|Boolean|
-|checked|Boolean|
-
-## Properties
-
-### Background Color
-
-ColorDefault: #FFFFFFFF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Set the background color of the Sidemenu Layout
-
-
-
-
-### Circle Header Picture
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Sets (or not) the header picture to use a circle shape
-
-
-
-
-### Disabled Color
-
-ColorDefault: #9E9E9EFF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Sets the color of the disabled elements of the SideMenu
-
-
-
-
-### Enabled Color
-
-ColorDefault: #000000FF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Sets the color of the enabled elements of the SideMenu
-
-
-
-
-### Header Background Image
-
-Text :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Sets the Header Background Picture
-
-
-
-
-### Header Picture
-
-Text :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Sets the Header Picture of the Side Menu
-
-
-
-
-### Header Subtitle
-
-Text :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Sets the Header Subtitle
-
-
-
-
-### Header Title
-
-Text :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Sets the Header Title
-
-
-
-
-### Selected Color
-
-ColorDefault: #E81E63FF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Sets the color of the selected element of the SideMenu
-
-
-
diff --git a/docs/components/layout/navigation/tab-layout.md b/docs/components/layout/navigation/tab-layout.md
deleted file mode 100644
index 25488e46e..000000000
--- a/docs/components/layout/navigation/tab-layout.md
+++ /dev/null
@@ -1,160 +0,0 @@
-# Tab Layout
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Layout > Navigation**|API 21, Android 5.0 Lollipop|1|
-
-## Overview
-
-A visible component that groups other layout components such that only one of its children is shown at a time. Each of the child layouts can be accessed either by swiping left and right, or using the tabs at the top.
-
-## Events
-
-### Tab Item Selected
-
-The event returns the name or the position of the selected tab.
-
-
-
-| Params | []() |
-|--------|------|
-|tab|Text|
-|position|Number|
-
-## Methods
-
-### Add New Tab
-
-Add a new tab to the tab layout. If you don't want a icon then let it empty.
-
-
-
-| Params | []() |
-|--------|------|
-|name|Text|
-|icon|Text|
-
-### Add New Tab At
-
-Add a new tab to the tab layout at the given position. If you don't want a icon then let it empty.
-
-
-
-| Params | []() |
-|--------|------|
-|name|Text|
-|icon|Text|
-|position|Number|
-
-### Count Tabs
-
-Returns: Number
-
-Returns the number of current added tab's.
-
-
-
-### Remove All Tabs
-
-Remove all tab's from tab layout.
-
-
-
-### Remove Tab At
-
-Removes a before added tab. If you want to delete the first tab then use as position '1'.
-
-
-
-| Params | []() |
-|--------|------|
-|position|Number|
-
-## Properties
-
-### Get Current Tab
-
-Number :heavy_minus_sign: Read - Blocks
-
-Get the current selected tab.
-
-
-
-### Select Tab
-
-Number :heavy_minus_sign: Write - Blocks
-
-Select a tab which is then the active tab.
-
-
-
-### Tabs Active Text Color
-
-ColorDefault: #FF4081FF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Specifies the tab's text color for active tab's.
-
-
-
-
-### Tabs Background Color
-
-ColorDefault: #3F51B5FF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Specifies the tab's background color.
-
-
-
-
-### Tabs Indicator Color
-
-ColorDefault: #FFFFFFFF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Specifies the tab's indicator color.
-
-
-
-
-### Tabs Mode
-
-NumberDefault: 1 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Choose the mode used for the tab's. If no mode is specified, 'Scrollable' is taken as 'Default'. Use '0' for scrollable and '1' for fixed.
-
-
-
-
-### Tabs Text Color
-
-ColorDefault: #FFFFFFFF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Specifies the tab's text color for not selected tab's.
-
-
-
-
-### Visible
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Specifies whether the component should be visible on the screen. Value is true if the component is showing and false if hidden.
-
-
-
-
-### Width
-
-Number :heavy_minus_sign: ReadWrite - Blocks
-
-Specifies the component's horizontal width, measured in pixels.
-
-
-
-
-### Width Percent
-
-Number :heavy_minus_sign: Write - Blocks
-
-Specifies the component's horizontal width as a percentageof the Width of its parent Component.
-
-
diff --git a/docs/components/layout/navigation/view-pager.md b/docs/components/layout/navigation/view-pager.md
deleted file mode 100644
index 9209a5bad..000000000
--- a/docs/components/layout/navigation/view-pager.md
+++ /dev/null
@@ -1,167 +0,0 @@
-# View Pager
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Layout > Navigation**|API 21, Android 5.0 Lollipop|3|
-
-## Overview
-
-A visible component that groups other layout components each of which can be accessed by swiping left or right.
-
-## Events
-
-### Page Selected
-
-Event to detect that a page was selected.
-
-
-
-| Params | []() |
-|--------|------|
-|position|Number|
-
-## Methods
-
-### Add Component To View
-
-Add a component to the view pager. The first added component will be the first visible component on the screen.
-
-
-
-| Params | []() |
-|--------|------|
-|component|Component|
-|tab Name|Text|
-
-### Remove All Tabs
-
-Remove all tab's from view pager.
-
-
-
-### Remove View At
-
-Removes a before added view from the view pager. If you want to delete the first page then use as position '1'.
-
-
-
-| Params | []() |
-|--------|------|
-|position|Number|
-
-## Properties
-
-### Get Current Page
-
-Number :heavy_minus_sign: Read - Blocks
-
-Get the current selected visible page.
-
-
-
-### Height
-
-Number :heavy_minus_sign: ReadWrite - Blocks
-
-Specifies the component's vertical height, measured in pixels.
-
-
-
-
-### Height Percent
-
-Number :heavy_minus_sign: Write - Blocks
-
-Specifies the component's vertical height as a percentageof the height of its parent Component.
-
-
-
-### Select Page
-
-Number :heavy_minus_sign: Write - Blocks
-
-Select a page which is then the active page. Use '1' to select the first page.
-
-
-
-### Show Tabs
-
-Available as ^^Experimental^^ Property
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-If set to true, you will see tabs above the view pager.
-
-
-
-
-### Tabs Active Text Color
-
-ColorDefault: #FF4081FF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Specifies the tab's text color for active tab's.
-
-
-
-
-### Tabs Background Color
-
-ColorDefault: #3F51B5FF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Specifies the tab's background color.
-
-
-
-
-### Tabs Indicator Color
-
-ColorDefault: #FFFFFFFF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Specifies the tab's indicator color.
-
-
-
-
-### Tabs Mode
-
-NumberDefault: 1 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Choose the mode used for the tab's. If no mode is specified, 'Scrollable' is taken as 'Default'. Use '0' for scrollable and '1' for fixed.
-
-
-
-
-### Tabs Text Color
-
-ColorDefault: #FFFFFFFF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Specifies the tab's text color for not selected tab's.
-
-
-
-
-### Visible
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Specifies whether the component should be visible on the screen. Value is true if the component is showing and false if hidden.
-
-
-
-
-### Width
-
-Number :heavy_minus_sign: ReadWrite - Blocks
-
-Specifies the component's horizontal width, measured in pixels.
-
-
-
-
-### Width Percent
-
-Number :heavy_minus_sign: Write - Blocks
-
-Specifies the component's horizontal width as a percentageof the Width of its parent Component.
-
-
diff --git a/docs/components/layout/views/bottom-sheet.md b/docs/components/layout/views/bottom-sheet.md
deleted file mode 100644
index 2cb86666d..000000000
--- a/docs/components/layout/views/bottom-sheet.md
+++ /dev/null
@@ -1,79 +0,0 @@
-# Bottom Sheet
-
-{>> Non-Visible component<<}
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Layout > Views**|API 21, Android 5.0 Lollipop|2|
-
-## Overview
-
-A non-visible component that shows a visible layout at the bottom of the screen.
-
-## Events
-
-### Closed
-
-Event to detect that the dialog was closed.
-
-
-
-### Opened
-
-Event to detect that the dialog was opened.
-
-
-
-## Methods
-
-### Hide Dialog
-
-Hide the bottom sheet dialog.
-
-
-
-### Register Component As Dialog
-
-Register any component as example a 'button', that will be later your bottom sheet dialog.
-
-
-
-| Params | []() |
-|--------|------|
-|component|Component|
-
-### Register Layout As Dialog
-
-Register any layout as example a 'horizontal arrangement', that will be later your bottom sheet dialog.
-
-
-
-| Params | []() |
-|--------|------|
-|layout|Component|
-
-### Show Dialog
-
-Show the bottom sheet dialog.
-
-
-
-## Properties
-
-### Dim Background
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-If set to true the user will see a dark background effect. Else the background have then no dark background effect.
-
-
-
-
-### Show Status Bar
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The status bar is the topmost bar on the screen. This property reports whether the status bar is visible.
-
-
-
diff --git a/docs/components/layout/views/chat-view.md b/docs/components/layout/views/chat-view.md
deleted file mode 100644
index d1bf7694b..000000000
--- a/docs/components/layout/views/chat-view.md
+++ /dev/null
@@ -1,565 +0,0 @@
-# Chat View
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Layout > Views**|API 21, Android 5.0 Lollipop|3|
-
-## Overview
-
-A visible component that displays a scrollable chat.
-A chat consists of messages sent by two or more than two users where each message can be either simple text or have rich formatting.
-
-??? example "Permissions"
- * [android.permission.INTERNET](https://developer.android.com/reference/android/Manifest.permission.html#INTERNET)
-
-## Events
-
-### Click
-
-Click listener event.
-
-
-
-| Params | []() |
-|--------|------|
-|user Image|Text|
-|title|Text|
-|message|Text|
-|timestamp|Text|
-|id|Number|
-|send As Sender|Boolean|
-|image Path|Text|
-|with Image|Boolean|
-|file Path|Text|
-|file Thumbnail|Text|
-|with File|Boolean|
-
-### Double Tap Click
-
-Double tap click listener event.
-
-
-
-| Params | []() |
-|--------|------|
-|user Image|Text|
-|title|Text|
-|message|Text|
-|timestamp|Text|
-|id|Number|
-|send As Sender|Boolean|
-|image Path|Text|
-|with Image|Boolean|
-|file Path|Text|
-|file Thumbnail|Text|
-|with File|Boolean|
-
-### Long Click
-
-Long click listener event.
-
-
-
-| Params | []() |
-|--------|------|
-|user Image|Text|
-|title|Text|
-|message|Text|
-|timestamp|Text|
-|id|Number|
-|send As Sender|Boolean|
-|image Path|Text|
-|with Image|Boolean|
-|file Path|Text|
-|file Thumbnail|Text|
-|with File|Boolean|
-
-### Swipe
-
-Swipe listener event. The direction value returns '1' for right-to-left swipes, '2' for left-to-right swipes '3' for bottom-to-top swipes and '4' for top-to-bottom swipes
-
-
-
-| Params | []() |
-|--------|------|
-|direction|Number|
-|user Image|Text|
-|title|Text|
-|message|Text|
-|timestamp|Text|
-|id|Number|
-|send As Sender|Boolean|
-|image Path|Text|
-|with Image|Boolean|
-|file Path|Text|
-|file Thumbnail|Text|
-|with File|Boolean|
-
-### User Image Click
-
-Click listener event for the user image.
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-|user Image|Text|
-
-## Methods
-
-### Add Component Message
-
-Add a new simple component message into the chat view. If you do not want a user image or title or message or timestamp, then let the field empty. Make sure that the component is VISIBLE on the screen when you try to add it here. It will be then removed automatic from the screen and only visible again in the chat view.
-
-
-
-| Params | []() |
-|--------|------|
-|user Image|Text|
-|title|Text|
-|message|Text|
-|timestamp|Text|
-|component|Component|
-|id|Number|
-|add As Sender|Boolean|
-
-### Add Date Timestamp
-
-Add a new simple date timestamp into the chat view. You NEED to write a date, else this block will do nothing. This means the field 'date' can NOT be empty. Timestamp messages are not clickable.
-
-
-
-| Params | []() |
-|--------|------|
-|date|Text|
-|text Color|Number|
-|background Color|Number|
-|id|Number|
-
-### Add File Message
-
-Add a new simple file message into the chat view. If you do not want a user image or title or message or timestamp, then let the field empty.
-
-
-
-| Params | []() |
-|--------|------|
-|user Image|Text|
-|title|Text|
-|message|Text|
-|file Path|Text|
-|file Thumbnail|Text|
-|timestamp|Text|
-|id|Number|
-|add As Sender|Boolean|
-
-### Add Image Message
-
-Add a new simple image message into the chat view. If you do not want a user image or title or message or timestamp, then let the field empty.
-
-
-
-| Params | []() |
-|--------|------|
-|user Image|Text|
-|title|Text|
-|message|Text|
-|image|Text|
-|timestamp|Text|
-|id|Number|
-|add As Sender|Boolean|
-
-### Add Message
-
-Add a new simple message into the chat view. If you do not want a user image or title or message or timestamp, then let the field empty.
-
-
-
-| Params | []() |
-|--------|------|
-|user Image|Text|
-|title|Text|
-|message|Text|
-|timestamp|Text|
-|id|Number|
-|add As Sender|Boolean|
-
-### Clear ChatView
-
-Removes all messages and timestamps from the chat view.
-
-
-
-### Count Date Timestamp
-
-Returns: Number
-
-Returns the number of all date timestamps. Normal messages are not included.
-
-
-
-### Count Messages
-
-Returns: Number
-
-Returns the number of all messages. 'Date Timestamp' messages are not included.
-
-
-
-### Get Last Used Id
-
-Returns: Number
-
-Returns the last used id.
-
-
-
-### Remove Message
-
-Remove a message or timestamp from the chat view.
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-
-### Scroll To
-
-Scroll to a specific message in the chat view with the given id.
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-
-### Update Message Background Color
-
-Update the background color of a chat view message.
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-|background Color|Number|
-
-### Update Message Content
-
-Update the message content of a chat view message.
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-|text|Text|
-|text Color|Number|
-
-### Update Timestamp Content
-
-Update the timestamp content of a chat view message.
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-|text|Text|
-|text Color|Number|
-
-### Update Title Content
-
-Update the title content of a chat view message.
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-|text|Text|
-|text Color|Number|
-
-### Update User Image
-
-Update the user image of a chat view message. The image can only be updated if there was before a old image.
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-|user Image|Text|
-
-## Properties
-
-### Automatic Scroll Down
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-If set to true the chat view will scroll down when a new message was send.
-
-
-
-
-### Background Color
-
-ColorDefault: #00000000 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Specifies the component's background color. The background color will not be visible if an Image is being displayed.
-
-
-
-
-### Clickable
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Set the component clickable or not clickable.
-
-
-
-
-### Double Tap
-
-Available as ^^Advanced^^ Property
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Set the component enabled for double taps or not.
-
-
-
-
-### Height
-
-Number :heavy_minus_sign: ReadWrite - Blocks
-
-Specifies the component's vertical height, measured in pixels.
-
-
-
-
-### Height Percent
-
-Number :heavy_minus_sign: Write - Blocks
-
-Specifies the component's vertical height as a percentageof the height of its parent Component.
-
-
-
-### Image
-
-Text :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Specifies the path of the component's image. If there is both an Image and a BackgroundColor, only the Image will be visible.
-
-
-
-
-### Messages Corner Radius
-
-Available as ^^Advanced^^ Property
-
-NumberDefault: 5 :heavy_minus_sign: Write - Designer
-
-Property for MessagesCornerRadius
-
-### Messages Font Size
-
-Available as ^^Advanced^^ Property
-
-NumberDefault: 14.0 :heavy_minus_sign: Write - Designer
-
-Property for MessagesFontSize
-
-### Receivers Background Color
-
-ColorDefault: #CCCCCCFF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Specifies the background color for receiver's messages.
-
-
-
-
-### Receivers Message Color
-
-ColorDefault: #000000FF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Specifies the color for receivers's messages.
-
-
-
-
-### Receivers Title Color
-
-ColorDefault: #000000FF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Specifies the color for receivers's title messages.
-
-
-
-
-### Receivers Typeface Message
-
-NumberDefault: 0 :heavy_minus_sign: Write - Designer
-
-Property for ReceiversTypefaceMessage
-
-### Receivers Typeface Message Import
-
-Available as ^^Advanced^^ Property
-
-Text :heavy_minus_sign: Write - Designer
-
-Property for ReceiversTypefaceMessageImport
-
-### Receivers Typeface Title
-
-NumberDefault: 0 :heavy_minus_sign: Write - Designer
-
-Property for ReceiversTypefaceTitle
-
-### Receivers Typeface Title Import
-
-Available as ^^Advanced^^ Property
-
-Text :heavy_minus_sign: Write - Designer
-
-Property for ReceiversTypefaceTitleImport
-
-### Scrollbar
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Whether to display a scrollbar.
-
-
-
-
-### Senders Background Color
-
-ColorDefault: #8BC24AFF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Specifies the background color for sender's messages.
-
-
-
-
-### Senders Message Color
-
-ColorDefault: #000000FF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Specifies the color for sender's messages.
-
-
-
-
-### Senders Title Color
-
-ColorDefault: #000000FF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Specifies the color for sender's title messages.
-
-
-
-
-### Senders Typeface Message
-
-NumberDefault: 0 :heavy_minus_sign: Write - Designer
-
-Property for SendersTypefaceMessage
-
-### Senders Typeface Message Import
-
-Available as ^^Advanced^^ Property
-
-Text :heavy_minus_sign: Write - Designer
-
-Property for SendersTypefaceMessageImport
-
-### Senders Typeface Title
-
-NumberDefault: 0 :heavy_minus_sign: Write - Designer
-
-Property for SendersTypefaceTitle
-
-### Senders Typeface Title Import
-
-Available as ^^Advanced^^ Property
-
-Text :heavy_minus_sign: Write - Designer
-
-Property for SendersTypefaceTitleImport
-
-### Swipeable
-
-Available as ^^Advanced^^ Property
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-If set to true you can swipe with your fingers through views.
-
-
-
-
-### Timestamp Corner Radius
-
-Available as ^^Advanced^^ Property
-
-NumberDefault: 5 :heavy_minus_sign: Write - Designer
-
-Property for TimestampCornerRadius
-
-### Timestamp Font Size
-
-Available as ^^Advanced^^ Property
-
-NumberDefault: 14.0 :heavy_minus_sign: Write - Designer
-
-Property for TimestampFontSize
-
-### Timestamp Text Color
-
-ColorDefault: #000000FF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Specifies the color for the timestamp.
-
-
-
-
-### Title Font Size
-
-Available as ^^Advanced^^ Property
-
-NumberDefault: 14.0 :heavy_minus_sign: Write - Designer
-
-Property for TitleFontSize
-
-### Visible
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Returns true iff the component is visible.
-
-
-
-
-### Width
-
-Number :heavy_minus_sign: ReadWrite - Blocks
-
-Specifies the component's horizontal width, measured in pixels.
-
-
-
-
-### Width Percent
-
-Number :heavy_minus_sign: Write - Blocks
-
-Specifies the component's horizontal width as a percentageof the Width of its parent Component.
-
-
diff --git a/docs/components/layout/views/gallery-viewer.md b/docs/components/layout/views/gallery-viewer.md
deleted file mode 100644
index d39cea25c..000000000
--- a/docs/components/layout/views/gallery-viewer.md
+++ /dev/null
@@ -1,111 +0,0 @@
-# Gallery Viewer
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Layout > Views**|API 21, Android 5.0 Lollipop|1|
-
-## Overview
-
-A visible component that groups other components in a center-locked, horizontally scrolling list.
-
-## Events
-
-### After Picking
-
-Triggered after an image is selected. It will also report selected image name
-
-
-
-| Params | []() |
-|--------|------|
-|image Name|Text|
-
-## Properties
-
-### Height
-
-Number :heavy_minus_sign: ReadWrite - Blocks
-
-Specifies the component's vertical height, measured in pixels.
-
-
-
-
-### Height Percent
-
-Number :heavy_minus_sign: Write - Blocks
-
-Specifies the component's vertical height as a percentageof the height of its parent Component.
-
-
-
-### Images
-
-List :heavy_minus_sign: ReadWrite - Blocks
-
-Adds a series of images to the gallery
-
-
-
-
-### Padding
-
-NumberDefault: 5 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Sets the spacing (in DIP) between images
-
-
-
-
-### Selection
-
-Text :heavy_minus_sign: ReadWrite - Blocks
-
-Property for Selection
-
-
-
-
-### Thumbnail Height in DIP
-
-NumberDefault: 100 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Sets the height of thumbnail in DIP (Density Independent Pixel)
-
-
-
-
-### Thumbnail Width in DIP
-
-NumberDefault: 100 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Sets the width of thumbnail in DIP (Density Independent Pixel)
-
-
-
-
-### Visible
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Returns true iff the component is visible.
-
-
-
-
-### Width
-
-Number :heavy_minus_sign: ReadWrite - Blocks
-
-Specifies the component's horizontal width, measured in pixels.
-
-
-
-
-### Width Percent
-
-Number :heavy_minus_sign: Write - Blocks
-
-Specifies the component's horizontal width as a percentageof the Width of its parent Component.
-
-
diff --git a/docs/components/layout/views/index.md b/docs/components/layout/views/index.md
deleted file mode 100644
index 959bd2de9..000000000
--- a/docs/components/layout/views/index.md
+++ /dev/null
@@ -1,8 +0,0 @@
-# Overview of Layout > Views
-
-* [Bottom Sheet](bottom-sheet.md)
-* [Chat View](chat-view.md)
-* [Gallery Viewer](gallery-viewer.md)
-* [Surface View](surface-view.md)
-* [View Flipper](view-flipper.md)
-* [Web Viewer](web-viewer.md)
\ No newline at end of file
diff --git a/docs/components/layout/views/surface-view.md b/docs/components/layout/views/surface-view.md
deleted file mode 100644
index 564283163..000000000
--- a/docs/components/layout/views/surface-view.md
+++ /dev/null
@@ -1,202 +0,0 @@
-# Surface View
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Layout > Views**|API 21, Android 5.0 Lollipop|2|
-
-## Overview
-
-A visible component that shows a live preview of the user''s camera as its background.
-
-??? example "Permissions"
- * [android.permission.FLASHLIGHT](https://developer.android.com/reference/android/Manifest.permission.html#FLASHLIGHT)
- * [android.permission.CAMERA](https://developer.android.com/reference/android/Manifest.permission.html#CAMERA)
- * [android.permission.READ_EXTERNAL_STORAGE](https://developer.android.com/reference/android/Manifest.permission.html#READ_EXTERNAL_STORAGE)
- * [android.permission.WRITE_EXTERNAL_STORAGE](https://developer.android.com/reference/android/Manifest.permission.html#WRITE_EXTERNAL_STORAGE)
-
-## Events
-
-### Clicked
-
-Event to detect clicks on the camera preview.
-
-
-
-### Face Detected
-
-Event to detect that there are faces in the front of the camera.
-
-
-
-| Params | []() |
-|--------|------|
-|numbers|Text|
-
-### Got Preview
-
-Event to get the response from the camera preview as image file. The picture is by default in landscape mode. This event will only work if the option "Save Preview As File" is enabled/ true.
-
-
-
-| Params | []() |
-|--------|------|
-|image|Text|
-
-### Long Clicked
-
-Event to detect long clicks on the camera preview.
-
-
-
-### Picture Created
-
-Event to detect that the user has taken a picture from the preview.
-
-
-
-| Params | []() |
-|--------|------|
-|image|Text|
-
-### Preview Paused
-
-Event to detect that the user paused the camera preview.
-
-
-
-### Preview Stoped
-
-Event to detect that the user stopped the camera preview.
-
-
-
-## Methods
-
-### Pause Preview
-
-Pause the camera preview.
-
-
-
-### Start Preview
-
-Start the camera preview.
-
-
-
-### Stop Preview
-
-Stop the camera preview.
-
-
-
-### Take Picture
-
-Take a picture from the camera preview.
-
-
-
-## Properties
-
-### Align Horizontal
-
-NumberDefault: 1 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-A number that encodes how contents of the arrangement are aligned horizontally. The choices are: 1 = left aligned, 2 = right aligned, 3 = horizontally centered. Alignment has no effect if the arrangement's width is automatic.
-
-
-
-
-### Align Vertical
-
-NumberDefault: 1 :heavy_minus_sign: Write - DesignerBlocks
-
-Property for AlignVertical
-
-
-
-### Clickable
-
-BooleanDefault: False :heavy_minus_sign: Write - DesignerBlocks
-
-Set the surface view component clickable or not clickable.
-
-
-
-### Detect Faces
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-If enabled you can detect how many faces are in the front of the camera.
-
-
-
-
-### Flashlight
-
-Boolean :heavy_minus_sign: ReadWrite - Blocks
-
-Turn on or off the device flashlight. The function knows automatic if there is a flash/ torch available.
-
-
-
-
-### Height
-
-Number :heavy_minus_sign: ReadWrite - Blocks
-
-Specifies the component's vertical height, measured in pixels.
-
-
-
-
-### Height Percent
-
-Number :heavy_minus_sign: Write - Blocks
-
-Specifies the component's vertical height as a percentageof the height of its parent Component.
-
-
-
-### Save Preview As File
-
-BooleanDefault: False :heavy_minus_sign: Write - DesignerBlocks
-
-Enable this block to enable the "Got Preview" event to get a image file from the camera preview.
-
-
-
-### Use Back Camera
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-If enabled you will open the back camera for the camera preview, else you open the front camera. The block detect automatic if there is a device camera available or not.
-
-
-
-
-### Visible
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Returns true iff the component is visible.
-
-
-
-
-### Width
-
-Number :heavy_minus_sign: ReadWrite - Blocks
-
-Specifies the component's horizontal width, measured in pixels.
-
-
-
-
-### Width Percent
-
-Number :heavy_minus_sign: Write - Blocks
-
-Specifies the component's horizontal width as a percentageof the Width of its parent Component.
-
-
diff --git a/docs/components/layout/views/view-flipper.md b/docs/components/layout/views/view-flipper.md
deleted file mode 100644
index 4e67de855..000000000
--- a/docs/components/layout/views/view-flipper.md
+++ /dev/null
@@ -1,141 +0,0 @@
-# View Flipper
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Layout > Views**|API 21, Android 5.0 Lollipop|1|
-
-## Overview
-
-A visible component that can animate between two or more layout components that have been added to it.
-
-## Methods
-
-### Add Component To View
-
-Add a component to the view flipper. The first added component will be the first visible component on the screen.
-
-
-
-| Params | []() |
-|--------|------|
-|component|Component|
-
-### Add Images To View
-
-Use this function if you try to create a image view flipper. Please use a 'make a list' block.
-
-
-
-| Params | []() |
-|--------|------|
-|images|List|
-
-### is Flipping
-
-Returns true if the child views are flipping.
-
-
-
-### Show Next
-
-Show the next view.
-
-
-
-### Show Previous
-
-Show the previous view.
-
-
-
-### Start Flipping
-
-Start a timer to cycle through child views.
-
-
-
-### Stop Flipping
-
-No more flips.
-
-
-
-## Properties
-
-### Add Images From String
-
-Text :heavy_minus_sign: Write - DesignerBlocks
-
-Use this function if you try to create a image view flipper. Use images separated by commas such as: Image1.png,Image2.png,Image3.png.
-
-
-
-### Background Color
-
-ColorDefault: #00000000 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Specifies the view flippers background color.
-
-
-
-
-### Flip Interval
-
-NumberDefault: 1000 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-How long to wait before flipping to the next view in milliseconds.
-
-
-
-
-### Height
-
-Number :heavy_minus_sign: ReadWrite - Blocks
-
-Specifies the component's vertical height, measured in pixels.
-
-
-
-
-### Height Percent
-
-Number :heavy_minus_sign: Write - Blocks
-
-Specifies the component's vertical height as a percentageof the height of its parent Component.
-
-
-
-### Swipeable
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-If set to true you can swipe with your fingers through views.
-
-
-
-
-### Visible
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Returns true iff the component is visible.
-
-
-
-
-### Width
-
-Number :heavy_minus_sign: ReadWrite - Blocks
-
-Specifies the component's horizontal width, measured in pixels.
-
-
-
-
-### Width Percent
-
-Number :heavy_minus_sign: Write - Blocks
-
-Specifies the component's horizontal width as a percentageof the Width of its parent Component.
-
-
diff --git a/docs/components/layout/views/web-viewer.md b/docs/components/layout/views/web-viewer.md
deleted file mode 100644
index 5f6e410ca..000000000
--- a/docs/components/layout/views/web-viewer.md
+++ /dev/null
@@ -1,425 +0,0 @@
-# Web Viewer
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Layout > Views**|API 21, Android 5.0 Lollipop|13|
-
-## Overview
-
-Component for viewing Web pages. The Home URL can be specified in the Designer or in the Blocks Editor. The view can be set to follow links when they are tapped, and users can fill in Web forms. Warning: This is not a full browser. For example, pressing the phone's hardware Back key will exit the app, rather than move back in the browser history.
-
-You can use the WebViewer.WebViewString property to communicate between your app and Javascript code running in the Webviewer page. In the app, you get and set WebViewString. In the WebViewer, you include Javascript that references the window.Kodular object, using the methoods _getWebViewString()_ and _setWebViewString(text)_.
-
-For example, if the WebViewer opens to a page that contains the Javascript command
-_document.write("The answer is" + window.Kodular.getWebViewString());_
-and if you set WebView.WebVewString to "hello", then the web page will show
-_The answer is hello_.
-And if the Web page contains Javascript that executes the command
-_window.Kodular.setWebViewString("hello from Javascript")_,
-then the value of the WebViewString property will be
-_hello from Javascript_.
-
-??? example "Permissions"
- * [android.permission.INTERNET](https://developer.android.com/reference/android/Manifest.permission.html#INTERNET)
- * [android.permission.READ_EXTERNAL_STORAGE](https://developer.android.com/reference/android/Manifest.permission.html#READ_EXTERNAL_STORAGE)
- * [android.permission.WRITE_EXTERNAL_STORAGE](https://developer.android.com/reference/android/Manifest.permission.html#WRITE_EXTERNAL_STORAGE)
-
-## Events
-
-### After JS Evaluated
-
-Get the result of the evaluated JS
-
-
-
-| Params | []() |
-|--------|------|
-|result|Text|
-
-### Cookies Removed
-
-This event return true when the cookies have been successfully removed. If the cookies was successfully cleared then the next run returns false as status, if in this time no new cookies was set.
-
-
-
-| Params | []() |
-|--------|------|
-|success|Boolean|
-
-### On Console Message
-
-Get webpage console output
-
-
-
-| Params | []() |
-|--------|------|
-|message|Text|
-|line Number|Number|
-|source Id|Text|
-
-### On Download Start
-
-Event for listening download links.
-
-
-
-| Params | []() |
-|--------|------|
-|url|Text|
-|content Disposition|Text|
-|mime Type|Text|
-|content Length|Number|
-
-### Page Loaded
-
-Triggers when page finished loading
-
-
-
-| Params | []() |
-|--------|------|
-|url|Text|
-
-### Progress Changed
-
-Event to detect that the loading progress has changed.
-
-
-
-| Params | []() |
-|--------|------|
-|progress|Number|
-
-### Web View String Change
-
-When the JavaScript calls AppInventor.setWebViewString this event is run.
-
-
-
-| Params | []() |
-|--------|------|
-|value|Text|
-
-## Methods
-
-### Can Go Back
-
-Returns: Boolean
-
-Returns true if the WebViewer can go back in the history list.
-
-
-
-### Can Go Back Or Forward
-
-Returns: Boolean
-
-Returns true if the WebViewer can go back or forward the number of steps in the history list.
-
-
-
-| Params | []() |
-|--------|------|
-|steps|Number|
-
-### Can Go Forward
-
-Returns: Boolean
-
-Returns true if the WebViewer can go forward in the history list.
-
-
-
-### Clear Caches
-
-Clear WebView caches.
-
-
-
-### Clear Cookies
-
-Start to clear the WebView cookies.
-
-
-
-### Clear Locations
-
-Clear stored location permissions.
-
-
-
-### Evaluate JS
-
-Evaluate JS in the context of the current page
-
-
-
-| Params | []() |
-|--------|------|
-|script|Text|
-
-### Go Back
-
-Go back to the previous page in the history list. Does nothing if there is no previous page.
-
-
-
-### Go Back Or Forward
-
-Go forward or backward a number of steps away from the current page. Steps is negative if backward and positive if forward.
-
-
-
-| Params | []() |
-|--------|------|
-|steps|Number|
-
-### Go Forward
-
-Go forward to the next page in the history list. Does nothing if there is no next page.
-
-
-
-### Go Home
-
-Loads the home URL page. This happens automatically when the home URL is changed.
-
-
-
-### Go To URL
-
-Load the page at the given URL.
-
-
-
-| Params | []() |
-|--------|------|
-|url|Text|
-
-### Load HTML
-
-Load HTML content using Base64-encoded data URI scheme
-
-
-
-| Params | []() |
-|--------|------|
-|html|Text|
-
-### Reload
-
-Reloads the current page
-
-
-
-### Stop Loading
-
-Stops the current load.
-
-
-
-## Properties
-
-### Current Page Title
-
-Text :heavy_minus_sign: Read - Blocks
-
-Title of the page currently viewed
-
-
-
-### Current URL
-
-Text :heavy_minus_sign: Read - Blocks
-
-URL of the page currently viewed. This could be different from the Home URL if new pages were visited by following links.
-
-
-
-### Desktop Mode
-
-Available as ^^Advanced^^ Property
-
-BooleanDefault: false :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Get/Set Desktop mode by altering the user agent string.
-
-
-
-
-### Enable JavaScript
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Enable/Disable JavaScript. Enabled by default
-
-
-
-
-### Follow Links
-
-Available as ^^Advanced^^ Property
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Determines whether to follow links when they are tapped in the WebViewer. If you follow links, you can use GoBack and GoForward to navigate the browser history.
-
-
-
-
-### Height
-
-Number :heavy_minus_sign: ReadWrite - Blocks
-
-Specifies the component's vertical height, measured in pixels.
-
-
-
-
-### Height Percent
-
-Number :heavy_minus_sign: Write - Blocks
-
-Specifies the component's vertical height as a percentageof the height of its parent Component.
-
-
-
-### Home Url
-
-Text :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-URL of the page the WebViewer should initially open to. Setting this will load the page.
-
-
-
-
-### Ignore SSL Errors
-
-Available as ^^Advanced^^ Property
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Determine whether or not to ignore SSL errors. Set to true to ignore errors. Use this to accept self signed certificates from websites.
-
-
-
-
-### Load Images
-
-Available as ^^Advanced^^ Property
-
-BooleanDefault: True :heavy_minus_sign: Read - DesignerBlocks
-
-Whether or not to automatically load images
-
-
-
-### Prompt for Permission
-
-Available as ^^Advanced^^ Property
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-If True, then prompt the user of the WebView to give permission to access the geolocation API. If False, then assume permission is granted.
-
-
-
-
-### Scrollbar
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Whether to display a scrollbar
-
-
-
-
-### Use External Browser
-
-Available as ^^Advanced^^ Property
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Open a link in the webviewer page using the external browser. If true the page will be loaded in the external browser and not in the webviewer itself.
-
-
-
-
-### User Agent
-
-Available as ^^Advanced^^ Property
-
-Text :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Get User Agent
-
-
-
-
-### Uses Location
-
-Available as ^^Advanced^^ Property
-
-BooleanDefault: False :heavy_minus_sign: Write - Designer
-
-Whether or not to give the application permission to use the Javascript geolocation API. This property is available only in the designer.
-
-### Visible
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Returns true iff the component is visible.
-
-
-
-
-### Web View String
-
-Text :heavy_minus_sign: ReadWrite - Blocks
-
-Gets the WebView's String, which is viewable through Javascript in the WebView as the window.AppInventor object
-
-
-
-
-### Width
-
-Number :heavy_minus_sign: ReadWrite - Blocks
-
-Specifies the component's horizontal width, measured in pixels.
-
-
-
-
-### Width Percent
-
-Number :heavy_minus_sign: Write - Blocks
-
-Specifies the component's horizontal width as a percentageof the Width of its parent Component.
-
-
-
-### Zoom Display
-
-BooleanDefault: True :heavy_minus_sign: Read - DesignerBlocks
-
-Show or Hide the zoom display.
-
-
-
-### Zoom Enabled
-
-BooleanDefault: True :heavy_minus_sign: Read - DesignerBlocks
-
-Enable or Disable pinch zooming. This effects both pinch zooming and the zoom controls.
-
-
-
-### Zoom Percent
-
-NumberDefault: 100 :heavy_minus_sign: Read - DesignerBlocks
-
-The zoom of the page in percent %
-
-
diff --git a/docs/components/lego-mindstorms/ev3/ev3-color-sensor.md b/docs/components/lego-mindstorms/ev3/ev3-color-sensor.md
deleted file mode 100644
index 7747d85ae..000000000
--- a/docs/components/lego-mindstorms/ev3/ev3-color-sensor.md
+++ /dev/null
@@ -1,172 +0,0 @@
-# EV3 Color Sensor
-
-{>> Non-Visible component<<}
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**LEGO® MINDSTORMS® > EV3**|API 21, Android 5.0 Lollipop|2|
-
-## Overview
-
-A component that provides a high-level interface to a color sensor on a LEGO MINDSTORMS EV3 robot.
-
-## Events
-
-### Above Range
-
-Light level has gone above the range.
-
-
-
-### Below Range
-
-Light level has gone below the range.
-
-
-
-### Color Changed
-
-Called when the detected color has changed. The ColorChanged event will occur if the Mode property is set to "color" and the ColorChangedEventEnabled property is set to True.
-
-
-
-| Params | []() |
-|--------|------|
-|color Code|Number|
-|color Name|Text|
-
-### Within Range
-
-Light level has gone within the range.
-
-
-
-## Methods
-
-### Get Color Code
-
-Returns: Number
-
-It returns the color code from 0 to 7 corresponding to no color, black, blue, green, yellow, red, white and brown.
-
-
-
-### Get Color Name
-
-Returns: Text
-
-Return the color name in one of "No Color", "Black", "Blue", "Green", "Yellow", "Red", "White", "Brown".
-
-
-
-### Get Light Level
-
-Returns: Number
-
-It returns the light level in percentage, or -1 when the light level cannot be read.
-
-
-
-### Set Ambient Mode
-
-:warning: ==**Deprecated**==
-
-Make the sensor read the light level without reflected light.
-
-
-
-### Set Color Mode
-
-:warning: ==**Deprecated**==
-
-Enter the color detection mode.
-
-
-
-### Set Reflected Mode
-
-:warning: ==**Deprecated**==
-
-Make the sensor read the light level with reflected light.
-
-
-
-## Properties
-
-### Above Range Event Enabled
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Whether the AboveRange event should fire when the light level goes above the TopOfRange.
-
-
-
-
-### Below Range Event Enabled
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Whether the BelowRange event should fire when the light level goes below the BottomOfRange.
-
-
-
-
-### Bluetooth Client
-
-Component :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The BluetoothClient component that should be used for communication.
-
-
-
-
-### Bottom Of Range
-
-NumberDefault: 30 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The bottom of the range used for the BelowRange, WithinRange, and AboveRange events.
-
-
-
-
-### Color Changed Event Enabled
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Whether the ColorChanged event should fire when the Mode property is set to "color" and the detected color changes.
-
-
-
-
-### Mode
-
-TextDefault: reflected :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Specifies the mode of the sensor.
-
-
-
-
-### Sensor Port
-
-TextDefault: 1 :heavy_minus_sign: Write - Designer
-
-The sensor port that the sensor is connected to.
-
-### Top Of Range
-
-NumberDefault: 60 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The top of the range used for the BelowRange, WithinRange, and AboveRange events.
-
-
-
-
-### Within Range Event Enabled
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Whether the WithinRange event should fire when the light level goes between the BottomOfRange and the TopOfRange.
-
-
-
diff --git a/docs/components/lego-mindstorms/ev3/ev3-commands.md b/docs/components/lego-mindstorms/ev3/ev3-commands.md
deleted file mode 100644
index fdb936560..000000000
--- a/docs/components/lego-mindstorms/ev3/ev3-commands.md
+++ /dev/null
@@ -1,90 +0,0 @@
-# EV3 Commands
-
-{>> Non-Visible component<<}
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**LEGO® MINDSTORMS® > EV3**|API 21, Android 5.0 Lollipop|1|
-
-## Overview
-
-A component that provides a low-level interface to a LEGO MINDSTORMS EV3 robot, with functions to send system or direct commands to EV3 robots.
-
-## Methods
-
-### Get Battery Current
-
-Returns: Number
-
-Get the battery current.
-
-
-
-### Get Battery Voltage
-
-Returns: Number
-
-Get the battery voltage.
-
-
-
-### Get Firmware Build
-
-Returns: Text
-
-Get the firmware build on EV3.
-
-
-
-### Get Firmware Version
-
-Returns: Text
-
-Get the firmware version on EV3.
-
-
-
-### Get Hardware Version
-
-Returns: Text
-
-Get the hardware version of EV3.
-
-
-
-### Get OS Build
-
-Returns: Text
-
-Get the OS build on EV3.
-
-
-
-### Get OS Version
-
-Returns: Text
-
-Get the OS version on EV3.
-
-
-
-### Keep Alive
-
-Keep the EV3 brick from shutdown for a period of time.
-
-
-
-| Params | []() |
-|--------|------|
-|minutes|Number|
-
-## Properties
-
-### Bluetooth Client
-
-Component :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The BluetoothClient component that should be used for communication.
-
-
-
diff --git a/docs/components/lego-mindstorms/ev3/ev3-gyro-sensor.md b/docs/components/lego-mindstorms/ev3/ev3-gyro-sensor.md
deleted file mode 100644
index 811e348cc..000000000
--- a/docs/components/lego-mindstorms/ev3/ev3-gyro-sensor.md
+++ /dev/null
@@ -1,84 +0,0 @@
-# EV3 Gyro Sensor
-
-{>> Non-Visible component<<}
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**LEGO® MINDSTORMS® > EV3**|API 21, Android 5.0 Lollipop|2|
-
-## Overview
-
-A component that provides a high-level interface to a gyro sensor on a LEGO MINDSTORMS EV3 robot.
-
-## Events
-
-### Sensor Value Changed
-
-Called then the sensor value changed.
-
-
-
-| Params | []() |
-|--------|------|
-|sensor Value|Number|
-
-## Methods
-
-### Get Sensor Value
-
-Returns: Number
-
-Returns the current angle or rotation speed based on current mode, or -1 if the value cannot be read from sensor.
-
-
-
-### Set Angle Mode
-
-:warning: ==**Deprecated**==
-
-Measures the orientation of the sensor.
-
-
-
-### Set Rate Mode
-
-:warning: ==**Deprecated**==
-
-Measures the angular velocity of the sensor.
-
-
-
-## Properties
-
-### Bluetooth Client
-
-Component :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The BluetoothClient component that should be used for communication.
-
-
-
-
-### Mode
-
-TextDefault: angle :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Specifies the mode of the sensor.
-
-
-
-
-### Sensor Port
-
-TextDefault: 1 :heavy_minus_sign: Write - Designer
-
-The sensor port that the sensor is connected to.
-
-### Sensor Value Changed Event Enabled
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Whether the SensorValueChanged event should fire when the sensor value changed.
-
-
-
diff --git a/docs/components/lego-mindstorms/ev3/ev3-motors.md b/docs/components/lego-mindstorms/ev3/ev3-motors.md
deleted file mode 100644
index c1b9621a7..000000000
--- a/docs/components/lego-mindstorms/ev3/ev3-motors.md
+++ /dev/null
@@ -1,210 +0,0 @@
-# EV3 Motors
-
-{>> Non-Visible component<<}
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**LEGO® MINDSTORMS® > EV3**|API 21, Android 5.0 Lollipop|1|
-
-## Overview
-
-A component that provides both high- and low-level interfaces to a LEGO MINDSTORMS EV3 robot, with functions that can control the motors.
-
-## Events
-
-### Tacho Count Changed
-
-Called when the tacho count has changed.
-
-
-
-| Params | []() |
-|--------|------|
-|tacho Count|Number|
-
-## Methods
-
-### Get Tacho Count
-
-Returns: Number
-
-Get the current tacho count.
-
-
-
-### Reset Tacho Count
-
-Set the current tacho count to zero.
-
-
-
-### Rotate In Distance
-
-Rotate the motors in a distance.
-
-
-
-| Params | []() |
-|--------|------|
-|power|Number|
-|distance|Number|
-|use Brake|Boolean|
-
-### Rotate In Duration
-
-Rotate the motors in a period of time.
-
-
-
-| Params | []() |
-|--------|------|
-|power|Number|
-|milliseconds|Number|
-|use Brake|Boolean|
-
-### Rotate In Tacho Counts
-
-Rotate the motors in a number of tacho counts.
-
-
-
-| Params | []() |
-|--------|------|
-|power|Number|
-|tacho Counts|Number|
-|use Brake|Boolean|
-
-### Rotate Indefinitely
-
-Start to rotate the motors.
-
-
-
-| Params | []() |
-|--------|------|
-|power|Number|
-
-### Rotate Sync In Distance
-
-Rotate the motors at the same speed for a distance in cm.
-
-
-
-| Params | []() |
-|--------|------|
-|power|Number|
-|distance|Number|
-|turn Ratio|Number|
-|use Brake|Boolean|
-
-### Rotate Sync In Duration
-
-Rotate the motors at the same speed in a period of time.
-
-
-
-| Params | []() |
-|--------|------|
-|power|Number|
-|milliseconds|Number|
-|turn Ratio|Number|
-|use Brake|Boolean|
-
-### Rotate Sync In Tacho Counts
-
-Rotate the motors at the same speed in a number of tacho counts.
-
-
-
-| Params | []() |
-|--------|------|
-|power|Number|
-|tacho Counts|Number|
-|turn Ratio|Number|
-|use Brake|Boolean|
-
-### Rotate Sync Indefinitely
-
-Start to rotate the motors at the same speed.
-
-
-
-| Params | []() |
-|--------|------|
-|power|Number|
-|turn Ratio|Number|
-
-### Stop
-
-Stop the motors of the robot.
-
-
-
-| Params | []() |
-|--------|------|
-|use Brake|Boolean|
-
-### Toggle Direction
-
-Toggle the direction of motors.
-
-
-
-## Properties
-
-### Bluetooth Client
-
-Component :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The BluetoothClient component that should be used for communication.
-
-
-
-
-### Enable Speed Regulation
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Specifies whether to keep motor rotation at constant speed.
-
-
-
-
-### Motor Ports
-
-TextDefault: ABC :heavy_minus_sign: Write - Designer
-
-The motor ports that the motors are connected to. The ports are specified by a sequence of port letters.
-
-### Reverse Direction
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Set whether the direction of motors is reversed or not.
-
-
-
-
-### Stop Before Disconnect
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Whether to stop the motor before disconnecting.
-
-
-
-
-### Tacho Count Changed Event Enabled
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Whether the TachoCountChanged event should fire when the angle is changed.
-
-
-
-
-### Wheel Diameter
-
-NumberDefault: 4.32 :heavy_minus_sign: Write - Designer
-
-Specifies the diameter of the wheels attached on motors.
diff --git a/docs/components/lego-mindstorms/ev3/ev3-sound.md b/docs/components/lego-mindstorms/ev3/ev3-sound.md
deleted file mode 100644
index 415fb0538..000000000
--- a/docs/components/lego-mindstorms/ev3/ev3-sound.md
+++ /dev/null
@@ -1,42 +0,0 @@
-# EV3 Sound
-
-{>> Non-Visible component<<}
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**LEGO® MINDSTORMS® > EV3**|API 21, Android 5.0 Lollipop|1|
-
-## Overview
-
-A component that provides a high-level interface to sound functionalities on LEGO MINDSTORMS EV3 robot.
-
-## Methods
-
-### Play Tone
-
-Make the robot play a tone.
-
-
-
-| Params | []() |
-|--------|------|
-|volume|Number|
-|frequency|Number|
-|milliseconds|Number|
-
-### Stop Sound
-
-Stop any sound on the robot.
-
-
-
-## Properties
-
-### Bluetooth Client
-
-Component :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The BluetoothClient component that should be used for communication.
-
-
-
diff --git a/docs/components/lego-mindstorms/ev3/ev3-touch-sensor.md b/docs/components/lego-mindstorms/ev3/ev3-touch-sensor.md
deleted file mode 100644
index 7c7f87bd6..000000000
--- a/docs/components/lego-mindstorms/ev3/ev3-touch-sensor.md
+++ /dev/null
@@ -1,70 +0,0 @@
-# EV3 Touch Sensor
-
-{>> Non-Visible component<<}
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**LEGO® MINDSTORMS® > EV3**|API 21, Android 5.0 Lollipop|1|
-
-## Overview
-
-A component that provides a high-level interface to a touch sensor on a LEGO MINDSTORMS EV3 robot.
-
-## Events
-
-### Pressed
-
-Called when the touch sensor is pressed.
-
-
-
-### Released
-
-Called when the touch sensor is pressed.
-
-
-
-## Methods
-
-### Is Pressed
-
-Returns: Boolean
-
-Returns true if the touch sensor is pressed.
-
-
-
-## Properties
-
-### Bluetooth Client
-
-Component :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The BluetoothClient component that should be used for communication.
-
-
-
-
-### Pressed Event Enabled
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Specifies whether the Pressed event should fire when the touch sensor ispressed.
-
-
-
-
-### Released Event Enabled
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Whether the Released event should fire when the touch sensor is released.
-
-
-
-
-### Sensor Port
-
-TextDefault: 1 :heavy_minus_sign: Write - Designer
-
-The sensor port that the sensor is connected to.
diff --git a/docs/components/lego-mindstorms/ev3/ev3-ui.md b/docs/components/lego-mindstorms/ev3/ev3-ui.md
deleted file mode 100644
index 4fe924f27..000000000
--- a/docs/components/lego-mindstorms/ev3/ev3-ui.md
+++ /dev/null
@@ -1,103 +0,0 @@
-# EV3 UI
-
-{>> Non-Visible component<<}
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**LEGO® MINDSTORMS® > EV3**|API 21, Android 5.0 Lollipop|1|
-
-## Overview
-
-A component that provides a high-level interface to a LEGO MINDSTORMS EV3 robot, with functions to draw graphs on EV3 screen.
-
-## Methods
-
-### Draw Circle
-
-Draw a circle on the screen.
-
-
-
-| Params | []() |
-|--------|------|
-|color|Number|
-|x|Number|
-|y|Number|
-|radius|Number|
-|fill|Boolean|
-
-### Draw Icon
-
-Draw a built-in icon on screen.
-
-
-
-| Params | []() |
-|--------|------|
-|color|Number|
-|x|Number|
-|y|Number|
-|type|Number|
-|no|Number|
-
-### Draw Line
-
-Draw a line on the screen.
-
-
-
-| Params | []() |
-|--------|------|
-|color|Number|
-|x1|Number|
-|y1|Number|
-|x2|Number|
-|y2|Number|
-
-### Draw Point
-
-Draw a point on the screen.
-
-
-
-| Params | []() |
-|--------|------|
-|color|Number|
-|x|Number|
-|y|Number|
-
-### Draw Rect
-
-Draw a rectangle on the screen.
-
-
-
-| Params | []() |
-|--------|------|
-|color|Number|
-|x|Number|
-|y|Number|
-|width|Number|
-|height|Number|
-|fill|Boolean|
-
-### Fill Screen
-
-Fill the screen with a color.
-
-
-
-| Params | []() |
-|--------|------|
-|color|Number|
-
-## Properties
-
-### Bluetooth Client
-
-Component :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The BluetoothClient component that should be used for communication.
-
-
-
diff --git a/docs/components/lego-mindstorms/ev3/ev3-ultrasonic-sensor.md b/docs/components/lego-mindstorms/ev3/ev3-ultrasonic-sensor.md
deleted file mode 100644
index 6502bada0..000000000
--- a/docs/components/lego-mindstorms/ev3/ev3-ultrasonic-sensor.md
+++ /dev/null
@@ -1,128 +0,0 @@
-# EV3 Ultrasonic Sensor
-
-{>> Non-Visible component<<}
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**LEGO® MINDSTORMS® > EV3**|API 21, Android 5.0 Lollipop|2|
-
-## Overview
-
-A component that provides a high-level interface to an ultrasonic sensor on a LEGO MINDSTORMS EV3 robot.
-
-## Events
-
-### Above Range
-
-Called when the detected distance has gone above the range.
-
-
-
-### Below Range
-
-Called when the detected distance has gone below the range.
-
-
-
-### Within Range
-
-Called when the detected distance has gone within the range.
-
-
-
-## Methods
-
-### Get Distance
-
-Returns: Number
-
-Returns the current distance in centimeters as a value between 0 and 254, or -1 if the distance can not be read.
-
-
-
-### Set CM Unit
-
-:warning: ==**Deprecated**==
-
-Measure the distance in centimeters.
-
-
-
-### Set Inch Unit
-
-:warning: ==**Deprecated**==
-
-Measure the distance in inches.
-
-
-
-## Properties
-
-### Above Range Event Enabled
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Whether the AboveRange event should fire when the distance goes above the TopOfRange.
-
-
-
-
-### Below Range Event Enabled
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Whether the BelowRange event should fire when the distance goes below the BottomOfRange.
-
-
-
-
-### Bluetooth Client
-
-Component :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The BluetoothClient component that should be used for communication.
-
-
-
-
-### Bottom Of Range
-
-NumberDefault: 30 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The bottom of the range used for the BelowRange, WithinRange, and AboveRange events.
-
-
-
-
-### Sensor Port
-
-TextDefault: 1 :heavy_minus_sign: Write - Designer
-
-The sensor port that the sensor is connected to.
-
-### Top Of Range
-
-NumberDefault: 90 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The top of the range used for the BelowRange, WithinRange, and AboveRange events.
-
-
-
-
-### Unit
-
-TextDefault: cm :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Specifies the unit of distance.
-
-
-
-
-### Within Range Event Enabled
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Whether the WithinRange event should fire when the distance goes between the BottomOfRange and the TopOfRange.
-
-
-
diff --git a/docs/components/lego-mindstorms/ev3/index.md b/docs/components/lego-mindstorms/ev3/index.md
deleted file mode 100644
index 9d004be79..000000000
--- a/docs/components/lego-mindstorms/ev3/index.md
+++ /dev/null
@@ -1,10 +0,0 @@
-# Overview of LEGO® MINDSTORMS® > EV3
-
-* [EV3 Color Sensor](ev3-color-sensor.md)
-* [EV3 Commands](ev3-commands.md)
-* [EV3 Gyro Sensor](ev3-gyro-sensor.md)
-* [EV3 Motors](ev3-motors.md)
-* [EV3 Sound](ev3-sound.md)
-* [EV3 Touch Sensor](ev3-touch-sensor.md)
-* [EV3 UI](ev3-ui.md)
-* [EV3 Ultrasonic Sensor](ev3-ultrasonic-sensor.md)
\ No newline at end of file
diff --git a/docs/components/lego-mindstorms/index.md b/docs/components/lego-mindstorms/index.md
deleted file mode 100644
index 3ef987d3e..000000000
--- a/docs/components/lego-mindstorms/index.md
+++ /dev/null
@@ -1,4 +0,0 @@
-# Overview of LEGO® MINDSTORMS®
-
-* [LEGO® MINDSTORMS® > EV3](ev3/index.md)
-* [LEGO® MINDSTORMS® > NXT](nxt/index.md)
\ No newline at end of file
diff --git a/docs/components/lego-mindstorms/nxt/index.md b/docs/components/lego-mindstorms/nxt/index.md
deleted file mode 100644
index 5e046a7e5..000000000
--- a/docs/components/lego-mindstorms/nxt/index.md
+++ /dev/null
@@ -1,9 +0,0 @@
-# Overview of LEGO® MINDSTORMS® > NXT
-
-* [NXT Color Sensor](nxt-color-sensor.md)
-* [NXT Direct Commands](nxt-direct-commands.md)
-* [NXT Drive](nxt-drive.md)
-* [NXT Light Sensor](nxt-light-sensor.md)
-* [NXT Sound Sensor](nxt-sound-sensor.md)
-* [NXT Touch Sensor](nxt-touch-sensor.md)
-* [NXT Ultrasonic Sensor](nxt-ultrasonic-sensor.md)
\ No newline at end of file
diff --git a/docs/components/lego-mindstorms/nxt/nxt-color-sensor.md b/docs/components/lego-mindstorms/nxt/nxt-color-sensor.md
deleted file mode 100644
index e5711b0c9..000000000
--- a/docs/components/lego-mindstorms/nxt/nxt-color-sensor.md
+++ /dev/null
@@ -1,145 +0,0 @@
-# NXT Color Sensor
-
-{>> Non-Visible component<<}
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**LEGO® MINDSTORMS® > NXT**|API 21, Android 5.0 Lollipop|1|
-
-## Overview
-
-A component that provides a high-level interface to a color sensor on a LEGO MINDSTORMS NXT robot.
-
-## Events
-
-### Above Range
-
-Light level has gone above the range. The AboveRange event will not occur if the DetectColor property is set to True or if the AboveRangeEventEnabled property is set to False.
-
-
-
-### Below Range
-
-Light level has gone below the range. The BelowRange event will not occur if the DetectColor property is set to True or if the BelowRangeEventEnabled property is set to False.
-
-
-
-### Color Changed
-
-Detected color has changed. The ColorChanged event will not occur if the DetectColor property is set to False or if the ColorChangedEventEnabled property is set to False.
-
-
-
-| Params | []() |
-|--------|------|
-|color|Number|
-
-### Within Range
-
-Light level has gone within the range. The WithinRange event will not occur if the DetectColor property is set to True or if the WithinRangeEventEnabled property is set to False.
-
-
-
-## Methods
-
-### Get Color
-
-Returns: Number
-
-Returns the current detected color, or the color None if the color can not be read or if the DetectColor property is set to False.
-
-
-
-### Get Light Level
-
-Returns: Number
-
-Returns the current light level as a value between 0 and 1023, or -1 if the light level can not be read or if the DetectColor property is set to True.
-
-
-
-## Properties
-
-### Above Range Event Enabled
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Whether the AboveRange event should fire when the DetectColor property is set to False and the light level goes above the TopOfRange.
-
-
-
-
-### Below Range Event Enabled
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Whether the BelowRange event should fire when the DetectColor property is set to False and the light level goes below the BottomOfRange.
-
-
-
-
-### Bluetooth Client
-
-Component :heavy_minus_sign: Write - Designer
-
-The BluetoothClient component that should be used for communication.
-
-### Bottom Of Range
-
-NumberDefault: 256 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The bottom of the range used for the BelowRange, WithinRange, and AboveRange events.
-
-
-
-
-### Color Changed Event Enabled
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Whether the ColorChanged event should fire when the DetectColor property is set to True and the detected color changes.
-
-
-
-
-### Detect Color
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Whether the sensor should detect color or light. True indicates that the sensor should detect color; False indicates that the sensor should detect light. If the DetectColor property is set to True, the BelowRange, WithinRange, and AboveRange events will not occur and the sensor will not generate color. If the DetectColor property is set to False, the ColorChanged event will not occur.
-
-
-
-
-### Generate Color
-
-NumberDefault: #FFFFFF00 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The color that should generated by the sensor. Only None, Red, Green, or Blue are valid values. The sensor will not generate color when the DetectColor property is set to True.
-
-
-
-
-### Sensor Port
-
-TextDefault: 3 :heavy_minus_sign: Write - Designer
-
-The sensor port that the sensor is connected to.
-
-### Top Of Range
-
-NumberDefault: 767 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The top of the range used for the BelowRange, WithinRange, and AboveRange events.
-
-
-
-
-### Within Range Event Enabled
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Whether the WithinRange event should fire when the DetectColor property is set to False and the light level goes between the BottomOfRange and the TopOfRange.
-
-
-
diff --git a/docs/components/lego-mindstorms/nxt/nxt-direct-commands.md b/docs/components/lego-mindstorms/nxt/nxt-direct-commands.md
deleted file mode 100644
index 0c06121a0..000000000
--- a/docs/components/lego-mindstorms/nxt/nxt-direct-commands.md
+++ /dev/null
@@ -1,279 +0,0 @@
-# NXT Direct Commands
-
-{>> Non-Visible component<<}
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**LEGO® MINDSTORMS® > NXT**|API 21, Android 5.0 Lollipop|2|
-
-## Overview
-
-A component that provides a low-level interface to a LEGO MINDSTORMS NXT robot, with functions to send NXT Direct Commands.
-
-## Methods
-
-### Delete File
-
-Delete a file on the robot.
-
-
-
-| Params | []() |
-|--------|------|
-|file Name|Text|
-
-### Download File
-
-Download a file to the robot.
-
-
-
-| Params | []() |
-|--------|------|
-|source|Text|
-|destination|Text|
-
-### Get Battery Level
-
-Returns: Number
-
-Get the battery level for the robot. Returns the voltage in millivolts.
-
-
-
-### Get Brick Name
-
-Returns: Text
-
-Get the brick name of the robot.
-
-
-
-### Get Current Program Name
-
-Returns: Text
-
-Get the name of currently running program on the robot.
-
-
-
-### Get Firmware Version
-
-Returns: List
-
-Get the firmware and protocol version numbers for the robot as a list where the first element is the firmware version number and the second element is the protocol version number.
-
-
-
-### Get Input Values
-
-Returns: List
-
-Reads the values of an input sensor on the robot. Assumes sensor type has been configured via SetInputMode.
-
-
-
-| Params | []() |
-|--------|------|
-|sensor Port Letter|Text|
-
-### Get Output State
-
-Returns: List
-
-Reads the output state of a motor on the robot.
-
-
-
-| Params | []() |
-|--------|------|
-|motor Port Letter|Text|
-
-### Keep Alive
-
-Returns: Number
-
-Keep Alive. Returns the current sleep time limit in milliseconds.
-
-
-
-### List Files
-
-Returns: List
-
-Returns a list containing the names of matching files found on the robot.
-
-
-
-| Params | []() |
-|--------|------|
-|wildcard|Text|
-
-### Ls Get Status
-
-Returns: Number
-
-Returns the count of available bytes to read.
-
-
-
-| Params | []() |
-|--------|------|
-|sensor Port Letter|Text|
-
-### Ls Read
-
-Returns: List
-
-Reads unsigned low speed data from an input sensor on the robot. Assumes sensor type has been configured via SetInputMode.
-
-
-
-| Params | []() |
-|--------|------|
-|sensor Port Letter|Text|
-
-### Ls Write
-
-Writes low speed data to an input sensor on the robot. Assumes sensor type has been configured via SetInputMode.
-
-
-
-| Params | []() |
-|--------|------|
-|sensor Port Letter|Text|
-|list|List|
-|rx Data Length|Number|
-
-### Message Read
-
-Returns: Text
-
-Read a message from a mailbox (1-10) on the robot.
-
-
-
-| Params | []() |
-|--------|------|
-|mailbox|Number|
-
-### Message Write
-
-Write a message to a mailbox (1-10) on the robot.
-
-
-
-| Params | []() |
-|--------|------|
-|mailbox|Number|
-|message|Text|
-
-### Play Sound File
-
-Play a sound file on the robot.
-
-
-
-| Params | []() |
-|--------|------|
-|file Name|Text|
-
-### Play Tone
-
-Make the robot play a tone.
-
-
-
-| Params | []() |
-|--------|------|
-|frequency Hz|Number|
-|duration Ms|Number|
-
-### Reset Input Scaled Value
-
-Reset the scaled value of an input sensor on the robot.
-
-
-
-| Params | []() |
-|--------|------|
-|sensor Port Letter|Text|
-
-### Reset Motor Position
-
-Reset motor position.
-
-
-
-| Params | []() |
-|--------|------|
-|motor Port Letter|Text|
-|relative|Boolean|
-
-### Set Brick Name
-
-Set the brick name of the robot.
-
-
-
-| Params | []() |
-|--------|------|
-|name|Text|
-
-### Set Input Mode
-
-Configure an input sensor on the robot.
-
-
-
-| Params | []() |
-|--------|------|
-|sensor Port Letter|Text|
-|sensor Type|Number|
-|sensor Mode|Number|
-
-### Set Output State
-
-Sets the output state of a motor on the robot.
-
-
-
-| Params | []() |
-|--------|------|
-|motor Port Letter|Text|
-|power|Number|
-|mode|Number|
-|regulation Mode|Number|
-|turn Ratio|Number|
-|run State|Number|
-|tacho Limit|Number|
-
-### Start Program
-
-Start execution of a previously downloaded program on the robot.
-
-
-
-| Params | []() |
-|--------|------|
-|program Name|Text|
-
-### Stop Program
-
-Stop execution of the currently running program on the robot.
-
-
-
-### Stop Sound Playback
-
-Stop sound playback.
-
-
-
-## Properties
-
-### Bluetooth Client
-
-Component :heavy_minus_sign: Write - Designer
-
-The BluetoothClient component that should be used for communication.
diff --git a/docs/components/lego-mindstorms/nxt/nxt-drive.md b/docs/components/lego-mindstorms/nxt/nxt-drive.md
deleted file mode 100644
index 696934b72..000000000
--- a/docs/components/lego-mindstorms/nxt/nxt-drive.md
+++ /dev/null
@@ -1,110 +0,0 @@
-# NXT Drive
-
-{>> Non-Visible component<<}
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**LEGO® MINDSTORMS® > NXT**|API 21, Android 5.0 Lollipop|1|
-
-## Overview
-
-A component that provides a high-level interface to a LEGO MINDSTORMS NXT robot, with functions that can move and turn the robot.
-
-## Methods
-
-### Move Backward
-
-Move the robot backward the given distance, with the specified percentage of maximum power, by powering both drive motors backward.
-
-
-
-| Params | []() |
-|--------|------|
-|power|Number|
-|distance|Number|
-
-### Move Backward Indefinitely
-
-Move the robot backward indefinitely, with the specified percentage of maximum power, by powering both drive motors backward.
-
-
-
-| Params | []() |
-|--------|------|
-|power|Number|
-
-### Move Forward
-
-Move the robot forward the given distance, with the specified percentage of maximum power, by powering both drive motors forward.
-
-
-
-| Params | []() |
-|--------|------|
-|power|Number|
-|distance|Number|
-
-### Move Forward Indefinitely
-
-Move the robot forward indefinitely, with the specified percentage of maximum power, by powering both drive motors forward.
-
-
-
-| Params | []() |
-|--------|------|
-|power|Number|
-
-### Stop
-
-Stop the drive motors of the robot.
-
-
-
-### Turn Clockwise Indefinitely
-
-Turn the robot clockwise indefinitely, with the specified percentage of maximum power, by powering the left drive motor forward and the right drive motor backward.
-
-
-
-| Params | []() |
-|--------|------|
-|power|Number|
-
-### Turn Counter Clockwise Indefinitely
-
-Turn the robot counterclockwise indefinitely, with the specified percentage of maximum power, by powering the right drive motor forward and the left drive motor backward.
-
-
-
-| Params | []() |
-|--------|------|
-|power|Number|
-
-## Properties
-
-### Bluetooth Client
-
-Component :heavy_minus_sign: Write - Designer
-
-The BluetoothClient component that should be used for communication.
-
-### Drive Motors
-
-TextDefault: CB :heavy_minus_sign: Write - Designer
-
-The motor ports that are used for driving: the left wheel's motor port followed by the right wheel's motor port.
-
-### Stop Before Disconnect
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Whether to stop the drive motors before disconnecting.
-
-
-
-
-### Wheel Diameter
-
-NumberDefault: 4.32 :heavy_minus_sign: Write - Designer
-
-The diameter of the wheels used for driving.
diff --git a/docs/components/lego-mindstorms/nxt/nxt-light-sensor.md b/docs/components/lego-mindstorms/nxt/nxt-light-sensor.md
deleted file mode 100644
index b135e4b12..000000000
--- a/docs/components/lego-mindstorms/nxt/nxt-light-sensor.md
+++ /dev/null
@@ -1,109 +0,0 @@
-# NXT Light Sensor
-
-{>> Non-Visible component<<}
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**LEGO® MINDSTORMS® > NXT**|API 21, Android 5.0 Lollipop|1|
-
-## Overview
-
-A component that provides a high-level interface to a light sensor on a LEGO MINDSTORMS NXT robot.
-
-## Events
-
-### Above Range
-
-Light level has gone above the range.
-
-
-
-### Below Range
-
-Light level has gone below the range.
-
-
-
-### Within Range
-
-Light level has gone within the range.
-
-
-
-## Methods
-
-### Get Light Level
-
-Returns: Number
-
-Returns the current light level as a value between 0 and 1023, or -1 if the light level can not be read.
-
-
-
-## Properties
-
-### Above Range Event Enabled
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Whether the AboveRange event should fire when the light level goes above the TopOfRange.
-
-
-
-
-### Below Range Event Enabled
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Whether the BelowRange event should fire when the light level goes below the BottomOfRange.
-
-
-
-
-### Bluetooth Client
-
-Component :heavy_minus_sign: Write - Designer
-
-The BluetoothClient component that should be used for communication.
-
-### Bottom Of Range
-
-NumberDefault: 256 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The bottom of the range used for the BelowRange, WithinRange, and AboveRange events.
-
-
-
-
-### Generate Light
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Whether the light sensor should generate light.
-
-
-
-
-### Sensor Port
-
-TextDefault: 3 :heavy_minus_sign: Write - Designer
-
-The sensor port that the sensor is connected to.
-
-### Top Of Range
-
-NumberDefault: 767 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The top of the range used for the BelowRange, WithinRange, and AboveRange events.
-
-
-
-
-### Within Range Event Enabled
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Whether the WithinRange event should fire when the light level goes between the BottomOfRange and the TopOfRange.
-
-
-
diff --git a/docs/components/lego-mindstorms/nxt/nxt-sound-sensor.md b/docs/components/lego-mindstorms/nxt/nxt-sound-sensor.md
deleted file mode 100644
index ac3d82bf9..000000000
--- a/docs/components/lego-mindstorms/nxt/nxt-sound-sensor.md
+++ /dev/null
@@ -1,100 +0,0 @@
-# NXT Sound Sensor
-
-{>> Non-Visible component<<}
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**LEGO® MINDSTORMS® > NXT**|API 21, Android 5.0 Lollipop|1|
-
-## Overview
-
-A component that provides a high-level interface to a sound sensor on a LEGO MINDSTORMS NXT robot.
-
-## Events
-
-### Above Range
-
-Sound level has gone above the range.
-
-
-
-### Below Range
-
-Sound level has gone below the range.
-
-
-
-### Within Range
-
-Sound level has gone within the range.
-
-
-
-## Methods
-
-### Get Sound Level
-
-Returns: Number
-
-Returns the current sound level as a value between 0 and 1023, or -1 if the sound level can not be read.
-
-
-
-## Properties
-
-### Above Range Event Enabled
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Whether the AboveRange event should fire when the sound level goes above the TopOfRange.
-
-
-
-
-### Below Range Event Enabled
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Whether the BelowRange event should fire when the sound level goes below the BottomOfRange.
-
-
-
-
-### Bluetooth Client
-
-Component :heavy_minus_sign: Write - Designer
-
-The BluetoothClient component that should be used for communication.
-
-### Bottom Of Range
-
-NumberDefault: 256 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The bottom of the range used for the BelowRange, WithinRange, and AboveRange events.
-
-
-
-
-### Sensor Port
-
-TextDefault: 2 :heavy_minus_sign: Write - Designer
-
-The sensor port that the sensor is connected to.
-
-### Top Of Range
-
-NumberDefault: 767 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The top of the range used for the BelowRange, WithinRange, and AboveRange events.
-
-
-
-
-### Within Range Event Enabled
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Whether the WithinRange event should fire when the sound level goes between the BottomOfRange and the TopOfRange.
-
-
-
diff --git a/docs/components/lego-mindstorms/nxt/nxt-touch-sensor.md b/docs/components/lego-mindstorms/nxt/nxt-touch-sensor.md
deleted file mode 100644
index e66b8b3df..000000000
--- a/docs/components/lego-mindstorms/nxt/nxt-touch-sensor.md
+++ /dev/null
@@ -1,67 +0,0 @@
-# NXT Touch Sensor
-
-{>> Non-Visible component<<}
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**LEGO® MINDSTORMS® > NXT**|API 21, Android 5.0 Lollipop|1|
-
-## Overview
-
-A component that provides a high-level interface to a touch sensor on a LEGO MINDSTORMS NXT robot.
-
-## Events
-
-### Pressed
-
-Touch sensor has been pressed.
-
-
-
-### Released
-
-Touch sensor has been released.
-
-
-
-## Methods
-
-### Is Pressed
-
-Returns: Boolean
-
-Returns true if the touch sensor is pressed.
-
-
-
-## Properties
-
-### Bluetooth Client
-
-Component :heavy_minus_sign: Write - Designer
-
-The BluetoothClient component that should be used for communication.
-
-### Pressed Event Enabled
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Whether the Pressed event should fire when the touch sensor is pressed.
-
-
-
-
-### Released Event Enabled
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Whether the Released event should fire when the touch sensor is released.
-
-
-
-
-### Sensor Port
-
-TextDefault: 1 :heavy_minus_sign: Write - Designer
-
-The sensor port that the sensor is connected to.
diff --git a/docs/components/lego-mindstorms/nxt/nxt-ultrasonic-sensor.md b/docs/components/lego-mindstorms/nxt/nxt-ultrasonic-sensor.md
deleted file mode 100644
index f87801b65..000000000
--- a/docs/components/lego-mindstorms/nxt/nxt-ultrasonic-sensor.md
+++ /dev/null
@@ -1,100 +0,0 @@
-# NXT Ultrasonic Sensor
-
-{>> Non-Visible component<<}
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**LEGO® MINDSTORMS® > NXT**|API 21, Android 5.0 Lollipop|1|
-
-## Overview
-
-A component that provides a high-level interface to an ultrasonic sensor on a LEGO MINDSTORMS NXT robot.
-
-## Events
-
-### Above Range
-
-Distance has gone above the range.
-
-
-
-### Below Range
-
-Distance has gone below the range.
-
-
-
-### Within Range
-
-Distance has gone within the range.
-
-
-
-## Methods
-
-### Get Distance
-
-Returns: Number
-
-Returns the current distance in centimeters as a value between 0 and 254, or -1 if the distance can not be read.
-
-
-
-## Properties
-
-### Above Range Event Enabled
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Whether the AboveRange event should fire when the distance goes above the TopOfRange.
-
-
-
-
-### Below Range Event Enabled
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Whether the BelowRange event should fire when the distance goes below the BottomOfRange.
-
-
-
-
-### Bluetooth Client
-
-Component :heavy_minus_sign: Write - Designer
-
-The BluetoothClient component that should be used for communication.
-
-### Bottom Of Range
-
-NumberDefault: 30 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The bottom of the range used for the BelowRange, WithinRange, and AboveRange events.
-
-
-
-
-### Sensor Port
-
-TextDefault: 4 :heavy_minus_sign: Write - Designer
-
-The sensor port that the sensor is connected to.
-
-### Top Of Range
-
-NumberDefault: 90 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The top of the range used for the BelowRange, WithinRange, and AboveRange events.
-
-
-
-
-### Within Range Event Enabled
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Whether the WithinRange event should fire when the distance goes between the BottomOfRange and the TopOfRange.
-
-
-
diff --git a/docs/components/maps/circle.md b/docs/components/maps/circle.md
deleted file mode 100644
index 8e7dd08d8..000000000
--- a/docs/components/maps/circle.md
+++ /dev/null
@@ -1,220 +0,0 @@
-# Circle
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Maps**|API 21, Android 5.0 Lollipop|2|
-
-## Overview
-
-A visible component that draws a circle of a given radius around a point on a Map component.
-
-## Events
-
-### Click
-
-The user clicked on the feature.
-
-
-
-### Drag
-
-The user dragged the map feature.
-
-
-
-### Long Click
-
-The user long-pressed on the feature. This event will only trigger if Draggable is false.
-
-
-
-### Start Drag
-
-The user started a drag operation.
-
-
-
-### Stop Drag
-
-The user stopped a drag operation.
-
-
-
-## Methods
-
-### Distance To Feature
-
-Returns: Number
-
-Compute the distance, in meters, between two map features.
-
-
-
-| Params | []() |
-|--------|------|
-|map Feature|Component|
-|centroids|Boolean|
-
-### Distance To Point
-
-Returns: Number
-
-Compute the distance, in meters, between a map feature and a latitude, longitude point.
-
-
-
-| Params | []() |
-|--------|------|
-|latitude|Number|
-|longitude|Number|
-|centroid|Boolean|
-
-### Hide Infobox
-
-Hide the infobox if it is shown. If the infobox is not visible this function has no effect.
-
-
-
-### Set Location
-
-Set the center of the Circle.
-
-
-
-| Params | []() |
-|--------|------|
-|latitude|Number|
-|longitude|Number|
-
-### Show Infobox
-
-Show the infobox for the feature. This will show the infobox even if
-
-
-
-## Properties
-
-### Description
-
-Text :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The description displayed in the info window that appears when the user clicks on the map feature.
-
-
-
-
-### Draggable
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The Draggable property is used to set whether or not the user can drag the Marker by long-pressing and then dragging the marker to a new location.
-
-
-
-
-### Enable Infobox
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Enable or disable the infobox window display when the user taps the feature.
-
-
-
-
-### Fill Color
-
-ColorDefault: #F34336FF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The paint color used to fill in the map feature.
-
-
-
-
-### Fill Opacity
-
-NumberDefault: 1.0 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The opacity of the interior of the map feature.
-
-
-
-
-### Latitude
-
-NumberDefault: 0 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The latitude of the center of the circle.
-
-
-
-
-### Longitude
-
-NumberDefault: 0 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The longitude of the center of the circle.
-
-
-
-
-### Radius
-
-NumberDefault: 0 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The radius of the circle in meters.
-
-
-
-
-### Stroke Color
-
-ColorDefault: #000000FF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The paint color used to outline the map feature.
-
-
-
-
-### Stroke Opacity
-
-NumberDefault: 1.0 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The opacity of the stroke used to outline the map feature.
-
-
-
-
-### Stroke Width
-
-NumberDefault: 1 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The width of the stroke used to outline the map feature.
-
-
-
-
-### Title
-
-Text :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The title displayed in the info window that appears when the user clicks on the map feature.
-
-
-
-
-### Type
-
-Text :heavy_minus_sign: Read - Blocks
-
-Returns the type of the feature. For Circles, this returns MapFeature.Circle ("Circle").
-
-
-
-### Visible
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Specifies whether the component should be visible on the screen. Value is true if the component is showing and false if hidden.
-
-
-
diff --git a/docs/components/maps/feature-collection.md b/docs/components/maps/feature-collection.md
deleted file mode 100644
index de0198dde..000000000
--- a/docs/components/maps/feature-collection.md
+++ /dev/null
@@ -1,180 +0,0 @@
-# Feature Collection
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Maps**|API 21, Android 5.0 Lollipop|2|
-
-## Overview
-
-A FeatureColletion contains one or more map features as a group. Any events fired on a feature in the collection will also trigger the corresponding event on the collection object. FeatureCollections can be loaded from external resources as a means of populating a Map with content.
-
-## Events
-
-### Feature Click
-
-The user clicked on a map feature.
-
-
-
-| Params | []() |
-|--------|------|
-|feature|Component|
-
-### Feature Drag
-
-The user dragged a map feature.
-
-
-
-| Params | []() |
-|--------|------|
-|feature|Component|
-
-### Feature Long Click
-
-The user long-pressed on a map feature.
-
-
-
-| Params | []() |
-|--------|------|
-|feature|Component|
-
-### Feature Start Drag
-
-The user started dragging a map feature.
-
-
-
-| Params | []() |
-|--------|------|
-|feature|Component|
-
-### Feature Stop Drag
-
-The user stopped dragging a map feature.
-
-
-
-| Params | []() |
-|--------|------|
-|feature|Component|
-
-### Got Features
-
-A GeoJSON document was successfully read from url. The features specified in the document are provided as a list in features.
-
-
-
-| Params | []() |
-|--------|------|
-|url|Text|
-|features|List|
-
-### Load Error
-
-An error was encountered while processing a GeoJSON document at the given url. The responseCode parameter will contain an HTTP status code and the errorMessage parameter will contain a detailed error message.
-
-
-
-| Params | []() |
-|--------|------|
-|url|Text|
-|response Code|Number|
-|error Message|Text|
-
-## Methods
-
-### Feature From Description
-
-Returns: Any
-
-Convert a feature description into an App Inventor map feature. Currently the onlysupported conversion is from a GeoJSON point to Marker component. If the feature hasproperties, they will be mapped into App Inventor properties using the following mapping:description becomes Description;draggable becomes Draggable;infobox becomes EnableInfobox;fill becomes FillColor;fill-opacity becomes FillOpacity;image becomes ImageAsset;stroke becomes StrokeColor;stroke-opacity becomes StrokeOpacity;stroke-width becomes StrokeWidth;title becomes Title;visible becomes Visible
-
-
-
-| Params | []() |
-|--------|------|
-|description|List|
-
-### Load From URL
-
-Load a feature collection in [GeoJSON](https://en.wikipedia.org/wiki/GeoJSON) format from the given url. On success, the event GotFeatures will be raised with the given url and a list of the features parsed from the GeoJSON as a list of (key, value) pairs. On failure, the LoadError event will be raised with any applicable HTTP response code and error message.
-
-
-
-| Params | []() |
-|--------|------|
-|url|Text|
-
-## Properties
-
-### Features
-
-List :heavy_minus_sign: ReadWrite - Blocks
-
-The list of features placed on this map. This list also includes any features created by calls to FeatureFromDescription
-
-
-
-
-### Features From Geo JSON
-
-Text :heavy_minus_sign: Write - DesignerBlocks
-
-Loads a collection of features from the given string. If the string is not valid GeoJSON, the ErrorLoadingFeatureCollection error will be run with url =
-
-.
-
-
-
-### Height
-
-Number :heavy_minus_sign: ReadWrite - Blocks
-
-Specifies the component's vertical height, measured in pixels.
-
-
-
-
-### Height Percent
-
-Number :heavy_minus_sign: Write - Blocks
-
-Specifies the component's vertical height as a percentageof the height of its parent Component.
-
-
-
-### Source
-
-Text :heavy_minus_sign: Read - DesignerBlocks
-
-Gets or sets the source URL used to populate the feature collection. If the feature collection was not loaded from a URL, this will be the empty string.
-
-
-
-### Visible
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Returns true iff the component is visible.
-
-
-
-
-### Width
-
-Number :heavy_minus_sign: ReadWrite - Blocks
-
-Specifies the component's horizontal width, measured in pixels.
-
-
-
-
-### Width Percent
-
-Number :heavy_minus_sign: Write - Blocks
-
-Specifies the component's horizontal width as a percentageof the Width of its parent Component.
-
-
diff --git a/docs/components/maps/index.md b/docs/components/maps/index.md
deleted file mode 100644
index 569d9ee80..000000000
--- a/docs/components/maps/index.md
+++ /dev/null
@@ -1,10 +0,0 @@
-# Overview of Maps
-
-* [Circle](circle.md)
-* [Feature Collection](feature-collection.md)
-* [Line String](line-string.md)
-* [Map](map.md)
-* [Marker](marker.md)
-* [Navigation](navigation.md)
-* [Polygon](polygon.md)
-* [Rectangle](rectangle.md)
\ No newline at end of file
diff --git a/docs/components/maps/line-string.md b/docs/components/maps/line-string.md
deleted file mode 100644
index 93f597606..000000000
--- a/docs/components/maps/line-string.md
+++ /dev/null
@@ -1,181 +0,0 @@
-# Line String
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Maps**|API 21, Android 5.0 Lollipop|2|
-
-## Overview
-
-A visible component that draws a sequence of line segments on a Map component.
-
-## Events
-
-### Click
-
-The user clicked on the feature.
-
-
-
-### Drag
-
-The user dragged the map feature.
-
-
-
-### Long Click
-
-The user long-pressed on the feature. This event will only trigger if Draggable is false.
-
-
-
-### Start Drag
-
-The user started a drag operation.
-
-
-
-### Stop Drag
-
-The user stopped a drag operation.
-
-
-
-## Methods
-
-### Distance To Feature
-
-Returns: Number
-
-Compute the distance, in meters, between two map features.
-
-
-
-| Params | []() |
-|--------|------|
-|map Feature|Component|
-|centroids|Boolean|
-
-### Distance To Point
-
-Returns: Number
-
-Compute the distance, in meters, between a map feature and a latitude, longitude point.
-
-
-
-| Params | []() |
-|--------|------|
-|latitude|Number|
-|longitude|Number|
-|centroid|Boolean|
-
-### Hide Infobox
-
-Hide the infobox if it is shown. If the infobox is not visible this function has no effect.
-
-
-
-### Show Infobox
-
-Show the infobox for the feature. This will show the infobox even if
-
-
-
-## Properties
-
-### Description
-
-Text :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The description displayed in the info window that appears when the user clicks on the map feature.
-
-
-
-
-### Draggable
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The Draggable property is used to set whether or not the user can drag the Marker by long-pressing and then dragging the marker to a new location.
-
-
-
-
-### Enable Infobox
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Enable or disable the infobox window display when the user taps the feature.
-
-
-
-
-### Points
-
-List :heavy_minus_sign: ReadWrite - Blocks
-
-A list of latitude and longitude pairs that represent the line segments of the polyline.
-
-
-
-
-### Points From String
-
-Text :heavy_minus_sign: Write - DesignerBlocks
-
-Set the points of the LineString from a specially-coded character string of the form:[[longitude1, latitude1], [longitude2, latitude2], ...]Note the reversal of latitude and longitude versus how they are typically represented.
-
-
-
-### Stroke Color
-
-ColorDefault: #000000FF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The paint color used to outline the map feature.
-
-
-
-
-### Stroke Opacity
-
-NumberDefault: 1.0 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The opacity of the stroke used to outline the map feature.
-
-
-
-
-### Stroke Width
-
-NumberDefault: 3 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The width of the stroke used to outline the map feature.
-
-
-
-
-### Title
-
-Text :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The title displayed in the info window that appears when the user clicks on the map feature.
-
-
-
-
-### Type
-
-Text :heavy_minus_sign: Read - Blocks
-
-The type of the map feature.
-
-
-
-### Visible
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Specifies whether the component should be visible on the screen. Value is true if the component is showing and false if hidden.
-
-
-
diff --git a/docs/components/maps/map.md b/docs/components/maps/map.md
deleted file mode 100644
index 1da91b758..000000000
--- a/docs/components/maps/map.md
+++ /dev/null
@@ -1,428 +0,0 @@
-# Map
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Maps**|API 21, Android 5.0 Lollipop|6|
-
-## Overview
-
-A two-dimensional container that renders map tiles in the background and allows for multiple Marker elements to identify points on the map. Map tiles are supplied by OpenStreetMap contributors and the United States Geological Survey.
-
-The Map component provides three utilities for manipulating its boundaries within App Inventor. First, a locking mechanism is provided to allow the map to be moved relative to other components on the Screen. Second, when unlocked, the user can pan the Map to any location. At this new location, the "Set Initial Boundary" button can be pressed to save the current Map coordinates to its properties. Lastly, if the Map is moved to a different location, for example to add Markers off-screen, then the "Reset Map to Initial Bounds" button can be used to re-center the Map at the starting location.
-
-??? example "Permissions"
- * [android.permission.ACCESS_FINE_LOCATION](https://developer.android.com/reference/android/Manifest.permission.html#ACCESS_FINE_LOCATION)
- * [android.permission.ACCESS_COARSE_LOCATION](https://developer.android.com/reference/android/Manifest.permission.html#ACCESS_COARSE_LOCATION)
-
-## Events
-
-### Bounds Change
-
-User has changed the map bounds by panning or zooming the map.
-
-
-
-### Double Tap At Point
-
-The user double-tapped at a point on the map. This event will be followed by a ZoomChanged event if zooming gestures are enabled and the map is not at the highest possible zoom level.
-
-
-
-| Params | []() |
-|--------|------|
-|latitude|Number|
-|longitude|Number|
-
-### Feature Click
-
-The user clicked on a map feature.
-
-
-
-| Params | []() |
-|--------|------|
-|feature|Component|
-
-### Feature Drag
-
-The user dragged a map feature.
-
-
-
-| Params | []() |
-|--------|------|
-|feature|Component|
-
-### Feature Long Click
-
-The user long-pressed on a map feature.
-
-
-
-| Params | []() |
-|--------|------|
-|feature|Component|
-
-### Feature Start Drag
-
-The user started dragging a map feature.
-
-
-
-| Params | []() |
-|--------|------|
-|feature|Component|
-
-### Feature Stop Drag
-
-The user stopped dragging a map feature.
-
-
-
-| Params | []() |
-|--------|------|
-|feature|Component|
-
-### Got Features
-
-A GeoJSON document was successfully read from url. The features specified in the document are provided as a list in features.
-
-
-
-| Params | []() |
-|--------|------|
-|url|Text|
-|features|List|
-
-### Invalid Point
-
-An invalid coordinate was supplied during a maps operation. The message parameter will have more details about the issue.
-
-
-
-| Params | []() |
-|--------|------|
-|message|Text|
-
-### Load Error
-
-An error was encountered while processing a GeoJSON document at the given url. The responseCode parameter will contain an HTTP status code and the errorMessage parameter will contain a detailed error message.
-
-
-
-| Params | []() |
-|--------|------|
-|url|Text|
-|response Code|Number|
-|error Message|Text|
-
-### Long Press At Point
-
-The user long-pressed at a point on the map.
-
-
-
-| Params | []() |
-|--------|------|
-|latitude|Number|
-|longitude|Number|
-
-### Map Ready
-
-Map has been initialized and is ready for user interaction.
-
-
-
-### Tap At Point
-
-The user tapped at a point on the map.
-
-
-
-| Params | []() |
-|--------|------|
-|latitude|Number|
-|longitude|Number|
-
-### Zoom Change
-
-User has changed the zoom level of the map.
-
-
-
-## Methods
-
-### Create Marker
-
-Returns: Component
-
-Create a new marker with default properties at the specified latitude and longitude.
-
-
-
-| Params | []() |
-|--------|------|
-|latitude|Number|
-|longitude|Number|
-
-### Feature From Description
-
-Returns: Any
-
-Convert a feature description into an App Inventor map feature. Currently the onlysupported conversion is from a GeoJSON point to Marker component. If the feature hasproperties, they will be mapped into App Inventor properties using the following mapping:description becomes Description;draggable becomes Draggable;infobox becomes EnableInfobox;fill becomes FillColor;fill-opacity becomes FillOpacity;image becomes ImageAsset;stroke becomes StrokeColor;stroke-opacity becomes StrokeOpacity;stroke-width becomes StrokeWidth;title becomes Title;visible becomes Visible
-
-
-
-| Params | []() |
-|--------|------|
-|description|List|
-
-### Load From URL
-
-Load a feature collection in [GeoJSON](https://en.wikipedia.org/wiki/GeoJSON) format from the given url. On success, the event GotFeatures will be raised with the given url and a list of the features parsed from the GeoJSON as a list of (key, value) pairs. On failure, the LoadError event will be raised with any applicable HTTP response code and error message.
-
-
-
-| Params | []() |
-|--------|------|
-|url|Text|
-
-### Pan To
-
-Pan the map center to the given latitude and longitude and adjust the zoom level to the specified zoom.
-
-
-
-| Params | []() |
-|--------|------|
-|latitude|Number|
-|longitude|Number|
-|zoom|Number|
-
-### Save
-
-Save the contents of the Map to the specified path.
-
-
-
-| Params | []() |
-|--------|------|
-|path|Text|
-
-## Properties
-
-### Bounding Box
-
-List :heavy_minus_sign: ReadWrite - Blocks
-
-Bounding box for the map stored as [[North, West], [South, East]].
-
-
-
-
-### Center From String
-
-TextDefault: 42.359144, -71.093612 :heavy_minus_sign: Write - DesignerBlocks
-
-Set the initial center coordinate of the map. The value is specified as a comma-separated pair of decimal latitude and longitude coordinates, for example, `` 42.359144, -71.093612 ``.
-
-In blocks code, it is recommended for performance reasons to use SetCenter with numerical latitude and longitude rather than convert to the string representation for use with this property.
-
-
-
-### Enable Pan
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Enable two-finger panning of the Map
-
-
-
-
-### Enable Rotation
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Enable rotating the map based on the user's orientation.
-
-
-
-
-### Enable Zoom
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Set whether the user can zoom the map using touch gestures. This value does not affectwhether the user can zoom using the zoom controls from
-
-
-
-
-### Features
-
-List :heavy_minus_sign: ReadWrite - Blocks
-
-The list of features placed on this map. This list also includes any features created by calls to FeatureFromDescription
-
-
-
-
-### Height
-
-Number :heavy_minus_sign: ReadWrite - Blocks
-
-Specifies the component's vertical height, measured in pixels.
-
-
-
-
-### Height Percent
-
-Number :heavy_minus_sign: Write - Blocks
-
-Specifies the component's vertical height as a percentageof the height of its parent Component.
-
-
-
-### Latitude
-
-Number :heavy_minus_sign: Read - Blocks
-
-The latitude of the center of the map.
-
-
-
-### Location Sensor
-
-Component :heavy_minus_sign: Write - DesignerBlocks
-
-Uses the provided LocationSensor for user location data rather than the built-in location provider.
-
-
-
-### Longitude
-
-Number :heavy_minus_sign: Read - Blocks
-
-The longitude of the center of the map.
-
-
-
-### Map Type
-
-NumberDefault: 1 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Set the type of map tile used for the base tile layer. Valid values are:
-
-1. Roads
-2. Aerial
-3. Terrain
-
-
-
-
-### Rotation
-
-NumberDefault: 0.0 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Sets or gets the rotation of the map in decimal degrees if any
-
-
-
-
-### Scale Units
-
-NumberDefault: 1 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Property for ScaleUnits
-
-
-
-
-### Show Compass
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Show a compass on the map. If the device provides a digital compass, orientation changes willbe used to rotate the compass icon.
-
-
-
-
-### Show Scale
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Shows a scale reference on the map.
-
-
-
-
-### Show User
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Show the user's location on the map.
-
-
-
-
-### Show Zoom
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Show the zoom controls on the map.
-
-
-
-
-### User Latitude
-
-Number :heavy_minus_sign: Read - Blocks
-
-Returns the user's latitude if ShowUser is enabled.
-
-
-
-### User Longitude
-
-Number :heavy_minus_sign: Read - Blocks
-
-Returns the user's longitude if ShowUser is enabled.
-
-
-
-### Visible
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Returns true iff the component is visible.
-
-
-
-
-### Width
-
-Number :heavy_minus_sign: ReadWrite - Blocks
-
-Specifies the component's horizontal width, measured in pixels.
-
-
-
-
-### Width Percent
-
-Number :heavy_minus_sign: Write - Blocks
-
-Specifies the component's horizontal width as a percentageof the Width of its parent Component.
-
-
-
-### Zoom Level
-
-NumberDefault: 13 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Set the zoom level of the map.
-
-Valid values of ZoomLevel are dependent on the tile provider and the latitude andlongitude of the map. For example, zoom levels are more constrained over oceans than densecity centers to conserve space for storing tiles, so valid values may be 1-7 over ocean and1-18 over cities. Tile providers may send warning or error tiles if the zoom level is toogreat for the server to support.
-
-
-
diff --git a/docs/components/maps/marker.md b/docs/components/maps/marker.md
deleted file mode 100644
index b279cc804..000000000
--- a/docs/components/maps/marker.md
+++ /dev/null
@@ -1,297 +0,0 @@
-# Marker
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Maps**|API 21, Android 5.0 Lollipop|4|
-
-## Overview
-
-An icon positioned at a point to indicate information on a map. Markers can be used to provide an info window, custom fill and stroke colors, and custom images to convey information to the user.
-
-## Events
-
-### Click
-
-The user clicked on the feature.
-
-
-
-### Drag
-
-The user dragged the map feature.
-
-
-
-### Long Click
-
-The user long-pressed on the feature. This event will only trigger if Draggable is false.
-
-
-
-### Start Drag
-
-The user started a drag operation.
-
-
-
-### Stop Drag
-
-The user stopped a drag operation.
-
-
-
-## Methods
-
-### Bearing To Feature
-
-Returns: Number
-
-Returns the bearing from the Marker to the given map feature, in degrees from due north. If the centroids parameter is true, the bearing will be to the center of the map feature. Otherwise, the bearing will be computed to the point in the feature nearest the Marker.
-
-
-
-| Params | []() |
-|--------|------|
-|map Feature|Component|
-|centroids|Boolean|
-
-### Bearing To Point
-
-Returns: Number
-
-Returns the bearing from the Marker to the given latitude and longitude, in degrees from due north.
-
-
-
-| Params | []() |
-|--------|------|
-|latitude|Number|
-|longitude|Number|
-
-### Distance To Feature
-
-Returns: Number
-
-Compute the distance, in meters, between two map features.
-
-
-
-| Params | []() |
-|--------|------|
-|map Feature|Component|
-|centroids|Boolean|
-
-### Distance To Point
-
-Returns: Number
-
-Compute the distance, in meters, between a map feature and a latitude, longitude point.
-
-
-
-| Params | []() |
-|--------|------|
-|latitude|Number|
-|longitude|Number|
-
-### Hide Infobox
-
-Hide the infobox if it is shown. If the infobox is not visible this function has no effect.
-
-
-
-### Set Location
-
-Set the location of the marker.
-
-
-
-| Params | []() |
-|--------|------|
-|latitude|Number|
-|longitude|Number|
-
-### Show Infobox
-
-Show the infobox for the feature. This will show the infobox even if
-
-
-
-## Properties
-
-### Anchor Horizontal
-
-NumberDefault: 3 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The horizontal alignment property controls where the Marker's anchor is located relative to its width. The choices are: 1 = left aligned, 3 = horizontally centered, 2 = right aligned.
-
-
-
-
-### Anchor Vertical
-
-NumberDefault: 3 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The vertical alignment property controls where the Marker's anchor is located relative to its height. The choices are: 1 = aligned at the top, 2 = vertically centered, 3 = aligned at the bottom.
-
-
-
-
-### Description
-
-Text :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The description displayed in the info window that appears when the user clicks on the map feature.
-
-
-
-
-### Draggable
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The Draggable property is used to set whether or not the user can drag the Marker by long-pressing and then dragging the marker to a new location.
-
-
-
-
-### Enable Infobox
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Enable or disable the infobox window display when the user taps the feature.
-
-
-
-
-### Fill Color
-
-ColorDefault: #F34336FF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The paint color used to fill in the map feature.
-
-
-
-
-### Fill Opacity
-
-NumberDefault: 1.0 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The opacity of the interior of the map feature.
-
-
-
-
-### Height
-
-Number :heavy_minus_sign: ReadWrite - Blocks
-
-Property for Height
-
-
-
-
-### Height Percent
-
-Number :heavy_minus_sign: Write - Blocks
-
-Property for HeightPercent
-
-
-
-### Image Asset
-
-Text :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The ImageAsset property is used to provide an alternative image for the Marker.
-
-
-
-
-### Latitude
-
-NumberDefault: 0 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Property for Latitude
-
-
-
-
-### Longitude
-
-NumberDefault: 0 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Property for Longitude
-
-
-
-
-### Stroke Color
-
-ColorDefault: #000000FF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The paint color used to outline the map feature.
-
-
-
-
-### Stroke Opacity
-
-NumberDefault: 1.0 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The opacity of the stroke used to outline the map feature.
-
-
-
-
-### Stroke Width
-
-NumberDefault: 1 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The width of the stroke used to outline the map feature.
-
-
-
-
-### Title
-
-Text :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The title displayed in the info window that appears when the user clicks on the map feature.
-
-
-
-
-### Type
-
-Text :heavy_minus_sign: Read - Blocks
-
-Returns the type of the feature. For Markers, this returns MapFeature.Marker ("Marker").
-
-
-
-### Visible
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Specifies whether the component should be visible on the screen. Value is true if the component is showing and false if hidden.
-
-
-
-
-### Width
-
-Number :heavy_minus_sign: ReadWrite - Blocks
-
-Property for Width
-
-
-
-
-### Width Percent
-
-Number :heavy_minus_sign: Write - Blocks
-
-Property for WidthPercent
-
-
diff --git a/docs/components/maps/navigation.md b/docs/components/maps/navigation.md
deleted file mode 100644
index 65311418c..000000000
--- a/docs/components/maps/navigation.md
+++ /dev/null
@@ -1,125 +0,0 @@
-# Navigation
-
-{>> Non-Visible component<<}
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Maps**|API 21, Android 5.0 Lollipop|2|
-
-## Overview
-
-A non-visible component that generates directions between two locations using a service called https\://openrouteservice.org. Note\: For this component to work correctly, provide a valid API key from that service.
-
-??? example "Permissions"
- * [android.permission.INTERNET](https://developer.android.com/reference/android/Manifest.permission.html#INTERNET)
-
-## Events
-
-### Got Directions
-
-Event triggered when the Openrouteservice returns the directions.
-
-
-
-| Params | []() |
-|--------|------|
-|directions|List|
-|points|List|
-|distance|Number|
-|duration|Number|
-
-## Methods
-
-### Request Directions
-
-Request directions from the routing service.
-
-
-
-## Properties
-
-### API Key
-
-Text :heavy_minus_sign: Write - DesignerBlocks
-
-API Key for Open Route Service.
-
-
-
-### End Latitude
-
-NumberDefault: 0.0 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The latitude of the end location.
-
-
-
-
-### End Location
-
-Component :heavy_minus_sign: Write - Blocks
-
-Set the end location.
-
-
-
-### End Longitude
-
-NumberDefault: 0.0 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The longitude of the end location.
-
-
-
-
-### Language
-
-TextDefault: en :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The language to use for textual directions.
-
-
-
-
-### Response Content
-
-Dictionary :heavy_minus_sign: Read - Blocks
-
-Content of the last response as a dictionary.
-
-
-
-### Start Latitude
-
-NumberDefault: 0.0 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The latitude of the start location.
-
-
-
-
-### Start Location
-
-Component :heavy_minus_sign: Write - Blocks
-
-Set the start location.
-
-
-
-### Start Longitude
-
-NumberDefault: 0.0 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The longitude of the start location.
-
-
-
-
-### Transportation Method
-
-TextDefault: foot-walking :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The transportation method used for determining the route.
-
-
-
diff --git a/docs/components/maps/polygon.md b/docs/components/maps/polygon.md
deleted file mode 100644
index 400a28a2f..000000000
--- a/docs/components/maps/polygon.md
+++ /dev/null
@@ -1,224 +0,0 @@
-# Polygon
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Maps**|API 21, Android 5.0 Lollipop|2|
-
-## Overview
-
-A visible component that draws arbitrary shapes on a Map component. Vertices of a Polygon can be moved by clicking and dragging on them.
-
-## Events
-
-### Click
-
-The user clicked on the feature.
-
-
-
-### Drag
-
-The user dragged the map feature.
-
-
-
-### Long Click
-
-The user long-pressed on the feature. This event will only trigger if Draggable is false.
-
-
-
-### Start Drag
-
-The user started a drag operation.
-
-
-
-### Stop Drag
-
-The user stopped a drag operation.
-
-
-
-## Methods
-
-### Centroid
-
-Returns: List
-
-Returns the centroid of the Polygon as a (latitude, longitude) pair.
-
-
-
-### Distance To Feature
-
-Returns: Number
-
-Compute the distance, in meters, between two map features.
-
-
-
-| Params | []() |
-|--------|------|
-|map Feature|Component|
-|centroids|Boolean|
-
-### Distance To Point
-
-Returns: Number
-
-Compute the distance, in meters, between a map feature and a latitude, longitude point.
-
-
-
-| Params | []() |
-|--------|------|
-|latitude|Number|
-|longitude|Number|
-|centroid|Boolean|
-
-### Hide Infobox
-
-Hide the infobox if it is shown. If the infobox is not visible this function has no effect.
-
-
-
-### Show Infobox
-
-Show the infobox for the feature. This will show the infobox even if
-
-
-
-## Properties
-
-### Description
-
-Text :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The description displayed in the info window that appears when the user clicks on the map feature.
-
-
-
-
-### Draggable
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The Draggable property is used to set whether or not the user can drag the Marker by long-pressing and then dragging the marker to a new location.
-
-
-
-
-### Enable Infobox
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Enable or disable the infobox window display when the user taps the feature.
-
-
-
-
-### Fill Color
-
-ColorDefault: #F34336FF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The paint color used to fill in the map feature.
-
-
-
-
-### Fill Opacity
-
-NumberDefault: 1.0 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The opacity of the interior of the map feature.
-
-
-
-
-### Hole Points
-
-List :heavy_minus_sign: ReadWrite - Blocks
-
-Property for HolePoints
-
-
-
-
-### Hole Points From String
-
-Text :heavy_minus_sign: Write - DesignerBlocks
-
-Constructs holes in a polygon from a given list of coordinates per hole.
-
-
-
-### Points
-
-List :heavy_minus_sign: ReadWrite - Blocks
-
-Gets or sets the sequence of points used to draw the polygon.
-
-
-
-
-### Points From String
-
-Text :heavy_minus_sign: Write - DesignerBlocks
-
-Constructs a polygon from the given list of coordinates.
-
-
-
-### Stroke Color
-
-ColorDefault: #000000FF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The paint color used to outline the map feature.
-
-
-
-
-### Stroke Opacity
-
-NumberDefault: 1.0 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The opacity of the stroke used to outline the map feature.
-
-
-
-
-### Stroke Width
-
-NumberDefault: 1 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The width of the stroke used to outline the map feature.
-
-
-
-
-### Title
-
-Text :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The title displayed in the info window that appears when the user clicks on the map feature.
-
-
-
-
-### Type
-
-Text :heavy_minus_sign: Read - Blocks
-
-Returns the type of the feature. For polygons, this returns MapFeature.Polygon ("Polygon").
-
-
-
-### Visible
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Specifies whether the component should be visible on the screen. Value is true if the component is showing and false if hidden.
-
-
-
diff --git a/docs/components/maps/rectangle.md b/docs/components/maps/rectangle.md
deleted file mode 100644
index d4d99be1a..000000000
--- a/docs/components/maps/rectangle.md
+++ /dev/null
@@ -1,245 +0,0 @@
-# Rectangle
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Maps**|API 21, Android 5.0 Lollipop|2|
-
-## Overview
-
-A visible component that draws a rectangle on a Map component bounded by north, south, east, and west edges.
-
-## Events
-
-### Click
-
-The user clicked on the feature.
-
-
-
-### Drag
-
-The user dragged the map feature.
-
-
-
-### Long Click
-
-The user long-pressed on the feature. This event will only trigger if Draggable is false.
-
-
-
-### Start Drag
-
-The user started a drag operation.
-
-
-
-### Stop Drag
-
-The user stopped a drag operation.
-
-
-
-## Methods
-
-### Bounds
-
-Returns: List
-
-Returns the bounding box of the Rectangle in the format ((North West) (South East)).
-
-
-
-### Center
-
-Returns: List
-
-Returns the center of the Rectangle as a list of the form (Latitude Longitude).
-
-
-
-### Distance To Feature
-
-Returns: Number
-
-Compute the distance, in meters, between two map features.
-
-
-
-| Params | []() |
-|--------|------|
-|map Feature|Component|
-|centroids|Boolean|
-
-### Distance To Point
-
-Returns: Number
-
-Compute the distance, in meters, between a map feature and a latitude, longitude point.
-
-
-
-| Params | []() |
-|--------|------|
-|latitude|Number|
-|longitude|Number|
-|centroid|Boolean|
-
-### Hide Infobox
-
-Hide the infobox if it is shown. If the infobox is not visible this function has no effect.
-
-
-
-### Set Center
-
-Moves the Rectangle so that it is centered on the given latitude and longitude while attempting to maintain the width and height of the Rectangle as measured from the center to the edges.
-
-
-
-| Params | []() |
-|--------|------|
-|latitude|Number|
-|longitude|Number|
-
-### Show Infobox
-
-Show the infobox for the feature. This will show the infobox even if
-
-
-
-## Properties
-
-### Description
-
-Text :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The description displayed in the info window that appears when the user clicks on the map feature.
-
-
-
-
-### Draggable
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The Draggable property is used to set whether or not the user can drag the Marker by long-pressing and then dragging the marker to a new location.
-
-
-
-
-### East Longitude
-
-NumberDefault: 0 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Property for EastLongitude
-
-
-
-
-### Enable Infobox
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Enable or disable the infobox window display when the user taps the feature.
-
-
-
-
-### Fill Color
-
-ColorDefault: #F34336FF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The paint color used to fill in the map feature.
-
-
-
-
-### Fill Opacity
-
-NumberDefault: 1.0 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The opacity of the interior of the map feature.
-
-
-
-
-### North Latitude
-
-NumberDefault: 0 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Property for NorthLatitude
-
-
-
-
-### South Latitude
-
-NumberDefault: 0 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Property for SouthLatitude
-
-
-
-
-### Stroke Color
-
-ColorDefault: #000000FF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The paint color used to outline the map feature.
-
-
-
-
-### Stroke Opacity
-
-NumberDefault: 1.0 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The opacity of the stroke used to outline the map feature.
-
-
-
-
-### Stroke Width
-
-NumberDefault: 1 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The width of the stroke used to outline the map feature.
-
-
-
-
-### Title
-
-Text :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The title displayed in the info window that appears when the user clicks on the map feature.
-
-
-
-
-### Type
-
-Text :heavy_minus_sign: Read - Blocks
-
-Returns the type of the feature. For rectangles, this returns MapFeature.Rectangle ("Rectangle").
-
-
-
-### Visible
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Specifies whether the component should be visible on the screen. Value is true if the component is showing and false if hidden.
-
-
-
-
-### West Longitude
-
-NumberDefault: 0 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Property for WestLongitude
-
-
-
diff --git a/docs/components/media/audio-picker.md b/docs/components/media/audio-picker.md
deleted file mode 100644
index b585dcb0b..000000000
--- a/docs/components/media/audio-picker.md
+++ /dev/null
@@ -1,339 +0,0 @@
-# Audio Picker
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Media**|API 21, Android 5.0 Lollipop|6|
-
-## Overview
-
-A special-purpose button. When the user taps an audio picker, the device's audio gallery appears, and the user can choose an audio file.
-
-??? example "Permissions"
- * [android.permission.INTERNET](https://developer.android.com/reference/android/Manifest.permission.html#INTERNET)
- * [android.permission.READ_EXTERNAL_STORAGE](https://developer.android.com/reference/android/Manifest.permission.html#READ_EXTERNAL_STORAGE)
-
-## Events
-
-### After Picking
-
-Event to be raised after the picker activity returns itsresult and the properties have been filled in.
-
-
-
-| Params | []() |
-|--------|------|
-|selection|Text|
-
-### Before Picking
-
-Event to raise when the button of the component is clicked or the list is shownusing the Open block. This event occurs before the list of items is displayed, andcan be used to prepare the list before it is shown.
-
-
-
-### Got Focus
-
-Indicates the cursor moved over the button so it is now possible to click it.
-
-
-
-### Lost Focus
-
-Indicates the cursor moved away from the button so it is now no longer possible to click it.
-
-
-
-### Touch Down
-
-Indicates that the button was pressed down.
-
-
-
-### Touch Up
-
-Indicates that a button has been released.
-
-
-
-## Methods
-
-### Button Click
-
-Perform a button click as function.
-
-
-
-### Open
-
-Opens the picker, as though the user clicked on it.
-
-
-
-### Set Animation Style
-
-Allows you to set animation style. Valid (case-insensitive) values are: ChasingDots, Circle, CubeGrid, DoubleBounce, FadingCircle, FoldingCube, Pulse, RotatingCircle, RotatingPlane, ThreeBounce, WanderingCubes, Wave. If invalid style is used, animation will be removed.Position can be: top, left, right, bottom. Size can be 100.
-
-
-
-| Params | []() |
-|--------|------|
-|style|Text|
-|position|Text|
-|size|Number|
-|color|Number|
-
-### Set Shadow
-
-Place a blurred shadow of text underneath the text, drawn with the specified x, y, radius, color (e.g. -11, 12, 13, black.
-
-
-
-| Params | []() |
-|--------|------|
-|x|Number|
-|y|Number|
-|radius|Number|
-|color|Number|
-
-### With Icon From Font Awesome
-
-Show an image on the given position near to the button. You can use following words for the position: 'Left', 'Right', 'Top' or 'Bottom'. Use the padding to add space between the icon and text. Use a 'FontAwesome' icon as the button icon without uploading a image resource into your project. You can find the icon code here at https://fontawesome.com/cheatsheet Use as example for a heart icon just 'f004' or ''
-
-
-
-| Params | []() |
-|--------|------|
-|position|Text|
-|icon Name|Text|
-|icon Color|Number|
-|padding|Number|
-|size|Number|
-
-### With Icon From Material Font
-
-Show an image on the given position near to the button. You can use following words for the position: 'Left', 'Right', 'Top' or 'Bottom'. Use the padding to add space between the icon and text. Use a 'Material' icon as the button icon without uploading a image resource into your project. You can find the icon name here at https://material.io/resources/icons
-
-
-
-| Params | []() |
-|--------|------|
-|position|Text|
-|icon Name|Text|
-|icon Color|Number|
-|padding|Number|
-|size|Number|
-
-### With Icon From Picture
-
-Show an image on the given position near to the button. You can use following words for the position: 'Left', 'Right', 'Top' or 'Bottom'. Use the padding to add space between the icon and text.
-
-
-
-| Params | []() |
-|--------|------|
-|position|Text|
-|picture|Text|
-|padding|Number|
-|width|Number|
-|height|Number|
-
-## Properties
-
-### Background Color
-
-ColorDefault: #444444FF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Returns the button's background color
-
-
-
-
-### Border Shadow
-
-Available as ^^Advanced^^ Property
-
-BooleanDefault: True :heavy_minus_sign: Write - Designer
-
-Returns true if the button have a outside border shadow on click.
-
-### Enabled
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-If set, user can tap check box to cause action.
-
-
-
-
-### Font Bold
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-If set, button text is displayed in bold.
-
-
-
-
-### Font Italic
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-If set, button text is displayed in italics.
-
-
-
-
-### Font Size
-
-NumberDefault: 14.0 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Point size for button text.
-
-
-
-
-### Font Typeface
-
-NumberDefault: 0 :heavy_minus_sign: Write - Designer
-
-Font family for button text.
-
-### Font Typeface Import
-
-Available as ^^Advanced^^ Property
-
-Text :heavy_minus_sign: Write - DesignerBlocks
-
-Set a custom font.
-
-
-
-### Height
-
-Number :heavy_minus_sign: ReadWrite - Blocks
-
-Specifies the component's vertical height, measured in pixels.
-
-
-
-
-### Height Percent
-
-Number :heavy_minus_sign: Write - Blocks
-
-Specifies the component's vertical height as a percentageof the height of its parent Component.
-
-
-
-### HTML Format
-
-Available as ^^Advanced^^ Property
-
-BooleanDefault: False :heavy_minus_sign: Write - Designer
-
-If true, then this button will show html text else it will show plain text. Note: Not all HTML is supported.
-
-### Image
-
-Text :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Image to display on button.
-
-
-
-
-### Rotation Angle
-
-Available as ^^Advanced^^ Property
-
-NumberDefault: 0.0 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Sets the degrees that the button is rotated around the pivot point. Increasing values result in clockwise rotation.
-
-
-
-
-### Selection
-
-Text :heavy_minus_sign: Read - Blocks
-
-Path to the file containing the audio file that was selected.
-
-
-
-### Shape
-
-NumberDefault: 0 :heavy_minus_sign: Write - Designer
-
-Specifies the button's shape (default, rounded, rectangular, oval). The shape will not be visible if an Image is being displayed.
-
-### Show Feedback
-
-Available as ^^Advanced^^ Property
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Specifies if a visual feedback should be shown for a button that as an image as background.
-
-
-
-
-### Text
-
-Text :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Text to display on button.
-
-
-
-
-### Text Alignment
-
-NumberDefault: 1 :heavy_minus_sign: Write - Designer
-
-Left, center, or right.
-
-### Text Color
-
-ColorDefault: #FFFFFFFF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Color for button text.
-
-
-
-
-### Touch Color
-
-Available as ^^Advanced^^ Property
-
-ColorDefault: #CCCCCCFF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Set the buttons touch color.
-
-
-
-
-### Visible
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Returns true iff the component is visible.
-
-
-
-
-### Width
-
-Number :heavy_minus_sign: ReadWrite - Blocks
-
-Specifies the component's horizontal width, measured in pixels.
-
-
-
-
-### Width Percent
-
-Number :heavy_minus_sign: Write - Blocks
-
-Specifies the component's horizontal width as a percentageof the Width of its parent Component.
-
-
diff --git a/docs/components/media/camcorder.md b/docs/components/media/camcorder.md
deleted file mode 100644
index d191ec0cd..000000000
--- a/docs/components/media/camcorder.md
+++ /dev/null
@@ -1,34 +0,0 @@
-# Camcorder
-
-{>> Non-Visible component<<}
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Media**|API 21, Android 5.0 Lollipop|1|
-
-## Overview
-
-A component to record a video using the device's camcorder.After the video is recorded, the name of the file on the phone containing the clip is available as an argument to the AfterRecording event. The file name can be used, for example, to set the source property of a VideoPlayer component.
-
-??? example "Permissions"
- * [android.permission.CAMERA](https://developer.android.com/reference/android/Manifest.permission.html#CAMERA)
-
-## Events
-
-### After Recording
-
-Indicates that a video was recorded with the camera and provides the path tothe stored picture.
-
-
-
-| Params | []() |
-|--------|------|
-|clip|Text|
-
-## Methods
-
-### Record Video
-
-Records a video, then raises the AfterRecoding event.
-
-
diff --git a/docs/components/media/camera.md b/docs/components/media/camera.md
deleted file mode 100644
index 9608f8aae..000000000
--- a/docs/components/media/camera.md
+++ /dev/null
@@ -1,64 +0,0 @@
-# Camera
-
-{>> Non-Visible component<<}
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Media**|API 21, Android 5.0 Lollipop|4|
-
-## Overview
-
-A component to take a picture using the device's camera. After the picture is taken, the name of the file on the phone containing the picture is available as an argument to the AfterPicture event. The file name can be used, for example, to set the Picture property of an Image component.
-
-??? example "Permissions"
- * [android.permission.FLASHLIGHT](https://developer.android.com/reference/android/Manifest.permission.html#FLASHLIGHT)
- * [android.permission.CAMERA](https://developer.android.com/reference/android/Manifest.permission.html#CAMERA)
- * [android.permission.READ_EXTERNAL_STORAGE](https://developer.android.com/reference/android/Manifest.permission.html#READ_EXTERNAL_STORAGE)
- * [android.permission.WRITE_EXTERNAL_STORAGE](https://developer.android.com/reference/android/Manifest.permission.html#WRITE_EXTERNAL_STORAGE)
-
-## Events
-
-### After Picture
-
-Returns the taken picture.
-
-
-
-| Params | []() |
-|--------|------|
-|image|Text|
-
-## Methods
-
-### Has Flash
-
-Returns: Boolean
-
-Returns true if your device has a flash.
-
-
-
-### Take Picture
-
-Take a picture with the camera of your device.
-
-
-
-### Toggle Light
-
-Toggle the flash of your device to on or off.
-
-
-
-## Properties
-
-### Use Front
-
-:warning: ==**Deprecated**==
-
-Boolean :heavy_minus_sign: ReadWrite - Blocks
-
-Specifies whether the front-facing camera should be used (when available). If the device does not have a front-facing camera, this option will be ignored and the camera will open normally.
-
-
-
diff --git a/docs/components/media/image-picker.md b/docs/components/media/image-picker.md
deleted file mode 100644
index 799bf4aff..000000000
--- a/docs/components/media/image-picker.md
+++ /dev/null
@@ -1,339 +0,0 @@
-# Image Picker
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Media**|API 21, Android 5.0 Lollipop|11|
-
-## Overview
-
-A special-purpose button. When the user taps an image picker, the device's image gallery appears, and the user can choose an image.
-
-??? example "Permissions"
- * [android.permission.INTERNET](https://developer.android.com/reference/android/Manifest.permission.html#INTERNET)
- * [android.permission.READ_EXTERNAL_STORAGE](https://developer.android.com/reference/android/Manifest.permission.html#READ_EXTERNAL_STORAGE)
-
-## Events
-
-### After Picking
-
-Event to be raised after the picker activity returns itsresult and the properties have been filled in.
-
-
-
-| Params | []() |
-|--------|------|
-|selection|Text|
-
-### Before Picking
-
-Event to raise when the button of the component is clicked or the list is shownusing the Open block. This event occurs before the list of items is displayed, andcan be used to prepare the list before it is shown.
-
-
-
-### Got Focus
-
-Indicates the cursor moved over the button so it is now possible to click it.
-
-
-
-### Lost Focus
-
-Indicates the cursor moved away from the button so it is now no longer possible to click it.
-
-
-
-### Touch Down
-
-Indicates that the button was pressed down.
-
-
-
-### Touch Up
-
-Indicates that a button has been released.
-
-
-
-## Methods
-
-### Button Click
-
-Perform a button click as function.
-
-
-
-### Open
-
-Opens the picker, as though the user clicked on it.
-
-
-
-### Set Animation Style
-
-Allows you to set animation style. Valid (case-insensitive) values are: ChasingDots, Circle, CubeGrid, DoubleBounce, FadingCircle, FoldingCube, Pulse, RotatingCircle, RotatingPlane, ThreeBounce, WanderingCubes, Wave. If invalid style is used, animation will be removed.Position can be: top, left, right, bottom. Size can be 100.
-
-
-
-| Params | []() |
-|--------|------|
-|style|Text|
-|position|Text|
-|size|Number|
-|color|Number|
-
-### Set Shadow
-
-Place a blurred shadow of text underneath the text, drawn with the specified x, y, radius, color (e.g. -11, 12, 13, black.
-
-
-
-| Params | []() |
-|--------|------|
-|x|Number|
-|y|Number|
-|radius|Number|
-|color|Number|
-
-### With Icon From Font Awesome
-
-Show an image on the given position near to the button. You can use following words for the position: 'Left', 'Right', 'Top' or 'Bottom'. Use the padding to add space between the icon and text. Use a 'FontAwesome' icon as the button icon without uploading a image resource into your project. You can find the icon code here at https://fontawesome.com/cheatsheet Use as example for a heart icon just 'f004' or ''
-
-
-
-| Params | []() |
-|--------|------|
-|position|Text|
-|icon Name|Text|
-|icon Color|Number|
-|padding|Number|
-|size|Number|
-
-### With Icon From Material Font
-
-Show an image on the given position near to the button. You can use following words for the position: 'Left', 'Right', 'Top' or 'Bottom'. Use the padding to add space between the icon and text. Use a 'Material' icon as the button icon without uploading a image resource into your project. You can find the icon name here at https://material.io/resources/icons
-
-
-
-| Params | []() |
-|--------|------|
-|position|Text|
-|icon Name|Text|
-|icon Color|Number|
-|padding|Number|
-|size|Number|
-
-### With Icon From Picture
-
-Show an image on the given position near to the button. You can use following words for the position: 'Left', 'Right', 'Top' or 'Bottom'. Use the padding to add space between the icon and text.
-
-
-
-| Params | []() |
-|--------|------|
-|position|Text|
-|picture|Text|
-|padding|Number|
-|width|Number|
-|height|Number|
-
-## Properties
-
-### Background Color
-
-ColorDefault: #444444FF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Returns the button's background color
-
-
-
-
-### Border Shadow
-
-Available as ^^Advanced^^ Property
-
-BooleanDefault: True :heavy_minus_sign: Write - Designer
-
-Returns true if the button have a outside border shadow on click.
-
-### Enabled
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-If set, user can tap check box to cause action.
-
-
-
-
-### Font Bold
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-If set, button text is displayed in bold.
-
-
-
-
-### Font Italic
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-If set, button text is displayed in italics.
-
-
-
-
-### Font Size
-
-NumberDefault: 14.0 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Point size for button text.
-
-
-
-
-### Font Typeface
-
-NumberDefault: 0 :heavy_minus_sign: Write - Designer
-
-Font family for button text.
-
-### Font Typeface Import
-
-Available as ^^Advanced^^ Property
-
-Text :heavy_minus_sign: Write - DesignerBlocks
-
-Set a custom font.
-
-
-
-### Height
-
-Number :heavy_minus_sign: ReadWrite - Blocks
-
-Specifies the component's vertical height, measured in pixels.
-
-
-
-
-### Height Percent
-
-Number :heavy_minus_sign: Write - Blocks
-
-Specifies the component's vertical height as a percentageof the height of its parent Component.
-
-
-
-### HTML Format
-
-Available as ^^Advanced^^ Property
-
-BooleanDefault: False :heavy_minus_sign: Write - Designer
-
-If true, then this button will show html text else it will show plain text. Note: Not all HTML is supported.
-
-### Image
-
-Text :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Image to display on button.
-
-
-
-
-### Rotation Angle
-
-Available as ^^Advanced^^ Property
-
-NumberDefault: 0.0 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Sets the degrees that the button is rotated around the pivot point. Increasing values result in clockwise rotation.
-
-
-
-
-### Selection
-
-Text :heavy_minus_sign: Read - Blocks
-
-Path to the file containing the image that was selected.
-
-
-
-### Shape
-
-NumberDefault: 0 :heavy_minus_sign: Write - Designer
-
-Specifies the button's shape (default, rounded, rectangular, oval). The shape will not be visible if an Image is being displayed.
-
-### Show Feedback
-
-Available as ^^Advanced^^ Property
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Specifies if a visual feedback should be shown for a button that as an image as background.
-
-
-
-
-### Text
-
-Text :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Text to display on button.
-
-
-
-
-### Text Alignment
-
-NumberDefault: 1 :heavy_minus_sign: Write - Designer
-
-Left, center, or right.
-
-### Text Color
-
-ColorDefault: #FFFFFFFF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Color for button text.
-
-
-
-
-### Touch Color
-
-Available as ^^Advanced^^ Property
-
-ColorDefault: #CCCCCCFF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Set the buttons touch color.
-
-
-
-
-### Visible
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Returns true iff the component is visible.
-
-
-
-
-### Width
-
-Number :heavy_minus_sign: ReadWrite - Blocks
-
-Specifies the component's horizontal width, measured in pixels.
-
-
-
-
-### Width Percent
-
-Number :heavy_minus_sign: Write - Blocks
-
-Specifies the component's horizontal width as a percentageof the Width of its parent Component.
-
-
diff --git a/docs/components/media/index.md b/docs/components/media/index.md
deleted file mode 100644
index eaa0525cb..000000000
--- a/docs/components/media/index.md
+++ /dev/null
@@ -1,17 +0,0 @@
-# Overview of Media
-
-* [Audio Picker](audio-picker.md)
-* [Camcorder](camcorder.md)
-* [Camera](camera.md)
-* [Image Picker](image-picker.md)
-* [Metadata](metadata.md)
-* [OCR](ocr.md)
-* [Player](player.md)
-* [QR Code](qr-code.md)
-* [Sound](sound.md)
-* [Sound Recorder](sound-recorder.md)
-* [Speech Recognizer](speech-recognizer.md)
-* [Text To Speech](text-to-speech.md)
-* [Video Picker](video-picker.md)
-* [Video Player](video-player.md)
-* [Yandex Translate](yandex-translate.md)
\ No newline at end of file
diff --git a/docs/components/media/metadata.md b/docs/components/media/metadata.md
deleted file mode 100644
index 10bcd7600..000000000
--- a/docs/components/media/metadata.md
+++ /dev/null
@@ -1,221 +0,0 @@
-# Metadata
-
-{>> Non-Visible component<<}
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Media**|API 21, Android 5.0 Lollipop|2|
-
-## Overview
-
-A non-visible component that reads the metadata of audio/video files.
-
-??? example "Permissions"
- * [android.permission.INTERNET](https://developer.android.com/reference/android/Manifest.permission.html#INTERNET)
- * [android.permission.READ_EXTERNAL_STORAGE](https://developer.android.com/reference/android/Manifest.permission.html#READ_EXTERNAL_STORAGE)
- * [android.permission.WRITE_EXTERNAL_STORAGE](https://developer.android.com/reference/android/Manifest.permission.html#WRITE_EXTERNAL_STORAGE)
-
-## Events
-
-### No Metadata
-
-Triggers when there is no metadata found in the file.
-
-
-
-| Params | []() |
-|--------|------|
-|type|Text|
-
-## Methods
-
-### Album
-
-Returns: Text
-
-Get the Album from the file.
-
-
-
-### Artist
-
-Returns: Text
-
-Get the Artist from the file.
-
-
-
-### Author
-
-Returns: Text
-
-Get the Author from the file.
-
-
-
-### Bitrate
-
-Returns: Text
-
-Get the Bitrate from the file.
-
-
-
-### Composer
-
-Returns: Text
-
-Get the Composer from the file.
-
-
-
-### Custom Item
-
-Returns: Text
-
-Get a custom metadata item from the fileyou can find a list of ids on https://developer.android.com/reference/android/media/MediaMetadataRetriever.html
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-
-### Date
-
-Returns: Text
-
-Get the Date from the file.
-
-
-
-### Disc Number
-
-Returns: Text
-
-Get the Disc Number from the file.
-
-
-
-### Duration
-
-Returns: Text
-
-Get the Duration from the file.
-
-
-
-### Embedded Picture
-
-Returns: Text
-
-This method finds the optional graphic or album/cover art associated associated with the data source. If there are more than one pictures, (any) one of them is returned.
-
-
-
-### Genre
-
-Returns: Text
-
-Get the Genre from the file.
-
-
-
-### Has Audio
-
-Returns: Text
-
-Get the Has Audio from the file.
-
-
-
-### Has Video
-
-Returns: Text
-
-Get the Has Video from the file.
-
-
-
-### Location
-
-Returns: Text
-
-Get the Location from the file.
-
-
-
-### Mimetype
-
-Returns: Text
-
-Get the Mimetype from the file.
-
-
-
-### Title
-
-Returns: Text
-
-Get the Title from the file.
-
-
-
-### Track Number
-
-Returns: Text
-
-Get the Track Number from the file.
-
-
-
-### Video Height
-
-Returns: Text
-
-Get the Video Height from the file.
-
-
-
-### Video Rotation
-
-Returns: Text
-
-Get the Video Rotation from the file.
-
-
-
-### Video Width
-
-Returns: Text
-
-Get the Video Width from the file.
-
-
-
-### Writer
-
-Returns: Text
-
-Get the Writer from the file.
-
-
-
-### Year
-
-Returns: Text
-
-Get the Year from the file.
-
-
-
-## Properties
-
-### File
-
-Text :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The name of the file.
-
-
-
diff --git a/docs/components/media/ocr.md b/docs/components/media/ocr.md
deleted file mode 100644
index f14d7d2e0..000000000
--- a/docs/components/media/ocr.md
+++ /dev/null
@@ -1,132 +0,0 @@
-# OCR
-
-{>> Non-Visible component<<}
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Media**|API 21, Android 5.0 Lollipop|5|
-
-## Overview
-
-A non-visible component that reads text from images using Optical Character Recognition technology.
-
-??? example "Permissions"
- * [android.permission.INTERNET](https://developer.android.com/reference/android/Manifest.permission.html#INTERNET)
- * [android.permission.READ_EXTERNAL_STORAGE](https://developer.android.com/reference/android/Manifest.permission.html#READ_EXTERNAL_STORAGE)
-
-## Events
-
-### Got Response
-
-You will find here the success state and the response content.
-
-
-
-| Params | []() |
-|--------|------|
-|success|Boolean|
-|response Content|Text|
-
-### Got Server Status
-
-You will find here the server status from the ocr provider. Possible results are 'UP' or 'DOWN'. 'pro Usa1' = Usa, East Coast. 'pro Usa2' = Usa, West Coast.
-
-
-
-| Params | []() |
-|--------|------|
-|free|Text|
-|pro USA 1|Text|
-|pro USA 2|Text|
-|pro Europe|Text|
-|pro Asia|Text|
-
-## Methods
-
-### Get OCR Server Status
-
-Get the server status from the free ocr.space server. This is helpful if you want to know if the server is online or offline. Returns true when online, else false when offline.
-
-
-
-### Get Text From Image Url
-
-Get the text from a picture via the image url. Example: http://name/yourimage.jpg. Service powered by ocr.space.
-
-
-
-| Params | []() |
-|--------|------|
-|image URL|Text|
-
-### Upload Image
-
-Upload your image to the server from ocr.space and then you get back the text from the picture.
-
-
-
-| Params | []() |
-|--------|------|
-|path|Text|
-
-## Properties
-
-### API Key
-
-TextDefault: helloworld :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-You can use the default api key: helloworld, or you can create your own api key at: https://ocr.space/ocrapi
-
-
-
-
-### Create Searchable PDF
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-A searchable PDF file is a PDF file that includes text that can be searched upon using the standard Adobe Reader “search” functionality. In addition, the text can be selected and copied from the PDF. In this case the JSON response of the API contains a download link for the the searchable PDF. This download link is valid for one hour, than all data is removed from the OCR servers.
-
-
-
-
-### Language
-
-TextDefault: 1 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Choose the language used for OCR. If no language is specified, English is taken as 'Default'.
-
-
-
-
-### Overlaid
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Allows you to specify if the image/pdf text overlay is required. Overlay could be used to show the text over the image.
-
-
-
-
-### Return Only Message
-
-Boolean :heavy_minus_sign: Write - Blocks
-
-Set this block before you upload a image and before you try to get the response from a image url. If this property is set to true, the response content returns only the message. That means the response content will be only the scanned text in words.
-
-
-
-### Return Only PDF Link
-
-Boolean :heavy_minus_sign: Write - Blocks
-
-Set this block before you upload a image and before you try to get the response from a image url. If this property is set to true, the response content returns only the created pdf download link.
-
-
-
-### Test Image URL
-
-Text :heavy_minus_sign: Read - Blocks
-
-You can use the test image url if you have not any picture online on a server or else.
-
-
diff --git a/docs/components/media/player.md b/docs/components/media/player.md
deleted file mode 100644
index 3b9ae54e7..000000000
--- a/docs/components/media/player.md
+++ /dev/null
@@ -1,181 +0,0 @@
-# Player
-
-{>> Non-Visible component<<}
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Media**|API 21, Android 5.0 Lollipop|8|
-
-## Overview
-
-Multimedia component that plays audio and controls phone vibration. The name of a multimedia field is specified in the `` Source `` property, which can be set in the Designer or in the Blocks Editor. The length of time for a vibration is specified in the Blocks Editor in milliseconds (thousandths of a second)
-
-For supported audio formats, see Android Supported Media Formats.
-
-This component is best for long sound files, such as songs, while the `` Sound `` component is more efficient for short files, such as sound effects.
-
-??? example "Permissions"
- * [android.permission.INTERNET](https://developer.android.com/reference/android/Manifest.permission.html#INTERNET)
- * [android.permission.VIBRATE](https://developer.android.com/reference/android/Manifest.permission.html#VIBRATE)
-
-## Events
-
-### Completed
-
-Indicates that the media has reached the end
-
-
-
-### Other Player Started
-
-This event is signaled when another player has started (and the current player is playing or paused, but not stopped).
-
-
-
-### PlayerError
-
-The PlayerError event is no longer used. Please use the Screen.ErrorOccurred event instead.
-
-
-
-| Params | []() |
-|--------|------|
-|message|Text|
-
-## Methods
-
-### Pause
-
-Suspends playing the media if it is playing.
-
-
-
-### Seek To
-
-Set a position where the source file should start playing.
-
-
-
-| Params | []() |
-|--------|------|
-|position|Number|
-
-### Set Left Right Volume
-
-Control the left and right volume of the player. Set the volume to a number between 0 and 100.
-
-
-
-| Params | []() |
-|--------|------|
-|left Volume|Number|
-|right Volume|Number|
-
-### Start
-
-Plays the media. If it was previously paused, the playing is resumed
-If it was previously stopped, it starts from the beginning.
-
-
-
-### Stop
-
-Stops playing the media and seeks to the beginning of the song.
-
-
-
-### Vibrate
-
-Vibrates for specified number of milliseconds.
-
-
-
-| Params | []() |
-|--------|------|
-|milliseconds|Number|
-
-## Properties
-
-### Current Position
-
-Number :heavy_minus_sign: Read - Blocks
-
-Returns the current position of the source file that is playing.
-
-
-
-### Duration
-
-Number :heavy_minus_sign: Read - Blocks
-
-Returns the duration of the source file.
-
-
-
-### Get TrackInfo
-
-Text :heavy_minus_sign: Read - Blocks
-
-Returns a array of track information.
-
-
-
-### Is Playing
-
-Boolean :heavy_minus_sign: Read - Blocks
-
-Reports whether the media is playing
-
-
-
-### Left Volume
-
-Number :heavy_minus_sign: Read - Blocks
-
-Returns the current left volume.
-
-
-
-### Loop
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-If true, the player will loop when it plays. Setting Loop while the player is playing will affect the current playing.
-
-
-
-
-### Play Only In Foreground
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-If true, the player will pause playing when leaving the current screen; if false (default option), the player continues playing whenever the current screen is displaying or not.
-
-
-
-
-### Right Volume
-
-Number :heavy_minus_sign: Read - Blocks
-
-Returns the current right volume.
-
-
-
-### Source
-
-Text :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Returns the path to the audio source
-
-
-
-
-### Volume
-
-NumberDefault: 50 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Sets the volume to a number between 0 and 100.
-
-
-
diff --git a/docs/components/media/qr-code.md b/docs/components/media/qr-code.md
deleted file mode 100644
index c075fcb59..000000000
--- a/docs/components/media/qr-code.md
+++ /dev/null
@@ -1,103 +0,0 @@
-# QR Code
-
-{>> Non-Visible component<<}
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Media**|API 21, Android 5.0 Lollipop|1|
-
-## Overview
-
-A non-visible component that generates a QR code from text.
-
-??? example "Permissions"
- * [android.permission.INTERNET](https://developer.android.com/reference/android/Manifest.permission.html#INTERNET)
- * [android.permission.ACCESS_NETWORK_STATE](https://developer.android.com/reference/android/Manifest.permission.html#ACCESS_NETWORK_STATE)
-
-## Events
-
-### Got Response
-
-You will find here the success state and image url.
-
-
-
-| Params | []() |
-|--------|------|
-|success|Boolean|
-|url|Text|
-
-## Methods
-
-### Generate Qr Code
-
-Create a QR Code and the result is a link to it. Example: Set the resolution(in pixel) to 200(height and width has the same value) and text to: Hello world!. Result: QR code resolution is 200x200, text = Hello world! Your text input is encoded in the link automatically.
-
-
-
-## Properties
-
-### Background Color
-
-ColorDefault: #FFFFFFFF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Set the background color of the qr code result.
-
-
-
-
-### Charset
-
-Available as ^^Advanced^^ Property
-
-TextDefault: UTF-8 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Set the charset of the input text.
-
-
-
-
-### Format
-
-TextDefault: png :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-It's possible to create the QR code picture using different file formats, available are PNG, GIF, JPEG and the vector graphic formats SVG and EPS.
-
-
-
-
-### Front Color
-
-ColorDefault: #000000FF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Set the color of the qr code result.
-
-
-
-
-### Margin
-
-NumberDefault: 0 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Thickness of a margin in pixels. The margin will always have the same color as the background.
-
-
-
-
-### Size
-
-NumberDefault: 200 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Set the size/resolution of the qr code.
-
-
-
-
-### Text
-
-TextDefault: Default :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-This is the text that is converted as qr code.
-
-
-
diff --git a/docs/components/media/sound-recorder.md b/docs/components/media/sound-recorder.md
deleted file mode 100644
index 41c5b5fa8..000000000
--- a/docs/components/media/sound-recorder.md
+++ /dev/null
@@ -1,87 +0,0 @@
-# Sound Recorder
-
-{>> Non-Visible component<<}
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Media**|API 21, Android 5.0 Lollipop|4|
-
-## Overview
-
-A non-visible component that records audio from the device''s microphone.
-
-??? example "Permissions"
- * [android.permission.RECORD_AUDIO](https://developer.android.com/reference/android/Manifest.permission.html#RECORD_AUDIO)
-
-## Events
-
-### After Sound Recorded
-
-Provides the location of the newly created sound.
-
-
-
-| Params | []() |
-|--------|------|
-|sound|Text|
-
-### Paused Recording
-
-Indicates that the recorder has paused, and can be resumed again.
-
-
-
-### Resumed Recording
-
-Indicates that the recorder has resumed, and can be started again.
-
-
-
-### Started Recording
-
-Indicates that the recorder has started, and can be stopped.
-
-
-
-### Stopped Recording
-
-Indicates that the recorder has stopped, and can be started again.
-
-
-
-## Methods
-
-### Pause
-
-Use this block to pause the sound recorder. Works only on Android 6 and above.
-
-
-
-### Resume
-
-Use this block to resume the sound recorder. Works only on Android 6 and above.
-
-
-
-### Start
-
-Use this block to start the sound recorder.
-
-
-
-### Stop
-
-Use this block to stop the sound recorder.
-
-
-
-## Properties
-
-### Saved Recording
-
-Text :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Specifies the path to the file where the recording should be stored. If this property is the empty string, then starting a recording will create a file in an appropriate location. If the property is not the empty string, it should specify a complete path to a file in an existing directory, including a file name with the extension .3gp.
-
-
-
diff --git a/docs/components/media/sound.md b/docs/components/media/sound.md
deleted file mode 100644
index c26adeeab..000000000
--- a/docs/components/media/sound.md
+++ /dev/null
@@ -1,109 +0,0 @@
-# Sound
-
-{>> Non-Visible component<<}
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Media**|API 21, Android 5.0 Lollipop|5|
-
-## Overview
-
-A multimedia component that plays sound files and optionally vibrates for the number of milliseconds (thousandths of a second) specified in the Blocks Editor. The name of the sound file to play can be specified either in the Designer or in the Blocks Editor.
-
-
-
-For supported sound file formats, see Android Supported Media Formats.
-
-This `` Sound `` component is best for short sound files, such as sound effects, while the `` Player `` component is more efficient for longer sounds, such as songs.
-
-You might get an error if you attempt to play a sound immediately after setting the source.
-
-??? example "Permissions"
- * [android.permission.INTERNET](https://developer.android.com/reference/android/Manifest.permission.html#INTERNET)
- * [android.permission.VIBRATE](https://developer.android.com/reference/android/Manifest.permission.html#VIBRATE)
-
-## Methods
-
-### Pause
-
-Pauses playing the sound if it is being played.
-
-
-
-### Play
-
-Plays the sound specified by the Source property.
-
-
-
-### Resume
-
-Resumes playing the sound after a pause.
-
-
-
-### Sound Normal
-
-Ringer mode that may be audible and may vibrate.
-
-
-
-### Sound Silent
-
-Ringer mode that will be silent and will not vibrate.
-
-
-
-### Sound Vibrate
-
-Ringer mode that will be silent and will vibrate.
-
-
-
-### Stop
-
-Stops playing the sound if it is being played.
-
-
-
-### Vibrate
-
-Vibrates for the specified number of milliseconds.
-
-
-
-| Params | []() |
-|--------|------|
-|millisecs|Number|
-
-### Vibrate Pattern
-
-Vibrate with a given pattern
-
-
-
-| Params | []() |
-|--------|------|
-|vibrate|Number|
-|delay|Number|
-|repeat|Boolean|
-
-## Properties
-
-### Minimum Interval (ms)
-
-NumberDefault: 500 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The minimum interval, in milliseconds, between sounds. If you play a sound, all further Play() calls will be ignored until the interval has elapsed.
-
-
-
-
-### Source
-
-Text :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The name of the sound file. Only certain formats are supported. See http://developer.android.com/guide/appendix/media-formats.html.
-
-
-
diff --git a/docs/components/media/speech-recognizer.md b/docs/components/media/speech-recognizer.md
deleted file mode 100644
index c17123275..000000000
--- a/docs/components/media/speech-recognizer.md
+++ /dev/null
@@ -1,79 +0,0 @@
-# Speech Recognizer
-
-{>> Non-Visible component<<}
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Media**|API 21, Android 5.0 Lollipop|3|
-
-## Overview
-
-A non-visible component that converts spoken words to text using voice recognition.
-
-??? example "Permissions"
- * [android.permission.INTERNET](https://developer.android.com/reference/android/Manifest.permission.html#INTERNET)
- * [android.permission.RECORD_AUDIO](https://developer.android.com/reference/android/Manifest.permission.html#RECORD_AUDIO)
-
-## Events
-
-### After Getting Text
-
-Simple event to raise after the VoiceReco activity has returned
-Partial is 'false' when SpeechRecognizer stops automatically after listening,else it is 'true' if SpeechRecognizer returns partial results.
-
-
-
-| Params | []() |
-|--------|------|
-|result|Text|
-|partial|Boolean|
-
-### Before Getting Text
-
-Simple event to raise when VoiceReco is invoked but before the VoiceRecoactivity is started.
-
-
-
-## Methods
-
-### Get Text
-
-Solicits speech input from the user. After the speech is converted totext, the AfterGettingText event will be raised.
-
-
-
-### Stop
-
-Function used to forcefully stop listening speech in cases whereSpeechRecognizer cannot stop automatically
-This function works only when UseLegacy property is set to 'false'.
-
-
-
-## Properties
-
-### Language
-
-Text :heavy_minus_sign: ReadWrite - Blocks
-
-Suggests the language to use for recognizing speech. An empty string (the default) willuse the system's default language
- Language is specified using a [language tag](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) with an optional region suffix, such as en or es-MX. The set of supported languages will vary by device.
-
-
-
-
-### Result
-
-Text :heavy_minus_sign: Read - Blocks
-
-Result property getter method.
-
-
-
-### Use Legacy
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-If true, an app can retain their older behaviour.
-
-
-
diff --git a/docs/components/media/text-to-speech.md b/docs/components/media/text-to-speech.md
deleted file mode 100644
index 4c0f8a9e9..000000000
--- a/docs/components/media/text-to-speech.md
+++ /dev/null
@@ -1,113 +0,0 @@
-# Text To Speech
-
-{>> Non-Visible component<<}
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Media**|API 21, Android 5.0 Lollipop|5|
-
-## Overview
-
-The TestToSpeech component speaks a given text aloud. You can set the pitch and the rate of speech.
-
-You can also set a language by supplying a language code. This changes the pronounciation of words, not the actual language spoken. For example, setting the language to French and speaking English text will sound like someone speaking English (en) with a French accent.
-
-
-
-You can also specify a country by supplying a country code. This can affect the pronounciation. For example, British English (GBR) will sound different from US English (USA). Not every country code will affect every language.
-
-
-
-The languages and countries available depend on the particular device, and can be listed with the AvailableLanguages and AvailableCountries properties.
-
-## Events
-
-### After Speaking
-
-Event to raise after the message is spoken.
-
-
-
-| Params | []() |
-|--------|------|
-|result|Boolean|
-
-### Before Speaking
-
-Event to raise when Speak is invoked, before the message is spoken.
-
-
-
-## Methods
-
-### Speak
-
-Speaks the given message.
-
-
-
-| Params | []() |
-|--------|------|
-|message|Text|
-
-## Properties
-
-### Available Countries
-
-List :heavy_minus_sign: Read - Blocks
-
-List of the country codes available on this device for use with TextToSpeech. Check the Android developer documentation under supported languages to find the meanings of these abbreviations.
-
-
-
-### Available Languages
-
-List :heavy_minus_sign: Read - Blocks
-
-List of the languages available on this device for use with TextToSpeech. Check the Android developer documentation under supported languages to find the meanings of these abbreviations.
-
-
-
-### Country
-
-Text :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Country code to use for speech generation. This can affect the pronounciation. For example, British English (GBR) will sound different from US English (USA). Not every country code will affect every language.
-
-
-
-
-### Language
-
-Text :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Sets the language for TextToSpeech. This changes the way that words are pronounced, not the actual language that is spoken. For example setting the language to and speaking English text with sound like someone speaking English with a French accent.
-
-
-
-
-### Pitch
-
-NumberDefault: 1.0 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Sets the Pitch for TextToSpeech The values should be between 0 and 2 where lower values lower the tone of synthesized voice and greater values raise it.
-
-
-
-
-### Result
-
-Boolean :heavy_minus_sign: Read - Blocks
-
-Result property getter method.
-
-
-
-### Speech Rate
-
-NumberDefault: 1.0 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Sets the SpeechRate for TextToSpeech. The values should be between 0 and 2 where lower values slow down the pitch and greater values accelerate it.
-
-
-
diff --git a/docs/components/media/video-picker.md b/docs/components/media/video-picker.md
deleted file mode 100644
index 6c717bf98..000000000
--- a/docs/components/media/video-picker.md
+++ /dev/null
@@ -1,338 +0,0 @@
-# Video Picker
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Media**|API 21, Android 5.0 Lollipop|7|
-
-## Overview
-
-A special-purpose button. When the user taps an video picker, the device's video gallery appears, and the user can choose an video.
-
-??? example "Permissions"
- * [android.permission.INTERNET](https://developer.android.com/reference/android/Manifest.permission.html#INTERNET)
-
-## Events
-
-### After Picking
-
-Event to be raised after the picker activity returns itsresult and the properties have been filled in.
-
-
-
-| Params | []() |
-|--------|------|
-|selection|Text|
-
-### Before Picking
-
-Event to raise when the button of the component is clicked or the list is shownusing the Open block. This event occurs before the list of items is displayed, andcan be used to prepare the list before it is shown.
-
-
-
-### Got Focus
-
-Indicates the cursor moved over the button so it is now possible to click it.
-
-
-
-### Lost Focus
-
-Indicates the cursor moved away from the button so it is now no longer possible to click it.
-
-
-
-### Touch Down
-
-Indicates that the button was pressed down.
-
-
-
-### Touch Up
-
-Indicates that a button has been released.
-
-
-
-## Methods
-
-### Button Click
-
-Perform a button click as function.
-
-
-
-### Open
-
-Opens the picker, as though the user clicked on it.
-
-
-
-### Set Animation Style
-
-Allows you to set animation style. Valid (case-insensitive) values are: ChasingDots, Circle, CubeGrid, DoubleBounce, FadingCircle, FoldingCube, Pulse, RotatingCircle, RotatingPlane, ThreeBounce, WanderingCubes, Wave. If invalid style is used, animation will be removed.Position can be: top, left, right, bottom. Size can be 100.
-
-
-
-| Params | []() |
-|--------|------|
-|style|Text|
-|position|Text|
-|size|Number|
-|color|Number|
-
-### Set Shadow
-
-Place a blurred shadow of text underneath the text, drawn with the specified x, y, radius, color (e.g. -11, 12, 13, black.
-
-
-
-| Params | []() |
-|--------|------|
-|x|Number|
-|y|Number|
-|radius|Number|
-|color|Number|
-
-### With Icon From Font Awesome
-
-Show an image on the given position near to the button. You can use following words for the position: 'Left', 'Right', 'Top' or 'Bottom'. Use the padding to add space between the icon and text. Use a 'FontAwesome' icon as the button icon without uploading a image resource into your project. You can find the icon code here at https://fontawesome.com/cheatsheet Use as example for a heart icon just 'f004' or ''
-
-
-
-| Params | []() |
-|--------|------|
-|position|Text|
-|icon Name|Text|
-|icon Color|Number|
-|padding|Number|
-|size|Number|
-
-### With Icon From Material Font
-
-Show an image on the given position near to the button. You can use following words for the position: 'Left', 'Right', 'Top' or 'Bottom'. Use the padding to add space between the icon and text. Use a 'Material' icon as the button icon without uploading a image resource into your project. You can find the icon name here at https://material.io/resources/icons
-
-
-
-| Params | []() |
-|--------|------|
-|position|Text|
-|icon Name|Text|
-|icon Color|Number|
-|padding|Number|
-|size|Number|
-
-### With Icon From Picture
-
-Show an image on the given position near to the button. You can use following words for the position: 'Left', 'Right', 'Top' or 'Bottom'. Use the padding to add space between the icon and text.
-
-
-
-| Params | []() |
-|--------|------|
-|position|Text|
-|picture|Text|
-|padding|Number|
-|width|Number|
-|height|Number|
-
-## Properties
-
-### Background Color
-
-ColorDefault: #444444FF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Returns the button's background color
-
-
-
-
-### Border Shadow
-
-Available as ^^Advanced^^ Property
-
-BooleanDefault: True :heavy_minus_sign: Write - Designer
-
-Returns true if the button have a outside border shadow on click.
-
-### Enabled
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-If set, user can tap check box to cause action.
-
-
-
-
-### Font Bold
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-If set, button text is displayed in bold.
-
-
-
-
-### Font Italic
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-If set, button text is displayed in italics.
-
-
-
-
-### Font Size
-
-NumberDefault: 14.0 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Point size for button text.
-
-
-
-
-### Font Typeface
-
-NumberDefault: 0 :heavy_minus_sign: Write - Designer
-
-Font family for button text.
-
-### Font Typeface Import
-
-Available as ^^Advanced^^ Property
-
-Text :heavy_minus_sign: Write - DesignerBlocks
-
-Set a custom font.
-
-
-
-### Height
-
-Number :heavy_minus_sign: ReadWrite - Blocks
-
-Specifies the component's vertical height, measured in pixels.
-
-
-
-
-### Height Percent
-
-Number :heavy_minus_sign: Write - Blocks
-
-Specifies the component's vertical height as a percentageof the height of its parent Component.
-
-
-
-### HTML Format
-
-Available as ^^Advanced^^ Property
-
-BooleanDefault: False :heavy_minus_sign: Write - Designer
-
-If true, then this button will show html text else it will show plain text. Note: Not all HTML is supported.
-
-### Image
-
-Text :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Image to display on button.
-
-
-
-
-### Rotation Angle
-
-Available as ^^Advanced^^ Property
-
-NumberDefault: 0.0 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Sets the degrees that the button is rotated around the pivot point. Increasing values result in clockwise rotation.
-
-
-
-
-### Selection
-
-Text :heavy_minus_sign: Read - Blocks
-
-Path to the file containing the video that was selected.
-
-
-
-### Shape
-
-NumberDefault: 0 :heavy_minus_sign: Write - Designer
-
-Specifies the button's shape (default, rounded, rectangular, oval). The shape will not be visible if an Image is being displayed.
-
-### Show Feedback
-
-Available as ^^Advanced^^ Property
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Specifies if a visual feedback should be shown for a button that as an image as background.
-
-
-
-
-### Text
-
-Text :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Text to display on button.
-
-
-
-
-### Text Alignment
-
-NumberDefault: 1 :heavy_minus_sign: Write - Designer
-
-Left, center, or right.
-
-### Text Color
-
-ColorDefault: #FFFFFFFF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Color for button text.
-
-
-
-
-### Touch Color
-
-Available as ^^Advanced^^ Property
-
-ColorDefault: #CCCCCCFF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Set the buttons touch color.
-
-
-
-
-### Visible
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Returns true iff the component is visible.
-
-
-
-
-### Width
-
-Number :heavy_minus_sign: ReadWrite - Blocks
-
-Specifies the component's horizontal width, measured in pixels.
-
-
-
-
-### Width Percent
-
-Number :heavy_minus_sign: Write - Blocks
-
-Specifies the component's horizontal width as a percentageof the Width of its parent Component.
-
-
diff --git a/docs/components/media/video-player.md b/docs/components/media/video-player.md
deleted file mode 100644
index 4d0e41e7f..000000000
--- a/docs/components/media/video-player.md
+++ /dev/null
@@ -1,169 +0,0 @@
-# Video Player
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Media**|API 21, Android 5.0 Lollipop|8|
-
-## Overview
-
-A multimedia component capable of playing videos. When the application is run, the VideoPlayer will be displayed as a rectangle on-screen. If the user touches the rectangle, controls will appear to play/pause, skip ahead, and skip backward within the video. The application can also control behavior by calling the `` Start ``, `` Pause ``, and `` SeekTo `` methods.
-
-Video files should be in 3GPP (.3gp) or MPEG-4 (.mp4) formats. For more details about legal formats, see Android Supported Media Formats.
-
-App Inventor for Android only permits video files under 1 MB and limits the total size of an application to 5 MB, not all of which is available for media (video, audio, and sound) files. If your media files are too large, you may get errors when packaging or installing your application, in which case you should reduce the number of media files or their sizes. Most video editing software, such as Windows Movie Maker and Apple iMovie, can help you decrease the size of videos by shortening them or re-encoding the video into a more compact format.
-
-You can also set the media source to a URL that points to a streaming video, but the URL must point to the video file itself, not to a program that plays the video.
-
-??? example "Permissions"
- * [android.permission.INTERNET](https://developer.android.com/reference/android/Manifest.permission.html#INTERNET)
-
-## Events
-
-### Completed
-
-Indicates that the video has reached the end
-
-
-
-### VideoPlayerError
-
-The VideoPlayerError event is no longer used. Please use the Screen.ErrorOccurred event instead.
-
-
-
-| Params | []() |
-|--------|------|
-|message|Text|
-
-## Methods
-
-### Get Duration
-
-Returns: Number
-
-Returns duration of the video in milliseconds.
-
-
-
-### Pause
-
-Pauses playback of the video. Playback can be resumed at the same location by calling the `` Start `` method.
-
-
-
-### Seek To
-
-Seeks to the requested time (specified in milliseconds) in the video. If the video is paused, the frame shown will not be updated by the seek. The player can jump only to key frames in the video, so seeking to times that differ by short intervals may not actually move to different frames.
-
-
-
-| Params | []() |
-|--------|------|
-|ms|Number|
-
-### Start
-
-Starts playback of the video.
-
-
-
-### Stop
-
-Resets to start of video and pauses it if video was playing.
-
-
-
-## Properties
-
-### Current Position
-
-Number :heavy_minus_sign: Read - Blocks
-
-Returns the current position of the source file that is playing.
-
-
-
-### Full Screen
-
-Boolean :heavy_minus_sign: ReadWrite - Blocks
-
-Returns whether the VideoPlayer's video is currently beingshown in fullscreen mode or not.
-
-
-
-
-### Height
-
-Number :heavy_minus_sign: ReadWrite - Blocks
-
-Specifies the component's vertical height, measured in pixels.
-
-
-
-
-### Height Percent
-
-Number :heavy_minus_sign: Write - Blocks
-
-Specifies the component's vertical height as a percentageof the height of its parent Component.
-
-
-
-### Is Playing
-
-Boolean :heavy_minus_sign: Read - Blocks
-
-Reports whether the media is playing.
-
-
-
-### Show Controls
-
-BooleanDefault: True :heavy_minus_sign: Write - DesignerBlocks
-
-If enabled the user will see the control buttons.
-
-
-
-### Source
-
-Text :heavy_minus_sign: Write - DesignerBlocks
-
-The "path" to the video. Usually, this will be the name of the video file, which should be added in the Designer.
-
-
-
-### Visible
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Returns true iff the component is visible.
-
-
-
-
-### Volume
-
-NumberDefault: 50 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Sets the volume to a number between 0 and 100. Values less than 0 will be treated as 0, and values greater than 100 will be treated as 100.
-
-
-
-
-### Width
-
-Number :heavy_minus_sign: ReadWrite - Blocks
-
-Specifies the component's horizontal width, measured in pixels.
-
-
-
-
-### Width Percent
-
-Number :heavy_minus_sign: Write - Blocks
-
-Specifies the component's horizontal width as a percentageof the Width of its parent Component.
-
-
diff --git a/docs/components/media/yandex-translate.md b/docs/components/media/yandex-translate.md
deleted file mode 100644
index 3d7ebadf1..000000000
--- a/docs/components/media/yandex-translate.md
+++ /dev/null
@@ -1,56 +0,0 @@
-# Yandex Translate
-
-{>> Non-Visible component<<}
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Media**|API 21, Android 5.0 Lollipop|2|
-
-## Overview
-
-Use this component to translate words and sentences between different languages. This component needs Internet access, as it will request translations to the Yandex.Translate service. Specify the source and target language in the form source-target using two letter language codes. So"en-es" will translate from English to Spanish while "es-ru" will translate from Spanish to Russian. If you leave out the source language, the service will attempt to detect the source language. So providing just "es" will attempt to detect the source language and translate it to Spanish.
-
- This component is powered by the Yandex translation service. See http://api.yandex.com/translate/ for more information, including the list of available languages and the meanings of the language codes and status codes.
-
-Note: Translation happens asynchronously in the background. When the translation is complete, the "GotTranslation" event is triggered.
-
-??? example "Permissions"
- * [android.permission.INTERNET](https://developer.android.com/reference/android/Manifest.permission.html#INTERNET)
-
-## Events
-
-### Got Translation
-
-Event triggered when the Yandex.Translate service returns the translated text. This event also provides a response code for error handling. If the responseCode is not 200, then something went wrong with the call, and the translation will not be available.
-
-
-
-| Params | []() |
-|--------|------|
-|response Code|Text|
-|translation|Text|
-
-## Methods
-
-### Request Translation
-
-By providing a target language to translate to (for instance, 'es' for Spanish, 'en' for English, or 'ru' for Russian), and a word or sentence to translate, this method will request a translation to the Yandex.Translate service
-Once the text is translated by the external service, the event GotTranslation will be executed
-Note: Yandex.Translate will attempt to detect the source language. You can also specify prepending it to the language translation. I.e., es-ru will specify Spanish to Russian translation.
-
-
-
-| Params | []() |
-|--------|------|
-|language To Translate To|Text|
-|text To Translate|Text|
-
-## Properties
-
-### API Key
-
-Text :heavy_minus_sign: Write - DesignerBlocks
-
-Property for ApiKey
-
-
diff --git a/docs/components/monetization/advertising/adcolony-interstitial.md b/docs/components/monetization/advertising/adcolony-interstitial.md
deleted file mode 100644
index cd1f8f016..000000000
--- a/docs/components/monetization/advertising/adcolony-interstitial.md
+++ /dev/null
@@ -1,107 +0,0 @@
-# AdColony Interstitial
-
-{>> Non-Visible component<<}
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Monetization > Advertising**|API 21, Android 5.0 Lollipop|1|
-
-## Overview
-
-A non-visible component that shows AdColony ads as full-screen advertisements.
-
-??? example "Permissions"
- * [com.google.android.gms.permission.AD_ID](https://developer.android.com/reference/android/Manifest.permission.html#com.google.android.gms.permission.AD_ID)
- * [android.permission.INTERNET](https://developer.android.com/reference/android/Manifest.permission.html#INTERNET)
- * [android.permission.ACCESS_NETWORK_STATE](https://developer.android.com/reference/android/Manifest.permission.html#ACCESS_NETWORK_STATE)
- * [android.permission.VIBRATE](https://developer.android.com/reference/android/Manifest.permission.html#VIBRATE)
-
-!!! info "Commission"
- **Type:** Fixed Rate
- **Value:** `8%`
-
-## Events
-
-### Ad Expiring
-
-Called when the ad is expiring. You should load a new ad.
-
-
-
-### Ad Failed To Load
-
-Called when an ad request failed to load. The message will display the error code and error message.
-
-
-
-| Params | []() |
-|--------|------|
-|error Code|Number|
-|error Message|Text|
-
-### Ad Loaded
-
-Called when an ad is received.
-
-
-
-### Ad Opened
-
-Called when an ad was opened.
-
-
-
-### Error
-
-Called when an ad request failed. The message will display the reason for why the ad failed.
-
-
-
-| Params | []() |
-|--------|------|
-|error|Text|
-
-## Methods
-
-### Is European User
-
-Returns: Boolean
-
-Returns true if the current app user is located in europe. If true you must ask the user as example in a dialog if he give his consent for personalized ads.
-
-
-
-### Load Ad
-
-Loads a new ad.
-
-
-
-### Show Ad
-
-Shows an ad to the user.
-
-
-
-## Properties
-
-### App ID
-
-Text :heavy_minus_sign: Write - Designer
-
-Property for AppID
-
-### User Consent
-
-Boolean :heavy_minus_sign: ReadWrite - Blocks
-
-If set to true the user allowed the ad network to show personalized ads. You only need to request the consent from european users.
-
-
-
-
-### Zone ID
-
-Text :heavy_minus_sign: Write - Designer
-
-Property for ZoneID
diff --git a/docs/components/monetization/advertising/admob-banner.md b/docs/components/monetization/advertising/admob-banner.md
deleted file mode 100644
index 3b9a00666..000000000
--- a/docs/components/monetization/advertising/admob-banner.md
+++ /dev/null
@@ -1,141 +0,0 @@
-# AdMob Banner
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Monetization > Advertising**|API 19, Android 4.4 - 4.4.4 KitKat|3|
-
-## Overview
-
-A visible component that shows AdMob ads as static banners.
-
-??? example "Permissions"
- * [android.permission.ACCESS_FINE_LOCATION](https://developer.android.com/reference/android/Manifest.permission.html#ACCESS_FINE_LOCATION)
- * [android.permission.ACCESS_COARSE_LOCATION](https://developer.android.com/reference/android/Manifest.permission.html#ACCESS_COARSE_LOCATION)
- * [android.permission.INTERNET](https://developer.android.com/reference/android/Manifest.permission.html#INTERNET)
- * [android.permission.ACCESS_NETWORK_STATE](https://developer.android.com/reference/android/Manifest.permission.html#ACCESS_NETWORK_STATE)
-
-!!! info "Commission"
- **Type:** Fixed Rate
- **Value:** `7%`
-
-## Events
-
-### Ad Closed
-
-Called when an ad was closed.
-
-
-
-### Ad Failed To Load
-
-Called when an ad request failed to load. The message will display the error code and error message.
-
-
-
-| Params | []() |
-|--------|------|
-|error Code|Number|
-|error Message|Text|
-
-### Ad Loaded
-
-Called when an ad request was loaded.
-
-
-
-### Ad Opened
-
-Called when an ad was opened.
-
-
-
-### On Consent Changed
-
-Event triggered when the consent was changed.
-
-
-
-| Params | []() |
-|--------|------|
-|personalized|Boolean|
-
-## Methods
-
-### Load Ad
-
-Load a new AdMob Banner ad.
-
-
-
-### Revoke Consent
-
-Deletes the user's consent. Useful if you want to test the consent dialog in development.
-
-
-
-## Properties
-
-### Ad Enabled
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-This property must be set to true to receive ads.
-
-
-
-
-### Ad Unit Id
-
-TextDefault: ca-app-pub-3940256099942544/6300978111 :heavy_minus_sign: Write - Designer
-
-Set Ad Unit ID
-
-### Consent Development Mode
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-If enabled you will see the consent dialog no matter if you are located in Europe or not. Please use this option only in development. If this setting is enabled ALL taken consents will not be saved.
-
-
-
-
-### Consent Message
-
-TextDefault: Can we continue to use your data to tailor ads for you? :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The message for the consent dialog.
-
-
-
-
-### Consent Title
-
-TextDefault: Data Protection :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The title for the consent dialog.
-
-
-
-
-### Personalized Result
-
-Boolean :heavy_minus_sign: Read - Blocks
-
-Returns the current personalized consent. If true user has consent to personalized ads.
-
-
-
-### Test Mode
-
-BooleanDefault: False :heavy_minus_sign: Write - Designer
-
-If you want to test the component then that this property to true. Then you will receive test ads.
-
-### Visible
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Returns true iff the component is visible.
-
-
-
diff --git a/docs/components/monetization/advertising/admob-interstitial.md b/docs/components/monetization/advertising/admob-interstitial.md
deleted file mode 100644
index 65acdc09f..000000000
--- a/docs/components/monetization/advertising/admob-interstitial.md
+++ /dev/null
@@ -1,188 +0,0 @@
-# AdMob Interstitial
-
-{>> Non-Visible component<<}
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Monetization > Advertising**|API 19, Android 4.4 - 4.4.4 KitKat|4|
-
-## Overview
-
-An interstitial ad is a full-page ad. AdMobInterstitial component allows you to monetize your app. You must have a valid AdMob account and AdUnitId that can be obtained from http://www.google.com/AdMob . If your id is invalid, the AdMobInterstitial will not display on the emulator or the device. Warning: Make sure you're in test mode during development to avoid being disabled for clicking your own ads.
-
-??? example "Permissions"
- * [android.permission.ACCESS_FINE_LOCATION](https://developer.android.com/reference/android/Manifest.permission.html#ACCESS_FINE_LOCATION)
- * [android.permission.ACCESS_COARSE_LOCATION](https://developer.android.com/reference/android/Manifest.permission.html#ACCESS_COARSE_LOCATION)
- * [android.permission.INTERNET](https://developer.android.com/reference/android/Manifest.permission.html#INTERNET)
- * [android.permission.ACCESS_NETWORK_STATE](https://developer.android.com/reference/android/Manifest.permission.html#ACCESS_NETWORK_STATE)
-
-!!! info "Commission"
- **Type:** Fixed Rate
- **Value:** `10%`
-
-## Events
-
-### Ad Closed
-
-Called when an ad was closed.
-
-
-
-### Ad Failed To Load
-
-Called when an ad request failed to load. The message will display the error code and error message.
-
-
-
-| Params | []() |
-|--------|------|
-|error Code|Number|
-|error Message|Text|
-
-### Ad Failed To Show
-
-Called when an an attempt was made to display the ad, but the ad was not ready to display.
-
-
-
-| Params | []() |
-|--------|------|
-|message|Text|
-
-### Ad Left Application
-
-Called when an ad leaves the application (e.g., to go to the browser).
-
-
-
-### Ad Loaded
-
-Called when an ad request was loaded.
-
-
-
-### Ad Opened
-
-Called when an ad was opened.
-
-
-
-### On Consent Changed
-
-Event triggered when the consent was changed.
-
-
-
-| Params | []() |
-|--------|------|
-|personalized|Boolean|
-
-## Methods
-
-### Load Ad
-
-Load a new AdMob Interstitial ad.
-
-
-
-### Revoke Consent
-
-Deletes the user's consent. Useful if you want to test the consent dialog in development.
-
-
-
-### Show Interstitial Ad
-
-It will show the Interstitial Ad
-
-
-
-## Properties
-
-### Ad Enabled
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-This property must be set to true to receive ads.
-
-
-
-
-### Ad Unit ID
-
-TextDefault: ca-app-pub-3940256099942544/1033173712 :heavy_minus_sign: Write - Designer
-
-### Consent Development Mode
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-If enabled you will see the consent dialog no matter if you are located in Europe or not. Please use this option only in development. If this setting is enabled ALL taken consents will not be saved.
-
-
-
-
-### Consent Message
-
-TextDefault: Can we continue to use your data to tailor ads for you? :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The message for the consent dialog.
-
-
-
-
-### Consent Title
-
-TextDefault: Data Protection :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The title for the consent dialog.
-
-
-
-
-### Interstitial Commission
-
-:warning: ==**Deprecated**==
-
-TextDefault: unity :heavy_minus_sign: Write - DesignerBlocks
-
-Sets the ad network used to take the commission.
-
-
-
-### Personalized Result
-
-Boolean :heavy_minus_sign: Read - Blocks
-
-Returns the current personalized consent. If true user has consent to personalized ads.
-
-
-
-### Target Age
-
-NumberDefault: 0 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Leave 0 for targeting ALL ages
-
-
-
-
-### Target For Children
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Indicate whether you want Google to treat your content as child-directed when you make an ad request. Info here: https://developers.google.com/mobile-ads-sdk/docs/admob/android/targeting#child-directed_setting
-
-
-
-
-### Target Gender
-
-TextDefault: ALL :heavy_minus_sign: Write - DesignerBlocks
-
-
-
-### Test Mode
-
-BooleanDefault: False :heavy_minus_sign: Write - Designer
-
-If you want to test the component then that this property to true. Then you will receive test ads.
diff --git a/docs/components/monetization/advertising/admob-rewarded-video.md b/docs/components/monetization/advertising/admob-rewarded-video.md
deleted file mode 100644
index 9b8eb016d..000000000
--- a/docs/components/monetization/advertising/admob-rewarded-video.md
+++ /dev/null
@@ -1,167 +0,0 @@
-# AdMob Rewarded Video
-
-{>> Non-Visible component<<}
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Monetization > Advertising**|API 19, Android 4.4 - 4.4.4 KitKat|3|
-
-## Overview
-
-A non-visible component that shows AdMob ads as full-screen video where users receive in-app rewards for viewing the ads.
-
-??? example "Permissions"
- * [android.permission.ACCESS_FINE_LOCATION](https://developer.android.com/reference/android/Manifest.permission.html#ACCESS_FINE_LOCATION)
- * [android.permission.ACCESS_COARSE_LOCATION](https://developer.android.com/reference/android/Manifest.permission.html#ACCESS_COARSE_LOCATION)
- * [android.permission.INTERNET](https://developer.android.com/reference/android/Manifest.permission.html#INTERNET)
- * [android.permission.ACCESS_NETWORK_STATE](https://developer.android.com/reference/android/Manifest.permission.html#ACCESS_NETWORK_STATE)
-
-!!! info "Commission"
- **Type:** Fixed Rate
- **Value:** `13%`
-
-## Events
-
-### Ad Closed
-
-Called when an ad was closed.
-
-
-
-### Ad Failed To Load
-
-Called when an ad request failed to load. The message will display the error code and error message.
-
-
-
-| Params | []() |
-|--------|------|
-|error Code|Number|
-|error Message|Text|
-
-### Ad Left Application
-
-Called when an ad leaves the application (e.g., to go to the browser).
-
-
-
-### Ad Loaded
-
-Called when an ad request was loaded.
-
-
-
-### Ad Opened
-
-Called when an ad was opened.
-
-
-
-### Ad Video Completed
-
-Called when an video ad was completed.
-
-
-
-### Ad Video Started
-
-Called when an video ad started to show content.
-
-
-
-### On Consent Changed
-
-Event triggered when the consent was changed.
-
-
-
-| Params | []() |
-|--------|------|
-|personalized|Boolean|
-
-### Rewarded
-
-User watched video and should be rewarded.
-
-
-
-| Params | []() |
-|--------|------|
-|type|Text|
-|amount|Number|
-
-## Methods
-
-### Load Ad
-
-Load a new AdMob Rewarded Video ad.
-
-
-
-### Revoke Consent
-
-Deletes the user's consent. Useful if you want to test the consent dialog in development.
-
-
-
-### Show Ad
-
-It will show the Video
-
-
-
-## Properties
-
-### Ad Enabled
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-This property must be set to true to receive ads.
-
-
-
-
-### Ad Unit Id
-
-TextDefault: ca-app-pub-3940256099942544/5224354917 :heavy_minus_sign: Write - Designer
-
-### Consent Development Mode
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-If enabled you will see the consent dialog no matter if you are located in Europe or not. Please use this option only in development. If this setting is enabled ALL taken consents will not be saved.
-
-
-
-
-### Consent Message
-
-TextDefault: Can we continue to use your data to tailor ads for you? :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The message for the consent dialog.
-
-
-
-
-### Consent Title
-
-TextDefault: Data Protection :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The title for the consent dialog.
-
-
-
-
-### Personalized Result
-
-Boolean :heavy_minus_sign: Read - Blocks
-
-Returns the current personalized consent. If true user has consent to personalized ads.
-
-
-
-### Test Mode
-
-BooleanDefault: False :heavy_minus_sign: Write - Designer
-
-If you want to test the component, that this property to true. After it you will receive test ads.
diff --git a/docs/components/monetization/advertising/amazon-banner.md b/docs/components/monetization/advertising/amazon-banner.md
deleted file mode 100644
index d1b8e99e4..000000000
--- a/docs/components/monetization/advertising/amazon-banner.md
+++ /dev/null
@@ -1,88 +0,0 @@
-# Amazon Banner
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Monetization > Advertising**|API 21, Android 5.0 Lollipop|1|
-
-## Overview
-
-AdAmazon component allows you to monetize your app. You must have a valid publisher id that can be obtained from https://developer.amazon.com. If your publisher id is invalid, the AdAmazon banner will not display on the emulator or the device.
-
-??? example "Permissions"
- * [android.permission.ACCESS_FINE_LOCATION](https://developer.android.com/reference/android/Manifest.permission.html#ACCESS_FINE_LOCATION)
- * [android.permission.ACCESS_COARSE_LOCATION](https://developer.android.com/reference/android/Manifest.permission.html#ACCESS_COARSE_LOCATION)
- * [android.permission.INTERNET](https://developer.android.com/reference/android/Manifest.permission.html#INTERNET)
- * [android.permission.ACCESS_NETWORK_STATE](https://developer.android.com/reference/android/Manifest.permission.html#ACCESS_NETWORK_STATE)
- * [android.permission.ACCESS_WIFI_STATE](https://developer.android.com/reference/android/Manifest.permission.html#ACCESS_WIFI_STATE)
-
-!!! info "Commission"
- **Type:** Fixed Rate
- **Value:** `6%`
-
-## Events
-
-### Ad Dismissed
-
-Event to detect that a ad was dismissed.
-
-
-
-### Ad Expanded
-
-Event to detect that a ad was expanded.
-
-
-
-### Ad Failed To Load
-
-Event to detect that the try to load a ad was not successful.
-
-
-
-| Params | []() |
-|--------|------|
-|error Code|Text|
-|error Message|Text|
-
-### Ad Loaded
-
-Event to detect that a ad was loaded.
-
-
-
-## Properties
-
-### Publisher ID
-
-TextDefault: AmazonPublisherId :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Sets the Amazon Ad Publisher Id and refreshes the ad.
-
-
-
-
-### Refresh Ad
-
-BooleanDefault: True :heavy_minus_sign: Write - DesignerBlocks
-
-Refreshes the ad.
-
-
-
-### Test Mode
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Turns the debugging on / off based on enabled parameter.
-
-
-
-
-### Visible
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Returns true iff the component is visible.
-
-
-
diff --git a/docs/components/monetization/advertising/amazon-interstitial.md b/docs/components/monetization/advertising/amazon-interstitial.md
deleted file mode 100644
index c5ec6b791..000000000
--- a/docs/components/monetization/advertising/amazon-interstitial.md
+++ /dev/null
@@ -1,137 +0,0 @@
-# Amazon Interstitial
-
-{>> Non-Visible component<<}
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Monetization > Advertising**|API 21, Android 5.0 Lollipop|2|
-
-## Overview
-
-An interstitial ad is a full-page ad. AdAmazonInterstitial component allows you to monetize your app. You must have a valid Amazon Application Key. If your application key is invalid, the ad will not display on the emulator or the device. Warning: Make sure you're in test mode during development to avoid being disabled for clicking your own ads.
-
-??? example "Permissions"
- * [android.permission.ACCESS_FINE_LOCATION](https://developer.android.com/reference/android/Manifest.permission.html#ACCESS_FINE_LOCATION)
- * [android.permission.ACCESS_COARSE_LOCATION](https://developer.android.com/reference/android/Manifest.permission.html#ACCESS_COARSE_LOCATION)
- * [android.permission.INTERNET](https://developer.android.com/reference/android/Manifest.permission.html#INTERNET)
- * [android.permission.ACCESS_NETWORK_STATE](https://developer.android.com/reference/android/Manifest.permission.html#ACCESS_NETWORK_STATE)
- * [android.permission.ACCESS_WIFI_STATE](https://developer.android.com/reference/android/Manifest.permission.html#ACCESS_WIFI_STATE)
-
-!!! info "Commission"
- **Type:** Fixed Rate
- **Value:** `9%`
-
-## Events
-
-### Ad Closed
-
-Triggered when the close button of the interstitial ad is clicked. It's important to remember only one interstitial ad can be shown at a time. The previous ad has to be dismissed before a new ad can be shown.
-
-
-
-### Ad Collapsed
-
-After a user clicks on the close ad button on an expanded ad, this callback is called immediately after collapsing the ad. This callback can be used to do things like resume your app or restart audio.
-
-
-
-### Ad Expanded
-
-This callback is called each time an ad is successfully loaded. You can use this to log metrics on ad views and assist with initial integration. Detailed information about the ad that loaded can be obtained from the AdProperties object.
-
-
-
-### Ad Failed To Load
-
-Whenever an ad fails to be retrieved, the event is called, returning the error message.
-
-
-
-| Params | []() |
-|--------|------|
-|error|Text|
-|message|Text|
-
-### Ad Failed To Show
-
-Called when an an attempt was made to display the ad, but the ad was not ready to display
-
-
-
-| Params | []() |
-|--------|------|
-|message|Text|
-
-### Ad Loaded
-
-Triggered each time an ad is successfully loaded. But you don't have to display the ad right after it's loaded. For example, set a flag to true and then at a transition point, if flag=true, then display the ad.
-
-
-
-## Methods
-
-### Load Ad
-
-Loads a new ad.
-
-
-
-### Show Interstitial Ad
-
-It will show the Interstitial Ad
-
-
-
-## Properties
-
-### Application Key
-
-TextDefault: ApplicationKey :heavy_minus_sign: Write - Designer
-
-Enter Application Key. Go to Amazon Developer Portal and sign-in for your ApplicationKey
-
-### Enable Debug
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Property for EnableDebug
-
-
-
-
-### Enable Geo Location Targeting
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-If set to true, uses latitude and longitude coordinates as part of an ad request
-
-
-
-
-### Enable Testing
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-For debugging / development purposes flag all ad requests as tests, but set to false for production builds
-
-
-
-
-### Interstitial Commission
-
-:warning: ==**Deprecated**==
-
-TextDefault: unity :heavy_minus_sign: Write - DesignerBlocks
-
-Sets the ad network used to take the commission.
-
-
-
-### Target Age
-
-NumberDefault: 0 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-You can pass age information to the Amazon Mobile Ad Network to target specific age groups. If set as 0, Age Targetting will not be used
-
-
-
diff --git a/docs/components/monetization/advertising/applovin-interstitial.md b/docs/components/monetization/advertising/applovin-interstitial.md
deleted file mode 100644
index 554467981..000000000
--- a/docs/components/monetization/advertising/applovin-interstitial.md
+++ /dev/null
@@ -1,115 +0,0 @@
-# AppLovin Interstitial
-
-{>> Non-Visible component<<}
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Monetization > Advertising**|API 21, Android 5.0 Lollipop|1|
-
-## Overview
-
-A non-visible component to show ads from AppLovin.
-
-??? example "Permissions"
- * [android.permission.INTERNET](https://developer.android.com/reference/android/Manifest.permission.html#INTERNET)
- * [android.permission.ACCESS_NETWORK_STATE](https://developer.android.com/reference/android/Manifest.permission.html#ACCESS_NETWORK_STATE)
-
-!!! info "Commission"
- **Type:** Fixed Rate
- **Value:** `8%`
-
-## Events
-
-### Ad Closed
-
-Called when an ad was closed.
-
-
-
-### Ad Failed To Load
-
-Called when an ad request failed to load. The message will display the error code and error message.
-
-
-
-| Params | []() |
-|--------|------|
-|error Code|Number|
-|error Message|Text|
-
-### Ad Loaded
-
-Called when an ad is received.
-
-
-
-### Ad Opened
-
-Called when an ad was opened.
-
-
-
-### Ad Started
-
-Called when an ad was started.
-
-
-
-### Error
-
-Called when an ad request failed. The message will display the reason for why the ad failed.
-
-
-
-| Params | []() |
-|--------|------|
-|error Code|Number|
-|error Message|Text|
-
-## Methods
-
-### Is European User
-
-Returns: Boolean
-
-Returns true if the current app user is located in europe. If true you must ask the user as example in a dialog if he give his consent for personalized ads.
-
-
-
-### Load Ad
-
-Loads a new ad.
-
-
-
-### Show Ad
-
-Shows an ad to the user.
-
-
-
-## Properties
-
-### SDK Key
-
-Text :heavy_minus_sign: Write - Designer
-
-Property for SdkKey
-
-### Test Mode
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-If you want to test the component then that this property to true. Then you will receive test ads.
-
-
-
-
-### User Consent
-
-Boolean :heavy_minus_sign: ReadWrite - Blocks
-
-If set to true the user allowed the ad network to show personalized ads. You only need to request the consent from european users.
-
-
-
diff --git a/docs/components/monetization/advertising/banner-ad.md b/docs/components/monetization/advertising/banner-ad.md
deleted file mode 100644
index f2e2c7b27..000000000
--- a/docs/components/monetization/advertising/banner-ad.md
+++ /dev/null
@@ -1,71 +0,0 @@
-# Banner Ad
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Monetization > Advertising**|API 21, Android 5.0 Lollipop|1|
-
-## Overview
-
-A visible component that shows banner ads from multiple ad networks.
-Note\: This component is currently available on an invite-only basis. Click here for more information on how to request an invite.
-
-??? example "Permissions"
- * [android.permission.ACCESS_FINE_LOCATION](https://developer.android.com/reference/android/Manifest.permission.html#ACCESS_FINE_LOCATION)
- * [android.permission.ACCESS_COARSE_LOCATION](https://developer.android.com/reference/android/Manifest.permission.html#ACCESS_COARSE_LOCATION)
- * [android.permission.INTERNET](https://developer.android.com/reference/android/Manifest.permission.html#INTERNET)
- * [android.permission.ACCESS_NETWORK_STATE](https://developer.android.com/reference/android/Manifest.permission.html#ACCESS_NETWORK_STATE)
-
-!!! info "Commission"
- **Type:** Progressive Rate
-
- _This rate increments when serving ads from an outdated Kodular Version. The more weeks that have passed since its
- deprecation, the higher the commission rate._
-
- | Live | +3w | +4w | +12w | +26w | +52w |
- |:--------:|:---:|:---:|:----:|:----:|:----:|
- | 21% | 24% | 26% | 31% | 46% | 61% |
-
-## Events
-
-### Failed To Load
-
-Event raised when an ad could not be loaded
-
-
-
-| Params | []() |
-|--------|------|
-|error Message|Text|
-
-## Methods
-
-### Load
-
-Loads a banner ad and displays it
-
-
-
-## Properties
-
-### eCPM Floor
-
-Com.google.appinventor.components.common.flooramountenumDefault: optimized :heavy_minus_sign: Write - DesignerBlocks
-
-Set a minimum eCPM floor below which advertisers cannot bid for inventory. Use Optimized to let Google decide an eCPM floor.
-
-
-
-### Test Mode
-
-BooleanDefault: False :heavy_minus_sign: Write - Designer
-
-Property for TestMode
-
-### Visible
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Returns true iff the component is visible.
-
-
-
diff --git a/docs/components/monetization/advertising/facebook-banner.md b/docs/components/monetization/advertising/facebook-banner.md
deleted file mode 100644
index 4dc87d838..000000000
--- a/docs/components/monetization/advertising/facebook-banner.md
+++ /dev/null
@@ -1,75 +0,0 @@
-# Facebook Banner
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Monetization > Advertising**|API 21, Android 5.0 Lollipop|1|
-
-## Overview
-
-A non-visible component that shows Facebook ads as static banners.
-
-??? example "Permissions"
- * [android.permission.INTERNET](https://developer.android.com/reference/android/Manifest.permission.html#INTERNET)
- * [android.permission.ACCESS_NETWORK_STATE](https://developer.android.com/reference/android/Manifest.permission.html#ACCESS_NETWORK_STATE)
-
-!!! info "Commission"
- **Type:** Fixed Rate
- **Value:** `6%`
-
-## Events
-
-### Ad Clicked
-
-Event triggered when ads are clicked
-
-
-
-### Ad Closed
-
-Event triggered when ads are closed
-
-
-
-### Ad Loaded
-
-Event triggered when ads are loaded
-
-
-
-### Error
-
-Event triggered when ads failed to load
-
-
-
-| Params | []() |
-|--------|------|
-|error|Text|
-
-## Methods
-
-### Load Ad
-
-Load Ad
-
-
-
-## Properties
-
-### Placement ID
-
-Text :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Set Placement ID
-
-
-
-
-### Visible
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Returns true iff the component is visible.
-
-
-
diff --git a/docs/components/monetization/advertising/facebook-interstitial.md b/docs/components/monetization/advertising/facebook-interstitial.md
deleted file mode 100644
index 3f981fe0d..000000000
--- a/docs/components/monetization/advertising/facebook-interstitial.md
+++ /dev/null
@@ -1,75 +0,0 @@
-# Facebook Interstitial
-
-{>> Non-Visible component<<}
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Monetization > Advertising**|API 21, Android 5.0 Lollipop|3|
-
-## Overview
-
-A non-visible component that shows Facebook ads as full-screen advertisements.
-
-??? example "Permissions"
- * [android.permission.INTERNET](https://developer.android.com/reference/android/Manifest.permission.html#INTERNET)
- * [android.permission.ACCESS_NETWORK_STATE](https://developer.android.com/reference/android/Manifest.permission.html#ACCESS_NETWORK_STATE)
-
-!!! info "Commission"
- **Type:** Fixed Rate
- **Value:** `9%`
-
-## Events
-
-### Ad Closed
-
-Called when the user is about to return to the application after clicking on an ad
-
-
-
-### Ad Loaded
-
-Called when an ad is received
-
-
-
-### Error
-
-Called when an ad request failed. message will display the reason for why the ad failed
-
-
-
-| Params | []() |
-|--------|------|
-|error|Text|
-
-## Methods
-
-### Load Ad
-
-Loads a new ad.
-
-
-
-### Show Ad
-
-Shows an ad to the user.
-
-
-
-## Properties
-
-### Interstitial Commission
-
-:warning: ==**Deprecated**==
-
-TextDefault: unity :heavy_minus_sign: Write - DesignerBlocks
-
-Sets the ad network used to take the commission.
-
-
-
-### Placement ID
-
-Text :heavy_minus_sign: Write - Designer
-
-Property for PlacementID
diff --git a/docs/components/monetization/advertising/facebook-rewarded-video.md b/docs/components/monetization/advertising/facebook-rewarded-video.md
deleted file mode 100644
index 60f0fad8a..000000000
--- a/docs/components/monetization/advertising/facebook-rewarded-video.md
+++ /dev/null
@@ -1,104 +0,0 @@
-# Facebook Rewarded Video
-
-{>> Non-Visible component<<}
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Monetization > Advertising**|API 21, Android 5.0 Lollipop|2|
-
-## Overview
-
-A non-visible component that shows Facebook ads as full-screen video where users receive in-app rewards for viewing the ads.
-
-??? example "Permissions"
- * [android.permission.INTERNET](https://developer.android.com/reference/android/Manifest.permission.html#INTERNET)
- * [android.permission.ACCESS_NETWORK_STATE](https://developer.android.com/reference/android/Manifest.permission.html#ACCESS_NETWORK_STATE)
-
-!!! info "Commission"
- **Type:** Fixed Rate
- **Value:** `12%`
-
-## Events
-
-### Ad Closed
-
-Called when the user is about to return to the application after clicking on an ad.
-
-
-
-### Ad Failed To Load
-
-Called when an ad request failed to load. The message will display the error code and error message.
-
-
-
-| Params | []() |
-|--------|------|
-|error Code|Number|
-|error Message|Text|
-
-### Ad Loaded
-
-Called when an ad is received.
-
-
-
-### Ad Opened
-
-Called when an ad was opened.
-
-
-
-### Ad Video Completed
-
-Called when an video ad was completed.
-
-
-
-### Ad Video Started
-
-Called when an video ad started to show content.
-
-
-
-### Error
-
-Called when an ad request failed. message will display the reason for why the ad failed.
-
-
-
-| Params | []() |
-|--------|------|
-|error|Text|
-
-## Methods
-
-### Load Ad
-
-Loads a new ad.
-
-
-
-### Show Ad
-
-Shows an ad to the user.
-
-
-
-## Properties
-
-### Placement ID
-
-Text :heavy_minus_sign: Write - Designer
-
-Property for PlacementID
-
-### Rewarded Video Commission
-
-:warning: ==**Deprecated**==
-
-TextDefault: unity :heavy_minus_sign: Write - DesignerBlocks
-
-Sets the ad network used to take the commission.
-
-
diff --git a/docs/components/monetization/advertising/index.md b/docs/components/monetization/advertising/index.md
deleted file mode 100644
index 0bbc4f9b4..000000000
--- a/docs/components/monetization/advertising/index.md
+++ /dev/null
@@ -1,17 +0,0 @@
-# Overview of Monetization > Advertising
-
-* [AdColony Interstitial](adcolony-interstitial.md)
-* [Amazon Banner](amazon-banner.md)
-* [Amazon Interstitial](amazon-interstitial.md)
-* [AppLovin Interstitial](applovin-interstitial.md)
-* [Banner Ad](banner-ad.md)
-* [Facebook Banner](facebook-banner.md)
-* [Facebook Interstitial](facebook-interstitial.md)
-* [Facebook Rewarded Video](facebook-rewarded-video.md)
-* [Interstitial Ad](interstitial-ad.md)
-* [LeadBolt](leadbolt.md)
-* [Rewarded Ad](rewarded-ad.md)
-* [StartApp Banner](startapp-banner.md)
-* [StartApp Interstitial](startapp-interstitial.md)
-* [Unity Ads Banner](unity-ads-banner.md)
-* [Unity Ads Interstitial](unity-ads-interstitial.md)
\ No newline at end of file
diff --git a/docs/components/monetization/advertising/interstitial-ad.md b/docs/components/monetization/advertising/interstitial-ad.md
deleted file mode 100644
index 9cebbb891..000000000
--- a/docs/components/monetization/advertising/interstitial-ad.md
+++ /dev/null
@@ -1,86 +0,0 @@
-# Interstitial Ad
-
-{>> Non-Visible component<<}
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Monetization > Advertising**|API 21, Android 5.0 Lollipop|1|
-
-## Overview
-
-A visible component that shows interstitial ads from multiple ad networks.
-Note\: This component is currently available on an invite-only basis. Click here for more information on how to request an invite.
-
-??? example "Permissions"
- * [android.permission.ACCESS_FINE_LOCATION](https://developer.android.com/reference/android/Manifest.permission.html#ACCESS_FINE_LOCATION)
- * [android.permission.ACCESS_COARSE_LOCATION](https://developer.android.com/reference/android/Manifest.permission.html#ACCESS_COARSE_LOCATION)
- * [android.permission.INTERNET](https://developer.android.com/reference/android/Manifest.permission.html#INTERNET)
- * [android.permission.ACCESS_NETWORK_STATE](https://developer.android.com/reference/android/Manifest.permission.html#ACCESS_NETWORK_STATE)
-
-!!! info "Commission"
- **Type:** Progressive Rate
-
- _This rate increments when serving ads from an outdated Kodular Version. The more weeks that have passed since its
- deprecation, the higher the commission rate._
-
- | Live | +3w | +4w | +12w | +26w | +52w |
- |:--------:|:---:|:---:|:----:|:----:|:----:|
- | 19% | 22% | 24% | 29% | 44% | 59% |
-
-## Events
-
-### Failed To Load
-
-Event raised when an ad could not be loaded.
-
-
-
-| Params | []() |
-|--------|------|
-|error Message|Text|
-
-### Failed To Show
-
-Event raised when an ad could not be displayd to the user.
-
-
-
-| Params | []() |
-|--------|------|
-|error Message|Text|
-
-### Loaded
-
-Event raised when an ad was loaded successfully.
-
-
-
-## Methods
-
-### Load
-
-Loads an interstitial ad and prepares it for showing to the user.
-
-
-
-### Show
-
-Displays a previously loaded interstitial ad.
-
-
-
-## Properties
-
-### eCPM Floor
-
-Com.google.appinventor.components.common.flooramountenumDefault: optimized :heavy_minus_sign: Write - DesignerBlocks
-
-Set a minimum eCPM floor below which advertisers cannot bid for inventory. Use Optimized to let Google decide an eCPM floor.
-
-
-
-### Test Mode
-
-BooleanDefault: False :heavy_minus_sign: Write - Designer
-
-Property for TestMode
diff --git a/docs/components/monetization/advertising/leadbolt.md b/docs/components/monetization/advertising/leadbolt.md
deleted file mode 100644
index 00a98b23e..000000000
--- a/docs/components/monetization/advertising/leadbolt.md
+++ /dev/null
@@ -1,144 +0,0 @@
-# LeadBolt
-
-{>> Non-Visible component<<}
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Monetization > Advertising**|API 21, Android 5.0 Lollipop|2|
-
-## Overview
-
-A non-visible component that shows LeadBolt ads as rewarded videos and network advertisements.
-
-??? example "Permissions"
- * [android.permission.INTERNET](https://developer.android.com/reference/android/Manifest.permission.html#INTERNET)
- * [android.permission.ACCESS_NETWORK_STATE](https://developer.android.com/reference/android/Manifest.permission.html#ACCESS_NETWORK_STATE)
-
-!!! info "Commission"
- **Type:** Fixed Rate
- **Value:** `9%`
-
-## Events
-
-### Ad Clicked
-
-Event triggered when ads are clicked
-
-
-
-| Params | []() |
-|--------|------|
-|location|Text|
-
-### Ad Closed
-
-Event triggered when ads are closed
-
-
-
-| Params | []() |
-|--------|------|
-|location|Text|
-|reward|Boolean|
-
-### Ad Failed To Load
-
-Event triggered when ads are failed to load
-
-
-
-| Params | []() |
-|--------|------|
-|location|Text|
-|error|Text|
-|is Cache|Boolean|
-
-### Ad Loaded
-
-Event triggered when ads are loaded
-
-
-
-| Params | []() |
-|--------|------|
-|location|Text|
-
-### Ad Shown
-
-Event triggered when ads are shown
-
-
-
-| Params | []() |
-|--------|------|
-|location|Text|
-
-## Methods
-
-### Is Network Ad Ready
-
-Returns: Boolean
-
-Use this block after loading an ad to check whether it's ready to show.
-
-
-
-### Is Rewarded Ad Ready
-
-Returns: Boolean
-
-Use this block after loading an ad to check whether it's ready to show.
-
-
-
-### Load Network Ad
-
-Use this block to load a Network ad.
-
-
-
-### Load Rewarded Ad
-
-Use this block to load a Rewarded Video ad.
-
-
-
-### Show Network Ad
-
-Use this block after LoadNetworkAd to show the loaded ad.
-
-
-
-### Show Rewarded Ad
-
-Use this block after LoadRewardedAd to show the loaded ad.
-
-
-
-## Properties
-
-### API Key
-
-Text :heavy_minus_sign: Write - Designer
-
-Property for APIKey
-
-### Interstitial Commission
-
-:warning: ==**Deprecated**==
-
-TextDefault: unity :heavy_minus_sign: Write - DesignerBlocks
-
-Sets the ad network used to take the commission.
-
-
-
-### Rewarded Video Commission
-
-:warning: ==**Deprecated**==
-
-TextDefault: unity :heavy_minus_sign: Write - DesignerBlocks
-
-Sets the ad network used to take the commission.
-
-
diff --git a/docs/components/monetization/advertising/rewarded-ad.md b/docs/components/monetization/advertising/rewarded-ad.md
deleted file mode 100644
index f244e4344..000000000
--- a/docs/components/monetization/advertising/rewarded-ad.md
+++ /dev/null
@@ -1,92 +0,0 @@
-# Rewarded Ad
-
-{>> Non-Visible component<<}
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Monetization > Advertising**|API 21, Android 5.0 Lollipop|3|
-
-## Overview
-
-A visible component that shows rewarded video ads from multiple ad networks.
-Note\: This component is currently available on an invite-only basis. Click here for more information on how to request an invite.
-
-??? example "Permissions"
- * [android.permission.ACCESS_FINE_LOCATION](https://developer.android.com/reference/android/Manifest.permission.html#ACCESS_FINE_LOCATION)
- * [android.permission.ACCESS_COARSE_LOCATION](https://developer.android.com/reference/android/Manifest.permission.html#ACCESS_COARSE_LOCATION)
- * [android.permission.INTERNET](https://developer.android.com/reference/android/Manifest.permission.html#INTERNET)
- * [android.permission.ACCESS_NETWORK_STATE](https://developer.android.com/reference/android/Manifest.permission.html#ACCESS_NETWORK_STATE)
-
-!!! info "Commission"
- **Type:** Progressive Rate
-
- _This rate increments when serving ads from an outdated Kodular Version. The more weeks that have passed since its
- deprecation, the higher the commission rate._
-
- | Live | +3w | +4w | +12w | +26w | +52w |
- |:--------:|:---:|:---:|:----:|:----:|:----:|
- | 17% | 20% | 22% | 27% | 42% | 57% |
-
-## Events
-
-### Failed To Load
-
-Event raised when an ad could not be loaded.
-
-
-
-| Params | []() |
-|--------|------|
-|error Message|Text|
-
-### Failed To Show
-
-Event raised when an ad could not be displayd to the user.
-
-
-
-| Params | []() |
-|--------|------|
-|error Message|Text|
-
-### Loaded
-
-Event raised when an ad was loaded successfully.
-
-
-
-### Ready To Reward
-
-Event raised when the user has watched the ad and is now ready to receive a reward.
-
-
-
-## Methods
-
-### Load
-
-Loads a rewarded ad and prepares it for showing to the user.
-
-
-
-### Show
-
-Displays a previously loaded interstitial ad.
-
-
-
-## Properties
-
-### eCPM Floor
-
-Com.google.appinventor.components.common.flooramountenumDefault: optimized :heavy_minus_sign: Write - DesignerBlocks
-
-Set a minimum eCPM floor below which advertisers cannot bid for inventory. Use Optimized to let Google decide an eCPM floor.
-
-
-
-### Test Mode
-
-BooleanDefault: False :heavy_minus_sign: Write - Designer
-
-Property for TestMode
diff --git a/docs/components/monetization/advertising/startapp-banner.md b/docs/components/monetization/advertising/startapp-banner.md
deleted file mode 100644
index c43e217e5..000000000
--- a/docs/components/monetization/advertising/startapp-banner.md
+++ /dev/null
@@ -1,81 +0,0 @@
-# StartApp Banner
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Monetization > Advertising**|API 21, Android 5.0 Lollipop|1|
-
-## Overview
-
-A visible component that shows StartApp ads as static banners.
-
-??? example "Permissions"
- * [com.google.android.gms.permission.AD_ID](https://developer.android.com/reference/android/Manifest.permission.html#com.google.android.gms.permission.AD_ID)
- * [android.permission.INTERNET](https://developer.android.com/reference/android/Manifest.permission.html#INTERNET)
- * [android.permission.ACCESS_NETWORK_STATE](https://developer.android.com/reference/android/Manifest.permission.html#ACCESS_NETWORK_STATE)
- * [com.google.android.finsky.permission.BIND_GET_INSTALL_REFERRER_SERVICE](https://developer.android.com/reference/android/Manifest.permission.html#com.google.android.finsky.permission.BIND_GET_INSTALL_REFERRER_SERVICE)
- * [android.permission.ACCESS_WIFI_STATE](https://developer.android.com/reference/android/Manifest.permission.html#ACCESS_WIFI_STATE)
- * [android.permission.RECEIVE_BOOT_COMPLETED](https://developer.android.com/reference/android/Manifest.permission.html#RECEIVE_BOOT_COMPLETED)
-
-!!! info "Commission"
- **Type:** Fixed Rate
- **Value:** `5%`
-
-## Events
-
-### Ad Clicked
-
-Indicates that the user has clicked on the banner ad.
-
-
-
-### Ad Failed To Load
-
-Called when an ad request failed to load. The message will display the error code and error message.
-
-
-
-| Params | []() |
-|--------|------|
-|error Code|Number|
-|error Message|Text|
-
-### On Failed To Receive Ad
-
-Called when an ad request failed to load.
-
-
-
-| Params | []() |
-|--------|------|
-|error Message|Text|
-
-### On Receive Ad
-
-Called when an ad request succeeds.
-
-
-
-## Methods
-
-### Load Ad
-
-Load a new StartApp Banner ad.
-
-
-
-## Properties
-
-### App ID
-
-Text :heavy_minus_sign: Write - Designer
-
-Property for AppId
-
-### Visible
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Specifies whether the component should be visible on the screen. Value is true if the component is showing and false if hidden.
-
-
-
diff --git a/docs/components/monetization/advertising/startapp-interstitial.md b/docs/components/monetization/advertising/startapp-interstitial.md
deleted file mode 100644
index 40cce5125..000000000
--- a/docs/components/monetization/advertising/startapp-interstitial.md
+++ /dev/null
@@ -1,102 +0,0 @@
-# StartApp Interstitial
-
-{>> Non-Visible component<<}
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Monetization > Advertising**|API 21, Android 5.0 Lollipop|1|
-
-## Overview
-
-A non-visible component that shows StartApp ads as full-screen advertisements.
-
-??? example "Permissions"
- * [com.google.android.gms.permission.AD_ID](https://developer.android.com/reference/android/Manifest.permission.html#com.google.android.gms.permission.AD_ID)
- * [android.permission.INTERNET](https://developer.android.com/reference/android/Manifest.permission.html#INTERNET)
- * [android.permission.ACCESS_NETWORK_STATE](https://developer.android.com/reference/android/Manifest.permission.html#ACCESS_NETWORK_STATE)
- * [com.google.android.finsky.permission.BIND_GET_INSTALL_REFERRER_SERVICE](https://developer.android.com/reference/android/Manifest.permission.html#com.google.android.finsky.permission.BIND_GET_INSTALL_REFERRER_SERVICE)
- * [android.permission.ACCESS_WIFI_STATE](https://developer.android.com/reference/android/Manifest.permission.html#ACCESS_WIFI_STATE)
- * [android.permission.RECEIVE_BOOT_COMPLETED](https://developer.android.com/reference/android/Manifest.permission.html#RECEIVE_BOOT_COMPLETED)
-
-!!! info "Commission"
- **Type:** Fixed Rate
- **Value:** `8%`
-
-## Events
-
-### Ad Clicked
-
-Indicates that the user has clicked on the interstial ad
-
-
-
-### Ad Displayed
-
-Indicates that an Ad is shown to the user.
-
-
-
-### Ad Failed To Load
-
-Called when an ad request failed to load. The message will display the error code and error message.
-
-
-
-| Params | []() |
-|--------|------|
-|error Code|Number|
-|error Message|Text|
-
-### Ad Failed To Show
-
-Called when an an attempt was made to display the ad, but the ad was not ready to display.
-
-
-
-| Params | []() |
-|--------|------|
-|error Message|Text|
-
-### Ad Hidden
-
-Indicates that an Ad which was shown to the user is now hidden.
-
-
-
-### On Failed To Receive Ad
-
-Called when an ad request failed to load.
-
-
-
-| Params | []() |
-|--------|------|
-|error Message|Text|
-
-### On Receive Ad
-
-Called when an ad request failed to load. The message will display the error code and error message.
-
-
-
-## Methods
-
-### Load Ad
-
-Load a new StartApp Interstitial ad.
-
-
-
-### Show Interstitial Ad
-
-It will show the Interstitial Ad
-
-
-
-## Properties
-
-### App ID
-
-Text :heavy_minus_sign: Write - Designer
-
-Property for AppId
diff --git a/docs/components/monetization/advertising/unity-ads-banner.md b/docs/components/monetization/advertising/unity-ads-banner.md
deleted file mode 100644
index 9d64c5188..000000000
--- a/docs/components/monetization/advertising/unity-ads-banner.md
+++ /dev/null
@@ -1,69 +0,0 @@
-# Unity Ads Banner
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Monetization > Advertising**|API 21, Android 5.0 Lollipop|1|
-
-## Overview
-
-A visible component that dsiplays Unity Banner Ads.
-
-??? example "Permissions"
- * [android.permission.INTERNET](https://developer.android.com/reference/android/Manifest.permission.html#INTERNET)
- * [android.permission.ACCESS_NETWORK_STATE](https://developer.android.com/reference/android/Manifest.permission.html#ACCESS_NETWORK_STATE)
-
-## Events
-
-### Ad Clicked
-
-Called when an ad clicked.
-
-
-
-### Ad Failed To Load
-
-Called when an ad request failed to load. The message will display the error code and error message.
-
-
-
-| Params | []() |
-|--------|------|
-|error Code|Number|
-|error Message|Text|
-
-### Ad Loaded
-
-Called when an ad request was loaded.
-
-
-
-## Methods
-
-### Load Ad
-
-Load a new Unity ad in the banner
-
-
-
-## Properties
-
-### Game ID
-
-Text :heavy_minus_sign: Write - Designer
-
-Property for GameID
-
-### Placement ID
-
-Text :heavy_minus_sign: Write - Designer
-
-Property for PlacementID
-
-### Visible
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Returns true iff the component is visible.
-
-
-
diff --git a/docs/components/monetization/advertising/unity-ads-interstitial.md b/docs/components/monetization/advertising/unity-ads-interstitial.md
deleted file mode 100644
index fc4cdb182..000000000
--- a/docs/components/monetization/advertising/unity-ads-interstitial.md
+++ /dev/null
@@ -1,95 +0,0 @@
-# Unity Ads Interstitial
-
-{>> Non-Visible component<<}
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Monetization > Advertising**|API 21, Android 5.0 Lollipop|2|
-
-## Overview
-
-A non-visible component that shows Unity ads as full-screen advertisements.
-
-??? example "Permissions"
- * [android.permission.INTERNET](https://developer.android.com/reference/android/Manifest.permission.html#INTERNET)
- * [android.permission.ACCESS_NETWORK_STATE](https://developer.android.com/reference/android/Manifest.permission.html#ACCESS_NETWORK_STATE)
-
-## Events
-
-### Ad Closed
-
-Called when an ad was closed.
-
-
-
-| Params | []() |
-|--------|------|
-|placement Id|Text|
-|was Skipped|Boolean|
-|was Completed|Boolean|
-
-### Ad Opened
-
-Called when an ad was opened.
-
-
-
-| Params | []() |
-|--------|------|
-|placement Id|Text|
-
-### Ad Started
-
-Called when an ad was started.
-
-
-
-| Params | []() |
-|--------|------|
-|placement Id|Text|
-
-### Error
-
-Called when an ad request failed. The message will display the reason for why the ad failed.
-
-
-
-| Params | []() |
-|--------|------|
-|error|Text|
-
-## Methods
-
-### Is Ready
-
-Returns: Boolean
-
-Returns true if the ad is finished loading and can now be shown.
-
-
-
-### Show Ad
-
-Shows an ad to the user.
-
-
-
-## Properties
-
-### Game ID
-
-Text :heavy_minus_sign: Write - Designer
-
-Property for GameID
-
-### Placement ID
-
-Text :heavy_minus_sign: Write - Designer
-
-Property for PlacementID
-
-### Test Mode
-
-BooleanDefault: False :heavy_minus_sign: Write - Designer
-
-If you want to test the component then that this property to true. Then you will receive test ads.
diff --git a/docs/components/monetization/general/in-app-billing.md b/docs/components/monetization/general/in-app-billing.md
deleted file mode 100644
index 472d5a3fb..000000000
--- a/docs/components/monetization/general/in-app-billing.md
+++ /dev/null
@@ -1,257 +0,0 @@
-# In App Billing
-
-{>> Non-Visible component<<}
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Monetization > General**|API 21, Android 5.0 Lollipop|2|
-
-## Overview
-
-A non-visible component that lets the user purchase items, powered by Google''s In-App Purchases service.
-
-??? example "Permissions"
- * [android.permission.INTERNET](https://developer.android.com/reference/android/Manifest.permission.html#INTERNET)
- * [com.android.vending.BILLING](https://developer.android.com/reference/android/Manifest.permission.html#com.android.vending.BILLING)
-
-## Events
-
-### After Purchase
-
-After purchase event.
-
-
-
-| Params | []() |
-|--------|------|
-|product Id|Text|
-
-### Consumed
-
-When product is consumed.
-
-
-
-| Params | []() |
-|--------|------|
-|success|Boolean|
-|sku|Text|
-
-### Error Occurred
-
-Error occurred event.
-
-
-
-| Params | []() |
-|--------|------|
-|message|Text|
-
-### Got Owned Purchases
-
-Got Owned Purchases
-
-
-
-| Params | []() |
-|--------|------|
-|owned Products|List|
-|owned Subscriptions|List|
-
-### Got Product Details
-
-Got Product Details
-
-
-
-| Params | []() |
-|--------|------|
-|success|Boolean|
-|product Id|Text|
-|title|Text|
-|description|Text|
-|currency|Text|
-|price|Text|
-
-### Got Subscription Details
-
-Got Subscription Details
-
-
-
-| Params | []() |
-|--------|------|
-|success|Boolean|
-|is Subscription|Boolean|
-|subscription Id|Text|
-|title|Text|
-|description|Text|
-|currency|Text|
-|price|Text|
-
-## Methods
-
-### Consume
-
-Consumes a purchase to enable users to buy it again.
-
-
-
-| Params | []() |
-|--------|------|
-|sku|Text|
-
-### Initialize
-
-:warning: ==**Deprecated**==
-
-Do not use this block anymore. This block is deprecated and does nothing and will be removed in the future!
-
-
-
-| Params | []() |
-|--------|------|
-|license Key|Text|
-|merchant Id|Text|
-
-### Is Purchased
-
-Returns: Boolean
-
-Returns true if the product with the specific id is purchased.
-
-
-
-| Params | []() |
-|--------|------|
-|product Id|Text|
-
-### Is Subscribed
-
-Returns: Boolean
-
-Returns true if the product is subscribed.
-
-
-
-| Params | []() |
-|--------|------|
-|subscription Id|Text|
-
-### Load Owned Purchases
-
-Load Owned Purchases from Google.
-
-
-
-### Product Details
-
-Get product details from the specific product id.
-
-
-
-| Params | []() |
-|--------|------|
-|product Id|Text|
-
-### Purchase
-
-Purchase a product with the given product id. Set the product type to "inapp" for one time purchases and "subs" for subscriptions.
-
-
-
-| Params | []() |
-|--------|------|
-|product Id|Text|
-|product Type|inapp or subs|
-
-### Subscribe
-
-Subscribe a product with the given product id.
-
-
-
-| Params | []() |
-|--------|------|
-|subscription Id|Text|
-
-### Subscription Details
-
-Get subscription details from the given id.
-
-
-
-| Params | []() |
-|--------|------|
-|subscription Id|Text|
-
-### Update Subscription
-
-:warning: ==**Deprecated**==
-
-Do not use this block anymore. This block is deprecated and does nothing and will be removed in the future!
-
-
-
-| Params | []() |
-|--------|------|
-|subscription Id|Text|
-
-## Properties
-
-### Is IAB Service Available
-
-Boolean :heavy_minus_sign: Read - Blocks
-
-Check Play Market services availability.
-
-
-
-### Is One Time Purchase Available
-
-Boolean :heavy_minus_sign: Read - Blocks
-
-Is one time purchase supported.
-
-
-
-### Is Subscription Update Supported
-
-Boolean :heavy_minus_sign: Read - Blocks
-
-Is subscription update supported.
-
-
-
-### Is Subscriptions Supported
-
-Boolean :heavy_minus_sign: Read - Blocks
-
-Is subscriptions supported.
-
-
-
-### Ready To Purchase
-
-Boolean :heavy_minus_sign: Read - Blocks
-
-Whether In-app billing service is ready to purchase.
-
-
-
-### Suppress Toast
-
-:warning: ==**Deprecated**==
-
-BooleanDefault: true :heavy_minus_sign: Write - Designer
-
-Do not use this block anymore. This block is deprecated and does nothing and will be removed in the future!
-
-### Test Mode
-
-BooleanDefault: false :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Whether it is testing mode enabled or not.
-
-
-
diff --git a/docs/components/monetization/general/index.md b/docs/components/monetization/general/index.md
deleted file mode 100644
index cd6d40827..000000000
--- a/docs/components/monetization/general/index.md
+++ /dev/null
@@ -1,5 +0,0 @@
-# Overview of Monetization > General
-
-* [In App Billing](in-app-billing.md)
-* [Kodular Donations](kodular-donations.md)
-* [Pollfish](pollfish.md)
\ No newline at end of file
diff --git a/docs/components/monetization/general/kodular-donations.md b/docs/components/monetization/general/kodular-donations.md
deleted file mode 100644
index 15eecf0bb..000000000
--- a/docs/components/monetization/general/kodular-donations.md
+++ /dev/null
@@ -1,11 +0,0 @@
-# Kodular Donations
-
-{>> Non-Visible component<<}
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Monetization > General**|API 21, Android 5.0 Lollipop|1|
-
-## Overview
-
-A non-visible component that converts all your earnings from ads to donations that go to Kodular.
diff --git a/docs/components/monetization/general/pollfish.md b/docs/components/monetization/general/pollfish.md
deleted file mode 100644
index dbd8e8ed9..000000000
--- a/docs/components/monetization/general/pollfish.md
+++ /dev/null
@@ -1,111 +0,0 @@
-# Pollfish
-
-{>> Non-Visible component<<}
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Monetization > General**|API 21, Android 5.0 Lollipop|2|
-
-## Overview
-
-A non-visible component that allows publishers to incentivize/reward their app''s users for completing a survey. Rewarding users for completing surveys is a great approach since it increases engagement and retention in an app.
-
-??? example "Permissions"
- * [android.permission.INTERNET](https://developer.android.com/reference/android/Manifest.permission.html#INTERNET)
-
-## Events
-
-### Survey Closed
-
-Called when Pollfish Survey was closed.
-
-
-
-### Survey Completed
-
-Called when Pollfish survey was completed. surveyInfo is CSV list containing CPA, LOI, IR. Empty for Survey Offerwall.
-
-
-
-| Params | []() |
-|--------|------|
-|survey Info|Text|
-
-### Survey Not Available
-
-Called when Pollfish Survey was not available.
-
-
-
-### Survey Opened
-
-Called when Survey was opened.
-
-
-
-### Survey Received
-
-Called when device receives survey and user can be prompted to start the survey.surveyInfo is CSV list containing CPA, LOI, IR. Empty for Survey Offerwall.
-
-
-
-| Params | []() |
-|--------|------|
-|survey Info|Text|
-
-### User Not Eligible
-
-Called when Pollfish user was not eligible.
-
-
-
-### User Rejected
-
-Called when Pollfish user was rejected.
-
-
-
-## Methods
-
-### Show Survey
-
-Show Survey
-
-
-
-## Properties
-
-### API Key
-
-Text :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Returns value of Pollfish API Key
-
-
-
-
-### Request UUID
-
-Text :heavy_minus_sign: ReadWrite - Blocks
-
-Sets a unique id to identify a user and be passed through server-to-server callbacks
-
-
-
-
-### Survey Mode
-
-TextDefault: Single Survey :heavy_minus_sign: Read - DesignerBlocks
-
-Survey mode. It can either be Single Survey or Survey Offerwall
-
-
-
-### Test Mode
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-If you want to test the component then set this property to true and before publishing to Play Store, set back to false.
-
-
-
diff --git a/docs/components/monetization/index.md b/docs/components/monetization/index.md
deleted file mode 100644
index 07baefae4..000000000
--- a/docs/components/monetization/index.md
+++ /dev/null
@@ -1,4 +0,0 @@
-# Overview of Monetization
-
-* [Monetization > General](general/index.md)
-* [Monetization > Advertising](advertising/index.md)
\ No newline at end of file
diff --git a/docs/components/screen.md b/docs/components/screen.md
deleted file mode 100644
index 0d879478d..000000000
--- a/docs/components/screen.md
+++ /dev/null
@@ -1,813 +0,0 @@
-# Screen
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Layout > General**|API 21, Android 5.0 Lollipop|44|
-
-## Overview
-
-Top-level component containing all other components in the program.
-
-??? example "Permissions"
- * [android.permission.INTERNET](https://developer.android.com/reference/android/Manifest.permission.html#INTERNET)
- * [android.permission.ACCESS_NETWORK_STATE](https://developer.android.com/reference/android/Manifest.permission.html#ACCESS_NETWORK_STATE)
- * [android.permission.ACCESS_WIFI_STATE](https://developer.android.com/reference/android/Manifest.permission.html#ACCESS_WIFI_STATE)
-
- Screen is the top-most component in any app. All the other components are placed on a Screen.
-
- If you take the app as a book, the Screens can be regarded as the pages of a book and the other components as
- the various elements present on a page of a book, text, images etc.
-
-
-
-Screen <--> Book
-{: .img-caption}
-
-## Events
-
-### Back Pressed
-
-Device back button pressed.
-
-
-
-### Error Occurred
-
-Event raised when an error occurs. Only some errors will raise this condition. For those errors, the system will show a notification by default. You can use this event handler to prescribe an error behavior different than the default.
-
-
-
-| Params | []() |
-|--------|------|
-|component|Component|
-|function Name|Text|
-|error Number|Number|
-|message|Text|
-
-### Got Received Shared
-
-Event to detect that a user shared content to your app throw the sharing dialog of any other app. Type stand for integer. 0 = nothing shared, 1 = audio, 2 = image, 3 = text or 4 = video
-
-
-
-| Params | []() |
-|--------|------|
-|type|Number|
-|value|Text|
-
-### Initialize
-
-Screen starting
-
-
-
-### Keyboard Visibility Changed
-
-Event will be invoked if the keyboard was visible or invisible.
-
-
-
-| Params | []() |
-|--------|------|
-|is Keyboard Visible|Boolean|
-
-### Menu Initialize
-
-Event to detect when the menu has loaded. Set here your blocks like TitleBarIcon or AddMenuItem.
-
-
-
-### Menu Item Selected
-
-Event to detect when a menu item has been selected.
-
-
-
-| Params | []() |
-|--------|------|
-|menu Item|Text|
-
-### On App Pause
-
-The system calls this method as the first indication that the user is leaving your activity (though it does not always mean the activity is being destroyed).
-
-
-
-### On App Resume
-
-When the activity enters the Resumed state, it comes to the foreground, and then the system invokes this event.
-
-
-
-### On App Stop
-
-When your activity is no longer visible to the user, it has entered the Stopped state, and the system invokes this event.
-
-
-
-### Other Screen Closed
-
-Event raised when another screen has closed and control has returned to this screen.
-
-
-
-| Params | []() |
-|--------|------|
-|other Screen Name|Text|
-|result|Any|
-
-### Permission Denied
-
-Event to handle when the app user has denied a needed permission.
-
-
-
-| Params | []() |
-|--------|------|
-|component|Component|
-|function Name|Text|
-|permission Name|Text|
-
-### Permission Granted
-
-Event to handle when the app user has granted a needed permission. This event is only run when permission isgranted in response to the AskForPermission method.
-
-
-
-| Params | []() |
-|--------|------|
-|permission Name|Text|
-
-### Screen Orientation Changed
-
-Screen orientation changed
-
-
-
-### Side Menu Closed
-
-Event will be invoked if the side menu was closed.
-
-
-
-### Side Menu Opened
-
-Event will be invoked if the side menu was opened.
-
-
-
-### Title Bar Back Button Clicked
-
-Event to detect when a menu item has been selected.
-
-
-
-### Title Bar Icon Selected
-
-The event returns the 'icon' or 'name' of the selected icon.
-
-
-
-| Params | []() |
-|--------|------|
-|icon|Text|
-|name|Text|
-
-## Methods
-
-### Add Menu Item
-
-Add a new item to the menu. Use the 'make a list' block.
-
-
-
-| Params | []() |
-|--------|------|
-|menu Item|List|
-
-### Add Menu Item With Icon
-
-Add a new item with a icon on the left side to the menu. This function does not use the make a list block. If you want more items with icon then use this block again.
-
-
-
-| Params | []() |
-|--------|------|
-|menu Item|Text|
-|menu Icon|Text|
-
-### Add Title Bar Icon
-
-Add a new action icon to the TitleBar. You will see a toast message on a long click with your choosen name. Add this block to the "MenuInitialize" event.
-
-
-
-| Params | []() |
-|--------|------|
-|icon|Text|
-|name|Text|
-
-### Are Permissions Granted
-
-Returns: Boolean
-
-Returns true if ALL needed app permissions were granted, else false.
-
-
-
-### Ask For Permission
-
-Ask the user to grant access to a dangerous permission.
-
-
-
-| Params | []() |
-|--------|------|
-|permission Name|Text|
-
-### Can Write System Settings
-
-Returns: Boolean
-
-Returns true if the app can write system settings, else it returns false. It will return true automatic for devices with android version below 6 (API 23).
-
-
-
-### Hide Keyboard
-
-Hide the keyboard.
-
-
-
-### Lock Side Menu
-
-Use this block to lock the side menu. This means the user can not open the side menu until the side menu unlock block is used.
-
-
-
-### Move Task To Back
-
-Move task to back. That means it will minimize your current app.
-
-
-
-### Open App Settings
-
-Opens the settings screen of the app. Useful if 'Are Permissions Granted' has returned false.
-
-
-
-### Open System Write Settings
-
-Opens the app's system settings page. This works only for devices with android 6+.
-
-
-
-### Remove Side Menu
-
-Remove a first created side menu. This block will be usefull if you need to update a side menu dynamically. You can use this block too to test a side menu in the companion. Add then this block above of the 'Side Menu' block.
-
-
-
-### Remove Title Bar Icons
-
-Remove all added action icons from the TitleBar.
-
-
-
-### Reset Options Menu
-
-Reset the menu back to its default
-
-
-
-### Show About Application
-
-Show the dialog which shows when pressing the "About This Application" button in the menu.
-
-
-
-### Show Keyboard
-
-Show the keyboard
-
-
-
-### Side Menu
-
-Create a Side Menu. Set to "layout" your layout that will be then your side menu. Use as example a vertical arrangement. Your choosen layout will be then removed from the screen and only visible in the side menu."Information": This block works on companion only if you add a side menu on button click.Don’t add it in companion on "screen initialize event". Else the companion will crash.Do NOT use this block with the Side Menu Layout component
-
-
-
-| Params | []() |
-|--------|------|
-|layout|Component|
-
-### Side Menu Close
-
-If you had set your side menu then you can use this block to close it as example with a button click.
-
-
-
-### Side Menu Open
-
-If you had set your side menu then you can use this block to open it as example with a button click.
-
-
-
-### Task Description
-
-Sets information describing the task with this activity for presentation inside the Recents System UI. You will see the settings if the device API is >= 21 and you minimize the app.
-
-
-
-| Params | []() |
-|--------|------|
-|text|Text|
-|color|Number|
-
-### Unlock Side Menu
-
-Use this block to unlock the side menu. This means the user can now open again the side menu.
-
-
-
-### Version Code
-
-Returns: Number
-
-This block will returns the version code
-
-
-
-### Version Name
-
-Returns: Text
-
-This block will returns the version name
-
-
-
-## Properties
-
-### About Screen
-
-Text :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Information about the screen. It appears when "About this Application" is selected from the system menu. Use it to inform people about your app. In multiple screen apps, each screen has its own AboutScreen info.
-
-
-
-
-### About Screen Background Color
-
-ColorDefault: #444444FF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Property for AboutScreenBackgroundColor
-
-
-
-
-### About Screen Light Theme
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Property for AboutScreenLightTheme
-
-
-
-
-### About Screen Title
-
-TextDefault: About this application :heavy_minus_sign: Write - DesignerBlocks
-
-Define the title of the about application option.
-
-
-
-### Accent Color
-
-ColorDefault: #FF4081FF :heavy_minus_sign: Write - Designer
-
-This is the accent color used for highlights and other user interface accents.
-
-### Accepted Shared File Types
-
-Text :heavy_minus_sign: Write - Designer
-
-Property for ReceiveSharedText
-
-### Align Horizontal
-
-NumberDefault: 1 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-A number that encodes how contents of the screen are aligned horizontally. The choices are: 1 = left aligned, 3 = horizontally centered, 2 = right aligned.
-
-
-
-
-### Align Vertical
-
-NumberDefault: 1 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-A number that encodes how the contents of the arrangement are aligned vertically. The choices are: 1 = aligned at the top, 2 = vertically centered, 3 = aligned at the bottom. Vertical alignment has no effect if the screen is scrollable.
-
-
-
-
-### App ID
-
-Text :heavy_minus_sign: Write - Designer
-
-The unique APP_ID for the user (which is generated by GWT and stored in Datastore)
-
-### App Name
-
-Text :heavy_minus_sign: Write - Designer
-
-This is the display name of the installed application in the phone.If the AppName is blank, it will be set to the name of the project when the project is built.
-
-### Background Color
-
-ColorDefault: #FFFFFFFF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-BackgroundColor property getter method.
-
-
-
-
-### Background Image
-
-Text :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The screen background image.
-
-
-
-
-### Close Screen Animation
-
-TextDefault: default :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The animation for closing current screen and returning to the previous screen. Valid options are default, fade, zoom, slidehorizontal, slidevertical, and none
-
-
-
-
-### Default File Scope
-
-Com.google.appinventor.components.common.filescopeenumDefault: App :heavy_minus_sign: Write - Designer
-
-Specifies the default scope used when components access files. Note that the
-
-### Drawer Arrow Icon Color
-
-Number :heavy_minus_sign: ReadWrite - Blocks
-
-Set the drawer arrow icon color.
-
-
-
-
-### Height
-
-Number :heavy_minus_sign: Read - Blocks
-
-Screen height (y-size).
-
-
-
-### High Quality Images
-
-Available as ^^Advanced^^ Property
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-If set to true, pictures will be loaded in high quality.
-
-
-
-
-### Icon
-
-Text :heavy_minus_sign: Write - Designer
-
-Specifies the name of the application icon.
-
-### Is Companion
-
-Boolean :heavy_minus_sign: Read - Blocks
-
-This block will return true, if you are running your project current in the companion application. Else it will return false.
-
-
-
-### is Keyboard Visible
-
-Boolean :heavy_minus_sign: Read - Blocks
-
-Returns the status of the keyboard. If the keyboard is visible then the result is true.
-
-
-
-### is Side Menu Added
-
-Boolean :heavy_minus_sign: Read - Blocks
-
-Returns true if a side menu is added to the screen.
-
-
-
-### is Side Menu Open
-
-Boolean :heavy_minus_sign: Read - Blocks
-
-Returns true if a side menu is current open. Else it will return false.
-
-
-
-### Keep Screen On
-
-Available as ^^Advanced^^ Property
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Keep the device's screen turned on and bright.
-
-
-
-
-### Minimum SDK Level
-
-Available as ^^Advanced^^ Property
-
-NumberDefault: 21 :heavy_minus_sign: Write - Designer
-
-Property for MinSdk
-
-### Navigation Bar Color
-
-ColorDefault: #000000FF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Set navigation bar color. This will work starting from API Level 21 (Android Lollipop)
-
-
-
-
-### Navigation Bar Light Icons
-
-Boolean :heavy_minus_sign: ReadWrite - Blocks
-
-This option tells the system to use dark navigation bar icons, useful for lighter colored navigation bars. Works only for devices with API >= 26.
-
-
-
-
-### Navigation Icon Color
-
-Number :heavy_minus_sign: ReadWrite - Blocks
-
-Set the navigation icon color.
-
-
-
-
-### Open Screen Animation
-
-TextDefault: default :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The animation for switching to another screen. Valid options are default, fade, zoom, slidehorizontal, slidevertical, and none
-
-
-
-
-### Options Menu Icon Color
-
-Number :heavy_minus_sign: ReadWrite - Blocks
-
-Set the options menu icon color.
-
-
-
-
-### Package Name
-
-Available as ^^Advanced^^ Property
-
-Text :heavy_minus_sign: Write - Designer
-
-Set a custom PackageName for the app. Min 8 chars, max 35 chars, min 3 words, max 5 words, no special chars, only ASCII a-z and dots for separators
-
-### Primary Color
-
-ColorDefault: #3F51B5FF :heavy_minus_sign: Write - Designer
-
-This is the primary color used for Material UI elements, such as the ActionBar.
-
-### Primary Color Dark
-
-ColorDefault: #303F9FFF :heavy_minus_sign: Write - Designer
-
-This is the primary color used for darker elements in Material UI.
-
-### RTL Support
-
-Available as ^^Advanced^^ Property
-
-BooleanDefault: False :heavy_minus_sign: Write - Designer
-
-Property for RTLSupport
-
-### Screen Orientation
-
-TextDefault: unspecified :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The requested screen orientation, specified as a text value. Commonly used values are landscape, portrait, sensor, user and unspecified. See the Android developer documentation for ActivityInfo.Screen_Orientation for the complete list of possible settings.
-
-
-
-
-### Scrollable
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-When checked, there will be a vertical scrollbar on the screen, and the height of the application can exceed the physical height of the device. When unchecked, the application height is constrained to the height of the device.
-
-
-
-
-### Show Lists As Json
-
-Available as ^^Advanced^^ Property
-
-BooleanDefault: False :heavy_minus_sign: Write - Designer
-
-If false, lists will be converted to strings using Lisp notation, i.e., as symbols separated by spaces, e.g., (a 1 b2 (c d). If true, lists will appear as in Json or Python, e.g. ["a", 1, "b", 2, ["c", "d"]]. This property appears only in Screen 1, and the value for Screen 1 determines the behavior for all screens. The property defaults to "false" meaning that the App Inventor programmer must explicitly set it to "true" if JSON/Python syntax is desired. At some point in the future we will alter the system so that new projects are created with this property set to "true" by default. Existing projects will not be impacted. The App Inventor programmer can also set it back to "false" in newer projects if desired.
-
-### Show Navigation Bar
-
-Available as ^^Experimental^^ Property
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Show/Hide Navigation Bar
-
-
-
-
-### Show Options Menu
-
-BooleanDefault: True :heavy_minus_sign: Write - Designer
-
-Property for ShowOptionsMenu
-
-### Show Status Bar
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The status bar is the topmost bar on the screen. This property reports whether the status bar is visible.
-
-
-
-
-### Show Title Bar Back Button
-
-Boolean :heavy_minus_sign: ReadWrite - Blocks
-
-If true it will show in the TitleBar a back button only if no side menu was added. If a side menu was added it will remove the ‘hamburger’-menu icon but the side menu can still be opened.
-
-
-
-
-### Sizing
-
-TextDefault: Responsive :heavy_minus_sign: Write - Designer
-
-If set to fixed, screen layouts will be created for a single fixed-size screen and autoscaled. If set to responsive, screen layouts will use the actual resolution of the device. See the documentation on responsive design in App Inventor for more information. This property appears on Screen1 only and controls the sizing for all screens in the app.
-
-### Splash Image
-
-Available as ^^Advanced^^ Property
-
-Text :heavy_minus_sign: Write - Designer
-
-Property for SplashIcon
-
-### Splash Screen
-
-Available as ^^Advanced^^ Property
-
-BooleanDefault: True :heavy_minus_sign: Write - Designer
-
-If set to true the user will see a splash screen while the app is loading the content.
-
-### Status Bar Color
-
-Number :heavy_minus_sign: ReadWrite - Blocks
-
-Set status bar color. This will work starting from API Level 21 (Android Lollipop
-
-
-
-
-### Status Bar Light Icons
-
-Boolean :heavy_minus_sign: ReadWrite - Blocks
-
-This option tells the system to use dark statusbar icons, useful for lighter colored status bars. Works only for devices with API >= 23.
-
-
-
-
-### Theme
-
-TextDefault: AppTheme :heavy_minus_sign: Write - Designer
-
-Sets the theme used by the application.
-
-### Title
-
-Text :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The caption for the form, which apears in the title bar
-
-
-
-
-### Title Bar Color
-
-Number :heavy_minus_sign: ReadWrite - Blocks
-
-Set title bar color
-
-
-
-
-### Title Bar Font Typeface
-
-NumberDefault: 0 :heavy_minus_sign: Write - Designer
-
-Property for TitleBarFontTypeface
-
-### Title Bar Subtitle
-
-Text :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Set the TitleBar's subtitle.
-
-
-
-
-### Title Bar Text Color
-
-Number :heavy_minus_sign: ReadWrite - Blocks
-
-Set a custom color for the TitleBar text.
-
-
-
-
-### Title Bar Typeface Import
-
-Available as ^^Advanced^^ Property
-
-Text :heavy_minus_sign: Write - DesignerBlocks
-
-Set a custom font.
-
-
-
-### Title Visible
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The title bar is the top gray bar on the screen. This property reports whether the title bar is visible.
-
-
-
-
-### Tutorial URL
-
-Text :heavy_minus_sign: Write - Designer
-
-A URL to use to populate the Tutorial Sidebar while editing a project. Used as a teaching aid.
-
-### Version Code
-
-NumberDefault: 1 :heavy_minus_sign: Write - Designer
-
-An integer value which must be incremented each time a new Android Application Package File (APK) is created for the Google Play Store.
-
-### Version Name
-
-TextDefault: 1.0 :heavy_minus_sign: Write - Designer
-
-A string which can be changed to allow Google Play Store users to distinguish between different versions of the App.
-
-### Width
-
-Number :heavy_minus_sign: Read - Blocks
-
-Screen width (x-size).
-
-
diff --git a/docs/components/sensors/accelerometer-sensor.md b/docs/components/sensors/accelerometer-sensor.md
deleted file mode 100644
index c6cbc60e1..000000000
--- a/docs/components/sensors/accelerometer-sensor.md
+++ /dev/null
@@ -1,105 +0,0 @@
-# Accelerometer Sensor
-
-{>> Non-Visible component<<}
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Sensors**|API 21, Android 5.0 Lollipop|5|
-
-## Overview
-
-Non-visible component that can detect shaking and measure acceleration approximately in three dimensions using SI units (m/s2). The components are:
-
-* __xAccel__: 0 when the phone is at rest on a flat surface, positive when the phone is tilted to the right (i.e., its left side is raised), and negative when the phone is tilted to the left (i.e., its right size is raised).
-* __yAccel__: 0 when the phone is at rest on a flat surface, positive when its bottom is raised, and negative when its top is raised.
-* __zAccel__: Equal to -9.8 (earth's gravity in meters per second per second when the device is at rest parallel to the ground with the display facing up, 0 when perpendicular to the ground, and +9.8 when facing down. The value can also be affected by accelerating it with or against gravity.
-
-## Events
-
-### Acceleration Changed
-
-Indicates the acceleration changed in the X, Y, and/or Z dimensions.
-
-
-
-| Params | []() |
-|--------|------|
-|x Accel|Number|
-|y Accel|Number|
-|z Accel|Number|
-
-### Shaking
-
-Indicates the device started being shaken or continues to be shaken.
-
-
-
-## Properties
-
-### Available
-
-Boolean :heavy_minus_sign: Read - Blocks
-
-Available property getter method (read-only property).
-
-
-
-### Enabled
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-If true, the sensor will generate events. Otherwise, no eventsare generated even if the device is accelerated or shaken.
-
-
-
-
-### Legacy Mode
-
-BooleanDefault: False :heavy_minus_sign: Write - Designer
-
-Prior to the release that added this property the AccelerometerSensor component passed through sensor values directly as received from the Android system. However these values do not compensate for tablets that default to Landscape mode, requiring the MIT App Inventor programmer to compensate. However compensating would result in incorrect results in Portrait mode devices such as phones. We now detect Landscape mode tablets and perform the compensation. However if your project is already compensating for the change, you will now get incorrect results. Although our preferred solution is for you to update your project, you can also just set this property to “true” and our compensation code will be deactivated. Note: We recommend that you update your project as we may remove this property in a future release.
-
-### Minimum Interval (ms)
-
-NumberDefault: 400 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The minimum interval, in milliseconds, between phone shakes
-
-
-
-
-### Sensitivity
-
-NumberDefault: 2 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-A number that encodes how sensitive the accelerometer is. The choices are: 1 = weak, 2 = moderate, 3 = strong.
-
-
-
-
-### X Accel
-
-Number :heavy_minus_sign: Read - Blocks
-
-Returns the acceleration in the X-dimension in SI units (m/s^2)
-The sensor must be enabled to return meaningful values.
-
-
-
-### Y Accel
-
-Number :heavy_minus_sign: Read - Blocks
-
-Returns the acceleration in the Y-dimension in SI units (m/s^2)
-The sensor must be enabled to return meaningful values.
-
-
-
-### Z Accel
-
-Number :heavy_minus_sign: Read - Blocks
-
-Returns the acceleration in the Z-dimension in SI units (m/s^2)
-The sensor must be enabled to return meaningful values.
-
-
diff --git a/docs/components/sensors/barcode-scanner.md b/docs/components/sensors/barcode-scanner.md
deleted file mode 100644
index 1679e460a..000000000
--- a/docs/components/sensors/barcode-scanner.md
+++ /dev/null
@@ -1,53 +0,0 @@
-# Barcode Scanner
-
-{>> Non-Visible component<<}
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Sensors**|API 21, Android 5.0 Lollipop|2|
-
-## Overview
-
-A non-visible component that reads barcodes from the device''s camera.
-
-??? example "Permissions"
- * [android.permission.CAMERA](https://developer.android.com/reference/android/Manifest.permission.html#CAMERA)
-
-## Events
-
-### After Scan
-
-Indicates that the scanner has read a (text) result and provides the result
-
-
-
-| Params | []() |
-|--------|------|
-|result|Text|
-
-## Methods
-
-### Do Scan
-
-Begins a barcode scan, using the camera. When the scan is complete, the AfterScan event will be raised.
-
-
-
-## Properties
-
-### Result
-
-Text :heavy_minus_sign: Read - Blocks
-
-Text result of the previous scan.
-
-
-
-### Use External Scanner
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-If true App Inventor will look for and use an external scanning program such as "Bar Code Scanner."
-
-
-
diff --git a/docs/components/sensors/clock.md b/docs/components/sensors/clock.md
deleted file mode 100644
index 753cb7b1f..000000000
--- a/docs/components/sensors/clock.md
+++ /dev/null
@@ -1,476 +0,0 @@
-# Clock
-
-{>> Non-Visible component<<}
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Sensors**|API 21, Android 5.0 Lollipop|4|
-
-## Overview
-
-Non-visible component that provides the instant in time using the internal clock on the phone. It can fire a timer at regularly set intervals and perform time calculations, manipulations, and conversions.
-
-
-
-Methods to convert an instant to text are also available. Acceptable patterns are empty string, MM/DD/YYYY HH:mm:ss a, or MMM d, yyyyHH:mm. The empty string will provide the default format, which is "MMM d, yyyy HH:mm:ss a" for FormatDateTime "MMM d, yyyy" for FormatDate. To see all possible format, please see here.
-
-## Events
-
-### Timer
-
-Timer has gone off.
-
-
-
-## Methods
-
-### Add Days
-
-Returns: Instantintime
-
-An instant in time some days after the argument
-
-
-
-| Params | []() |
-|--------|------|
-|instant|Instantintime|
-|quantity|Number|
-
-### Add Duration
-
-Returns: Instantintime
-
-An instant in time some duration after the argument
-
-
-
-| Params | []() |
-|--------|------|
-|instant|Instantintime|
-|quantity|Number|
-
-### Add Hours
-
-Returns: Instantintime
-
-An instant in time some hours after the argument
-
-
-
-| Params | []() |
-|--------|------|
-|instant|Instantintime|
-|quantity|Number|
-
-### Add Minutes
-
-Returns: Instantintime
-
-An instant in time some minutes after the argument
-
-
-
-| Params | []() |
-|--------|------|
-|instant|Instantintime|
-|quantity|Number|
-
-### Add Months
-
-Returns: Instantintime
-
-An instant in time some months after the argument
-
-
-
-| Params | []() |
-|--------|------|
-|instant|Instantintime|
-|quantity|Number|
-
-### Add Seconds
-
-Returns: Instantintime
-
-An instant in time some seconds after the argument
-
-
-
-| Params | []() |
-|--------|------|
-|instant|Instantintime|
-|quantity|Number|
-
-### Add Weeks
-
-Returns: Instantintime
-
-An instant in time some weeks after the argument
-
-
-
-| Params | []() |
-|--------|------|
-|instant|Instantintime|
-|quantity|Number|
-
-### Add Years
-
-Returns: Instantintime
-
-An instant in time some years after the argument
-
-
-
-| Params | []() |
-|--------|------|
-|instant|Instantintime|
-|quantity|Number|
-
-### Day Of Month
-
-Returns: Number
-
-The day of the month
-
-
-
-| Params | []() |
-|--------|------|
-|instant|Instantintime|
-
-### Duration
-
-Returns: Number
-
-Milliseconds elapsed between instants
-
-
-
-| Params | []() |
-|--------|------|
-|start|Instantintime|
-|end|Instantintime|
-
-### Duration To Days
-
-Returns: Number
-
-convert duration to days
-
-
-
-| Params | []() |
-|--------|------|
-|duration|Number|
-
-### Duration To Hours
-
-Returns: Number
-
-convert duration to hours
-
-
-
-| Params | []() |
-|--------|------|
-|duration|Number|
-
-### Duration To Minutes
-
-Returns: Number
-
-convert duration to minutes
-
-
-
-| Params | []() |
-|--------|------|
-|duration|Number|
-
-### Duration To Seconds
-
-Returns: Number
-
-convert duration to seconds
-
-
-
-| Params | []() |
-|--------|------|
-|duration|Number|
-
-### Duration To Weeks
-
-Returns: Number
-
-convert duration to weeks
-
-
-
-| Params | []() |
-|--------|------|
-|duration|Number|
-
-### Format Date
-
-Returns: Text
-
-Text representing the date of an instant in the specified pattern
-
-
-
-| Params | []() |
-|--------|------|
-|instant|Instantintime|
-|pattern|Text|
-
-### Format Date Time
-
-Returns: Text
-
-Text representing the date and time of an instant in the specified pattern
-
-
-
-| Params | []() |
-|--------|------|
-|instant|Instantintime|
-|pattern|Text|
-
-### Format Time
-
-Returns: Text
-
-Text representing the time of an instant
-
-
-
-| Params | []() |
-|--------|------|
-|instant|Instantintime|
-
-### Get Millis
-
-Returns: Number
-
-The instant in time measured as milliseconds since 1970.
-
-
-
-| Params | []() |
-|--------|------|
-|instant|Instantintime|
-
-### Hour
-
-Returns: Number
-
-The hour of the day
-
-
-
-| Params | []() |
-|--------|------|
-|instant|Instantintime|
-
-### Make Date
-
-Returns: Instantintime
-
-Allows the user to set the clock to be a date value
-Valid values for the month field are 1-12 and 1-31 for the day field.
-
-
-
-| Params | []() |
-|--------|------|
-|year|Number|
-|month|Number|
-|day|Number|
-
-### Make Instant
-
-Returns: Instantintime
-
-An instant in time specified by MM/dd/YYYY hh:mm:ss or MM/dd/YYYY or hh:mm
-
-
-
-| Params | []() |
-|--------|------|
-|from|Text|
-
-### Make Instant From Millis
-
-Returns: Instantintime
-
-An instant in time specified by the milliseconds since 1970.
-
-
-
-| Params | []() |
-|--------|------|
-|millis|Number|
-
-### Make Instant From Parts
-
-Returns: Instantintime
-
-Allows the user to set the date and time to be displayed when the clock opens
-Valid values for the month field are 1-12 and 1-31 for the day field.
-
-
-
-| Params | []() |
-|--------|------|
-|year|Number|
-|month|Number|
-|day|Number|
-|hour|Number|
-|minute|Number|
-|second|Number|
-
-### Make Time
-
-Returns: Instantintime
-
-Allows the user to set the time of the clock - Valid format is hh:mm:ss
-
-
-
-| Params | []() |
-|--------|------|
-|hour|Number|
-|minute|Number|
-|second|Number|
-
-### Minute
-
-Returns: Number
-
-The minute of the hour
-
-
-
-| Params | []() |
-|--------|------|
-|instant|Instantintime|
-
-### Month
-
-Returns: Number
-
-The month of the year represented as a number from 1 to 12)
-
-
-
-| Params | []() |
-|--------|------|
-|instant|Instantintime|
-
-### Month Name
-
-Returns: Text
-
-The name of the month
-
-
-
-| Params | []() |
-|--------|------|
-|instant|Instantintime|
-
-### Now
-
-Returns: Instantintime
-
-The current instant in time read from phone's clock
-
-
-
-### Second
-
-Returns: Number
-
-The second of the minute
-
-
-
-| Params | []() |
-|--------|------|
-|instant|Instantintime|
-
-### System Time
-
-Returns: Number
-
-The phone's internal time
-
-
-
-### Weekday
-
-Returns: Number
-
-The day of the week represented as a number from 1 (Sunday) to 7 (Saturday)
-
-
-
-| Params | []() |
-|--------|------|
-|instant|Instantintime|
-
-### Weekday Name
-
-Returns: Text
-
-The name of the day of the week
-
-
-
-| Params | []() |
-|--------|------|
-|instant|Instantintime|
-
-### Year
-
-Returns: Number
-
-The year
-
-
-
-| Params | []() |
-|--------|------|
-|instant|Instantintime|
-
-## Properties
-
-### Timer Always Fires
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Will fire even when application is not showing on the screen if true
-
-
-
-
-### Timer Enabled
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Fires timer if true
-
-
-
-
-### Timer Interval
-
-NumberDefault: 1000 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Interval between timer events in ms
-
-
-
diff --git a/docs/components/sensors/fingerprint.md b/docs/components/sensors/fingerprint.md
deleted file mode 100644
index 6de59f151..000000000
--- a/docs/components/sensors/fingerprint.md
+++ /dev/null
@@ -1,118 +0,0 @@
-# Fingerprint
-
-{>> Non-Visible component<<}
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Sensors**|API 21, Android 5.0 Lollipop|1|
-
-## Overview
-
-A non-visible component that reads fingerprints using the device''s in-built fingerprint scanner.
-
-??? example "Permissions"
- * [android.permission.USE_FINGERPRINT](https://developer.android.com/reference/android/Manifest.permission.html#USE_FINGERPRINT)
-
-## Events
-
-### On Authentication Error
-
-Triggers when there is a Authentication Error
-
-
-
-| Params | []() |
-|--------|------|
-|error Id|Number|
-|message|Text|
-
-### On Authentication Failed
-
-Triggers when the Authentication Failed
-
-
-
-### On Authentication Help
-
-Triggers when there is a Authentication Help
-
-
-
-| Params | []() |
-|--------|------|
-|help Id|Number|
-|message|Text|
-
-### On Authentication Succeeded
-
-Trigger when the Authentication Succeeded
-
-
-
-## Methods
-
-### Authenticate
-
-Authenticate the user with a Fingerprint scanner
-
-
-
-### Cancel Scan
-
-Cancel the current Fingerprint Scan
-
-
-
-### Has Fingerprint Scanner
-
-Returns: Boolean
-
-True if hardware is present and functional, false otherwise
-
-
-
-### Has Fingers Added
-
-Returns: Boolean
-
-True if at least one fingerprint is enrolled, false otherwise
-
-
-
-## Properties
-
-### Dialog Help Text
-
-TextDefault: Scan your finger :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Sets the dialog help text
-
-
-
-
-### Dialog Title
-
-TextDefault: Sign in with your fingerprint :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Sets the dialog title
-
-
-
-
-### Light Theme
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Sets the current theme
-
-
-
-
-### Use Dialog
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Whether to use a dialog
-
-
-
diff --git a/docs/components/sensors/gravity-sensor.md b/docs/components/sensors/gravity-sensor.md
deleted file mode 100644
index 526c027db..000000000
--- a/docs/components/sensors/gravity-sensor.md
+++ /dev/null
@@ -1,77 +0,0 @@
-# Gravity Sensor
-
-{>> Non-Visible component<<}
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Sensors**|API 21, Android 5.0 Lollipop|1|
-
-## Overview
-
-A non-visible component that measures the force of gravity that is applied to a device on all three physical axes.
-Note\: All readings are in SI units.
-
-## Events
-
-### Gravity Changed
-
-Indicates that the gravity sensor data has changed.
-
-
-
-| Params | []() |
-|--------|------|
-|x Accel|Number|
-|y Accel|Number|
-|z Accel|Number|
-
-## Properties
-
-### Available
-
-Boolean :heavy_minus_sign: Read - Blocks
-
-Property for Available
-
-
-
-### Enabled
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Property for Enabled
-
-
-
-
-### Maximum Range
-
-Number :heavy_minus_sign: Read - Blocks
-
-Property for MaximumRange
-
-
-
-### X Accel
-
-Number :heavy_minus_sign: Read - Blocks
-
-Property for XAccel
-
-
-
-### Y Accel
-
-Number :heavy_minus_sign: Read - Blocks
-
-Property for YAccel
-
-
-
-### Z Accel
-
-Number :heavy_minus_sign: Read - Blocks
-
-Property for ZAccel
-
-
diff --git a/docs/components/sensors/gyroscope-sensor.md b/docs/components/sensors/gyroscope-sensor.md
deleted file mode 100644
index fedc009c4..000000000
--- a/docs/components/sensors/gyroscope-sensor.md
+++ /dev/null
@@ -1,71 +0,0 @@
-# Gyroscope Sensor
-
-{>> Non-Visible component<<}
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Sensors**|API 21, Android 5.0 Lollipop|1|
-
-## Overview
-
-Non-visible component that can measure angular velocity in three dimensions in units of degrees per second.
-
-In order to function, the component must have its `` Enabled `` property set to True, and the device must have a gyroscope sensor.
-
-## Events
-
-### Gyroscope Changed
-
-Indicates that the gyroscope sensor data has changed. The timestamp parameter is the time in nanoseconds at which the event occurred.
-
-
-
-| Params | []() |
-|--------|------|
-|x Angular Velocity|Number|
-|y Angular Velocity|Number|
-|z Angular Velocity|Number|
-|timestamp|Number|
-
-## Properties
-
-### Available
-
-Boolean :heavy_minus_sign: Read - Blocks
-
-Indicates whether a gyroscope sensor is available.
-
-
-
-### Enabled
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Enabled property getter method.
-
-
-
-
-### X Angular Velocity
-
-Number :heavy_minus_sign: Read - Blocks
-
-The angular velocity around the X axis, in degrees per second.
-
-
-
-### Y Angular Velocity
-
-Number :heavy_minus_sign: Read - Blocks
-
-The angular velocity around the Y axis, in degrees per second.
-
-
-
-### Z Angular Velocity
-
-Number :heavy_minus_sign: Read - Blocks
-
-The angular velocity around the Z axis, in degrees per second.
-
-
diff --git a/docs/components/sensors/hygrometer.md b/docs/components/sensors/hygrometer.md
deleted file mode 100644
index 4b9f10ef7..000000000
--- a/docs/components/sensors/hygrometer.md
+++ /dev/null
@@ -1,59 +0,0 @@
-# Hygrometer
-
-{>> Non-Visible component<<}
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Sensors**|API 21, Android 5.0 Lollipop|1|
-
-## Overview
-
-A sensor component that can measure the relative ambient air humidity. Most Android devices do not have this sensor.
-
-## Events
-
-### Humidity Changed
-
-Called when a change is detected in the ambient air humidity (expressed as a percentage).
-
-
-
-| Params | []() |
-|--------|------|
-|humidity|Number|
-
-## Properties
-
-### Available
-
-Boolean :heavy_minus_sign: Read - Blocks
-
-Specifies whether or not the device has an ambient air pressure sensor.
-
-
-
-### Enabled
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-If enabled, then device will listen for changes.
-
-
-
-
-### Humidity
-
-Number :heavy_minus_sign: Read - Blocks
-
-The relative ambient humidity as a percentage, if the sensor is available and enabled.
-
-
-
-### Refresh Time
-
-NumberDefault: 1000 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The requested minimum time in milliseconds between changes in air pressure being reported. Android is not guaranteed to honor the request. Setting this property has no effect on pre-Gingerbread devices.
-
-
-
diff --git a/docs/components/sensors/index.md b/docs/components/sensors/index.md
deleted file mode 100644
index 08fdcd1c7..000000000
--- a/docs/components/sensors/index.md
+++ /dev/null
@@ -1,19 +0,0 @@
-# Overview of Sensors
-
-* [Accelerometer Sensor](accelerometer-sensor.md)
-* [Barcode Scanner](barcode-scanner.md)
-* [Clock](clock.md)
-* [Fingerprint](fingerprint.md)
-* [Gravity Sensor](gravity-sensor.md)
-* [Gyroscope Sensor](gyroscope-sensor.md)
-* [Hygrometer](hygrometer.md)
-* [Light Sensor](light-sensor.md)
-* [Location Sensor](location-sensor.md)
-* [Magnetic Field Sensor](magnetic-field-sensor.md)
-* [Near Field](near-field.md)
-* [Orientation Sensor](orientation-sensor.md)
-* [Pedometer](pedometer.md)
-* [Pressure Sensor](pressure-sensor.md)
-* [Proximity Sensor](proximity-sensor.md)
-* [Sound Sensor](sound-sensor.md)
-* [Temperature Sensor](temperature-sensor.md)
\ No newline at end of file
diff --git a/docs/components/sensors/light-sensor.md b/docs/components/sensors/light-sensor.md
deleted file mode 100644
index baac3d9e5..000000000
--- a/docs/components/sensors/light-sensor.md
+++ /dev/null
@@ -1,50 +0,0 @@
-# Light Sensor
-
-{>> Non-Visible component<<}
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Sensors**|API 21, Android 5.0 Lollipop|1|
-
-## Overview
-
-A non-visible component that gets the current illuminance level around the device in units of lux.
-
-## Events
-
-### Light Changed
-
-Event that fires when the illuminance is changed
-
-
-
-| Params | []() |
-|--------|------|
-|illuminance|Number|
-
-## Properties
-
-### Available
-
-Boolean :heavy_minus_sign: Read - Blocks
-
-Whether Sensor is Available
-
-
-
-### Enabled
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Whether Sensor should be Enabled
-
-
-
-
-### Illuminance
-
-Number :heavy_minus_sign: Read - Blocks
-
-Returns the illuminance in lux. To return values the sensor must be enabled
-
-
diff --git a/docs/components/sensors/location-sensor.md b/docs/components/sensors/location-sensor.md
deleted file mode 100644
index 95b5e653e..000000000
--- a/docs/components/sensors/location-sensor.md
+++ /dev/null
@@ -1,192 +0,0 @@
-# Location Sensor
-
-{>> Non-Visible component<<}
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Sensors**|API 21, Android 5.0 Lollipop|3|
-
-## Overview
-
-Non-visible component providing location information, including longitude, latitude, altitude (if supported by the device), speed (if supported by the device), and address. This can also perform "geocoding", converting a given address (not necessarily the current one) to a latitude (with the `` LatitudeFromAddress `` method) and a longitude (with the `` LongitudeFromAddress `` method).
-
-In order to function, the component must have its `` Enabled `` property set to True, and the device must have location sensing enabled through wireless networks or GPS satellites (if outdoors).
-
-Location information might not be immediately available when an app starts. You'll have to wait a short time for a location provider to be found and used, or wait for the OnLocationChanged event
-
-??? example "Permissions"
- * [android.permission.ACCESS_FINE_LOCATION](https://developer.android.com/reference/android/Manifest.permission.html#ACCESS_FINE_LOCATION)
- * [android.permission.ACCESS_COARSE_LOCATION](https://developer.android.com/reference/android/Manifest.permission.html#ACCESS_COARSE_LOCATION)
- * [android.permission.ACCESS_MOCK_LOCATION](https://developer.android.com/reference/android/Manifest.permission.html#ACCESS_MOCK_LOCATION)
- * [android.permission.ACCESS_LOCATION_EXTRA_COMMANDS](https://developer.android.com/reference/android/Manifest.permission.html#ACCESS_LOCATION_EXTRA_COMMANDS)
-
-## Events
-
-### Location Changed
-
-Indicates that a new location has been detected.
-
-
-
-| Params | []() |
-|--------|------|
-|latitude|Number|
-|longitude|Number|
-|altitude|Number|
-|speed|Number|
-
-### Status Changed
-
-Indicates that the status of the location provider service has changed, such as when aprovider is lost or a new provider starts being used.
-
-
-
-| Params | []() |
-|--------|------|
-|provider|Text|
-|status|Text|
-
-## Methods
-
-### Latitude From Address
-
-Returns: Number
-
-Derives latitude of given address
-
-
-
-| Params | []() |
-|--------|------|
-|location Name|Text|
-
-### Longitude From Address
-
-Returns: Number
-
-Derives longitude of given address
-
-
-
-| Params | []() |
-|--------|------|
-|location Name|Text|
-
-## Properties
-
-### Accuracy
-
-Number :heavy_minus_sign: Read - Blocks
-
-The most recent measure of accuracy, in meters. If no value is available,0 will be returned.
-
-
-
-### Altitude
-
-Number :heavy_minus_sign: Read - Blocks
-
-The most recently available altitude value, in meters. If no value isavailable, 0 will be returned.
-
-
-
-### Available Providers
-
-List :heavy_minus_sign: Read - Blocks
-
-Property for AvailableProviders
-
-
-
-### Current Address
-
-Text :heavy_minus_sign: Read - Blocks
-
-Provides a textual representation of the current address or"No address available".
-
-
-
-### Distance Interval
-
-NumberDefault: 5 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Determines the minimum distance interval, in meters, that the sensor will try to use for sending out location updates. For example, if this is set to 5, then the sensor will fire a LocationChanged event only after 5 meters have been traversed. However, the sensor does not guarantee that an update will be received at exactly the distance interval. It may take more than 5 meters to fire an event, for instance.
-
-
-
-
-### Enabled
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Indicates whether the user has specified that the sensor shouldlisten for location changes and raise the corresponding events.
-
-
-
-
-### Has Accuracy
-
-Boolean :heavy_minus_sign: Read - Blocks
-
-Indicates whether information about location accuracy is available.
-
-
-
-### Has Altitude
-
-Boolean :heavy_minus_sign: Read - Blocks
-
-Indicates whether altitude information is available.
-
-
-
-### Has Longitude Latitude
-
-Boolean :heavy_minus_sign: Read - Blocks
-
-Indicates whether longitude and latitude information is available. (It isalways the case that either both or neither are.)
-
-
-
-### Latitude
-
-Number :heavy_minus_sign: Read - Blocks
-
-The most recently available latitude value. If no value is available,0 will be returned.
-
-
-
-### Longitude
-
-Number :heavy_minus_sign: Read - Blocks
-
-The most recent available longitude value. If no value is available,0 will be returned.
-
-
-
-### Provider Locked
-
-Boolean :heavy_minus_sign: ReadWrite - Blocks
-
-Indicates whether the sensor should allow the developer tomanually change the provider (GPS, GSM, Wifi, etc.)from which location updates are received.
-
-
-
-
-### Provider Name
-
-Text :heavy_minus_sign: ReadWrite - Blocks
-
-Indicates the source of the location information. If there is no provider, thestring "NO PROVIDER" is returned. This is useful primarily for debugging.
-
-
-
-
-### Time Interval
-
-NumberDefault: 60000 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Determines the minimum time interval, in milliseconds, that the sensor will try to use for sending out location updates. However, location updates will only be received when the location of the phone actually changes, and use of the specified time interval is not guaranteed. For example, if 1000 is used as the time interval, location updates will never be fired sooner than 1000ms, but they may be fired anytime after.
-
-
-
diff --git a/docs/components/sensors/magnetic-field-sensor.md b/docs/components/sensors/magnetic-field-sensor.md
deleted file mode 100644
index f76c59cf3..000000000
--- a/docs/components/sensors/magnetic-field-sensor.md
+++ /dev/null
@@ -1,85 +0,0 @@
-# Magnetic Field Sensor
-
-{>> Non-Visible component<<}
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Sensors**|API 21, Android 5.0 Lollipop|1|
-
-## Overview
-
-Non-visible component that measures the ambient geomagnetic field for all three physical axes (x, y, z) in Tesla https://en.wikipedia.org/wiki/Tesla\_(unit).
-
-## Events
-
-### Magnetic Changed
-
-Indicates that the magnetic sensor data has changed.
-
-
-
-| Params | []() |
-|--------|------|
-|x Strength|Number|
-|y Strength|Number|
-|z Strength|Number|
-|absolute Strength|Number|
-
-## Properties
-
-### Absolute Strength
-
-Number :heavy_minus_sign: Read - Blocks
-
-Property for AbsoluteStrength
-
-
-
-### Available
-
-Boolean :heavy_minus_sign: Read - Blocks
-
-Property for Available
-
-
-
-### Enabled
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Property for Enabled
-
-
-
-
-### Maximum Range
-
-Number :heavy_minus_sign: Read - Blocks
-
-Property for MaximumRange
-
-
-
-### X Strength
-
-Number :heavy_minus_sign: Read - Blocks
-
-Property for Xstrength
-
-
-
-### Y Strength
-
-Number :heavy_minus_sign: Read - Blocks
-
-Property for Ystrength
-
-
-
-### Z Strength
-
-Number :heavy_minus_sign: Read - Blocks
-
-Property for Zstrength
-
-
diff --git a/docs/components/sensors/near-field.md b/docs/components/sensors/near-field.md
deleted file mode 100644
index 3695e0d02..000000000
--- a/docs/components/sensors/near-field.md
+++ /dev/null
@@ -1,74 +0,0 @@
-# Near Field
-
-{>> Non-Visible component<<}
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Sensors**|API 21, Android 5.0 Lollipop|1|
-
-## Overview
-
-Non-visible component to provide NFC capabilities. For now this component supports the reading and writing of text tags only (if supported by the device)
-
-In order to read and write text tags, the component must have its `` ReadMode `` property set to True or False respectively.
-
-__Note:__ This component will only work on Screen1 of any App Inventor app.
-
-??? example "Permissions"
- * [android.permission.NFC](https://developer.android.com/reference/android/Manifest.permission.html#NFC)
-
-## Events
-
-### Tag Read
-
-Indicates that a new tag has been detected
-Currently this is only a plain text tag, as specified in themanifest. See Compiler.java.
-
-
-
-| Params | []() |
-|--------|------|
-|tag ID|Text|
-|message|Text|
-
-### Tag Written
-
-Event to detect when a tag was written.
-
-
-
-## Properties
-
-### Last Message
-
-Text :heavy_minus_sign: Read - Blocks
-
-Returns the content of the most recently received tag.
-
-
-
-### Read Mode
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Returns true if in read mode, false if in write mode.
-
-
-
-
-### Text To Write
-
-Text :heavy_minus_sign: ReadWrite - Blocks
-
-Returns the content of the text that's going to be written to the tag.
-
-
-
-
-### Write Type
-
-Number :heavy_minus_sign: Read - Blocks
-
-Property for WriteType
-
-
diff --git a/docs/components/sensors/orientation-sensor.md b/docs/components/sensors/orientation-sensor.md
deleted file mode 100644
index e8845105d..000000000
--- a/docs/components/sensors/orientation-sensor.md
+++ /dev/null
@@ -1,100 +0,0 @@
-# Orientation Sensor
-
-{>> Non-Visible component<<}
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Sensors**|API 21, Android 5.0 Lollipop|2|
-
-## Overview
-
-Non-visible component providing information about the device's physical orientation in three dimensions:
-
- * __Roll__: 0 degrees when the device is level, increases to 90 degrees as the device is tilted up on its left side, and decreases to -90 degrees when the device is tilted up on its right side.
- * __Pitch__: 0 degrees when the device is level, up to 90 degrees as the device is tilted so its top is pointing down, up to 180 degrees as it gets turned over. Similarly, as the device is tilted so its bottom points down, pitch decreases to -90 degrees, then further decreases to -180 degrees as it gets turned all the way over.
- * __Azimuth__: 0 degrees when the top of the device is pointing north, 90 degrees when it is pointing east, 180 degrees when it is pointing south, 270 degrees when it is pointing west, etc.
-
- These measurements assume that the device itself is not moving.
-
-## Events
-
-### Orientation Changed
-
-Default OrientationChanged event handler
-
-This event is signalled when the device's orientation has changed. Itreports the new values of azimuth, pich, and roll, and it also sets the Azimuth, Pitch,and roll properties.
-
-Azimuth is the compass heading in degrees, pitch indicates how the deviceis tilted from top to bottom, and roll indicates how much the device is tilted fromside to side.
-
-
-
-| Params | []() |
-|--------|------|
-|azimuth|Number|
-|pitch|Number|
-|roll|Number|
-
-## Properties
-
-### Angle
-
-Number :heavy_minus_sign: Read - Blocks
-
-Angle property getter method (read-only property). Specifically, thisprovides the angle in which the orientation sensor is tilted, treating
-
-
-
-### Available
-
-Boolean :heavy_minus_sign: Read - Blocks
-
-Available property getter method (read-only property).
-
-
-
-### Azimuth
-
-Number :heavy_minus_sign: Read - Blocks
-
-Azimuth property getter method (read-only property)
-
-To return meaningful values the sensor must be enabled.
-
-
-
-### Enabled
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Enabled property getter method.
-
-
-
-
-### Magnitude
-
-Number :heavy_minus_sign: Read - Blocks
-
-Magnitude property getter method (read-only property). Specifically, thisreturns a number between 0 and 1, indicating how much the deviceis tilted. For the angle of tilt, use
-
-
-
-### Pitch
-
-Number :heavy_minus_sign: Read - Blocks
-
-Pitch property getter method (read-only property)
-
-To return meaningful values the sensor must be enabled.
-
-
-
-### Roll
-
-Number :heavy_minus_sign: Read - Blocks
-
-Roll property getter method (read-only property)
-
-To return meaningful values the sensor must be enabled.
-
-
diff --git a/docs/components/sensors/pedometer.md b/docs/components/sensors/pedometer.md
deleted file mode 100644
index de00c9499..000000000
--- a/docs/components/sensors/pedometer.md
+++ /dev/null
@@ -1,200 +0,0 @@
-# Pedometer
-
-{>> Non-Visible component<<}
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Sensors**|API 21, Android 5.0 Lollipop|3|
-
-## Overview
-
-A Component that acts like a Pedometer. It senses motion via the Accerleromter and attempts to determine if a step has been taken. Using a configurable stride length, it can estimate the distance traveled as well.
-
-## Events
-
-### Calibration Failed
-
-:warning: ==**Deprecated**==
-
-deprecated
-
-
-
-### GPS Available
-
-:warning: ==**Deprecated**==
-
-deprecated
-
-
-
-### GPS Lost
-
-:warning: ==**Deprecated**==
-
-deprecated
-
-
-
-### Simple Step
-
-This event is run when a raw step is detected
-
-
-
-| Params | []() |
-|--------|------|
-|simple Steps|Number|
-|distance|Number|
-
-### Started Moving
-
-:warning: ==**Deprecated**==
-
-deprecated
-
-
-
-### Stopped Moving
-
-:warning: ==**Deprecated**==
-
-deprecated
-
-
-
-### Walk Step
-
-This event is run when a walking step is detected. A walking step is a step that appears to be involved in forward motion.
-
-
-
-| Params | []() |
-|--------|------|
-|walk Steps|Number|
-|distance|Number|
-
-## Methods
-
-### Pause
-
-:warning: ==**Deprecated**==
-
-Pause counting of steps and distance.
-
-
-
-### Reset
-
-Resets the step counter, distance measure and time running.
-
-
-
-### Resume
-
-:warning: ==**Deprecated**==
-
-Resumes counting, synonym of Start.
-
-
-
-### Save
-
-Saves the pedometer state to the phone. Permits permits accumulation of steps and distance between invocations of an App that uses the pedometer. Different Apps will have their own saved state.
-
-
-
-### Start
-
-Start counting steps
-
-
-
-### Stop
-
-Stop counting steps
-
-
-
-## Properties
-
-### Calibrate Stride Length
-
-:warning: ==**Deprecated**==
-
-Boolean :heavy_minus_sign: ReadWrite - Blocks
-
-deprecated
-
-
-
-
-### Distance
-
-Number :heavy_minus_sign: Read - Blocks
-
-The approximate distance traveled in meters.
-
-
-
-### Elapsed Time
-
-Number :heavy_minus_sign: Read - Blocks
-
-Time elapsed in milliseconds since the pedometer was started.
-
-
-
-### Moving
-
-:warning: ==**Deprecated**==
-
-Boolean :heavy_minus_sign: Read - Blocks
-
-deprecated
-
-
-
-### Simple Steps
-
-Number :heavy_minus_sign: Read - Blocks
-
-The number of simple steps taken since the pedometer has started.
-
-
-
-### Stop Detection Timeout
-
-NumberDefault: 2000 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The duration in milliseconds of idleness (no steps detected) after which to go into a "stopped" state
-
-
-
-
-### Stride Length
-
-NumberDefault: 0.73 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Set the average stride length in meters.
-
-
-
-
-### Use GPS
-
-:warning: ==**Deprecated**==
-
-Boolean :heavy_minus_sign: Write - Blocks
-
-Property for UseGPS
-
-
-
-### Walk Steps
-
-Number :heavy_minus_sign: Read - Blocks
-
-the number of walk steps taken since the pedometer has started.
-
-
diff --git a/docs/components/sensors/pressure-sensor.md b/docs/components/sensors/pressure-sensor.md
deleted file mode 100644
index 2b9765dc7..000000000
--- a/docs/components/sensors/pressure-sensor.md
+++ /dev/null
@@ -1,76 +0,0 @@
-# Pressure Sensor
-
-{>> Non-Visible component<<}
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Sensors**|API 21, Android 5.0 Lollipop|1|
-
-## Overview
-
-A non-visible component that measures the ambient air pressure in units of hPa or mbar.
-
-## Events
-
-### Pressure Changed
-
-Event is invoked when pressure is changed.
-
-
-
-| Params | []() |
-|--------|------|
-|pressure|Number|
-|altitude|Number|
-
-## Properties
-
-### Altitude
-
-Number :heavy_minus_sign: Read - Blocks
-
-Property for Altitude
-
-
-
-### Available
-
-Boolean :heavy_minus_sign: Read - Blocks
-
-Property for Available
-
-
-
-### Enabled
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Property for Enabled
-
-
-
-
-### Keep Running When On Pause
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Property for KeepRunningWhenOnPause
-
-
-
-
-### Maximum Range
-
-Number :heavy_minus_sign: Read - Blocks
-
-Property for MaximumRange
-
-
-
-### Pressure
-
-Number :heavy_minus_sign: Read - Blocks
-
-Property for Pressure
-
-
diff --git a/docs/components/sensors/proximity-sensor.md b/docs/components/sensors/proximity-sensor.md
deleted file mode 100644
index 6b48b35ca..000000000
--- a/docs/components/sensors/proximity-sensor.md
+++ /dev/null
@@ -1,67 +0,0 @@
-# Proximity Sensor
-
-{>> Non-Visible component<<}
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Sensors**|API 21, Android 5.0 Lollipop|1|
-
-## Overview
-
-Non-visible component that can measures the proximity of an object in cm relative to the view screen of a device. This sensor is typically used to determine whether a handset is being held up to a persons ear; i.e. lets you determine how far away an object is from a device. Many devices return the absolute distance, in cm, but some return only near and far values. In this case, the sensor usually reports its maximum range value in the far state and a lesser value in the near state.
-
-## Events
-
-### Proximity Changed
-
-Triggered when distance (in cm) of the object to the device changes.
-
-
-
-| Params | []() |
-|--------|------|
-|distance|Number|
-
-## Properties
-
-### Available
-
-Boolean :heavy_minus_sign: Read - Blocks
-
-Reports whether or not the device has a proximity sensor
-
-
-
-### Distance
-
-Number :heavy_minus_sign: Read - Blocks
-
-Returns the distance from the object to the device
-
-
-
-### Enabled
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-If true, the sensor will generate events. Otherwise, no eventsare generated .
-
-
-
-
-### Keep Running When On Pause
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Returns value of keepRunningWhenOnPause
-
-
-
-
-### Maximum Range
-
-Number :heavy_minus_sign: Read - Blocks
-
-Reports the Maximum Range of the device's ProximitySensor
-
-
diff --git a/docs/components/sensors/sound-sensor.md b/docs/components/sensors/sound-sensor.md
deleted file mode 100644
index 76f326e57..000000000
--- a/docs/components/sensors/sound-sensor.md
+++ /dev/null
@@ -1,62 +0,0 @@
-# Sound Sensor
-
-{>> Non-Visible component<<}
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Sensors**|API 21, Android 5.0 Lollipop|1|
-
-## Overview
-
-Physical world component that can detect such data as: sound amplitude (measurement of the degree of change [positive or negative] ).
-
-??? example "Permissions"
- * [android.permission.RECORD_AUDIO](https://developer.android.com/reference/android/Manifest.permission.html#RECORD_AUDIO)
-
-## Events
-
-### Sound Changed
-
-Triggered when the sound level has changed
-
-
-
-| Params | []() |
-|--------|------|
-|value|Number|
-
-## Properties
-
-### Amplitude
-
-Number :heavy_minus_sign: Read - Blocks
-
-Returns the real sound amplitude which can be between 0 to 32768.
-
-
-
-### Listen
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Starts or Stops listening to sound changes
-
-
-
-
-### Max Sound Level
-
-NumberDefault: 100 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Returns the max sound level.
-
-
-
-
-### Sound Level
-
-Number :heavy_minus_sign: Read - Blocks
-
-Returns the sound level.
-
-
diff --git a/docs/components/sensors/temperature-sensor.md b/docs/components/sensors/temperature-sensor.md
deleted file mode 100644
index cc9d6f973..000000000
--- a/docs/components/sensors/temperature-sensor.md
+++ /dev/null
@@ -1,50 +0,0 @@
-# Temperature Sensor
-
-{>> Non-Visible component<<}
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Sensors**|API 21, Android 5.0 Lollipop|1|
-
-## Overview
-
-Non-visible component that measures the temperature of the air in the room in degrees Celsius. This sensor implementation varies across devices.
-
-## Events
-
-### Temperature Changed
-
-Event that fires when the temperature is changed
-
-
-
-| Params | []() |
-|--------|------|
-|temperature|Number|
-
-## Properties
-
-### Available
-
-Boolean :heavy_minus_sign: Read - Blocks
-
-Whether Sensor is Available
-
-
-
-### Enabled
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Whether Sensor should be Enabled
-
-
-
-
-### Temperature
-
-Number :heavy_minus_sign: Read - Blocks
-
-Returns the temperature in degrees celsius. To return values the sensor must be enabled
-
-
diff --git a/docs/components/social/contact-picker.md b/docs/components/social/contact-picker.md
deleted file mode 100644
index 65375d8da..000000000
--- a/docs/components/social/contact-picker.md
+++ /dev/null
@@ -1,409 +0,0 @@
-# Contact Picker
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Social**|API 21, Android 5.0 Lollipop|12|
-
-## Overview
-
-A button that, when clicked on, displays a list of the contacts to choose among. After the user has made a selection, the following properties will be set to information about the chosen contact:
-
-* `` ContactName ``: the contact's name
-* `` EmailAddress ``: the contact's primary email address
-* `` ContactUri ``: the contact's URI on the device
-* `` EmailAddressList ``: a list of the contact's email addresses
-* `` PhoneNumber ``: the contact's primary phone number (on Later Android Verisons)
-* `` PhoneNumberList ``: a list of the contact's phone numbers (on Later Android Versions)
-* `` Picture ``: the name of the file containing the contact's image, which can be used as a `` Picture `` property value for the `` Image `` or `` ImageSprite `` component.
-
-Other properties affect the appearance of the button (`` TextAlignment ``, `` BackgroundColor ``, etc.) and whether it can be clicked on (`` Enabled ``)
-
-The ContactPicker component might not work on all phones. For example, on Android systems before system 3.0, it cannot pick phone numbers, and the list of email addresses will contain only one email.
-
-??? example "Permissions"
- * [android.permission.READ_CONTACTS](https://developer.android.com/reference/android/Manifest.permission.html#READ_CONTACTS)
- * [android.permission.INTERNET](https://developer.android.com/reference/android/Manifest.permission.html#INTERNET)
-
-## Events
-
-### After Picking
-
-Event to be raised after the picker activity returns itsresult and the properties have been filled in.
-
-
-
-| Params | []() |
-|--------|------|
-|selection|Text|
-
-### Before Picking
-
-Event to raise when the button of the component is clicked or the list is shownusing the Open block. This event occurs before the list of items is displayed, andcan be used to prepare the list before it is shown.
-
-
-
-### Got Focus
-
-Indicates the cursor moved over the button so it is now possible to click it.
-
-
-
-### Lost Focus
-
-Indicates the cursor moved away from the button so it is now no longer possible to click it.
-
-
-
-### Touch Down
-
-Indicates that the button was pressed down.
-
-
-
-### Touch Up
-
-Indicates that a button has been released.
-
-
-
-## Methods
-
-### Button Click
-
-Perform a button click as function.
-
-
-
-### Open
-
-Opens the picker, as though the user clicked on it.
-
-
-
-### Set Animation Style
-
-Allows you to set animation style. Valid (case-insensitive) values are: ChasingDots, Circle, CubeGrid, DoubleBounce, FadingCircle, FoldingCube, Pulse, RotatingCircle, RotatingPlane, ThreeBounce, WanderingCubes, Wave. If invalid style is used, animation will be removed.Position can be: top, left, right, bottom. Size can be 100.
-
-
-
-| Params | []() |
-|--------|------|
-|style|Text|
-|position|Text|
-|size|Number|
-|color|Number|
-
-### Set Shadow
-
-Place a blurred shadow of text underneath the text, drawn with the specified x, y, radius, color (e.g. -11, 12, 13, black.
-
-
-
-| Params | []() |
-|--------|------|
-|x|Number|
-|y|Number|
-|radius|Number|
-|color|Number|
-
-### View Contact
-
-view a contact via its URI
-
-
-
-| Params | []() |
-|--------|------|
-|uri|Text|
-
-### With Icon From Font Awesome
-
-Show an image on the given position near to the button. You can use following words for the position: 'Left', 'Right', 'Top' or 'Bottom'. Use the padding to add space between the icon and text. Use a 'FontAwesome' icon as the button icon without uploading a image resource into your project. You can find the icon code here at https://fontawesome.com/cheatsheet Use as example for a heart icon just 'f004' or ''
-
-
-
-| Params | []() |
-|--------|------|
-|position|Text|
-|icon Name|Text|
-|icon Color|Number|
-|padding|Number|
-|size|Number|
-
-### With Icon From Material Font
-
-Show an image on the given position near to the button. You can use following words for the position: 'Left', 'Right', 'Top' or 'Bottom'. Use the padding to add space between the icon and text. Use a 'Material' icon as the button icon without uploading a image resource into your project. You can find the icon name here at https://material.io/resources/icons
-
-
-
-| Params | []() |
-|--------|------|
-|position|Text|
-|icon Name|Text|
-|icon Color|Number|
-|padding|Number|
-|size|Number|
-
-### With Icon From Picture
-
-Show an image on the given position near to the button. You can use following words for the position: 'Left', 'Right', 'Top' or 'Bottom'. Use the padding to add space between the icon and text.
-
-
-
-| Params | []() |
-|--------|------|
-|position|Text|
-|picture|Text|
-|padding|Number|
-|width|Number|
-|height|Number|
-
-## Properties
-
-### Background Color
-
-ColorDefault: #444444FF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Returns the button's background color
-
-
-
-
-### Border Shadow
-
-Available as ^^Advanced^^ Property
-
-BooleanDefault: True :heavy_minus_sign: Write - Designer
-
-Returns true if the button have a outside border shadow on click.
-
-### Contact Name
-
-Text :heavy_minus_sign: Read - Blocks
-
-Name property getter method.
-
-
-
-### Contact URI
-
-Text :heavy_minus_sign: Read - Blocks
-
-URI that specifies the location of the contact on the device.
-
-
-
-### Email Address
-
-Text :heavy_minus_sign: Read - Blocks
-
-EmailAddress property getter method.
-
-
-
-### Email Address List
-
-List :heavy_minus_sign: Read - Blocks
-
-EmailAddressList property getter method.
-
-
-
-### Enabled
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-If set, user can tap check box to cause action.
-
-
-
-
-### Font Bold
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-If set, button text is displayed in bold.
-
-
-
-
-### Font Italic
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-If set, button text is displayed in italics.
-
-
-
-
-### Font Size
-
-NumberDefault: 14.0 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Point size for button text.
-
-
-
-
-### Font Typeface
-
-NumberDefault: 0 :heavy_minus_sign: Write - Designer
-
-Font family for button text.
-
-### Font Typeface Import
-
-Available as ^^Advanced^^ Property
-
-Text :heavy_minus_sign: Write - DesignerBlocks
-
-Set a custom font.
-
-
-
-### Height
-
-Number :heavy_minus_sign: ReadWrite - Blocks
-
-Specifies the component's vertical height, measured in pixels.
-
-
-
-
-### Height Percent
-
-Number :heavy_minus_sign: Write - Blocks
-
-Specifies the component's vertical height as a percentageof the height of its parent Component.
-
-
-
-### HTML Format
-
-Available as ^^Advanced^^ Property
-
-BooleanDefault: False :heavy_minus_sign: Write - Designer
-
-If true, then this button will show html text else it will show plain text. Note: Not all HTML is supported.
-
-### Image
-
-Text :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Image to display on button.
-
-
-
-
-### Phone Number
-
-Text :heavy_minus_sign: Read - Blocks
-
-PhoneNumber property getter method.
-
-
-
-### Phone Number List
-
-List :heavy_minus_sign: Read - Blocks
-
-PhoneNumberList property getter method.
-
-
-
-### Picture
-
-Text :heavy_minus_sign: Read - Blocks
-
-Picture URI for this contact, which can beused to retrieve the contact's photo and other fields.
-
-
-
-### Rotation Angle
-
-Available as ^^Advanced^^ Property
-
-NumberDefault: 0.0 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Sets the degrees that the button is rotated around the pivot point. Increasing values result in clockwise rotation.
-
-
-
-
-### Shape
-
-NumberDefault: 0 :heavy_minus_sign: Write - Designer
-
-Specifies the button's shape (default, rounded, rectangular, oval). The shape will not be visible if an Image is being displayed.
-
-### Show Feedback
-
-Available as ^^Advanced^^ Property
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Specifies if a visual feedback should be shown for a button that as an image as background.
-
-
-
-
-### Text
-
-Text :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Text to display on button.
-
-
-
-
-### Text Alignment
-
-NumberDefault: 1 :heavy_minus_sign: Write - Designer
-
-Left, center, or right.
-
-### Text Color
-
-ColorDefault: #FFFFFFFF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Color for button text.
-
-
-
-
-### Touch Color
-
-Available as ^^Advanced^^ Property
-
-ColorDefault: #CCCCCCFF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Set the buttons touch color.
-
-
-
-
-### Visible
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Returns true iff the component is visible.
-
-
-
-
-### Width
-
-Number :heavy_minus_sign: ReadWrite - Blocks
-
-Specifies the component's horizontal width, measured in pixels.
-
-
-
-
-### Width Percent
-
-Number :heavy_minus_sign: Write - Blocks
-
-Specifies the component's horizontal width as a percentageof the Width of its parent Component.
-
-
diff --git a/docs/components/social/email-picker.md b/docs/components/social/email-picker.md
deleted file mode 100644
index c68601664..000000000
--- a/docs/components/social/email-picker.md
+++ /dev/null
@@ -1,301 +0,0 @@
-# Email Picker
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Social**|API 21, Android 5.0 Lollipop|6|
-
-## Overview
-
-An EmailPicker is a kind of text box. If the user begins entering the name or email address of a contact, the phone will show a dropdown menu of choices that complete the entry. If there are many contacts, the dropdown can take several seconds to appear, and can show intermediate results while the matches are being computed.
-
-The initial contents of the text box and the contents< after user entry is in the `` Text `` property. If the `` Text `` property is initially empty, the contents of the `` Hint `` property will be faintly shown in the text box as a hint to the user.
-
-Other properties affect the appearance of the text box (`` TextAlignment ``, `` BackgroundColor ``, etc.) and whether it can be used (`` Enabled ``).
-
-Text boxes like this are usually used with `` Button `` components, with the user clicking on the button when text entry is complete.
-
-??? example "Permissions"
- * [android.permission.READ_CONTACTS](https://developer.android.com/reference/android/Manifest.permission.html#READ_CONTACTS)
-
-## Events
-
-### Got Focus
-
-Event raised when this component is selected for input, such as bythe user touching it.
-
-
-
-### Lost Focus
-
-Event raised when this component is no longer selected for input, suchas if the user touches a different text box.
-
-
-
-### On Text Changed
-
-Event to detect text changes.
-
-
-
-## Methods
-
-### Request Focus
-
-Sets the textbox active.
-
-
-
-### Set Animation Style
-
-Allows you to set animation style. Valid (case-insensitive) values are: ChasingDots, Circle, CubeGrid, DoubleBounce, FadingCircle, FoldingCube, Pulse, RotatingCircle, RotatingPlane, ThreeBounce, WanderingCubes, Wave. If invalid style is used, animation will be removed.Position can be: top, left, right, bottom. Size can be 100.
-
-
-
-| Params | []() |
-|--------|------|
-|style|Text|
-|position|Text|
-|size|Number|
-|color|Number|
-
-### Set Cursor At
-
-Set the cursor to the given position.
-
-
-
-| Params | []() |
-|--------|------|
-|position|Number|
-
-### Set Cursor At End
-
-Set the cursor to the end of the text.
-
-
-
-### Set Shadow
-
-Place a blurred shadow of text underneath the text, drawn with the specified x, y, radius, color (e.g. -11, 12, 13, black
-
-
-
-| Params | []() |
-|--------|------|
-|x|Number|
-|y|Number|
-|radius|Number|
-|color|Number|
-
-## Properties
-
-### Background Color
-
-ColorDefault: #00000000 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The background color of the input box. You can choose a color by name in the Designer or in the Blocks Editor. The default background color is 'default' (shaded 3-D look).
-
-
-
-
-### Current Position
-
-Number :heavy_minus_sign: Read - Blocks
-
-Get the current cursor position.
-
-
-
-### Cursor Color
-
-Available as ^^Advanced^^ Property
-
-ColorDefault: #000000FF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The color of the cursor.
-
-
-
-
-### Cursor Visible
-
-Available as ^^Advanced^^ Property
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Makes the cursor visible (the default) or invisible.
-
-
-
-
-### Enable Copy & Paste
-
-:warning: ==**Deprecated**==
-
-Boolean :heavy_minus_sign: ReadWrite - Blocks
-
-DEPRECATED since this feature is not working. Use 'Enabled' instead.
-
-
-
-
-### Enabled
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Whether the user can enter text into this input box. By default, this is true.
-
-
-
-
-### Font Bold
-
-BooleanDefault: False :heavy_minus_sign: Write - Designer
-
-Whether the font for the text should be bold. By default, it is not.
-
-### Font Italic
-
-BooleanDefault: False :heavy_minus_sign: Write - Designer
-
-Whether the text should appear in italics. By default, it does not.
-
-### Font Size
-
-NumberDefault: 14.0 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The font size for the text. By default, it is 14.0 points.
-
-
-
-
-### Font Typeface
-
-NumberDefault: 0 :heavy_minus_sign: Write - Designer
-
-The font for the text. The value can be changed in the Designer.
-
-### Font Typeface Import
-
-Available as ^^Advanced^^ Property
-
-Text :heavy_minus_sign: Write - DesignerBlocks
-
-Set a custom font.
-
-
-
-### Height
-
-Number :heavy_minus_sign: ReadWrite - Blocks
-
-Specifies the component's vertical height, measured in pixels.
-
-
-
-
-### Height Percent
-
-Number :heavy_minus_sign: Write - Blocks
-
-Specifies the component's vertical height as a percentageof the height of its parent Component.
-
-
-
-### Hint
-
-Text :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Text that should appear faintly in the input box to provide a hint as to what the user should enter. This can only be seen if the `` Text `` property is empty.
-
-
-
-
-### Hint Color
-
-ColorDefault: #000000FF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Set a custom hint text color.
-
-
-
-
-### Line Color
-
-:warning: ==**Deprecated**==
-
-Number :heavy_minus_sign: ReadWrite - Blocks
-
-Please delete this block from your project.This block is deprecated and not longer supported.
-
-
-
-
-### Rotation Angle
-
-Available as ^^Advanced^^ Property
-
-NumberDefault: 0.0 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Sets the degrees that the textbox is rotated around the pivot point. Increasing values result in clockwise rotation.
-
-
-
-
-### Text
-
-Text :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Returns the textbox contents.
-
-
-
-
-### Text Alignment
-
-NumberDefault: 0 :heavy_minus_sign: Write - Designer
-
-Whether the text should be left justified, centered, or right justified. By default, text is left justified.
-
-### Text Color
-
-ColorDefault: #000000FF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The color for the text. You can choose a color by name in the Designer or in the Blocks Editor. The default text color is black.
-
-
-
-
-### Text Length
-
-Number :heavy_minus_sign: Read - Blocks
-
-Returns the current text length as number.
-
-
-
-### Visible
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Returns true iff the component is visible.
-
-
-
-
-### Width
-
-Number :heavy_minus_sign: ReadWrite - Blocks
-
-Specifies the component's horizontal width, measured in pixels.
-
-
-
-
-### Width Percent
-
-Number :heavy_minus_sign: Write - Blocks
-
-Specifies the component's horizontal width as a percentageof the Width of its parent Component.
-
-
diff --git a/docs/components/social/index.md b/docs/components/social/index.md
deleted file mode 100644
index 12ec6d57b..000000000
--- a/docs/components/social/index.md
+++ /dev/null
@@ -1,10 +0,0 @@
-# Overview of Social
-
-* [Contact Picker](contact-picker.md)
-* [Email Picker](email-picker.md)
-* [Phone Call](phone-call.md)
-* [Phone Number Picker](phone-number-picker.md)
-* [Push Notifications](push-notifications.md)
-* [Sharing](sharing.md)
-* [Texting](texting.md)
-* [Twitter](twitter.md)
\ No newline at end of file
diff --git a/docs/components/social/phone-call.md b/docs/components/social/phone-call.md
deleted file mode 100644
index 0ca13578a..000000000
--- a/docs/components/social/phone-call.md
+++ /dev/null
@@ -1,79 +0,0 @@
-# Phone Call
-
-{>> Non-Visible component<<}
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Social**|API 21, Android 5.0 Lollipop|3|
-
-## Overview
-
-A non-visible component that makes a phone call to the number specified in the `` PhoneNumber `` property, which can be set either in the Designer or Blocks Editor. The component has a `` MakePhoneCall `` method, enabling the program to launch a phone call.
-
-Often, this component is used with the `` ContactPicker `` component, which lets the user select a contact from the ones stored on the phone and sets the `` PhoneNumber `` property to the contact's phone number.
-
-To directly specify the phone number (e.g., 650-555-1212), set the `` PhoneNumber `` property to a Text with the specified digits (e.g., "6505551212"). Dashes, dots, and parentheses may be included (e.g., "(650)-555-1212") but will be ignored; spaces may not be included.
-
-??? example "Permissions"
- * [android.permission.READ_PHONE_STATE](https://developer.android.com/reference/android/Manifest.permission.html#READ_PHONE_STATE)
- * [android.permission.PROCESS_OUTGOING_CALLS](https://developer.android.com/reference/android/Manifest.permission.html#PROCESS_OUTGOING_CALLS) if using [Incoming Call Answered](#incoming-call-answered), [Phone Call Ended](#phone-call-ended) or [Phone Call Started](#phone-call-started)
- * [android.permission.CALL_PHONE](https://developer.android.com/reference/android/Manifest.permission.html#CALL_PHONE) if using [MakePhoneCallDirect](#makephonecalldirect)
-
-## Events
-
-### Incoming Call Answered
-
-Event indicating that an incoming phone call is answered. phoneNumber is the incoming call phone number.
-
-
-
-| Params | []() |
-|--------|------|
-|phone Number|Text|
-
-### Phone Call Ended
-
-Event indicating that a phone call has ended. If status is 1, incoming call is missed or rejected; if status is 2, incoming call is answered before hanging up; if status is 3, outgoing call is hung up. phoneNumber is the ended call phone number.
-
-
-
-| Params | []() |
-|--------|------|
-|status|Number|
-|phone Number|Text|
-
-### Phone Call Started
-
-Event indicating that a phonecall has started. If status is 1, incoming call is ringing; if status is 2, outgoing call is dialled. phoneNumber is the incoming/outgoing phone number.
-
-
-
-| Params | []() |
-|--------|------|
-|status|Number|
-|phone Number|Text|
-
-## Methods
-
-### Make Phone Call
-
-Makes a phone call using the number in the PhoneNumber property.
-
-
-
-### MakePhoneCallDirect
-
-Makes a phone call using the number in the PhoneNumber property.
-
-
-
-## Properties
-
-### Phone Number
-
-Text :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-PhoneNumber property getter method.
-
-
-
diff --git a/docs/components/social/phone-number-picker.md b/docs/components/social/phone-number-picker.md
deleted file mode 100644
index eb888d8ab..000000000
--- a/docs/components/social/phone-number-picker.md
+++ /dev/null
@@ -1,406 +0,0 @@
-# Phone Number Picker
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Social**|API 21, Android 5.0 Lollipop|10|
-
-## Overview
-
-A button that, when clicked on, displays a list of the contacts' phone numbers to choose among. After the user has made a selection, the following properties will be set to information about the chosen contact:
-
-* `` ContactName ``: the contact's name
-* `` PhoneNumber ``: the contact's phone number
-* `` EmailAddress ``: the contact's email address
- * `` Picture ``: the name of the file containing the contact's image, which can be used as a `` Picture `` property value for the `` Image `` or `` ImageSprite `` component.
-
-Other properties affect the appearance of the button (`` TextAlignment ``, `` BackgroundColor ``, etc.) and whether it can be clicked on (`` Enabled ``).
-
-The PhoneNumberPicker component may not work on all Android devices. For example, on Android systems before system 3.0, the returned lists of phone numbers and email addresses will be empty.
-
-??? example "Permissions"
- * [android.permission.READ_CONTACTS](https://developer.android.com/reference/android/Manifest.permission.html#READ_CONTACTS)
- * [android.permission.INTERNET](https://developer.android.com/reference/android/Manifest.permission.html#INTERNET)
-
-## Events
-
-### After Picking
-
-Event to be raised after the picker activity returns itsresult and the properties have been filled in.
-
-
-
-| Params | []() |
-|--------|------|
-|selection|Text|
-
-### Before Picking
-
-Event to raise when the button of the component is clicked or the list is shownusing the Open block. This event occurs before the list of items is displayed, andcan be used to prepare the list before it is shown.
-
-
-
-### Got Focus
-
-Indicates the cursor moved over the button so it is now possible to click it.
-
-
-
-### Lost Focus
-
-Indicates the cursor moved away from the button so it is now no longer possible to click it.
-
-
-
-### Touch Down
-
-Indicates that the button was pressed down.
-
-
-
-### Touch Up
-
-Indicates that a button has been released.
-
-
-
-## Methods
-
-### Button Click
-
-Perform a button click as function.
-
-
-
-### Open
-
-Opens the picker, as though the user clicked on it.
-
-
-
-### Set Animation Style
-
-Allows you to set animation style. Valid (case-insensitive) values are: ChasingDots, Circle, CubeGrid, DoubleBounce, FadingCircle, FoldingCube, Pulse, RotatingCircle, RotatingPlane, ThreeBounce, WanderingCubes, Wave. If invalid style is used, animation will be removed.Position can be: top, left, right, bottom. Size can be 100.
-
-
-
-| Params | []() |
-|--------|------|
-|style|Text|
-|position|Text|
-|size|Number|
-|color|Number|
-
-### Set Shadow
-
-Place a blurred shadow of text underneath the text, drawn with the specified x, y, radius, color (e.g. -11, 12, 13, black.
-
-
-
-| Params | []() |
-|--------|------|
-|x|Number|
-|y|Number|
-|radius|Number|
-|color|Number|
-
-### View Contact
-
-view a contact via its URI
-
-
-
-| Params | []() |
-|--------|------|
-|uri|Text|
-
-### With Icon From Font Awesome
-
-Show an image on the given position near to the button. You can use following words for the position: 'Left', 'Right', 'Top' or 'Bottom'. Use the padding to add space between the icon and text. Use a 'FontAwesome' icon as the button icon without uploading a image resource into your project. You can find the icon code here at https://fontawesome.com/cheatsheet Use as example for a heart icon just 'f004' or ''
-
-
-
-| Params | []() |
-|--------|------|
-|position|Text|
-|icon Name|Text|
-|icon Color|Number|
-|padding|Number|
-|size|Number|
-
-### With Icon From Material Font
-
-Show an image on the given position near to the button. You can use following words for the position: 'Left', 'Right', 'Top' or 'Bottom'. Use the padding to add space between the icon and text. Use a 'Material' icon as the button icon without uploading a image resource into your project. You can find the icon name here at https://material.io/resources/icons
-
-
-
-| Params | []() |
-|--------|------|
-|position|Text|
-|icon Name|Text|
-|icon Color|Number|
-|padding|Number|
-|size|Number|
-
-### With Icon From Picture
-
-Show an image on the given position near to the button. You can use following words for the position: 'Left', 'Right', 'Top' or 'Bottom'. Use the padding to add space between the icon and text.
-
-
-
-| Params | []() |
-|--------|------|
-|position|Text|
-|picture|Text|
-|padding|Number|
-|width|Number|
-|height|Number|
-
-## Properties
-
-### Background Color
-
-ColorDefault: #444444FF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Returns the button's background color
-
-
-
-
-### Border Shadow
-
-Available as ^^Advanced^^ Property
-
-BooleanDefault: True :heavy_minus_sign: Write - Designer
-
-Returns true if the button have a outside border shadow on click.
-
-### Contact Name
-
-Text :heavy_minus_sign: Read - Blocks
-
-Name property getter method.
-
-
-
-### Contact URI
-
-Text :heavy_minus_sign: Read - Blocks
-
-URI that specifies the location of the contact on the device.
-
-
-
-### Email Address
-
-Text :heavy_minus_sign: Read - Blocks
-
-EmailAddress property getter method.
-
-
-
-### Email Address List
-
-List :heavy_minus_sign: Read - Blocks
-
-EmailAddressList property getter method.
-
-
-
-### Enabled
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-If set, user can tap check box to cause action.
-
-
-
-
-### Font Bold
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-If set, button text is displayed in bold.
-
-
-
-
-### Font Italic
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-If set, button text is displayed in italics.
-
-
-
-
-### Font Size
-
-NumberDefault: 14.0 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Point size for button text.
-
-
-
-
-### Font Typeface
-
-NumberDefault: 0 :heavy_minus_sign: Write - Designer
-
-Font family for button text.
-
-### Font Typeface Import
-
-Available as ^^Advanced^^ Property
-
-Text :heavy_minus_sign: Write - DesignerBlocks
-
-Set a custom font.
-
-
-
-### Height
-
-Number :heavy_minus_sign: ReadWrite - Blocks
-
-Specifies the component's vertical height, measured in pixels.
-
-
-
-
-### Height Percent
-
-Number :heavy_minus_sign: Write - Blocks
-
-Specifies the component's vertical height as a percentageof the height of its parent Component.
-
-
-
-### HTML Format
-
-Available as ^^Advanced^^ Property
-
-BooleanDefault: False :heavy_minus_sign: Write - Designer
-
-If true, then this button will show html text else it will show plain text. Note: Not all HTML is supported.
-
-### Image
-
-Text :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Image to display on button.
-
-
-
-
-### Phone Number
-
-Text :heavy_minus_sign: Read - Blocks
-
-PhoneNumber property getter method.
-
-
-
-### Phone Number List
-
-List :heavy_minus_sign: Read - Blocks
-
-PhoneNumberList property getter method.
-
-
-
-### Picture
-
-Text :heavy_minus_sign: Read - Blocks
-
-Picture URI for this contact, which can beused to retrieve the contact's photo and other fields.
-
-
-
-### Rotation Angle
-
-Available as ^^Advanced^^ Property
-
-NumberDefault: 0.0 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Sets the degrees that the button is rotated around the pivot point. Increasing values result in clockwise rotation.
-
-
-
-
-### Shape
-
-NumberDefault: 0 :heavy_minus_sign: Write - Designer
-
-Specifies the button's shape (default, rounded, rectangular, oval). The shape will not be visible if an Image is being displayed.
-
-### Show Feedback
-
-Available as ^^Advanced^^ Property
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Specifies if a visual feedback should be shown for a button that as an image as background.
-
-
-
-
-### Text
-
-Text :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Text to display on button.
-
-
-
-
-### Text Alignment
-
-NumberDefault: 1 :heavy_minus_sign: Write - Designer
-
-Left, center, or right.
-
-### Text Color
-
-ColorDefault: #FFFFFFFF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Color for button text.
-
-
-
-
-### Touch Color
-
-Available as ^^Advanced^^ Property
-
-ColorDefault: #CCCCCCFF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Set the buttons touch color.
-
-
-
-
-### Visible
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Returns true iff the component is visible.
-
-
-
-
-### Width
-
-Number :heavy_minus_sign: ReadWrite - Blocks
-
-Specifies the component's horizontal width, measured in pixels.
-
-
-
-
-### Width Percent
-
-Number :heavy_minus_sign: Write - Blocks
-
-Specifies the component's horizontal width as a percentageof the Width of its parent Component.
-
-
diff --git a/docs/components/social/push-notifications.md b/docs/components/social/push-notifications.md
deleted file mode 100644
index cf31a73ba..000000000
--- a/docs/components/social/push-notifications.md
+++ /dev/null
@@ -1,232 +0,0 @@
-# Push Notifications
-
-{>> Non-Visible component<<}
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Social**|API 21, Android 5.0 Lollipop|6|
-
-## Overview
-
-A non-visible component that remotely sends notifications to the device.
-Powered by OneSignal.
-
-??? example "Permissions"
- * [android.permission.READ_APP_BADGE](https://developer.android.com/reference/android/Manifest.permission.html#READ_APP_BADGE)
- * [com.sonyericsson.home.permission.BROADCAST_BADGE](https://developer.android.com/reference/android/Manifest.permission.html#com.sonyericsson.home.permission.BROADCAST_BADGE)
- * [com.htc.launcher.permission.READ_SETTINGS](https://developer.android.com/reference/android/Manifest.permission.html#com.htc.launcher.permission.READ_SETTINGS)
- * [android.permission.VIBRATE](https://developer.android.com/reference/android/Manifest.permission.html#VIBRATE)
- * [com.huawei.android.launcher.permission.CHANGE_BADGE](https://developer.android.com/reference/android/Manifest.permission.html#com.huawei.android.launcher.permission.CHANGE_BADGE)
- * [android.permission.RECEIVE_BOOT_COMPLETED](https://developer.android.com/reference/android/Manifest.permission.html#RECEIVE_BOOT_COMPLETED)
- * [com.huawei.android.launcher.permission.WRITE_SETTINGS](https://developer.android.com/reference/android/Manifest.permission.html#com.huawei.android.launcher.permission.WRITE_SETTINGS)
- * [com.majeur.launcher.permission.UPDATE_BADGE](https://developer.android.com/reference/android/Manifest.permission.html#com.majeur.launcher.permission.UPDATE_BADGE)
- * [com.sonymobile.home.permission.PROVIDER_INSERT_BADGE](https://developer.android.com/reference/android/Manifest.permission.html#com.sonymobile.home.permission.PROVIDER_INSERT_BADGE)
- * [com.htc.launcher.permission.UPDATE_SHORTCUT](https://developer.android.com/reference/android/Manifest.permission.html#com.htc.launcher.permission.UPDATE_SHORTCUT)
- * [me.everything.badger.permission.BADGE_COUNT_READ](https://developer.android.com/reference/android/Manifest.permission.html#me.everything.badger.permission.BADGE_COUNT_READ)
- * [android.permission.INTERNET](https://developer.android.com/reference/android/Manifest.permission.html#INTERNET)
- * [com.sec.android.provider.badge.permission.WRITE](https://developer.android.com/reference/android/Manifest.permission.html#com.sec.android.provider.badge.permission.WRITE)
- * [com.sec.android.provider.badge.permission.READ](https://developer.android.com/reference/android/Manifest.permission.html#com.sec.android.provider.badge.permission.READ)
- * [android.permission.ACCESS_NETWORK_STATE](https://developer.android.com/reference/android/Manifest.permission.html#ACCESS_NETWORK_STATE)
- * [android.permission.WAKE_LOCK](https://developer.android.com/reference/android/Manifest.permission.html#WAKE_LOCK)
- * [com.anddoes.launcher.permission.UPDATE_COUNT](https://developer.android.com/reference/android/Manifest.permission.html#com.anddoes.launcher.permission.UPDATE_COUNT)
- * [com.huawei.android.launcher.permission.READ_SETTINGS](https://developer.android.com/reference/android/Manifest.permission.html#com.huawei.android.launcher.permission.READ_SETTINGS)
- * [com.google.android.c2dm.permission.RECEIVE](https://developer.android.com/reference/android/Manifest.permission.html#com.google.android.c2dm.permission.RECEIVE)
- * [com.oppo.launcher.permission.WRITE_SETTINGS](https://developer.android.com/reference/android/Manifest.permission.html#com.oppo.launcher.permission.WRITE_SETTINGS)
- * [me.everything.badger.permission.BADGE_COUNT_WRITE](https://developer.android.com/reference/android/Manifest.permission.html#me.everything.badger.permission.BADGE_COUNT_WRITE)
- * [com.oppo.launcher.permission.READ_SETTINGS](https://developer.android.com/reference/android/Manifest.permission.html#com.oppo.launcher.permission.READ_SETTINGS)
-
-## Events
-
-### Got Available Tags
-
-Event to detect available one signal tags.
-
-
-
-| Params | []() |
-|--------|------|
-|tags As String|Text|
-|tags As List|List|
-
-### Got Value
-
-Event to receive value for a tag.
-
-
-
-| Params | []() |
-|--------|------|
-|tag|Text|
-|value|Text|
-
-### Notification Opened
-
-User opened a notification.
-
-
-
-| Params | []() |
-|--------|------|
-|id|Text|
-|title|Text|
-|message|Text|
-
-### Notification Received
-
-User received a notification.
-
-
-
-| Params | []() |
-|--------|------|
-|id|Text|
-|title|Text|
-|message|Text|
-
-### Send Message Done
-
-Returns true if your message was send with success out of your app to all users.
-
-
-
-| Params | []() |
-|--------|------|
-|success|Boolean|
-
-## Methods
-
-### Clear All Notifications
-
-Clear All Notifications.
-
-
-
-### Delete Tag
-
-Deletes a single tag that was previously set on a user.
-
-
-
-| Params | []() |
-|--------|------|
-|key|Text|
-
-### Get Available Tags
-
-Get a list of available tags.
-
-
-
-### Get Value
-
-Get value for tag.
-
-
-
-| Params | []() |
-|--------|------|
-|tag|Text|
-|value If Tag Not There|Text|
-
-### Send Message
-
-Send a message to all users. The message and your REST Api Key can not be empty! You will find your REST Api Key in your OneSignal account settings.
-
-
-
-| Params | []() |
-|--------|------|
-|title|Text|
-|message|Text|
-|rest API Key|Text|
-
-### Send Tag
-
-Tag a user based on an app event of your choosing so later you can create segments in to target these users.
-
-
-
-| Params | []() |
-|--------|------|
-|key|Text|
-|value|Text|
-
-## Properties
-
-### Enable Log
-
-Boolean :heavy_minus_sign: Write - Blocks
-
-If you want to enable the log then set it to true.
-
-
-
-### Enable Sound
-
-Boolean :heavy_minus_sign: Write - Blocks
-
-Enable Sound.
-
-
-
-### Enable Vibration
-
-Boolean :heavy_minus_sign: Write - Blocks
-
-Enable Vibration.
-
-
-
-### Get Email Subscription Email Address
-
-Text :heavy_minus_sign: Read - Blocks
-
-Get the email subscription email address.
-
-
-
-### Get Email Subscription User Id
-
-Text :heavy_minus_sign: Read - Blocks
-
-Get the email subscription user id.
-
-
-
-### Get Permission Status
-
-Boolean :heavy_minus_sign: Read - Blocks
-
-Get Permission Status
-
-
-
-### Get Subscription Status
-
-Boolean :heavy_minus_sign: Read - Blocks
-
-Get the subscription Status
-
-
-
-### Get User Id
-
-Text :heavy_minus_sign: Read - Blocks
-
-Get the User ID. If there is no user id it will return '-1'.
-
-
-
-### OneSignal App ID
-
-Text :heavy_minus_sign: Write - Designer
-
-Set here your One Signal App ID
-
-### Set Subscription
-
-Boolean :heavy_minus_sign: Write - Blocks
-
-If you want to subscribe then set it to true.
-
-
diff --git a/docs/components/social/sharing.md b/docs/components/social/sharing.md
deleted file mode 100644
index f926aaf16..000000000
--- a/docs/components/social/sharing.md
+++ /dev/null
@@ -1,156 +0,0 @@
-# Sharing
-
-{>> Non-Visible component<<}
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Social**|API 21, Android 5.0 Lollipop|2|
-
-## Overview
-
-Sharing is a non-visible component that enables sharing files and/or messages between your app and other apps installed on a device. The component will display a list of the installed apps that can handle the information provided, and will allow the user to choose one to share the content with, for instance a mail app, a social network app, a texting app, and so on.
-The file path can be taken directly from other components such as the Camera or the ImagePicker, but can also be specified directly to read from storage. Be aware that different devices treat storage differently, so a few things to try if, for instance, you have a file called arrow.gif in the folder `` Appinventor/assets ``, would be:
-
-* `` "file:///sdcard/Appinventor/assets/arrow.gif" ``
- or * `` "/storage/Appinventor/assets/arrow.gif" ``
-
-??? example "Permissions"
- * [android.permission.READ_EXTERNAL_STORAGE](https://developer.android.com/reference/android/Manifest.permission.html#READ_EXTERNAL_STORAGE)
- * [android.permission.WRITE_EXTERNAL_STORAGE](https://developer.android.com/reference/android/Manifest.permission.html#WRITE_EXTERNAL_STORAGE)
-
-## Events
-
-### App Not Found
-
-This event returns the social media name if an app is not installed. Possible names are 'Facebook Messenger', 'Facebook', 'Twitter', 'Telegram', 'Twitter', 'Snapchat', 'Google Plus' or the given custom package name.
-
-
-
-| Params | []() |
-|--------|------|
-|name|Text|
-
-## Methods
-
-### Share File
-
-Shares a file through any capable application installed on the phone by displaying a list of the available apps and allowing the user to choose one from the list. The selected app will open with the file inserted on it.
-
-
-
-| Params | []() |
-|--------|------|
-|file|Text|
-
-### Share File With Message
-
-Shares both a file and a message through any capable application installed on the phone by displaying a list of available apps and allowing the user to choose one from the list. The selected app will open with the file and message inserted on it.
-
-
-
-| Params | []() |
-|--------|------|
-|file|Text|
-|message|Text|
-
-### Share Message
-
-Shares a message through any capable application installed on the phone by displaying a list of the available apps and allowing the user to choose one from the list. The selected app will open with the message inserted on it.
-
-
-
-| Params | []() |
-|--------|------|
-|message|Text|
-
-### Share Message To
-
-Shares a message through the given app. If the given app is not installed, then the 'AppNotFound' event will be invoked and return the given name.
-
-
-
-| Params | []() |
-|--------|------|
-|message|Text|
-|name|Text|
-|package Name|Text|
-
-### Share Message To Facebook
-
-Shares a message through Facebook. If Facebook is not installed, then the 'AppNotFound' event will be invoked and return the name 'Facebook'.
-
-
-
-| Params | []() |
-|--------|------|
-|message|Text|
-
-### Share Message To Facebook Messenger
-
-Shares a message through Facebook Messenger. If Messenger is not installed, then the 'AppNotFound' event will be invoked and return the name 'Facebook Messenger'.
-
-
-
-| Params | []() |
-|--------|------|
-|message|Text|
-
-### Share Message To Google+
-
-Shares a message through Google Plus. If Google+ is not installed, then the 'AppNotFound' event will be invoked and return the name 'Google Plus'.
-
-
-
-| Params | []() |
-|--------|------|
-|message|Text|
-
-### Share Message To Snapchat
-
-Shares a message through Snapchat. If Snapchat is not installed, then the 'AppNotFound' event will be invoked and return the name 'Snapchat'.
-
-
-
-| Params | []() |
-|--------|------|
-|message|Text|
-
-### Share Message To Telegram
-
-Shares a message through Telegram. If Telegram is not installed, then the 'AppNotFound' event will be invoked and return the name 'Telegram'.
-
-
-
-| Params | []() |
-|--------|------|
-|message|Text|
-
-### Share Message To Twitter
-
-Shares a message through Twitter. If Twitter is not installed, then the 'AppNotFound' event will be invoked and return the name 'Twitter'.
-
-
-
-| Params | []() |
-|--------|------|
-|message|Text|
-
-### Share Message To WhatsApp
-
-Shares a message through WhatsApp. If WhatsApp is not installed, then the 'AppNotFound' event will be invoked and return the name 'WhatsApp'.
-
-
-
-| Params | []() |
-|--------|------|
-|message|Text|
-
-## Properties
-
-### Share Dialog Message
-
-TextDefault: Send using... :heavy_minus_sign: Write - DesignerBlocks
-
-Set the text for the sharing dialog. The default text is 'Send using...'.
-
-
diff --git a/docs/components/social/texting.md b/docs/components/social/texting.md
deleted file mode 100644
index f4591cdbf..000000000
--- a/docs/components/social/texting.md
+++ /dev/null
@@ -1,111 +0,0 @@
-# Texting
-
-{>> Non-Visible component<<}
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Social**|API 21, Android 5.0 Lollipop|5|
-
-## Overview
-
-A component that will, when the `` SendMessage `` method is called, send the text message specified in the `` Message `` property to the phone number specified in the `` PhoneNumber `` property.
-
-
-
-If the `` ReceivingEnabled `` property is set to 1 messages will __not__ be received. If `` ReceivingEnabled `` is set to 2 messages will be received only when the application is running. Finally if `` ReceivingEnabled `` is set to 3, messages will be received when the application is running __and__ when the application is not running they will be queued and a notification displayed to the user.
-
-
-
-When a message arrives, the `` MessageReceived `` event is raised and provides the sending number and message.
-
-
-
- An app that includes this component will receive messages even when it is in the background (i.e. when it's not visible on the screen) and, moreso, even if the app is not running, so long as it's installed on the phone. If the phone receives a text message when the app is not in the foreground, the phone will show a notification in the notification bar. Selecting the notification will bring up the app. As an app developer, you'll probably want to give your users the ability to control ReceivingEnabled so that they can make the phone ignore text messages.
-
-
-
-If the GoogleVoiceEnabled property is true, messages can be sent over Wifi using Google Voice. This option requires that the user have a Google Voice account and that the mobile Voice app is installed on the phone. The Google Voice option works only on phones that support Android 2.0 (Eclair) or higher.
-
-
-
-To specify the phone number (e.g., 650-555-1212), set the `` PhoneNumber `` property to a Text string with the specified digits (e.g., 6505551212). Dashes, dots, and parentheses may be included (e.g., (650)-555-1212) but will be ignored; spaces may not be included.
-
-
-
-Another way for an app to specify a phone number would be to include a `` PhoneNumberPicker `` component, which lets the users select a phone numbers from the ones stored in the the phone's contacts.
-
-??? example "Permissions"
- * [android.permission.GET_ACCOUNTS](https://developer.android.com/reference/android/Manifest.permission.html#GET_ACCOUNTS)
- * [android.permission.USE_CREDENTIALS](https://developer.android.com/reference/android/Manifest.permission.html#USE_CREDENTIALS)
- * [android.permission.ACCOUNT_MANAGER](https://developer.android.com/reference/android/Manifest.permission.html#ACCOUNT_MANAGER)
- * [com.google.android.apps.googlevoice.permission.RECEIVE_SMS](https://developer.android.com/reference/android/Manifest.permission.html#com.google.android.apps.googlevoice.permission.RECEIVE_SMS)
- * [com.google.android.apps.googlevoice.permission.SEND_SMS](https://developer.android.com/reference/android/Manifest.permission.html#com.google.android.apps.googlevoice.permission.SEND_SMS)
- * [android.permission.MANAGE_ACCOUNTS](https://developer.android.com/reference/android/Manifest.permission.html#MANAGE_ACCOUNTS)
- * [android.permission.RECEIVE_SMS](https://developer.android.com/reference/android/Manifest.permission.html#RECEIVE_SMS) if using [Receiving Enabled](#receiving-enabled)
- * [android.permission.SEND_SMS](https://developer.android.com/reference/android/Manifest.permission.html#SEND_SMS) if using [SendMessageDirect](#sendmessagedirect)
- * [android.permission.READ_PHONE_STATE](https://developer.android.com/reference/android/Manifest.permission.html#READ_PHONE_STATE) if using [SendMessageDirect](#sendmessagedirect)
-
-## Events
-
-### Message Received
-
-Event that's raised when a text message is received by the phone.
-
-
-
-| Params | []() |
-|--------|------|
-|number|Text|
-|message Text|Text|
-
-## Methods
-
-### Send Message
-
-Send a text message
-
-
-
-### SendMessageDirect
-
-Send a text message directly
-
-
-
-## Properties
-
-### Google Voice Enabled
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-If true, then SendMessage will attempt to send messages over Wifi using Google Voice. This requires that the Google Voice app must be installed and set up on the phone or tablet, with a Google Voice account. If GoogleVoiceEnabled is false, the device must have phone and texting service in order to send or receive messages with this component.
-
-
-
-
-### Message
-
-Text :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The message that will be sent when the SendMessage method is called.
-
-
-
-
-### Phone Number
-
-Text :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Sets the phone number to send the text message to when the SendMessage function is called.
-
-
-
-
-### Receiving Enabled
-
-NumberDefault: 1 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-If set to 1 (OFF) no messages will be received. If set to 2 (FOREGROUND) or3 (ALWAYS) the component will respond to messages if it is running. If the app is not running then the message will be discarded if set to 2 (FOREGROUND). If set to 3 (ALWAYS) and the app is not running the phone will show a notification. Selecting the notification will bring up the app and signal the MessageReceived event. Messages received when the app is dormant will be queued, and so several MessageReceived events might appear when the app awakens. As an app developer, it would be a good idea to give your users control over this property, so they can make their phones ignore text messages when your app is installed.
-
-
-
diff --git a/docs/components/social/twitter.md b/docs/components/social/twitter.md
deleted file mode 100644
index 24fa0c012..000000000
--- a/docs/components/social/twitter.md
+++ /dev/null
@@ -1,328 +0,0 @@
-# Twitter
-
-{>> Non-Visible component<<}
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Social**|API 21, Android 5.0 Lollipop|4|
-
-## Overview
-
-A non-visible component that enables communication with Twitter. Once a user has logged into their Twitter account (and the authorization has been confirmed successful by the `` IsAuthorized `` event), many more operations are available:
-
-* Searching Twitter for tweets or labels (`` SearchTwitter ``)
-* Sending a Tweet (`` Tweet ``)
-* Sending a Tweet with an Image (`` TweetWithImage ``)
-* Directing a message to a specific user (`` DirectMessage ``)
-* Receiving the most recent messages directed to the logged-in user (`` RequestDirectMessages ``)
-* Following a specific user (`` Follow ``)
-* Ceasing to follow a specific user (`` StopFollowing ``)
-* Getting a list of users following the logged-in user (`` RequestFollowers ``)
-* Getting the most recent messages of users followed by the logged-in user (`` RequestFriendTimeline ``)
-* Getting the most recent mentions of the logged-in user (`` RequestMentions ``)
-
-You must obtain a Consumer Key and Consumer Secret for Twitter authorization specific to your app from http://twitter.com/oauth\_clients/new
-
-??? example "Permissions"
- * [android.permission.INTERNET](https://developer.android.com/reference/android/Manifest.permission.html#INTERNET)
-
-## Events
-
-### Direct Messages Received
-
-This event is raised when the recent messages requested through `` RequestDirectMessages `` have been retrieved. A list of the messages can then be found in the `` messages `` parameter or the `` Messages `` property.
-
-
-
-| Params | []() |
-|--------|------|
-|messages|List|
-
-### Followers Received
-
-This event is raised when all of the followers of the logged-in user requested through `` RequestFollowers `` have been retrieved. A list of the followers can then be found in the `` followers `` parameter or the `` Followers `` property.
-
-
-
-| Params | []() |
-|--------|------|
-|followers 2|List|
-
-### Friend Timeline Received
-
-This event is raised when the messages requested through `` RequestFriendTimeline `` have been retrieved. The `` timeline `` parameter and the `` Timeline `` property will contain a list of lists, where each sub-list contains a status update of the form (username message)
-
-
-
-| Params | []() |
-|--------|------|
-|timeline|List|
-
-### Is Authorized
-
-This event is raised after the program calls `` Authorize `` if the authorization was successful. It is also called after a call to `` CheckAuthorized `` if we already have a valid access token. After this event has been raised, any other method for this component can be called.
-
-
-
-### Mentions Received
-
-This event is raised when the mentions of the logged-in user requested through `` RequestMentions `` have been retrieved. A list of the mentions can then be found in the `` mentions `` parameter or the `` Mentions `` property.
-
-
-
-| Params | []() |
-|--------|------|
-|mentions|List|
-
-### Search Successful
-
-This event is raised when the results of the search requested through `` SearchSuccessful `` have been retrieved. A list of the results can then be found in the `` results `` parameter or the `` Results `` property.
-
-
-
-| Params | []() |
-|--------|------|
-|search Results|List|
-
-## Methods
-
-### Authorize
-
-Redirects user to login to Twitter via the Web browser using the OAuth protocol if we don't already have authorization.
-
-
-
-### Check Authorized
-
-Checks whether we already have access, and if so, causes IsAuthorized event handler to be called.
-
-
-
-### De Authorize
-
-Removes Twitter authorization from this running app instance
-
-
-
-### Direct Message
-
-This sends a direct (private) message to the specified user. The message will be trimmed if it exceeds 160characters.
-
-Requirements: This should only be called after the `` IsAuthorized `` event has been raised, indicating that the user has successfully logged in to Twitter.
-
-
-
-| Params | []() |
-|--------|------|
-|user|Text|
-|message|Text|
-
-### Follow
-
-Starts following a user.
-
-
-
-| Params | []() |
-|--------|------|
-|user|Text|
-
-### Login
-
-Twitter's API no longer supports login via username and password. Use the Authorize call instead.
-
-
-
-| Params | []() |
-|--------|------|
-|username|Text|
-|password|Text|
-
-### Request Direct Messages
-
-Requests the 20 most recent direct messages sent to the logged-in user. When the messages have been retrieved, the system will raise the `` DirectMessagesReceived `` event and set the `` DirectMessages `` property to the list of messages.
-
-Requirements: This should only be called after the `` IsAuthorized `` event has been raised, indicating that the user has successfully logged in to Twitter.
-
-
-
-### Request Followers
-
-Gets who is following you.
-
-
-
-### Request Friend Timeline
-
-Gets the most recent 20 messages in the user's timeline.
-
-
-
-### Request Mentions
-
-Requests the 20 most recent mentions of the logged-in user. When the mentions have been retrieved, the system will raise the `` MentionsReceived `` event and set the `` Mentions `` property to the list of mentions.
-
-Requirements: This should only be called after the `` IsAuthorized `` event has been raised, indicating that the user has successfully logged in to Twitter.
-
-
-
-### Search Twitter
-
-This searches Twitter for the given String query.
-
-Requirements: This should only be called after the `` IsAuthorized `` event has been raised, indicating that the user has successfully logged in to Twitter.
-
-
-
-| Params | []() |
-|--------|------|
-|query|Text|
-
-### Stop Following
-
-Stops following a user.
-
-
-
-| Params | []() |
-|--------|------|
-|user|Text|
-
-### Tweet
-
-This sends a tweet as the logged-in user with the specified Text, which will be trimmed if it exceeds 160 characters.
-
-Requirements: This should only be called after the `` IsAuthorized `` event has been raised, indicating that the user has successfully logged in to Twitter.
-
-
-
-| Params | []() |
-|--------|------|
-|status|Text|
-
-### Tweet With Image
-
-This sends a tweet as the logged-in user with the specified Text and a path to the image to be uploaded, which will be trimmed if it exceeds 160 characters. If an image is not found or invalid, only the text will be tweeted.
-
-Requirements: This should only be called after the `` IsAuthorized `` event has been raised, indicating that the user has successfully logged in to Twitter.
-
-
-
-| Params | []() |
-|--------|------|
-|status|Text|
-|image Path|Text|
-
-## Properties
-
-### Consumer Key
-
-Text :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-ConsumerKey property getter method.
-
-
-
-
-### Consumer Secret
-
-Text :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-ConsumerSecret property getter method.
-
-
-
-
-### Direct Messages
-
-List :heavy_minus_sign: Read - Blocks
-
-This property contains a list of the most recent messages mentioning the logged-in user. Initially, the list is empty. To set it, the program must:
-
- 1. Call the `` Authorize `` method.
- 2. Wait for the `` Authorized `` event.
- 3. Call the `` RequestDirectMessages `` method.
- 4. Wait for the `` DirectMessagesReceived `` event.
-
-The value of this property will then be set to the list of direct messages retrieved (and maintain that value until any subsequent call to `` RequestDirectMessages ``).
-
-
-
-### Followers
-
-List :heavy_minus_sign: Read - Blocks
-
-This property contains a list of the followers of the logged-in user. Initially, the list is empty. To set it, the program must:
-
- 1. Call the `` Authorize `` method.
- 2. Wait for the `` IsAuthorized `` event.
- 3. Call the `` RequestFollowers `` method.
- 4. Wait for the `` FollowersReceived `` event.
-
-The value of this property will then be set to the list of followers (and maintain its value until any subsequent call to `` RequestFollowers ``).
-
-
-
-### Friend Time line
-
-List :heavy_minus_sign: Read - Blocks
-
-This property contains the 20 most recent messages of users being followed. Initially, the list is empty. To set it, the program must:
-
- 1. Call the `` Authorize `` method.
- 2. Wait for the `` IsAuthorized `` event.
- 3. Specify users to follow with one or more calls to the `` Follow `` method.
- 4. Call the `` RequestFriendTimeline `` method.
- 5. Wait for the `` FriendTimelineReceived `` event.
-
-
-The value of this property will then be set to the list of messages (and maintain its value until any subsequent call to `` RequestFriendTimeline ``.
-
-
-
-### Mentions
-
-List :heavy_minus_sign: Read - Blocks
-
-This property contains a list of mentions of the logged-in user. Initially, the list is empty. To set it, the program must:
-
- 1. Call the `` Authorize `` method.
- 2. Wait for the `` IsAuthorized `` event.
- 3. Call the `` RequestMentions `` method.
- 4. Wait for the `` MentionsReceived `` event.
-
-The value of this property will then be set to the list of mentions (and will maintain its value until any subsequent calls to `` RequestMentions ``).
-
-
-
-### Search Results
-
-List :heavy_minus_sign: Read - Blocks
-
-This property, which is initially empty, is set to a list of search results after the program:
-
-1. Calls the `` SearchTwitter `` method.
- 2. Waits for the `` SearchSuccessful `` event.
-
-The value of the property will then be the same as the parameter to `` SearchSuccessful ``. Note that it is not necessary to call the `` Authorize `` method before calling `` SearchTwitter ``.
-
-
-
-### TwitPic_API_Key
-
-:warning: ==**Deprecated**==
-
-Text :heavy_minus_sign: ReadWrite - Blocks
-
-TwitPicAPIkey property getter method.
-
-
-
-
-### Username
-
-Text :heavy_minus_sign: Read - Blocks
-
-The user name of the authorized user. Empty if there is no authorized user.
-
-
diff --git a/docs/components/storage/cloudinary.md b/docs/components/storage/cloudinary.md
deleted file mode 100644
index 16647799d..000000000
--- a/docs/components/storage/cloudinary.md
+++ /dev/null
@@ -1,69 +0,0 @@
-# Cloudinary
-
-{>> Non-Visible component<<}
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Storage**|API 21, Android 5.0 Lollipop|1|
-
-## Overview
-
-A non-visible component that allows for uploading of images, videos, audios and many other file types to Cloudinary.
-
-??? example "Permissions"
- * [android.permission.INTERNET](https://developer.android.com/reference/android/Manifest.permission.html#INTERNET)
- * [android.permission.READ_EXTERNAL_STORAGE](https://developer.android.com/reference/android/Manifest.permission.html#READ_EXTERNAL_STORAGE)
-
-## Events
-
-### Media Uploaded
-
-Event raised after the Upload Media block has been used
-
-
-
-| Params | []() |
-|--------|------|
-|response Content|Text|
-|url|Text|
-
-## Methods
-
-### Upload Media
-
-Uploads the specified media file to your Cloudinary media library.
-
-
-
-| Params | []() |
-|--------|------|
-|path|Text|
-
-## Properties
-
-### API Key
-
-Text :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Your Cloudinary API key.
-
-
-
-
-### API Secret
-
-Text :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Your Cloudinary API secret.
-
-
-
-
-### Cloud Name
-
-Text :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Your Cloudinary cloud name.
-
-
-
diff --git a/docs/components/storage/file.md b/docs/components/storage/file.md
deleted file mode 100644
index d2b8cc443..000000000
--- a/docs/components/storage/file.md
+++ /dev/null
@@ -1,374 +0,0 @@
-# File
-
-{>> Non-Visible component<<}
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Storage**|API 21, Android 5.0 Lollipop|8|
-
-## Overview
-
-Non-visible component for storing and retrieving files. Use this component to write or read files on your device. The default behaviour is to write files to the private data directory associated with your App. The Companion is special cased to write files to a public directory for debugging. Use the More information link to read more about how the File component uses paths and scopes to manage access to files.
-
-## Events
-
-### After File Saved
-
-Event indicating that the contents of the file have been written.
-
-
-
-| Params | []() |
-|--------|------|
-|file Name|Text|
-
-### After Unzip
-
-Event indicating that the zip file have been created.
-
-
-
-### After Zip
-
-Event indicating that the zip file have been created.
-
-
-
-### Directory Created
-
-:warning: ==**Deprecated**==
-
-Event indicating that there was a directory created. The return value is 'true' or 'false'.
-
-
-
-| Params | []() |
-|--------|------|
-|is Directory Created|Boolean|
-
-### Got Text
-
-Event indicating that the contents from the file have been read.
-
-
-
-| Params | []() |
-|--------|------|
-|text|Text|
-
-### On Zip Failure
-
-Event indicating that there was any failure on zip or unzip a file.
-
-
-
-| Params | []() |
-|--------|------|
-|error Message|Text|
-
-## Methods
-
-### Append To File
-
-Appends text to the end of a file storage, creating the file if it does not exist. See the help text under SaveFile for information about where files are written.
-
-
-
-| Params | []() |
-|--------|------|
-|text|Text|
-|file Name|Text|
-
-### Copy
-
-:warning: ==**Deprecated**==
-
-Copy a file. If input path started with two // (slashes) then it's a asset file. You can not copy a file into the assets directory. Use CopyFile instead.
-
-
-
-| Params | []() |
-|--------|------|
-|input|Text|
-|output|Text|
-
-### Copy File
-
-Returns: Boolean
-
-Copy the contents from the first file to the second file.
-
-
-
-| Params | []() |
-|--------|------|
-|from Scope|Com.google.appinventor.components.common.filescopeenum|
-|from File Name|Text|
-|to Scope|Com.google.appinventor.components.common.filescopeenum|
-|to File Name|Text|
-
-### Create Directory
-
-:warning: ==**Deprecated**==
-
-Create a new directory. Use MakeDirectory instead.
-
-
-
-| Params | []() |
-|--------|------|
-|directory|Text|
-
-### Delete
-
-Deletes a file from storage. Prefix the filename with / to delete a specific file in the SD card, for instance /myFile.txt. will delete the file /sdcard/myFile.txt. If the file does not begin with a /, then the file located in the programs private storage will be deleted. Starting the file with // is an error because assets files cannot be deleted.
-
-
-
-| Params | []() |
-|--------|------|
-|file Name|Text|
-
-### Exists
-
-Returns: Boolean
-
-Tests whether the path exists in the given scope.
-
-
-
-| Params | []() |
-|--------|------|
-|scope|Com.google.appinventor.components.common.filescopeenum|
-|path|Text|
-
-### File Size
-
-Returns: Number
-
-Get file size
-
-
-
-| Params | []() |
-|--------|------|
-|file|Text|
-
-### Get File Name
-
-Returns: Text
-
-Get file name
-
-
-
-| Params | []() |
-|--------|------|
-|file|Text|
-
-### Get Free Space
-
-Returns: Number
-
-Get Free Space
-
-
-
-| Params | []() |
-|--------|------|
-|path|Text|
-
-### Get Total Space
-
-Returns: Number
-
-Get total space
-
-
-
-| Params | []() |
-|--------|------|
-|path|Text|
-
-### Is Directory
-
-Returns: Boolean
-
-Tests whether the path named in the given scope is a directory.
-
-
-
-| Params | []() |
-|--------|------|
-|scope|Com.google.appinventor.components.common.filescopeenum|
-|path|Text|
-
-### Is File
-
-Returns: Boolean
-
-Check whether the path is a file
-
-
-
-| Params | []() |
-|--------|------|
-|path|Text|
-
-### List Directory
-
-Returns: List
-
-Get a list of files and directories in the given directory.
-
-
-
-| Params | []() |
-|--------|------|
-|scope|Com.google.appinventor.components.common.filescopeenum|
-|directory Name|Text|
-
-### Make Directory
-
-Returns: Boolean
-
-Create a new directory for storing files. The semantics of this method are such that it willreturn true if the directory exists at its completion. This can mean that the directory alreadyexisted prior to the call.
-
-
-
-| Params | []() |
-|--------|------|
-|scope|Com.google.appinventor.components.common.filescopeenum|
-|directory Name|Text|
-
-### Make Full Path
-
-Returns: Text
-
-Converts the scope and path into a single string for other components.
-
-
-
-| Params | []() |
-|--------|------|
-|scope|Com.google.appinventor.components.common.filescopeenum|
-|path|Text|
-
-### Move
-
-:warning: ==**Deprecated**==
-
-Returns: Boolean
-
-Move a file. You can not move asset files. Use MoveFile instead.
-
-
-
-| Params | []() |
-|--------|------|
-|input|Text|
-|output|Text|
-
-### Move File
-
-Returns: Boolean
-
-Move a file from one location to another.
-
-
-
-| Params | []() |
-|--------|------|
-|from Scope|Com.google.appinventor.components.common.filescopeenum|
-|from File Name|Text|
-|to Scope|Com.google.appinventor.components.common.filescopeenum|
-|to File Name|Text|
-
-### Read From
-
-Reads text from a file in storage. Prefix the filename with / to read from a specific file on the SD card. for instance /myFile.txt will read the file /sdcard/myFile.txt. To read assets packaged with an application (also works for the Companion) start the filename with // (two slashes). If a filename does not start with a slash, it will be read from the applications private storage (for packaged apps) and from /sdcard/AppInventor/data for the Companion.
-
-
-
-| Params | []() |
-|--------|------|
-|file Name|Text|
-
-### Remove Directory
-
-Returns: Boolean
-
-Remove a directory from the file system. If recursive is true, then everything is removed. Ifrecursive is false, only the directory is removed and only if it is empty.
-
-
-
-| Params | []() |
-|--------|------|
-|scope|Com.google.appinventor.components.common.filescopeenum|
-|directory Name|Text|
-|recursive|Boolean|
-
-### Save File
-
-Saves text to a file. If the filename begins with a slash (/) the file is written to the sdcard. For example writing to /myFile.txt will write the file to /sdcard/myFile.txt. If the filename does not start with a slash, it will be written in the programs private data directory where it will not be accessible to other programs on the phone. There is a special exception for the AI Companion where these files are written to /sdcard/AppInventor/data to facilitate debugging. Note that this block will overwrite a file if it already exists
-If you want to add content to a file use the append block.
-
-
-
-| Params | []() |
-|--------|------|
-|text|Text|
-|file Name|Text|
-
-### Unzip
-
-Unzip a file with or without a password. If you dont need a passwort then let it empty.
-
-
-
-| Params | []() |
-|--------|------|
-|target Zip File Path|Text|
-|destination Folder Path|Text|
-|password|Text|
-
-### Zip
-
-Create a zip file with or without a password.
-
-
-
-| Params | []() |
-|--------|------|
-|target Path|Text|
-|destination File Path|Text|
-|password|Text|
-
-## Properties
-
-### Default Scope
-
-Com.google.appinventor.components.common.filescopeenumDefault: App :heavy_minus_sign: Write - Designer
-
-Specifies the default scope for files accessed using the File component. The App scope shouldwork for most apps. Legacy mode can be used for apps that predate the newer constraints inAndroid on app file access.
-
-### Read Permission
-
-BooleanDefault: False :heavy_minus_sign: Write - Designer
-
-A designer-only property that can be used to enable read access to file storage outside of theapp-specific directories.
-
-### Scope
-
-Com.google.appinventor.components.common.filescopeenum :heavy_minus_sign: ReadWrite - Blocks
-
-Indicates the current scope for operations such as ReadFrom and SaveFile.
-
-
-
-
-### Write Permission
-
-BooleanDefault: False :heavy_minus_sign: Write - Designer
-
-A designer-only property that can be used to enable write access to file storage outside of theapp-specific directories.
diff --git a/docs/components/storage/index.md b/docs/components/storage/index.md
deleted file mode 100644
index f5bde8b5d..000000000
--- a/docs/components/storage/index.md
+++ /dev/null
@@ -1,8 +0,0 @@
-# Overview of Storage
-
-* [Cloudinary](cloudinary.md)
-* [File](file.md)
-* [Spreadsheet](spreadsheet.md)
-* [SQLite](sqlite.md)
-* [Tiny DB](tiny-db.md)
-* [Tiny Web DB](tiny-web-db.md)
\ No newline at end of file
diff --git a/docs/components/storage/spreadsheet.md b/docs/components/storage/spreadsheet.md
deleted file mode 100644
index 3056ae0bb..000000000
--- a/docs/components/storage/spreadsheet.md
+++ /dev/null
@@ -1,229 +0,0 @@
-# Spreadsheet
-
-{>> Non-Visible component<<}
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Storage**|API 21, Android 5.0 Lollipop|1|
-
-## Overview
-
-A non-visible component that provides access to the Airtable spreadsheet storage
-Component credits\: Jerin Jacob
-
-??? example "Permissions"
- * [android.permission.INTERNET](https://developer.android.com/reference/android/Manifest.permission.html#INTERNET)
-
-## Events
-
-### Cell Changed
-
-Triggered when changing cell data. ResponseCode is a number
-
-
-
-| Params | []() |
-|--------|------|
-|response Code|Number|
-
-### Deleted Row By Number
-
-Triggered when destroying a row. ResponseCode is a number
-
-
-
-| Params | []() |
-|--------|------|
-|response Code|Number|
-
-### Got All Rows
-
-Triggered when getting all rows. ResponseCode is a number, ResponseContent is a string
-
-
-
-| Params | []() |
-|--------|------|
-|response Code|Number|
-|response Content|Text|
-|total Rows|Number|
-
-### Got Cell
-
-Triggered when receiving cell data. ResponseCode is a number, the other ones are strings
-
-
-
-| Params | []() |
-|--------|------|
-|response Code|Number|
-|value|Text|
-|row Id|Text|
-|created Time|Text|
-
-### Got Column
-
-Triggered when receiving column data. ResponseCode is a number, the other ones are lists
-
-
-
-| Params | []() |
-|--------|------|
-|response Code|Number|
-|values|List|
-|row Ids|List|
-|created Times|List|
-
-### Got Row
-
-Triggered when receiving row data. ResponseCode is a number, Values is a list
-
-
-
-| Params | []() |
-|--------|------|
-|response Code|Number|
-|values|List|
-
-### Row Created
-
-Triggered when creating a row. ResponseCode is a number
-
-
-
-| Params | []() |
-|--------|------|
-|response Code|Number|
-
-### Row Updated
-
-Triggered when updating a row. ResponseCode is a number
-
-
-
-| Params | []() |
-|--------|------|
-|response Code|Number|
-
-## Methods
-
-### Create Row
-
-Creates a new row
-
-
-
-| Params | []() |
-|--------|------|
-|column Names|List|
-|values|List|
-
-### Delete Row
-
-Deletes the given row
-
-
-
-| Params | []() |
-|--------|------|
-|row Number|Number|
-
-### Get All Rows
-
-Gets all rows
-
-
-
-### Get Cell
-
-Gets cell data
-
-
-
-| Params | []() |
-|--------|------|
-|row Number|Number|
-|column Name|Text|
-
-### Get Column
-
-Gets column data
-
-
-
-| Params | []() |
-|--------|------|
-|column Name|Text|
-|max Record|Number|
-
-### Get Row
-
-Gets row data
-
-
-
-| Params | []() |
-|--------|------|
-|row Number|Number|
-
-### Set Cell
-
-Changes the value of a cell
-
-
-
-| Params | []() |
-|--------|------|
-|row Number|Number|
-|column Name|Text|
-|value|Text|
-
-### Update Row by Number
-
-Updates the given row data
-
-
-
-| Params | []() |
-|--------|------|
-|row Number|Number|
-|column Names|List|
-|values|List|
-
-## Properties
-
-### API Key
-
-Text :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Your apiKey
-
-
-
-
-### Base ID
-
-Text :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Property for BaseId
-
-
-
-
-### Table Name
-
-Text :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Property for TableName
-
-
-
-
-### View Name
-
-TextDefault: Grid view :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Property for ViewName
-
-
-
diff --git a/docs/components/storage/sqlite.md b/docs/components/storage/sqlite.md
deleted file mode 100644
index 6916e5123..000000000
--- a/docs/components/storage/sqlite.md
+++ /dev/null
@@ -1,227 +0,0 @@
-# SQLite
-
-{>> Non-Visible component<<}
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Storage**|API 21, Android 5.0 Lollipop|2|
-
-## Overview
-
-A non-visible component that accesses the application''s SQLite database.
-Component credits\: Carlos Pedroza
-
-## Events
-
-### After Execution
-
-Event handler after the SQL statement is executed, returns whether the execution was succesful.
-
-
-
-| Params | []() |
-|--------|------|
-|was Executed|Boolean|
-
-### After Query
-
-Event handler after the RawQuery or Query is executed and returns a list with the selected data and number of records.
-
-
-
-| Params | []() |
-|--------|------|
-|result|List|
-|number Of Records|Number|
-
-### Error Occurred
-
-Event handler when an error ocurred, returns a string with a message from the error.
-
-
-
-| Params | []() |
-|--------|------|
-|message|Text|
-
-## Methods
-
-### Clear Database
-
-Clears the database to version 1. Use only while developing, this shouldn't be use on production.
-
-
-
-### Delete
-
-Returns: Number
-
-Executes pre-compiled DELETE statement with specified parameters. Parameters: 1) String table - Name of the table. 2) String whereClause - Optional WHERE clause to apply when deleting (Example: 'ID = ?'), pasing an empty a string will delete all rows. 3) List whereArgs - List with arguments for the WHERE clause. These arguments will be replaced by '?' in the whereClause. Returns the number of rows affected if a whereClause is passed in, 0 otherwise.
-
-
-
-| Params | []() |
-|--------|------|
-|table|Text|
-|where Clause|Text|
-|where Args|List|
-
-### Display Tables
-
-Returns: List
-
-Used to retrieve list of existing tables from the database
-
-
-
-### Drop Table
-
-Returns: List
-
-Used to drop / delete table from database. Please note that this event will DELETE any data you may have on the table and will then delete table from the database. After this operation is completed, it cannot be undone!
-
-
-
-| Params | []() |
-|--------|------|
-|table Nme|Text|
-
-### Get Path
-
-Returns: Text
-
-Returns the path to the database
-
-
-
-### Insert
-
-Returns: Number
-
-Executes pre-compiled INSERT statement with specified parameters. Parameters: 1) String table - Name of the table. 2) YailList columns - List with the columns that will contain the data to be inserted in the database. 3) YailList values - List with the data to be inserted in the database. Returns the row ID of the newly inserted row, or -1 if an error occurred.
-
-
-
-| Params | []() |
-|--------|------|
-|table|Text|
-|columns|List|
-|values|List|
-
-### Multiple SQL
-
-Execute Multiple SQL Statement asynchronously and returns whether the transaction was successful in the AfterExecution Event Handler. Use it when returned data isn't needed. Parameter: 1 ) List of SQL.
-
-
-
-| Params | []() |
-|--------|------|
-|list|List|
-
-### Query
-
-Executes pre-compiled QUERY statement with specified parameters. Parameters: 1) String table: Name of the table. 2) YailList columns: List of which columns to return, passing an empty list will return all columns. 3) String selection: Filter declaring which rows to return, formatted as an SQL WHERE clause, passing an empty string will return all rows. 4) YailList selectionArgs: List with the arguments that will replace onto '?' in the selection filter. 5) String groupBy: A filter declaring how to group rows, formatted as an SQL GROUP BY clause (excluding the GROUP BY itself), passing an empty string will cause the row to not be grouped. 6) String having: A filter declare which row groups to include if row grouping is being used, passing an empty string will cause all row groups to be included. 7) String orderBy: How to order the rows, formatted as an SQL ORDER BY clause (excluding the ORDER BY itself), passing an empty string will use the default sort order (unordered). 8) String limit: Limits the number of rows returned by the query, formatted as LIMIT clause, passing an empty string denotes no LIMIT clause. The result query is available in the AfterQuery event handler
-
-
-
-| Params | []() |
-|--------|------|
-|table|Text|
-|columns|List|
-|selection|Text|
-|selection Args|List|
-|group By|Text|
-|having|Text|
-|order By|Text|
-|limit|Text|
-
-### Raw Query
-
-Executes the provided rawQuery Statement asynchronously. Returns a YailList with the selected data and number of records in the AfterQuery Event. Parameter: 1) String sql. 2) YailList selectionArgs: List with the arguments that will replace '?' in where clause in the query, to prevent SQL injections
-
-
-
-| Params | []() |
-|--------|------|
-|sql|Text|
-|selection Args|List|
-
-### Replace
-
-Returns: Number
-
-Executes pre-compiled REPLACE OR INSERT INTO statement with specified parameters. Parameters: 1) String table - Name of the table. 2) YailList columns - List with the columns that will contain the data to be replaced in the database. 3) YailList values - List with the data to be replaced in the database. Returns the row ID of the newly replaced row, or -1 if an error occurred.
-
-
-
-| Params | []() |
-|--------|------|
-|table|Text|
-|columns|List|
-|values|List|
-
-### Single SQL
-
-Execute a Single SQL Statement asynchronously and returns whether the transaction was successful in the AfterExecution Event Handler. Use it when returned data isn't needed. Parameter: 1) String sql.
-
-
-
-| Params | []() |
-|--------|------|
-|sql|Text|
-
-### SQL Query
-
-Returns: List
-
-Used to run any valid SQLite query and return results in same block.
-
-
-
-| Params | []() |
-|--------|------|
-|query|Text|
-
-### Update
-
-Returns: Number
-
-Executes pre-compiled UPDATE statement with specified parameters. Parameters: 1) String table - Name of the table. 2) YailList columns - List with the columns that will contain the data to be inserted in the database. 3) YailList values - List with the data to be inserted in the database. 4) String whereClause - optional WHERE clause to apply when updating, leave an empty string to update all rows. Include ?s, which will be updated by the values from whereArgs. 5) YailList whereArgs - List with the columns that will contain the data to be updated in the database. Returns the row ID of the newly inserted row, or -1 if an error occurred.
-
-
-
-| Params | []() |
-|--------|------|
-|table|Text|
-|columns|List|
-|values|List|
-|where Clause|Text|
-|where Args|List|
-
-## Properties
-
-### Return Header
-
-BooleanDefault: false :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Returns whether the header row should be returned in the result of a Select statement.
-
-
-
-
-### Rows Affected
-
-Number :heavy_minus_sign: Read - Blocks
-
-Returns the number of rows affected after a raw SQL has been executed using SQL Query.
-
-
-
-### Suppress Toast
-
-BooleanDefault: false :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Returns whether Success Toast should be suppressed.
-
-
-
diff --git a/docs/components/storage/tiny-db.md b/docs/components/storage/tiny-db.md
deleted file mode 100644
index 4a25f0fde..000000000
--- a/docs/components/storage/tiny-db.md
+++ /dev/null
@@ -1,90 +0,0 @@
-# Tiny DB
-
-{>> Non-Visible component<<}
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Storage**|API 21, Android 5.0 Lollipop|2|
-
-## Overview
-
-TinyDB is a non-visible component that stores data for an app.
-
- Apps created with Kodular are initialized each time they run: If an app sets the value of a variable and the user then quits the app, the value of that variable will not be remembered the next time the app is run. In contrast, TinyDB is a _ persistent _ data store for the app, that is, the data stored there will be available each time the app is run. An example might be a game that saves the high score and retrieves it each time the game is played.
-
- Data items are strings stored under _tags_ . To store a data item, you specify the tag it should be stored under. Subsequently, you can retrieve the data that was stored under a given tag.
-
- There is only one data store per app. Even if you have multiple TinyDB components, they will use the same data store. To get the effect of separate stores, use different keys. Also each app has its own data store. You cannot use TinyDB to pass data between two different apps on the phone, although you _can_ use TinyDb to shares data between the different screens of a multi-screen app.
-
-
-
-When you are developing apps using the AI Companion, all the apps using that companion will share the same TinyDb. That sharing will disappear once the apps are packaged. But, during development, you should be careful to clear the TinyDb each time you start working on a new app.
-
-## Methods
-
-### Clear All
-
-Clear the entire data store
-
-
-
-### Clear Tag
-
-Clear the entry with the given tag
-
-
-
-| Params | []() |
-|--------|------|
-|tag|Text|
-
-### Get Entries
-
-Returns: Dictionary
-
-Retrieves all data entries of TinyDB in form of Dictionaries
-
-
-
-### Get Tags
-
-Returns: Any
-
-Return a list of all the tags in the data store
-
-
-
-### Get Value
-
-Returns: Any
-
-Retrieve the value stored under the given tag. If there's no such tag, then return valueIfTagNotThere.
-
-
-
-| Params | []() |
-|--------|------|
-|tag|Text|
-|value If Tag Not There|Any|
-
-### Store Value
-
-Store the given value under the given tag. The storage persists on thephone when the app is restarted.
-
-
-
-| Params | []() |
-|--------|------|
-|tag|Text|
-|value To Store|Any|
-
-## Properties
-
-### Namespace
-
-TextDefault: TinyDB1 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Namespace for storing data.
-
-
-
diff --git a/docs/components/storage/tiny-web-db.md b/docs/components/storage/tiny-web-db.md
deleted file mode 100644
index ef3f0eec6..000000000
--- a/docs/components/storage/tiny-web-db.md
+++ /dev/null
@@ -1,77 +0,0 @@
-# Tiny Web DB
-
-{>> Non-Visible component<<}
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Storage**|API 21, Android 5.0 Lollipop|2|
-
-## Overview
-
-A non-visible component that communicates with a web service to store and retrieve information.
-
-??? example "Permissions"
- * [android.permission.INTERNET](https://developer.android.com/reference/android/Manifest.permission.html#INTERNET)
-
-## Events
-
-### Got Value
-
-Indicates that a GetValue server request has succeeded.
-
-
-
-| Params | []() |
-|--------|------|
-|tag From Web DB|Text|
-|value From Web DB|Any|
-
-### Value Stored
-
-Event indicating that a StoreValue server request has succeeded.
-
-
-
-### Web Service Error
-
-Indicates that the communication with the Web service signaled an error.
-
-
-
-| Params | []() |
-|--------|------|
-|message|Text|
-
-## Methods
-
-### Get Value
-
-GetValue asks the Web service to get the value stored under the given tag.
-
-
-
-| Params | []() |
-|--------|------|
-|tag|Text|
-
-### Store Value
-
-Asks the Web service to store the given value under the given tag.
-
-
-
-| Params | []() |
-|--------|------|
-|tag|Text|
-|value To Store|Any|
-
-## Properties
-
-### Service URL
-
-TextDefault: http://tinywebdb.builder.makeroid.io :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Returns the URL of the web service database.
-
-
-
diff --git a/docs/components/user-interface/button.md b/docs/components/user-interface/button.md
deleted file mode 100644
index 5f2ada992..000000000
--- a/docs/components/user-interface/button.md
+++ /dev/null
@@ -1,320 +0,0 @@
-# Button
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**User Interface**|API 21, Android 5.0 Lollipop|13|
-
-## Overview
-
-Button with the ability to detect clicks. Many aspects of its appearance can be changed, as well as whether it is clickable (`` Enabled ``), can be changed in the Designer or in the Blocks Editor.
-
-??? example "Permissions"
- * [android.permission.INTERNET](https://developer.android.com/reference/android/Manifest.permission.html#INTERNET)
-
-## Events
-
-### Click
-
-User tapped and released the button.
-
-
-
-### Got Focus
-
-Indicates the cursor moved over the button so it is now possible to click it.
-
-
-
-### Long Click
-
-User held the button down.
-
-
-
-### Lost Focus
-
-Indicates the cursor moved away from the button so it is now no longer possible to click it.
-
-
-
-### Touch Down
-
-Indicates that the button was pressed down.
-
-
-
-### Touch Up
-
-Indicates that a button has been released.
-
-
-
-## Methods
-
-### Button Click
-
-Perform a button click as function.
-
-
-
-### Set Animation Style
-
-Allows you to set animation style. Valid (case-insensitive) values are: ChasingDots, Circle, CubeGrid, DoubleBounce, FadingCircle, FoldingCube, Pulse, RotatingCircle, RotatingPlane, ThreeBounce, WanderingCubes, Wave. If invalid style is used, animation will be removed.Position can be: top, left, right, bottom. Size can be 100.
-
-
-
-| Params | []() |
-|--------|------|
-|style|Text|
-|position|Text|
-|size|Number|
-|color|Number|
-
-### Set Shadow
-
-Place a blurred shadow of text underneath the text, drawn with the specified x, y, radius, color (e.g. -11, 12, 13, black.
-
-
-
-| Params | []() |
-|--------|------|
-|x|Number|
-|y|Number|
-|radius|Number|
-|color|Number|
-
-### With Icon From Font Awesome
-
-Show an image on the given position near to the button. You can use following words for the position: 'Left', 'Right', 'Top' or 'Bottom'. Use the padding to add space between the icon and text. Use a 'FontAwesome' icon as the button icon without uploading a image resource into your project. You can find the icon code here at https://fontawesome.com/cheatsheet Use as example for a heart icon just 'f004' or ''
-
-
-
-| Params | []() |
-|--------|------|
-|position|Text|
-|icon Name|Text|
-|icon Color|Number|
-|padding|Number|
-|size|Number|
-
-### With Icon From Material Font
-
-Show an image on the given position near to the button. You can use following words for the position: 'Left', 'Right', 'Top' or 'Bottom'. Use the padding to add space between the icon and text. Use a 'Material' icon as the button icon without uploading a image resource into your project. You can find the icon name here at https://material.io/resources/icons
-
-
-
-| Params | []() |
-|--------|------|
-|position|Text|
-|icon Name|Text|
-|icon Color|Number|
-|padding|Number|
-|size|Number|
-
-### With Icon From Picture
-
-Show an image on the given position near to the button. You can use following words for the position: 'Left', 'Right', 'Top' or 'Bottom'. Use the padding to add space between the icon and text.
-
-
-
-| Params | []() |
-|--------|------|
-|position|Text|
-|picture|Text|
-|padding|Number|
-|width|Number|
-|height|Number|
-
-## Properties
-
-### Background Color
-
-ColorDefault: #444444FF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Returns the button's background color
-
-
-
-
-### Border Shadow
-
-Available as ^^Advanced^^ Property
-
-BooleanDefault: True :heavy_minus_sign: Write - Designer
-
-Returns true if the button have a outside border shadow on click.
-
-### Enabled
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-If set, user can tap check box to cause action.
-
-
-
-
-### Font Bold
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-If set, button text is displayed in bold.
-
-
-
-
-### Font Italic
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-If set, button text is displayed in italics.
-
-
-
-
-### Font Size
-
-NumberDefault: 14.0 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Point size for button text.
-
-
-
-
-### Font Typeface
-
-NumberDefault: 0 :heavy_minus_sign: Write - Designer
-
-Font family for button text.
-
-### Font Typeface Import
-
-Available as ^^Advanced^^ Property
-
-Text :heavy_minus_sign: Write - DesignerBlocks
-
-Set a custom font.
-
-
-
-### Height
-
-Number :heavy_minus_sign: ReadWrite - Blocks
-
-Specifies the component's vertical height, measured in pixels.
-
-
-
-
-### Height Percent
-
-Number :heavy_minus_sign: Write - Blocks
-
-Specifies the component's vertical height as a percentageof the height of its parent Component.
-
-
-
-### HTML Format
-
-Available as ^^Advanced^^ Property
-
-BooleanDefault: False :heavy_minus_sign: Write - Designer
-
-If true, then this button will show html text else it will show plain text. Note: Not all HTML is supported.
-
-### Image
-
-Text :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Image to display on button.
-
-
-
-
-### Rotation Angle
-
-Available as ^^Advanced^^ Property
-
-NumberDefault: 0.0 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Sets the degrees that the button is rotated around the pivot point. Increasing values result in clockwise rotation.
-
-
-
-
-### Shape
-
-NumberDefault: 0 :heavy_minus_sign: Write - Designer
-
-Specifies the button's shape (default, rounded, rectangular, oval). The shape will not be visible if an Image is being displayed.
-
-### Show Feedback
-
-Available as ^^Advanced^^ Property
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Specifies if a visual feedback should be shown for a button that as an image as background.
-
-
-
-
-### Text
-
-Text :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Text to display on button.
-
-
-
-
-### Text Alignment
-
-NumberDefault: 1 :heavy_minus_sign: Write - Designer
-
-Left, center, or right.
-
-### Text Color
-
-ColorDefault: #FFFFFFFF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Color for button text.
-
-
-
-
-### Touch Color
-
-Available as ^^Advanced^^ Property
-
-ColorDefault: #CCCCCCFF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Set the buttons touch color.
-
-
-
-
-### Visible
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Returns true iff the component is visible.
-
-
-
-
-### Width
-
-Number :heavy_minus_sign: ReadWrite - Blocks
-
-Specifies the component's horizontal width, measured in pixels.
-
-
-
-
-### Width Percent
-
-Number :heavy_minus_sign: Write - Blocks
-
-Specifies the component's horizontal width as a percentageof the Width of its parent Component.
-
-
diff --git a/docs/components/user-interface/checkbox.md b/docs/components/user-interface/checkbox.md
deleted file mode 100644
index e3eaac70d..000000000
--- a/docs/components/user-interface/checkbox.md
+++ /dev/null
@@ -1,188 +0,0 @@
-# Checkbox
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**User Interface**|API 21, Android 5.0 Lollipop|6|
-
-## Overview
-
-Checkbox that raises an event when the user clicks on it. There are many properties affecting its appearance that can be set in the Designer or Blocks Editor.
-
-## Events
-
-### Changed
-
-Default Changed event handler.
-
-
-
-### Click
-
-Indicates a user has clicked on the checkbox.
-
-
-
-### Got Focus
-
-Default GotFocus event handler.
-
-
-
-### Lost Focus
-
-Default LostFocus event handler.
-
-
-
-## Methods
-
-### Set Shadow
-
-Place a blurred shadow of text underneath the text, drawn with the specified x, y, radius, color (e.g. -11, 12, 13, black
-
-
-
-| Params | []() |
-|--------|------|
-|x|Number|
-|y|Number|
-|radius|Number|
-|color|Number|
-
-## Properties
-
-### Background Color
-
-ColorDefault: #FFFFFF00 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Returns the checkbox's background color as an alpha-red-green-blueinteger.
-
-
-
-
-### Checkbox Color
-
-ColorDefault: #000000FF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Change the checkbox component color.
-
-
-
-
-### Checked
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Returns true if the checkbox is checked.
-
-
-
-
-### Enabled
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Returns true if the checkbox is active and clickable.
-
-
-
-
-### Font Bold
-
-BooleanDefault: False :heavy_minus_sign: Write - Designer
-
-Returns true if the checkbox's text should be bold
-If bold has been requested, this property will return true, even if thefont does not support bold.
-
-### Font Italic
-
-BooleanDefault: False :heavy_minus_sign: Write - Designer
-
-Returns true if the checkbox's text should be italic
-If italic has been requested, this property will return true, even if thefont does not support italic.
-
-### Font Size
-
-NumberDefault: 14.0 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Returns the checkbox's text's font size, measured in sp(scale-independent pixels).
-
-
-
-
-### Font Typeface
-
-NumberDefault: 0 :heavy_minus_sign: Write - Designer
-
-Returns the checkbox's text's font face as default, serif, sansserif, or monospace.
-
-### Font Typeface Import
-
-Available as ^^Advanced^^ Property
-
-Text :heavy_minus_sign: Write - DesignerBlocks
-
-Set a custom font.
-
-
-
-### Height
-
-Number :heavy_minus_sign: ReadWrite - Blocks
-
-Specifies the component's vertical height, measured in pixels.
-
-
-
-
-### Height Percent
-
-Number :heavy_minus_sign: Write - Blocks
-
-Specifies the component's vertical height as a percentageof the height of its parent Component.
-
-
-
-### Text
-
-Text :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Returns the text displayed by the checkbox.
-
-
-
-
-### Text Color
-
-ColorDefault: #000000FF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Returns the checkbox's text color as an alpha-red-green-blueinteger.
-
-
-
-
-### Visible
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Returns true iff the component is visible.
-
-
-
-
-### Width
-
-Number :heavy_minus_sign: ReadWrite - Blocks
-
-Specifies the component's horizontal width, measured in pixels.
-
-
-
-
-### Width Percent
-
-Number :heavy_minus_sign: Write - Blocks
-
-Specifies the component's horizontal width as a percentageof the Width of its parent Component.
-
-
diff --git a/docs/components/user-interface/circular-progress.md b/docs/components/user-interface/circular-progress.md
deleted file mode 100644
index 59a25c372..000000000
--- a/docs/components/user-interface/circular-progress.md
+++ /dev/null
@@ -1,63 +0,0 @@
-# Circular Progress
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**User Interface**|API 21, Android 5.0 Lollipop|1|
-
-## Overview
-
-A visible component that indicates the progress of an operation using an animated loop.
-
-## Properties
-
-### Color
-
-ColorDefault: #2196F2FF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Change the indeterminate color of the circular progress bar.
-
-
-
-
-### Height
-
-Number :heavy_minus_sign: ReadWrite - Blocks
-
-Specifies the component's vertical height, measured in pixels.
-
-
-
-
-### Height Percent
-
-Number :heavy_minus_sign: Write - Blocks
-
-Specifies the component's vertical height as a percentageof the height of its parent Component.
-
-
-
-### Visible
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Returns true iff the component is visible.
-
-
-
-
-### Width
-
-Number :heavy_minus_sign: ReadWrite - Blocks
-
-Specifies the component's horizontal width, measured in pixels.
-
-
-
-
-### Width Percent
-
-Number :heavy_minus_sign: Write - Blocks
-
-Specifies the component's horizontal width as a percentageof the Width of its parent Component.
-
-
diff --git a/docs/components/user-interface/custom-progress.md b/docs/components/user-interface/custom-progress.md
deleted file mode 100644
index bf6a4ecd9..000000000
--- a/docs/components/user-interface/custom-progress.md
+++ /dev/null
@@ -1,91 +0,0 @@
-# Custom Progress
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**User Interface**|API 21, Android 5.0 Lollipop|4|
-
-## Overview
-
-A visible component that indicates the progress of an operation using a range of indeterminate animations.
-
-## Methods
-
-### Get Styles Names
-
-Returns: List
-
-Gets style names of all possible animations.
-
-
-
-## Properties
-
-### Animation Style
-
-TextDefault: Wave :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Allows you to set animation style. Valid (case-insensitive) values are: ChasingDots, Circle, CubeGrid, DoubleBounce, FadingCircle, FoldingCube, Pulse, RotatingCircle, RotatingPlane, ThreeBounce, WanderingCubes, Wave. If invalid style is used, Wave animation will be used.
-
-
-
-
-### Background Color
-
-ColorDefault: #FFFFFF00 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Sets the background color of this component.
-
-
-
-
-### Color
-
-ColorDefault: #008b8bFF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Sets the color of the component
-
-
-
-
-### Height
-
-Number :heavy_minus_sign: ReadWrite - Blocks
-
-Specifies the component's vertical height, measured in pixels.
-
-
-
-
-### Height Percent
-
-Number :heavy_minus_sign: Write - Blocks
-
-Specifies the component's vertical height as a percentageof the height of its parent Component.
-
-
-
-### Visible
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Returns true iff the component is visible.
-
-
-
-
-### Width
-
-Number :heavy_minus_sign: ReadWrite - Blocks
-
-Specifies the component's horizontal width, measured in pixels.
-
-
-
-
-### Width Percent
-
-Number :heavy_minus_sign: Write - Blocks
-
-Specifies the component's horizontal width as a percentageof the Width of its parent Component.
-
-
diff --git a/docs/components/user-interface/date-picker.md b/docs/components/user-interface/date-picker.md
deleted file mode 100644
index bad58edad..000000000
--- a/docs/components/user-interface/date-picker.md
+++ /dev/null
@@ -1,383 +0,0 @@
-# Date Picker
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**User Interface**|API 21, Android 5.0 Lollipop|9|
-
-## Overview
-
-A button that, when clicked on, launches a popup dialog to allow the user to select a date.
-
-??? example "Permissions"
- * [android.permission.INTERNET](https://developer.android.com/reference/android/Manifest.permission.html#INTERNET)
-
-## Events
-
-### After Date Set
-
-Event that runs after the user chooses a Date in the dialog
-
-
-
-### Got Focus
-
-Indicates the cursor moved over the button so it is now possible to click it.
-
-
-
-### Lost Focus
-
-Indicates the cursor moved away from the button so it is now no longer possible to click it.
-
-
-
-### Touch Down
-
-Indicates that the button was pressed down.
-
-
-
-### Touch Up
-
-Indicates that a button has been released.
-
-
-
-## Methods
-
-### Button Click
-
-Perform a button click as function.
-
-
-
-### Launch Picker
-
-Launches the DatePicker popup.
-
-
-
-### Set Animation Style
-
-Allows you to set animation style. Valid (case-insensitive) values are: ChasingDots, Circle, CubeGrid, DoubleBounce, FadingCircle, FoldingCube, Pulse, RotatingCircle, RotatingPlane, ThreeBounce, WanderingCubes, Wave. If invalid style is used, animation will be removed.Position can be: top, left, right, bottom. Size can be 100.
-
-
-
-| Params | []() |
-|--------|------|
-|style|Text|
-|position|Text|
-|size|Number|
-|color|Number|
-
-### Set Date To Display
-
-Allows the user to set the date to be displayed when the date picker opens
-Valid values for the month field are 1-12 and 1-31 for the day field.
-
-
-
-| Params | []() |
-|--------|------|
-|year|Number|
-|month|Number|
-|day|Number|
-
-### Set Date To Display From Instant
-
-Allows the user to set the date from the instant to be displayed when the date picker opens.
-
-
-
-| Params | []() |
-|--------|------|
-|instant|Instantintime|
-
-### Set Shadow
-
-Place a blurred shadow of text underneath the text, drawn with the specified x, y, radius, color (e.g. -11, 12, 13, black.
-
-
-
-| Params | []() |
-|--------|------|
-|x|Number|
-|y|Number|
-|radius|Number|
-|color|Number|
-
-### With Icon From Font Awesome
-
-Show an image on the given position near to the button. You can use following words for the position: 'Left', 'Right', 'Top' or 'Bottom'. Use the padding to add space between the icon and text. Use a 'FontAwesome' icon as the button icon without uploading a image resource into your project. You can find the icon code here at https://fontawesome.com/cheatsheet Use as example for a heart icon just 'f004' or ''
-
-
-
-| Params | []() |
-|--------|------|
-|position|Text|
-|icon Name|Text|
-|icon Color|Number|
-|padding|Number|
-|size|Number|
-
-### With Icon From Material Font
-
-Show an image on the given position near to the button. You can use following words for the position: 'Left', 'Right', 'Top' or 'Bottom'. Use the padding to add space between the icon and text. Use a 'Material' icon as the button icon without uploading a image resource into your project. You can find the icon name here at https://material.io/resources/icons
-
-
-
-| Params | []() |
-|--------|------|
-|position|Text|
-|icon Name|Text|
-|icon Color|Number|
-|padding|Number|
-|size|Number|
-
-### With Icon From Picture
-
-Show an image on the given position near to the button. You can use following words for the position: 'Left', 'Right', 'Top' or 'Bottom'. Use the padding to add space between the icon and text.
-
-
-
-| Params | []() |
-|--------|------|
-|position|Text|
-|picture|Text|
-|padding|Number|
-|width|Number|
-|height|Number|
-
-## Properties
-
-### Background Color
-
-ColorDefault: #444444FF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Returns the button's background color
-
-
-
-
-### Border Shadow
-
-Available as ^^Advanced^^ Property
-
-BooleanDefault: True :heavy_minus_sign: Write - Designer
-
-Returns true if the button have a outside border shadow on click.
-
-### Day
-
-Number :heavy_minus_sign: Read - Blocks
-
-the Day of the month that was last picked using the DatePicker.
-
-
-
-### Enabled
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-If set, user can tap check box to cause action.
-
-
-
-
-### Font Bold
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-If set, button text is displayed in bold.
-
-
-
-
-### Font Italic
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-If set, button text is displayed in italics.
-
-
-
-
-### Font Size
-
-NumberDefault: 14.0 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Point size for button text.
-
-
-
-
-### Font Typeface
-
-NumberDefault: 0 :heavy_minus_sign: Write - Designer
-
-Font family for button text.
-
-### Font Typeface Import
-
-Available as ^^Advanced^^ Property
-
-Text :heavy_minus_sign: Write - DesignerBlocks
-
-Set a custom font.
-
-
-
-### Height
-
-Number :heavy_minus_sign: ReadWrite - Blocks
-
-Specifies the component's vertical height, measured in pixels.
-
-
-
-
-### Height Percent
-
-Number :heavy_minus_sign: Write - Blocks
-
-Specifies the component's vertical height as a percentageof the height of its parent Component.
-
-
-
-### HTML Format
-
-Available as ^^Advanced^^ Property
-
-BooleanDefault: False :heavy_minus_sign: Write - Designer
-
-If true, then this button will show html text else it will show plain text. Note: Not all HTML is supported.
-
-### Image
-
-Text :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Image to display on button.
-
-
-
-
-### Instant
-
-Instantintime :heavy_minus_sign: Read - Blocks
-
-the instant of the date that was last picked using the DatePicker.
-
-
-
-### Month
-
-Number :heavy_minus_sign: Read - Blocks
-
-the number of the Month that was last picked using the DatePicker. Note that months start in 1 = January, 12 = December.
-
-
-
-### Month In Text
-
-Text :heavy_minus_sign: Read - Blocks
-
-Returns the name of the Month that was last picked using the DatePicker, in textual format.
-
-
-
-### Rotation Angle
-
-Available as ^^Advanced^^ Property
-
-NumberDefault: 0.0 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Sets the degrees that the button is rotated around the pivot point. Increasing values result in clockwise rotation.
-
-
-
-
-### Shape
-
-NumberDefault: 0 :heavy_minus_sign: Write - Designer
-
-Specifies the button's shape (default, rounded, rectangular, oval). The shape will not be visible if an Image is being displayed.
-
-### Show Feedback
-
-Available as ^^Advanced^^ Property
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Specifies if a visual feedback should be shown for a button that as an image as background.
-
-
-
-
-### Text
-
-Text :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Text to display on button.
-
-
-
-
-### Text Alignment
-
-NumberDefault: 1 :heavy_minus_sign: Write - Designer
-
-Left, center, or right.
-
-### Text Color
-
-ColorDefault: #FFFFFFFF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Color for button text.
-
-
-
-
-### Touch Color
-
-Available as ^^Advanced^^ Property
-
-ColorDefault: #CCCCCCFF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Set the buttons touch color.
-
-
-
-
-### Visible
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Returns true iff the component is visible.
-
-
-
-
-### Width
-
-Number :heavy_minus_sign: ReadWrite - Blocks
-
-Specifies the component's horizontal width, measured in pixels.
-
-
-
-
-### Width Percent
-
-Number :heavy_minus_sign: Write - Blocks
-
-Specifies the component's horizontal width as a percentageof the Width of its parent Component.
-
-
-
-### Year
-
-Number :heavy_minus_sign: Read - Blocks
-
-the Year that was last picked using the DatePicker
-
-
diff --git a/docs/components/user-interface/floating-action-button.md b/docs/components/user-interface/floating-action-button.md
deleted file mode 100644
index 8ca6e3736..000000000
--- a/docs/components/user-interface/floating-action-button.md
+++ /dev/null
@@ -1,295 +0,0 @@
-# Floating Action Button
-
-{>> Non-Visible component<<}
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**User Interface**|API 21, Android 5.0 Lollipop|2|
-
-## Overview
-
-A non-visible component that is used to create Floating Action Buttons.
-Floating Action Buttons are used to indicate the primary action of the screen.
-
-## Events
-
-### Click
-
-Event to detect that the fab button was clicked.
-
-
-
-### Long Click
-
-Event to detect that the fab button was long clicked.
-
-
-
-## Methods
-
-### Hide
-
-Hides the fab button.
-
-
-
-### Hide Label
-
-Hides text message.
-
-
-
-### Show
-
-Shows the fab button.
-
-
-
-### Show Label
-
-Show a new text message near to the fab with the given properties. You can do the changes with the properties in the advanded category.
-
-
-
-### Start Rotation Animation
-
-Starts a rotation animation. You can use the 'Rotation Duration','Rotation Start Degrees' and 'Rotation End Degrees' to define the animation. This block will work too if the 'Rotation On Click' property is disabled.
-
-
-
-## Properties
-
-### Background Color
-
-ColorDefault: #2196F2FF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Returns the fab's background color.
-
-
-
-
-### Call Fab Click Event When Label Clicked
-
-Available as ^^Advanced^^ Property
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-If true the FAB click listener will be invoked on a text message click.
-
-
-
-
-### Call Fab Long Click Event When Label Long Clicked
-
-Available as ^^Advanced^^ Property
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-If true the FAB long click listener will be invoked on a text message long click.
-
-
-
-
-### Elevation
-
-NumberDefault: 10 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Property for Elevation
-
-
-
-
-### Hide Label When Clicked
-
-Available as ^^Advanced^^ Property
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Hide the text message when clicking on the message
-
-
-
-
-### Hide Label When Long Clicked
-
-Available as ^^Advanced^^ Property
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Hide the text message after a long click on the text message.
-
-
-
-
-### Icon
-
-Text :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The path for the used image in FAB.
-
-
-
-
-### Icon Color
-
-ColorDefault: #FFFFFFFF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The color for the material icon.
-
-
-
-
-### Label Background Color
-
-Available as ^^Advanced^^ Property
-
-ColorDefault: #444444FF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Set the text message background color.
-
-
-
-
-### Label Corner Radius
-
-Available as ^^Advanced^^ Property
-
-NumberDefault: 8 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Set the text message corner radius.
-
-
-
-
-### Label Text
-
-Available as ^^Advanced^^ Property
-
-Text :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Set the text message.
-
-
-
-
-### Label Text Color
-
-Available as ^^Advanced^^ Property
-
-ColorDefault: #FFFFFFFF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Set the text message color.
-
-
-
-
-### Margin Bottom
-
-NumberDefault: 16 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Returns the fab's bottom margin.
-
-
-
-
-### Margin Right
-
-NumberDefault: 16 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Returns right margin
-
-
-
-
-### Material Icon Name
-
-TextDefault: add :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Use a 'Material' icon for the fab without uploading a image resource into your project. You can find the icon name here at https://material.io/resources/icons
-
-
-
-
-### Ripple Color
-
-Available as ^^Advanced^^ Property
-
-ColorDefault: #FFFFFFFF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Returns the fab's ripple color.
-
-
-
-
-### Rotate On Click
-
-Available as ^^Advanced^^ Property
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Returns true if the fab will rotate on click.
-
-
-
-
-### Rotation Duration (millisecond)
-
-Available as ^^Advanced^^ Property
-
-NumberDefault: 300 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Returns the fab's rotation duration in milliseconds.
-
-
-
-
-### Rotation End Degrees
-
-Available as ^^Advanced^^ Property
-
-NumberDefault: 360 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Returns the fab's rotation end degrees.
-
-
-
-
-### Rotation Start Degrees
-
-Available as ^^Advanced^^ Property
-
-NumberDefault: 0 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Returns the fab's rotation start degrees.
-
-
-
-
-### Show Label On Left Side
-
-Available as ^^Advanced^^ Property
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Set the text message to the left side of the floating button. If false the text will be on the right side.
-
-
-
-
-### Size
-
-NumberDefault: 1 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Sets the size of the button. Use '1' for normal, '2' for mini or '3' for auto size based on the screen size.
-
-
-
-
-### Visible
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Returns true if the fab button is visible.
-
-
-
diff --git a/docs/components/user-interface/image.md b/docs/components/user-interface/image.md
deleted file mode 100644
index 35efae9aa..000000000
--- a/docs/components/user-interface/image.md
+++ /dev/null
@@ -1,141 +0,0 @@
-# Image
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**User Interface**|API 21, Android 5.0 Lollipop|6|
-
-## Overview
-
-Component for displaying images. The picture to display, and other aspects of the Image's appearance, can be specified in the Designer or in the Blocks Editor. You can also add gif images.
-
-??? example "Permissions"
- * [android.permission.INTERNET](https://developer.android.com/reference/android/Manifest.permission.html#INTERNET)
- * [android.permission.READ_EXTERNAL_STORAGE](https://developer.android.com/reference/android/Manifest.permission.html#READ_EXTERNAL_STORAGE)
-
-## Events
-
-### Click
-
-Event to detect that a user has done a simple "Click".
-
-
-
-### Long Click
-
-Event to detect that a user has done a simple "Long Click".
-
-
-
-## Methods
-
-### Clear Image Tint Color
-
-Clear the image tint color.
-
-
-
-## Properties
-
-### Animation
-
-Text :heavy_minus_sign: Write - Blocks
-
-This is a limited form of animation that can attach a small number of motion types to images. The allowable motions are ScrollRightSlow, ScrollRight, ScrollRightFast, ScrollLeftSlow, ScrollLeft, ScrollLeftFast, and Stop
-
-
-
-### Clickable
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Set the component clickable or not clickable.
-
-
-
-
-### Height
-
-Number :heavy_minus_sign: ReadWrite - Blocks
-
-Specifies the component's vertical height, measured in pixels.
-
-
-
-
-### Height Percent
-
-Number :heavy_minus_sign: Write - Blocks
-
-Specifies the component's vertical height as a percentageof the height of its parent Component.
-
-
-
-### Image Tint Color
-
-Number :heavy_minus_sign: ReadWrite - Blocks
-
-Change the image tint color. You can use too alpha values if you want with the 'make a list' block. Do not forget to use the 'make color' block together with the 'make a list' block.
-
-
-
-
-### Picture
-
-Text :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Property for Picture
-
-
-
-
-### Rotation Angle
-
-NumberDefault: 0.0 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The angle at which the image picture appears rotated. This rotation does not appear on the designer screen, only on the device.
-
-
-
-
-### Scale Picture To Fit
-
-BooleanDefault: False :heavy_minus_sign: Write - DesignerBlocks
-
-Specifies whether the image should be resized to match the size of the ImageView.
-
-
-
-### Scaling
-
-Number :heavy_minus_sign: ReadWrite - Blocks
-
-This property determines how the picture scales according to the Height or Width of the Image. Scale proportionally (0) preserves the picture aspect ratio. Scale to fit (1) matches the Image area, even if the aspect ratio changes.
-
-
-
-
-### Visible
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Returns true iff the component is visible.
-
-
-
-
-### Width
-
-Number :heavy_minus_sign: ReadWrite - Blocks
-
-Specifies the component's horizontal width, measured in pixels.
-
-
-
-
-### Width Percent
-
-Number :heavy_minus_sign: Write - Blocks
-
-Specifies the component's horizontal width as a percentageof the Width of its parent Component.
-
-
diff --git a/docs/components/user-interface/index.md b/docs/components/user-interface/index.md
deleted file mode 100644
index 35da9a277..000000000
--- a/docs/components/user-interface/index.md
+++ /dev/null
@@ -1,23 +0,0 @@
-# Overview of User Interface
-
-* [Button](button.md)
-* [Checkbox](checkbox.md)
-* [Circular Progress](circular-progress.md)
-* [Custom Progress](custom-progress.md)
-* [Date Picker](date-picker.md)
-* [Floating Action Button](floating-action-button.md)
-* [Image](image.md)
-* [Label](label.md)
-* [Linear Progressbar](linear-progressbar.md)
-* [List Picker](list-picker.md)
-* [Notifier](notifier.md)
-* [Radio Button](radio-button.md)
-* [Rating Bar](rating-bar.md)
-* [Slider](slider.md)
-* [Snackbar](snackbar.md)
-* [Spinner](spinner.md)
-* [Spotlight](spotlight.md)
-* [State Progress Bar](state-progress-bar.md)
-* [Switch](switch.md)
-* [Text Box](text-box.md)
-* [Time Picker](time-picker.md)
\ No newline at end of file
diff --git a/docs/components/user-interface/label.md b/docs/components/user-interface/label.md
deleted file mode 100644
index a24009975..000000000
--- a/docs/components/user-interface/label.md
+++ /dev/null
@@ -1,226 +0,0 @@
-# Label
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**User Interface**|API 21, Android 5.0 Lollipop|10|
-
-## Overview
-
-A Label displays a piece of text, which is specified through the `` Text `` property. Other properties, all of which can be set in the Designer or Blocks Editor, control the appearance and placement of the text.
-
-## Events
-
-### Click
-
-Event to detect that a user has done a simple "Click".
-
-
-
-### Long Click
-
-Event to detect that a user has done a simple "Long Click".
-
-
-
-## Methods
-
-### Set Animation Style
-
-Allows you to set animation style. Valid (case-insensitive) values are: ChasingDots, Circle, CubeGrid, DoubleBounce, FadingCircle, FoldingCube, Pulse, RotatingCircle, RotatingPlane, ThreeBounce, WanderingCubes, Wave. If invalid style is used, animation will be removed.Position can be: top, left, right, bottom. Size can be 100.
-
-
-
-| Params | []() |
-|--------|------|
-|style|Text|
-|position|Text|
-|size|Number|
-|color|Number|
-
-### Set Shadow
-
-Place a blurred shadow of text underneath the text, drawn with the specified x, y, radius, color (e.g. -11, 12, 13, black
-
-
-
-| Params | []() |
-|--------|------|
-|x|Number|
-|y|Number|
-|radius|Number|
-|color|Number|
-
-## Properties
-
-### Background Color
-
-ColorDefault: #FFFFFF00 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Property for BackgroundColor
-
-
-
-
-### Clickable
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Set the component clickable or not clickable.
-
-
-
-
-### Font Bold
-
-BooleanDefault: False :heavy_minus_sign: Write - Designer
-
-Property for FontBold
-
-### Font Italic
-
-BooleanDefault: False :heavy_minus_sign: Write - Designer
-
-Property for FontItalic
-
-### Font Size
-
-NumberDefault: 14.0 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Property for FontSize
-
-
-
-
-### Font Typeface
-
-NumberDefault: 0 :heavy_minus_sign: Write - Designer
-
-Property for FontTypeface
-
-### Font Typeface Import
-
-Available as ^^Advanced^^ Property
-
-Text :heavy_minus_sign: Write - DesignerBlocks
-
-Set a custom font.
-
-
-
-### Has Margins
-
-Available as ^^Advanced^^ Property
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Reports whether or not the label appears with margins. All four margins (left, right, top, bottom) are the same. This property has no effect in the designer, where labels are always shown with margins.
-
-
-
-
-### Height
-
-Number :heavy_minus_sign: ReadWrite - Blocks
-
-Specifies the component's vertical height, measured in pixels.
-
-
-
-
-### Height Percent
-
-Number :heavy_minus_sign: Write - Blocks
-
-Specifies the component's vertical height as a percentageof the height of its parent Component.
-
-
-
-### HTML Format
-
-Available as ^^Advanced^^ Property
-
-BooleanDefault: False :heavy_minus_sign: Write - Designer
-
-If true, then this label will show html text else it will show plain text. Note: Not all HTML is supported.
-
-### Marquee
-
-Available as ^^Advanced^^ Property
-
-BooleanDefault: false :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Property for Marquee
-
-
-
-
-### Max Lines
-
-Available as ^^Advanced^^ Property
-
-NumberDefault: 2147483647 :heavy_minus_sign: Write - DesignerBlocks
-
-Property for MaxLines
-
-
-
-### Rotation Angle
-
-Available as ^^Advanced^^ Property
-
-NumberDefault: 0.0 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Sets the degrees that the label is rotated around the pivot point. Increasing values result in clockwise rotation.
-
-
-
-
-### Text
-
-Text :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Property for Text
-
-
-
-
-### Text Alignment
-
-NumberDefault: 0 :heavy_minus_sign: Write - Designer
-
-Property for TextAlignment
-
-### Text Color
-
-ColorDefault: #000000FF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Property for TextColor
-
-
-
-
-### Visible
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Returns true iff the component is visible.
-
-
-
-
-### Width
-
-Number :heavy_minus_sign: ReadWrite - Blocks
-
-Specifies the component's horizontal width, measured in pixels.
-
-
-
-
-### Width Percent
-
-Number :heavy_minus_sign: Write - Blocks
-
-Specifies the component's horizontal width as a percentageof the Width of its parent Component.
-
-
diff --git a/docs/components/user-interface/linear-progressbar.md b/docs/components/user-interface/linear-progressbar.md
deleted file mode 100644
index 8389281d8..000000000
--- a/docs/components/user-interface/linear-progressbar.md
+++ /dev/null
@@ -1,115 +0,0 @@
-# Linear Progressbar
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**User Interface**|API 21, Android 5.0 Lollipop|1|
-
-## Overview
-
-A visible component that indicates the progress of an operation using an animated linear bar.
-
-## Events
-
-### Progress Changed
-
-Event that indicates that the progress of the progress bar has been changed. Returns the current progress value. If "Indeterminate" is set to true, then it returns "0".
-
-
-
-| Params | []() |
-|--------|------|
-|progress|Number|
-
-## Methods
-
-### Increment Progress By
-
-Increase the progress bar's progress by the specified amount.
-
-
-
-| Params | []() |
-|--------|------|
-|value|Number|
-
-## Properties
-
-### Indeterminate
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Change the indeterminate mode for this progress bar. In indeterminate mode, the progress is ignored and the progress bar shows an infinite animation instead.
-
-
-
-
-### Indeterminate Color
-
-ColorDefault: #2196F2FF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Change the indeterminate color of the progress bar.
-
-
-
-
-### Maximum
-
-NumberDefault: 100 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Set the upper range of the progress bar max.
-
-
-
-
-### Minimum
-
-NumberDefault: 0 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Set the lower range of the progress bar to min. This function works only for devices with API >= 26
-
-
-
-
-### Progress
-
-Number :heavy_minus_sign: ReadWrite - Blocks
-
-Sets the current progress to the specified value. Does not do anything if the progress bar is in indeterminate mode.
-
-
-
-
-### Progress Color
-
-ColorDefault: #2196F2FF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Change the progress color of the progress bar.
-
-
-
-
-### Visible
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Returns true iff the component is visible.
-
-
-
-
-### Width
-
-Number :heavy_minus_sign: ReadWrite - Blocks
-
-Specifies the component's horizontal width, measured in pixels.
-
-
-
-
-### Width Percent
-
-Number :heavy_minus_sign: Write - Blocks
-
-Specifies the component's horizontal width as a percentageof the Width of its parent Component.
-
-
diff --git a/docs/components/user-interface/list-picker.md b/docs/components/user-interface/list-picker.md
deleted file mode 100644
index 80cc365c7..000000000
--- a/docs/components/user-interface/list-picker.md
+++ /dev/null
@@ -1,447 +0,0 @@
-# List Picker
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**User Interface**|API 21, Android 5.0 Lollipop|17|
-
-## Overview
-
-A button that, when clicked on, displays a list of texts for the user to choose among. The texts can be specified through the Designer or Blocks Editor by setting the `` ElementsFromString `` property to their string-separated concatenation (for example, _choice 1, choice 2, choice 3_) or by setting the `` Elements `` property to a List in the Blocks editor.
-
-Setting property ShowFilterBar to true, will make the list searchable. Other properties affect the appearance of the button (`` TextAlignment ``, `` BackgroundColor ``, etc.) and whether it can be clicked on (`` Enabled ``).
-
-??? example "Permissions"
- * [android.permission.INTERNET](https://developer.android.com/reference/android/Manifest.permission.html#INTERNET)
-
-## Events
-
-### After Picking
-
-Event to be raised after the picker activity returns itsresult and the properties have been filled in.
-
-
-
-| Params | []() |
-|--------|------|
-|selection|Text|
-
-### Before Picking
-
-Event to raise when the button of the component is clicked or the list is shownusing the Open block. This event occurs before the list of items is displayed, andcan be used to prepare the list before it is shown.
-
-
-
-### Got Focus
-
-Indicates the cursor moved over the button so it is now possible to click it.
-
-
-
-### Lost Focus
-
-Indicates the cursor moved away from the button so it is now no longer possible to click it.
-
-
-
-### Touch Down
-
-Indicates that the button was pressed down.
-
-
-
-### Touch Up
-
-Indicates that a button has been released.
-
-
-
-## Methods
-
-### Button Click
-
-Perform a button click as function.
-
-
-
-### Open
-
-Opens the picker, as though the user clicked on it.
-
-
-
-### Set Animation Style
-
-Allows you to set animation style. Valid (case-insensitive) values are: ChasingDots, Circle, CubeGrid, DoubleBounce, FadingCircle, FoldingCube, Pulse, RotatingCircle, RotatingPlane, ThreeBounce, WanderingCubes, Wave. If invalid style is used, animation will be removed.Position can be: top, left, right, bottom. Size can be 100.
-
-
-
-| Params | []() |
-|--------|------|
-|style|Text|
-|position|Text|
-|size|Number|
-|color|Number|
-
-### Set Shadow
-
-Place a blurred shadow of text underneath the text, drawn with the specified x, y, radius, color (e.g. -11, 12, 13, black.
-
-
-
-| Params | []() |
-|--------|------|
-|x|Number|
-|y|Number|
-|radius|Number|
-|color|Number|
-
-### With Icon From Font Awesome
-
-Show an image on the given position near to the button. You can use following words for the position: 'Left', 'Right', 'Top' or 'Bottom'. Use the padding to add space between the icon and text. Use a 'FontAwesome' icon as the button icon without uploading a image resource into your project. You can find the icon code here at https://fontawesome.com/cheatsheet Use as example for a heart icon just 'f004' or ''
-
-
-
-| Params | []() |
-|--------|------|
-|position|Text|
-|icon Name|Text|
-|icon Color|Number|
-|padding|Number|
-|size|Number|
-
-### With Icon From Material Font
-
-Show an image on the given position near to the button. You can use following words for the position: 'Left', 'Right', 'Top' or 'Bottom'. Use the padding to add space between the icon and text. Use a 'Material' icon as the button icon without uploading a image resource into your project. You can find the icon name here at https://material.io/resources/icons
-
-
-
-| Params | []() |
-|--------|------|
-|position|Text|
-|icon Name|Text|
-|icon Color|Number|
-|padding|Number|
-|size|Number|
-
-### With Icon From Picture
-
-Show an image on the given position near to the button. You can use following words for the position: 'Left', 'Right', 'Top' or 'Bottom'. Use the padding to add space between the icon and text.
-
-
-
-| Params | []() |
-|--------|------|
-|position|Text|
-|picture|Text|
-|padding|Number|
-|width|Number|
-|height|Number|
-
-## Properties
-
-### Background Color
-
-ColorDefault: #444444FF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Returns the button's background color
-
-
-
-
-### Border Shadow
-
-Available as ^^Advanced^^ Property
-
-BooleanDefault: True :heavy_minus_sign: Write - Designer
-
-Returns true if the button have a outside border shadow on click.
-
-### Elements
-
-List :heavy_minus_sign: ReadWrite - Blocks
-
-Elements property getter method
-
-
-
-
-### Elements From String
-
-Text :heavy_minus_sign: Write - DesignerBlocks
-
-ElementsFromString property setter method
-
-
-
-### Enabled
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-If set, user can tap check box to cause action.
-
-
-
-
-### Font Bold
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-If set, button text is displayed in bold.
-
-
-
-
-### Font Italic
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-If set, button text is displayed in italics.
-
-
-
-
-### Font Size
-
-NumberDefault: 14.0 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Point size for button text.
-
-
-
-
-### Font Typeface
-
-NumberDefault: 0 :heavy_minus_sign: Write - Designer
-
-Font family for button text.
-
-### Font Typeface Import
-
-Available as ^^Advanced^^ Property
-
-Text :heavy_minus_sign: Write - DesignerBlocks
-
-Set a custom font.
-
-
-
-### Height
-
-Number :heavy_minus_sign: ReadWrite - Blocks
-
-Specifies the component's vertical height, measured in pixels.
-
-
-
-
-### Height Percent
-
-Number :heavy_minus_sign: Write - Blocks
-
-Specifies the component's vertical height as a percentageof the height of its parent Component.
-
-
-
-### HTML Format
-
-Available as ^^Advanced^^ Property
-
-BooleanDefault: False :heavy_minus_sign: Write - Designer
-
-If true, then this button will show html text else it will show plain text. Note: Not all HTML is supported.
-
-### Image
-
-Text :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Image to display on button.
-
-
-
-
-### Item Background Color
-
-ColorDefault: #000000FF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The background color of the ListPicker items.
-
-
-
-
-### Item Text Color
-
-ColorDefault: #FFFFFFFF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The text color of the ListPicker items.
-
-
-
-
-### Rotation Angle
-
-Available as ^^Advanced^^ Property
-
-NumberDefault: 0.0 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Sets the degrees that the button is rotated around the pivot point. Increasing values result in clockwise rotation.
-
-
-
-
-### Selection
-
-Text :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The selected item. When directly changed by the programmer, the SelectionIndex property is also changed to the first item in the ListPicker with the given value. If the value does not appear, SelectionIndex will be set to 0.
-
-
-
-
-### Selection Index
-
-Number :heavy_minus_sign: ReadWrite - Blocks
-
-The index of the currently selected item, starting at 1. If no item is selected, the value will be 0. If an attempt is made to set this to a number less than 1 or greater than the number of items in the ListPicker, SelectionIndex will be set to 0, and Selection will be set to the empty text.
-
-
-
-
-### Shape
-
-NumberDefault: 0 :heavy_minus_sign: Write - Designer
-
-Specifies the button's shape (default, rounded, rectangular, oval). The shape will not be visible if an Image is being displayed.
-
-### Show Feedback
-
-Available as ^^Advanced^^ Property
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Specifies if a visual feedback should be shown for a button that as an image as background.
-
-
-
-
-### Show Filter Bar
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Returns current state of ShowFilterBar indicating if Search Filter Bar will be displayed on ListPicker or not
-
-
-
-
-### Status Bar Color
-
-Available as ^^Advanced^^ Property
-
-ColorDefault: #2196F2FF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The StatusBarColor of the ListPicker.
-
-
-
-
-### Status Bar Visible
-
-Available as ^^Advanced^^ Property
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Whether to show status bar
-
-
-
-
-### Text
-
-Text :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Text to display on button.
-
-
-
-
-### Text Alignment
-
-NumberDefault: 1 :heavy_minus_sign: Write - Designer
-
-Left, center, or right.
-
-### Text Color
-
-ColorDefault: #FFFFFFFF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Color for button text.
-
-
-
-
-### Title
-
-Text :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Optional title displayed at the top of the list of choices.
-
-
-
-
-### Title Bar Color
-
-Available as ^^Advanced^^ Property
-
-ColorDefault: #03A9F3FF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The TitleBarColor of the ListPicker.
-
-
-
-
-### Title Visible
-
-Available as ^^Advanced^^ Property
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Whether to show title bar
-
-
-
-
-### Touch Color
-
-Available as ^^Advanced^^ Property
-
-ColorDefault: #CCCCCCFF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Set the buttons touch color.
-
-
-
-
-### Visible
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Returns true iff the component is visible.
-
-
-
-
-### Width
-
-Number :heavy_minus_sign: ReadWrite - Blocks
-
-Specifies the component's horizontal width, measured in pixels.
-
-
-
-
-### Width Percent
-
-Number :heavy_minus_sign: Write - Blocks
-
-Specifies the component's horizontal width as a percentageof the Width of its parent Component.
-
-
diff --git a/docs/components/user-interface/notifier.md b/docs/components/user-interface/notifier.md
deleted file mode 100644
index a22b8d4d1..000000000
--- a/docs/components/user-interface/notifier.md
+++ /dev/null
@@ -1,609 +0,0 @@
-# Notifier
-
-{>> Non-Visible component<<}
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**User Interface**|API 21, Android 5.0 Lollipop|11|
-
-## Overview
-
-The Notifier component displays alert dialogs, messages, and temporary alerts, and creates Android log entries through the following methods:
-
-* ShowMessageDialog: displays a message which the user must dismiss by pressing a button.
-* ShowChooseDialog: displays a message two buttons to let the user choose one of two responses, for example, yes or no, after which the AfterChoosing event is raised.
-* ShowTextDialog: lets the user enter text in response to the message, after which the AfterTextInput event is raised.
ShowPasswordDialog: lets the user enter password in response to the message, after which the AfterTextInput event is raised.
ShowAlert: displays a temporary alert that goes away by itself after a short time.
ShowProgressDialog: displays an alert with a loading spinner that cannot be dismissed by the user. It can only be dismissed by using the DismissProgressDialog block.
CustomMessageDialog: New version to display dialogs with icon and in fullscreen mode.
CustomChooseDialog: New version to display choose dialogs with icon and in fullscreen mode.
LightTheme: To display the dialogs in a light or dark theme.
ShowLightbox: Displays a png or gif file from assets or from web url in a dialog.
ShowLinearProgress: Shows a progress dialog with a horizontal progress bar.
ShowSpinningProgress: Shows a spinning progress dialog.
UpdateProgress: Change the current value of the linear progress dialog.
ShowRadioListDialog: Shows a radio list dialog with a list of options.
ShowCheckboxListDialog: Shows a picker dialog with a list of options.
ShowListPicker: Shows a list picker dialog.
ShowTextInputDialog: Show a text input dialog.
ShowImageDialog: Show a image dialog. Animation types like "*.gif" are not supported.
ShowNumberPicker: Shows a number picker dialog that enables the user to select a number from a predefined range.
ShowWordPicker: Shows a word picker dialog that enables the user to select a number from a predefined word.
DismissProgressDialog: Dismisses the progress dialog displayed by ShowProgressDialog.
DismissSpinningProgress: Dismisses the progress dialog displayed by ShowSpinningProgress.
DismissLinearProgress: Dismisses the progress dialog displayed by ShowLinearProgress.
LogError: logs an error message to the Android log.
LogInfo: logs an info message to the Android log.
LogWarning: logs a warning message to the Android log.
The messages in the dialogs can be formatted using the following HTML tags:<b>, <big>, <blockquote>, <br>, <cite>, <dfn>, <div>, <em>, <small>, <strong>, <sub>, <sup>, <tt>. <u>
You can also use the font tag to specify color, for example, <font color="blue">. Some of the available color names are aqua, black, blue, fuchsia, green, grey, lime, maroon, navy, olive, purple, red, silver, teal, white, and yellow
-
-??? example "Permissions"
- * [android.permission.INTERNET](https://developer.android.com/reference/android/Manifest.permission.html#INTERNET)
-
-## Events
-
-### After Choosing
-
-Event to detect that a user have done his selection.
-
-
-
-| Params | []() |
-|--------|------|
-|choice|Text|
-
-### After Message Dialog
-
-Event to detect that a user clicked on a button from the "Show Custom Message Dialog". Use the "title" response to know which dialog the user has clicked.
-
-
-
-| Params | []() |
-|--------|------|
-|title|Text|
-
-### After Text Input
-
-Event to detect that a user have done his text input in the "Show Text Dialog".
-
-
-
-| Params | []() |
-|--------|------|
-|response|Text|
-
-### Checkbox Selection
-
-Invoked after user has finished selecting items from the Checkbox picker. Returns a list of indices of the selected items in the order of selection. Returns a list having -1 if cancel was pressed.
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-|selection|List|
-
-### Custom Dialog Selection
-
-Event to detect that the user has pressed a button from the custom dialog. It returns then the text of the button that was pressed.
-
-
-
-| Params | []() |
-|--------|------|
-|selection|Text|
-
-### Got Custom Choose Dialog
-
-Event to detect that a user have done his selection in the CustomChooseDialog.
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-|choice|Text|
-
-### Got Text Input From Dialog
-
-Event to detect that a user have done his text input in the "Show Text Input Dialog".
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-|response|Text|
-
-### Image Dialog Closed
-
-Event to detect that the user has watched the image dialog.
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-
-### Lightbox Closed
-
-Event to detect that a user have closed the Lightbox.
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-
-### Linear Progress Dismissed
-
-Event to detect that the linear progress dialog was dismissed.
-
-
-
-### List Picker Selection
-
-Event to get the picked list selection from the List Picker.
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-|item|Text|
-
-### Number Picker Selection
-
-Event to detect that the user has selected a number from the number picker dialog.
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-|selection|Number|
-
-### Radio Selection
-
-Event invoked when user has selected an option from the radio button picker. Outputs the index of the selected item. Returns -1 if cancel was pressed.
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-|list Index|Number|
-
-### Word Picker Selection
-
-Event to detect that the user has selected a word from the word picker dialog.
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-|selection|Text|
-
-## Methods
-
-### Create Custom Dialog
-
-Show whatever you want in a dialog. You can use as example arrangements, or images or whatever you want. Your chosen layout will be then removed from the screen and only visible in custom dialog. You can use the "Light Theme" property to have a light or dark background. Or you enable "Use Background Color" property to use the background color property as background dialog color. Please make sure the layout you want to use is visible.
-
-
-
-| Params | []() |
-|--------|------|
-|component|Component|
-|title|Text|
-|button Text|Text|
-|cancel Button Text|Text|
-|cancelable|Boolean|
-
-### Custom Choose Dialog
-
-Shows a dialog box with two buttons, from which the user can choose. If cancelable is true there will be an additional CANCEL button. Pressing a button will raise the GotCustomChooseDialog event. The "choice" parameter to GotCustomChooseDialog will be the text on the button that was pressed, or "Cancel" if the CANCEL button was pressed. You can use the "Light Theme" property to have a light or dark background. Or you enable "Use Background Color" property to use the background color property as background dialog color. Use the 'Show Custom Dialog' block to the show the created custom dialog. The added component must be visible on screen. After you used this block here it will be removed automatic from screen and will be only visible again after you have shown the custom dialog.
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-|message|Text|
-|title|Text|
-|button1 Text|Text|
-|button2 Text|Text|
-|cancel Button Text|Text|
-|icon|Text|
-|cancelable|Boolean|
-|fullscreen|Boolean|
-
-### Custom Message Dialog
-
-Show a Message Dialog. You can use the "Light Theme" property to have a light or dark background. Or you enable "Use Background Color" property to use the background color property as background dialog color.
-
-
-
-| Params | []() |
-|--------|------|
-|message|Text|
-|title|Text|
-|button Text|Text|
-|icon|Text|
-|fullscreen|Boolean|
-
-### Dismiss Custom Dialog
-
-Use this block to dismiss the created custom dialog.the custom dialog.
-
-
-
-### Dismiss Linear Progress
-
-Dismiss a previously displayed LinearProgress box
-
-
-
-### Dismiss Progress Dialog
-
-Dismiss a previously displayed ProgressDialog box
-
-
-
-### Dismiss Spinning Progress
-
-Dismiss a previously displayed SpinningProgress box
-
-
-
-### Log Error
-
-Writes an error message to the Android system log. See the Google Android documentation for how to access the log.
-
-
-
-| Params | []() |
-|--------|------|
-|message|Text|
-
-### Log Info
-
-Writes an information message to the Android log.
-
-
-
-| Params | []() |
-|--------|------|
-|message|Text|
-
-### Log Warning
-
-Writes a warning message to the Android log. See the Google Android documentation for how to access the log.
-
-
-
-| Params | []() |
-|--------|------|
-|message|Text|
-
-### Show Alert
-
-Show a alert "toast" message.
-
-
-
-| Params | []() |
-|--------|------|
-|notice|Text|
-
-### Show Checkbox List Dialog
-
-Shows a picker dialog with a list of options of whichmore than one can be chosen. Invokes the 'AfterMultiSelection' event. You can use the "Light Theme" property to have a light or dark background. Or you enable "Use Background Color" property to use the background color property as background dialog color.
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-|title|Text|
-|options|List|
-|button Text|Text|
-|cancel Button Text|Text|
-|cancelable|Boolean|
-|icon|Text|
-|fullscreen|Boolean|
-
-### Show Choose Dialog
-
-Shows a dialog box with two buttons, from which the user can choose. If cancelable is true there will be an additional CANCEL button. Pressing a button will raise the AfterChoosing event. The "choice" parameter to AfterChoosing will be the text on the button that was pressed, or "Cancel" if the CANCEL button was pressed.
-
-
-
-| Params | []() |
-|--------|------|
-|message|Text|
-|title|Text|
-|button1 Text|Text|
-|button2 Text|Text|
-|cancelable|Boolean|
-
-### Show Custom Dialog
-
-Show the custom dialog. Dont forget that you have first to create the custom dialog.
-
-
-
-### Show Image Dialog
-
-Show a image dialog. Animation types like "*.gif" are not supported. You can use the "Light Theme" property to have a light or dark background. Or you enable "Use Background Color" property to use the background color property as background dialog color.
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-|title|Text|
-|image|Text|
-|button Text|Text|
-
-### Show Lightbox
-
-Displays a lightbox. You can use images like "*.png" or "*,gif" from assets folder or from a web url.
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-|image|Text|
-
-### Show Linear Progress
-
-Shows a progress dialog with a horizontal progress bar. Can be dismissed by user if 'cancelable' is set to true. If indeterminate is true, maxValue and the 'UpdateProgress' method will have no effect. You can use the "Light Theme" property to have a light or dark background. Or you enable "Use Background Color" property to use the background color property as background dialog color.
-
-
-
-| Params | []() |
-|--------|------|
-|message|Text|
-|title|Text|
-|cancelable|Boolean|
-|indeterminate|Boolean|
-|max Value|Number|
-|icon|Text|
-
-### Show List Picker
-
-Shows a list picker dialog. You can use the "Light Theme" property to have a light or dark background. Or you enable "Use Background Color" property to use the background color property as background dialog color.
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-|title|Text|
-|items List|List|
-|icon|Text|
-|fullscreen|Boolean|
-
-### Show Message Dialog
-
-Show a Message Dialog.
-
-
-
-| Params | []() |
-|--------|------|
-|message|Text|
-|title|Text|
-|button Text|Text|
-
-### Show Number Picker
-
-Shows a number picker dialog that enables the user to select a number from a predefined range. You can use the "Use Background Color" property to use the background color property as background dialog color.
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-|title|Text|
-|button Text|Text|
-|cancel Button Text|Text|
-|min Value|Number|
-|max Value|Number|
-|start Value|Number|
-
-### Show Password Dialog
-
-Shows a dialog box where the user can enter password (input is masked), after which the AfterTextInput event will be raised. If cancelable is true there will be an additional CANCEL button. Entering password will raise the AfterTextInput event. The "response" parameter to AfterTextInput will be the entered password, or "Cancel" if CANCEL button was pressed.
-
-
-
-| Params | []() |
-|--------|------|
-|message|Text|
-|title|Text|
-|cancelable|Boolean|
-
-### Show Progress Dialog
-
-Shows a dialog box with an optional title and message (use empty strings if they are not wanted). This dialog box contains a spinning artifact to indicate that the program is working. It cannot be canceled by the user but must be dismissed by the App Inventor Program by using the DismissProgressDialog block.
-
-
-
-| Params | []() |
-|--------|------|
-|message|Text|
-|title|Text|
-
-### Show Radio List Dialog
-
-Shows a radio list dialog with a list of options of which only one can be chosen. You can use the "Light Theme" property to have a light or dark background. Or you enable "Use Background Color" property to use the background color property as background dialog color.
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-|title|Text|
-|options|List|
-|choose Button Text|Text|
-|cancelable|Boolean|
-|cancel Button Text|Text|
-|selection|Number|
-|icon|Text|
-|fullscreen|Boolean|
-
-### Show Spinning Progress
-
-Shows a spinning progress dialog which can be dismissed by the user if 'cancelable' is set to true. You can use the "Light Theme" property to have a light or dark background. Or you enable "Use Background Color" property to use the background color property as background dialog color.
-
-
-
-| Params | []() |
-|--------|------|
-|message|Text|
-|title|Text|
-|cancelable|Boolean|
-|icon|Text|
-
-### Show Text Dialog
-
-Shows a dialog box where the user can enter text, after which the AfterTextInput event will be raised. If cancelable is true there will be an additional CANCEL button. Entering text will raise the AfterTextInput event. The "response" parameter to AfterTextInput will be the text that was entered, or "Cancel" if the CANCEL button was pressed.
-
-
-
-| Params | []() |
-|--------|------|
-|message|Text|
-|title|Text|
-|cancelable|Boolean|
-
-### Show Text Input Dialog
-
-Show a text input dialog. Possible input types are: "1= Normal text", "2= Password text", "3= Person name", "4= Email adress", "5|6= Number", "7= Password number" or "8= datetime". You can use the "Light Theme" property to have a light or dark background. Or you enable "Use Background Color" property to use the background color property as background dialog color.
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-|title|Text|
-|default Text|Text|
-|icon|Text|
-|hint|Text|
-|fullscreen|Boolean|
-|cancelable|Boolean|
-|input Type|Number|
-|button Text|Text|
-|cancel Button Text|Text|
-|text Color|Number|
-|hint Color|Number|
-
-### Show Word Picker
-
-Shows a word picker dialog that enables the user to select a number from a predefined word. You can use the "Use Background Color" property to use the background color property as background dialog color.
-
-
-
-| Params | []() |
-|--------|------|
-|id|Number|
-|title|Text|
-|button Text|Text|
-|cancel Button Text|Text|
-|items List|List|
-
-### Update Progress
-
-Change the current value of the linear progress dialog. Has no effect if "indeterminate" is set to true.
-
-
-
-| Params | []() |
-|--------|------|
-|value|Number|
-
-## Properties
-
-### Background Color
-
-ColorDefault: #444444FF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Specifies the background color for alerts (not dialogs).
-
-
-
-
-### Dim Amount
-
-Available as ^^Advanced^^ Property
-
-NumberDefault: 0.5 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Set the amount of dim behind the dialog window. Use '0.0' for no dim and '1.0' for full dim.
-
-
-
-
-### Light Theme
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Gets the current theme
-
-
-
-
-### Linkify
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-If set to true will attempt to make text clickable where possible; e.g. hyperlinks, phone numbers. Can not be used for Progress Dialogs.
-
-
-
-
-### Notifier Length
-
-NumberDefault: 1 :heavy_minus_sign: Write - Designer
-
-specifies the length of time that the alert is shown -- either "short" or "long".
-
-### Text Color
-
-ColorDefault: #FFFFFFFF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Specifies the text color for alerts or for dialogs message.
-
-
-
-
-### Text Font Typeface
-
-NumberDefault: 0 :heavy_minus_sign: Write - Designer
-
-Property for TextFontTypeface
-
-### Text Font Typeface Import
-
-Available as ^^Advanced^^ Property
-
-Text :heavy_minus_sign: Write - DesignerBlocks
-
-Set a custom font.
-
-
-
-### Title Color
-
-ColorDefault: #FFFFFFFF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Specifies the title text color for dialogs.
-
-
-
-
-### Title Font Typeface
-
-NumberDefault: 0 :heavy_minus_sign: Write - Designer
-
-Property for TitleFontTypeface
-
-### Title Font Typeface Import
-
-Available as ^^Advanced^^ Property
-
-Text :heavy_minus_sign: Write - DesignerBlocks
-
-Set a custom font.
-
-
-
-### Use Background Color
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-If enabled the dialog will use the color from the "Background Color"-option. Else it will use the theme (light or dark).
-
-
-
diff --git a/docs/components/user-interface/radio-button.md b/docs/components/user-interface/radio-button.md
deleted file mode 100644
index 2e1f45160..000000000
--- a/docs/components/user-interface/radio-button.md
+++ /dev/null
@@ -1,162 +0,0 @@
-# Radio Button
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**User Interface**|API 21, Android 5.0 Lollipop|2|
-
-## Overview
-
-A visible component that lets the user toggle between two states — checked and unchecked. Only one Radio Button in a group of Radio Buttons can be checked at any given time.
-
-## Events
-
-### Changed
-
-Event invoked when the radio button state has been changed.
-
-
-
-| Params | []() |
-|--------|------|
-|checked|Boolean|
-
-## Methods
-
-### Toggle
-
-Change the checked state of the view to the inverse of its current state
-
-
-
-## Properties
-
-### Checked
-
-BooleanDefault: False :heavy_minus_sign: Write - DesignerBlocks
-
-Set the radio button to checked or unchecked
-
-
-
-### Enabled
-
-BooleanDefault: True :heavy_minus_sign: Write - DesignerBlocks
-
-If set, user can touch the radio button.
-
-
-
-### Font Bold
-
-BooleanDefault: False :heavy_minus_sign: Write - Designer
-
-Property for FontBold
-
-### Font Italic
-
-BooleanDefault: False :heavy_minus_sign: Write - Designer
-
-Property for FontItalic
-
-### Font Size
-
-NumberDefault: 14.0 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The text size of the radio button.
-
-
-
-
-### Font Typeface
-
-NumberDefault: 0 :heavy_minus_sign: Write - Designer
-
-Property for FontTypeface
-
-### Font Typeface Import
-
-Available as ^^Advanced^^ Property
-
-Text :heavy_minus_sign: Write - DesignerBlocks
-
-Set a custom font.
-
-
-
-### Height
-
-Number :heavy_minus_sign: ReadWrite - Blocks
-
-Specifies the component's vertical height, measured in pixels.
-
-
-
-
-### Height Percent
-
-Number :heavy_minus_sign: Write - Blocks
-
-Specifies the component's vertical height as a percentageof the height of its parent Component.
-
-
-
-### is Checked
-
-Boolean :heavy_minus_sign: Read - Blocks
-
-Returns true if the radio button is checked, else false.
-
-
-
-### Radio Button Color
-
-ColorDefault: #000000FF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Change the radio button component color.
-
-
-
-
-### Text
-
-TextDefault: Radio Button Text :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Set here the radio button text.
-
-
-
-
-### Text Color
-
-ColorDefault: #000000FF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Set the text color for the radio button.
-
-
-
-
-### Visible
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Returns true iff the component is visible.
-
-
-
-
-### Width
-
-Number :heavy_minus_sign: ReadWrite - Blocks
-
-Specifies the component's horizontal width, measured in pixels.
-
-
-
-
-### Width Percent
-
-Number :heavy_minus_sign: Write - Blocks
-
-Specifies the component's horizontal width as a percentageof the Width of its parent Component.
-
-
diff --git a/docs/components/user-interface/rating-bar.md b/docs/components/user-interface/rating-bar.md
deleted file mode 100644
index 11153c63b..000000000
--- a/docs/components/user-interface/rating-bar.md
+++ /dev/null
@@ -1,106 +0,0 @@
-# Rating Bar
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**User Interface**|API 21, Android 5.0 Lollipop|1|
-
-## Overview
-
-A visible component that lets the user submit a star rating.
-
-## Events
-
-### Changed
-
-Event invoked when the rating has been changed.
-
-
-
-| Params | []() |
-|--------|------|
-|rating|Number|
-
-## Properties
-
-### Background Color
-
-ColorDefault: #9E9E9EFF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Change the background color of the star.
-
-
-
-
-### Get Number Of Stars
-
-Number :heavy_minus_sign: Read - Blocks
-
-Returns the number of stars shown.
-
-
-
-### Get Rating
-
-Number :heavy_minus_sign: Read - Blocks
-
-Gets the current rating (number of stars filled).
-
-
-
-### Get Step Size
-
-Number :heavy_minus_sign: Read - Blocks
-
-Gets the step size (granularity) of this rating bar.
-
-
-
-### Is Indicator
-
-BooleanDefault: False :heavy_minus_sign: Write - DesignerBlocks
-
-Whether this rating bar should only be an indicator (thus non-changeable by the user).
-
-
-
-### Set Number Of Stars
-
-NumberDefault: 5 :heavy_minus_sign: Write - DesignerBlocks
-
-Sets the number of stars to show.
-
-
-
-### Set Rating
-
-Number :heavy_minus_sign: Write - Blocks
-
-Sets the rating (the number of stars filled).
-
-
-
-### Set Step Size
-
-NumberDefault: .5 :heavy_minus_sign: Write - DesignerBlocks
-
-Sets the step size (granularity) of this rating bar.
-
-
-
-### Star Color
-
-ColorDefault: #F34336FF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Change the color of the star.
-
-
-
-
-### Visible
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Returns true iff the component is visible.
-
-
-
diff --git a/docs/components/user-interface/slider.md b/docs/components/user-interface/slider.md
deleted file mode 100644
index b38729663..000000000
--- a/docs/components/user-interface/slider.md
+++ /dev/null
@@ -1,143 +0,0 @@
-# Slider
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**User Interface**|API 21, Android 5.0 Lollipop|5|
-
-## Overview
-
-A Slider is a progress bar that adds a draggable thumb. You can touch the thumb and drag left or right to set the slider thumb position. As the Slider thumb is dragged, it will trigger the PositionChanged event, reporting the position of the Slider thumb. The reported position of the Slider thumb can be used to dynamically update another component attribute, such as the font size of a TextBox or the radius of a Ball.
-
-## Events
-
-### Position Changed
-
-Indicates that position of the slider thumb has changed.
-
-
-
-| Params | []() |
-|--------|------|
-|thumb Position|Number|
-
-### Touch Down
-
-Event will be invoked on a touch down.
-
-
-
-### Touch Up
-
-Event will be invoked on a touch up.
-
-
-
-## Properties
-
-### Color Left
-
-ColorDefault: #00BCD3FF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The color of slider to the left of the thumb.
-
-
-
-
-### Color Right
-
-ColorDefault: #9E9E9EFF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The color of slider to the left of the thumb.
-
-
-
-
-### Max Value
-
-NumberDefault: 50.0 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Sets the maximum value of slider. Changing the maximum value also resets Thumbposition to be halfway between the minimum and the (new) maximum. If the new maximum is less than the current minimum, then minimum and maximum will both be set to this value. Setting MaxValue resets the thumb position to halfway between MinValue and MaxValue and signals the PositionChanged event.
-
-
-
-
-### Min Value
-
-NumberDefault: 10.0 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Sets the minimum value of slider. Changing the minimum value also resets Thumbposition to be halfway between the (new) minimum and the maximum. If the new minimum is greater than the current maximum, then minimum and maximum will both be set to this value. Setting MinValue resets the thumb position to halfway between MinValue and MaxValue and signals the PositionChanged event.
-
-
-
-
-### Rotation Angle
-
-Available as ^^Advanced^^ Property
-
-NumberDefault: 0.0 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Sets the degrees that the slider is rotated around the pivot point. Increasing values result in clockwise rotation.
-
-
-
-
-### Thumb Color
-
-ColorDefault: #00BCD3FF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The color of slider thumb. This block works only on devices with api >= 16.
-
-
-
-
-### Thumb Enabled
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Sets whether or not to display the slider thumb.
-
-
-
-
-### Thumb Image
-
-Available as ^^Advanced^^ Property
-
-Text :heavy_minus_sign: Write - Designer
-
-Property for ThumbImage
-
-### Thumb Position
-
-NumberDefault: 30.0 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Sets the position of the slider thumb. If this value is greater than MaxValue, then it will be set to same value as MaxValue. If this value is less than MinValue, then it will be set to same value as MinValue.
-
-
-
-
-### Visible
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Returns true iff the component is visible.
-
-
-
-
-### Width
-
-Number :heavy_minus_sign: ReadWrite - Blocks
-
-Specifies the component's horizontal width, measured in pixels.
-
-
-
-
-### Width Percent
-
-Number :heavy_minus_sign: Write - Blocks
-
-Specifies the component's horizontal width as a percentageof the Width of its parent Component.
-
-
diff --git a/docs/components/user-interface/snackbar.md b/docs/components/user-interface/snackbar.md
deleted file mode 100644
index 6a55bd110..000000000
--- a/docs/components/user-interface/snackbar.md
+++ /dev/null
@@ -1,107 +0,0 @@
-# Snackbar
-
-{>> Non-Visible component<<}
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**User Interface**|API 21, Android 5.0 Lollipop|4|
-
-## Overview
-
-A non-visible component that displays an alert at the bottom of the screen.
-
-## Events
-
-### Click
-
-User clicked on the action button.
-
-
-
-### On Dismissed
-
-Event to detect the snackbar was dismissed. Possible results can be: "UNDEFINED", "ACTION", "CONSECUTIVE", "MANUAL", "SWIPE" or "TIMEOUT". You can find more information at: https://developer.android.com/reference/android/support/design/widget/Snackbar.Callback.html
-
-
-
-| Params | []() |
-|--------|------|
-|event|Text|
-
-### On Shown
-
-Event to detect the snackbar is shown.
-
-
-
-## Methods
-
-### Dismiss
-
-Dismiss the snackbar.
-
-
-
-### Is Shown
-
-Returns: Boolean
-
-Returns true whether this snackbar is currently being shown.
-
-
-
-### Show
-
-Show Snackbar (message supports HTML formatting)
-
-
-
-| Params | []() |
-|--------|------|
-|message|Text|
-
-### Show With Button
-
-Show Snackbar with action button (message supports HTML formatting)
-
-
-
-| Params | []() |
-|--------|------|
-|message|Text|
-|button Text|Text|
-
-## Properties
-
-### Background Color
-
-ColorDefault: #444444FF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Specifies the snackbar's background color.
-
-
-
-
-### Button Text Color
-
-ColorDefault: #FFFFFFFF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Specifies the action button's text color.
-
-
-
-
-### Duration
-
-NumberDefault: 0 :heavy_minus_sign: Write - Designer
-
-Specifies the length of time that the Snackbar is shown
-
-### Text Color
-
-ColorDefault: #FFFFFFFF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Property for TextColor
-
-
-
diff --git a/docs/components/user-interface/spinner.md b/docs/components/user-interface/spinner.md
deleted file mode 100644
index e34fb2e9a..000000000
--- a/docs/components/user-interface/spinner.md
+++ /dev/null
@@ -1,215 +0,0 @@
-# Spinner
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**User Interface**|API 21, Android 5.0 Lollipop|3|
-
-## Overview
-
-A spinner component that displays a pop-up with a list of elements. These elements can be set in the Designer or Blocks Editor by setting the`` ElementsFromString `` property to a string-separated concatenation (for example, _choice 1, choice 2, choice 3_) or by setting the `` Elements `` property to a List in the Blocks editor. Spinners are created with the first item already selected. So selecting it does not generate an After Picking event. Consequently it's useful to make the first Spinner item be a non-choice like "Select from below...".
-
-## Events
-
-### After Selecting
-
-Event called after the user selects an item from the dropdown list.
-
-
-
-| Params | []() |
-|--------|------|
-|selection|Text|
-
-## Methods
-
-### Display Dropdown
-
-displays the dropdown list for selection, same action as when the user clicks on the spinner.
-
-
-
-## Properties
-
-### Elements
-
-List :heavy_minus_sign: ReadWrite - Blocks
-
-returns a list of text elements to be picked from.
-
-
-
-
-### Elements From String
-
-TextDefault: Item1, Item2, Item3 :heavy_minus_sign: Write - DesignerBlocks
-
-Sets the Spinner list to the elements passed in the comma-separated string.
-
-
-
-### Font Bold
-
-BooleanDefault: False :heavy_minus_sign: Write - Designer
-
-Property for FontBold
-
-### Font Italic
-
-BooleanDefault: False :heavy_minus_sign: Write - Designer
-
-Property for FontItalic
-
-### Font Size
-
-NumberDefault: 18 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The text size of the spinner items.
-
-
-
-
-### Font Typeface
-
-NumberDefault: 0 :heavy_minus_sign: Write - Designer
-
-Property for FontTypeface
-
-### Font Typeface Import
-
-Available as ^^Advanced^^ Property
-
-Text :heavy_minus_sign: Write - DesignerBlocks
-
-Set a custom font.
-
-
-
-### Height
-
-Number :heavy_minus_sign: ReadWrite - Blocks
-
-Specifies the component's vertical height, measured in pixels.
-
-
-
-
-### Height Percent
-
-Number :heavy_minus_sign: Write - Blocks
-
-Specifies the component's vertical height as a percentageof the height of its parent Component.
-
-
-
-### Item Background Color
-
-ColorDefault: #03A9F3FF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Set the background color for the spinner items.
-
-
-
-
-### Item Text Color
-
-ColorDefault: #FFFFFFFF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Set the text color for the spinner items.
-
-
-
-
-### Prompt
-
-:warning: ==**Deprecated**==
-
-Text :heavy_minus_sign: Write - Designer
-
-Text with the current title for the Spinner window.
-
-### Prompt Item Color
-
-ColorDefault: #CCCCCCFF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Set the text color for the spinner items prompt/hint.
-
-
-
-
-### Selection
-
-Text :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Returns the current selected item in the spinner.
-
-
-
-
-### Selection Index
-
-Number :heavy_minus_sign: ReadWrite - Blocks
-
-The index of the currently selected item, starting at 1. If no item is selected, the value will be 0.
-
-
-
-
-### Spinner Color
-
-ColorDefault: #2196F2FF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Set the text color for the spinner.
-
-
-
-
-### Spinner Text Size
-
-NumberDefault: 14.0 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The size of the spinner selected text.
-
-
-
-
-### Text Alignment
-
-NumberDefault: 0 :heavy_minus_sign: Write - Designer
-
-Property for TextAlignment
-
-### Use Prompt
-
-Available as ^^Advanced^^ Property
-
-BooleanDefault: False :heavy_minus_sign: Write - DesignerBlocks
-
-If true the first spinner item will be the prompt text.
-
-
-
-### Visible
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Returns true iff the component is visible.
-
-
-
-
-### Width
-
-Number :heavy_minus_sign: ReadWrite - Blocks
-
-Specifies the component's horizontal width, measured in pixels.
-
-
-
-
-### Width Percent
-
-Number :heavy_minus_sign: Write - Blocks
-
-Specifies the component's horizontal width as a percentageof the Width of its parent Component.
-
-
diff --git a/docs/components/user-interface/spotlight.md b/docs/components/user-interface/spotlight.md
deleted file mode 100644
index ad610297f..000000000
--- a/docs/components/user-interface/spotlight.md
+++ /dev/null
@@ -1,233 +0,0 @@
-# Spotlight
-
-{>> Non-Visible component<<}
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**User Interface**|API 21, Android 5.0 Lollipop|2|
-
-## Overview
-
-A non-visible component that brings emphasis to the specified component by means of darkening the screen around that component.
-
-## Events
-
-### Clicked
-
-Event triggered when the spotlight is clicked.
-
-
-
-## Methods
-
-### Show Spotlight
-
-Use this block to show the spotlight.
-
-
-
-### Show Spotlight On FAB
-
-Use this block to show the spotlight on a floating action button.
-
-
-
-| Params | []() |
-|--------|------|
-|floating Action Button|Component|
-
-## Properties
-
-### Circle Padding
-
-NumberDefault: 20 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The padding for the circle spotlight. Default is '20'.
-
-
-
-
-### Component
-
-Component :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The component to show in the spotlight.
-
-
-
-
-### Dismiss On Back Press
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Dismiss the spotlight on back pressed.
-
-
-
-
-### Dismiss On Touch
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Dismiss the spotlight on touch
-
-
-
-
-### Enable Dismiss After Shown
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Dismiss spotlight on touch after spotlight is completely visible.
-
-
-
-
-### Enable Reveal Animation
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Enable reveal animation (Only for Lollipop and above).
-
-
-
-
-### Fadein Text Duration
-
-NumberDefault: 400 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Fade in animation duration for spotlight text (Heading and Sub-heading).
-
-
-
-
-### Font Heading Typeface
-
-NumberDefault: 0 :heavy_minus_sign: Write - Designer
-
-Property for FontHeadingTypeface
-
-### Font Heading Typeface Import
-
-Available as ^^Advanced^^ Property
-
-Text :heavy_minus_sign: Write - DesignerBlocks
-
-Set a custom font.
-
-
-
-### Font Subheading Typeface
-
-NumberDefault: 0 :heavy_minus_sign: Write - Designer
-
-Property for FontSubheadingTypeface
-
-### Font Subheading Typeface Import
-
-Available as ^^Advanced^^ Property
-
-Text :heavy_minus_sign: Write - DesignerBlocks
-
-Set a custom font.
-
-
-
-### Heading Text
-
-Text :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The Spotlight heading text.
-
-
-
-
-### Heading Text Color
-
-ColorDefault: #3F51B5FF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The Spotlight heading text color.
-
-
-
-
-### Heading Text Size
-
-NumberDefault: 32 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The Spotlight heading size.
-
-
-
-
-### Intro Animation Duration
-
-NumberDefault: 400 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Intro animation duration (For Reveal and Fadein).
-
-
-
-
-### Line And Arc Color
-
-ColorDefault: #3F51B5FF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The Spotlight line and arc color.
-
-
-
-
-### Line Animation Duration
-
-NumberDefault: 400 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Line animation duration
-
-
-
-
-### Mask Color
-
-ColorDefault: #000000be :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The Spotlight mask color
-
-
-
-
-### Show Target Arc
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-If set to true you will see a half round circle below the spotlight circle.
-
-
-
-
-### Subheading Text
-
-Text :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The Spotlight subheading text.
-
-
-
-
-### Subheading Text Color
-
-ColorDefault: #FFFFFFFF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The Spotlight subheading text color.
-
-
-
-
-### Subheading Text Size
-
-NumberDefault: 16 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The Spotlight subheading text size.
-
-
-
diff --git a/docs/components/user-interface/state-progress-bar.md b/docs/components/user-interface/state-progress-bar.md
deleted file mode 100644
index 11bfcf1b0..000000000
--- a/docs/components/user-interface/state-progress-bar.md
+++ /dev/null
@@ -1,301 +0,0 @@
-# State Progress Bar
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**User Interface**|API 21, Android 5.0 Lollipop|1|
-
-## Overview
-
-A visible component that indicates the progress of an operation by highlighting the steps involved in that operation.
-
-## Events
-
-### Error Occurred
-
-Event invoked when a error occurred.
-
-
-
-| Params | []() |
-|--------|------|
-|error Message|Text|
-
-### State Item Click
-
-Event invoked when a state item was clicked.
-
-
-
-| Params | []() |
-|--------|------|
-|state Number|Number|
-|is Current State|Boolean|
-
-## Properties
-
-### All States Completed
-
-Boolean :heavy_minus_sign: ReadWrite - Blocks
-
-If set to true all states are completed.
-
-
-
-
-### Animate Between States
-
-Available as ^^Advanced^^ Property
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-If set to true the states will use a animation when they changed.
-
-
-
-
-### Animation Duration
-
-NumberDefault: 250 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Set the animation duration in milliseconds. Example: use 1000 for 1 second.
-
-
-
-
-### Background Color
-
-ColorDefault: #444444FF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Change the background color.
-
-
-
-
-### Current State Description Color
-
-ColorDefault: #4CAF50FF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Change the current state description color.
-
-
-
-
-### Current State Number
-
-NumberDefault: 1 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Set the current state number.
-
-
-
-
-### Description Lines Spacing
-
-NumberDefault: 5.0 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Set the description lines spacing.
-
-
-
-
-### Description Top Space Incrementer
-
-NumberDefault: 10.0 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Set the description top space incrementer.
-
-
-
-
-### Elements From String
-
-TextDefault: Item 1, Item 2, Item 3, Item 4, Item 5 :heavy_minus_sign: Write - DesignerBlocks
-
-The State Progress Bar elements specified as a string with the items separated by commas such as: Item 1, Item 2, Item 3, Item 4, Item 5. Each word before the comma will be an element in the list. You can add maximum 5 items.
-
-
-
-### Foreground Color
-
-ColorDefault: #4CAF50FF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Change the foreground color.
-
-
-
-
-### Height
-
-Number :heavy_minus_sign: ReadWrite - Blocks
-
-Specifies the component's vertical height, measured in pixels.
-
-
-
-
-### Height Percent
-
-Number :heavy_minus_sign: Write - Blocks
-
-Specifies the component's vertical height as a percentageof the height of its parent Component.
-
-
-
-### Justify Multiline Description
-
-Available as ^^Advanced^^ Property
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-If set to true justify multiline description is enabled.
-
-
-
-
-### Max Description Line
-
-NumberDefault: 2 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Set the maximum description line.
-
-
-
-
-### Max State Number
-
-NumberDefault: 5 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Set the maximum state number.
-
-
-
-
-### State Description Color
-
-ColorDefault: #444444FF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Change the state description color.
-
-
-
-
-### State Description Size
-
-NumberDefault: 18.0 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Set the state description size.
-
-
-
-
-### State Description Typeface
-
-NumberDefault: 0 :heavy_minus_sign: Write - Designer
-
-Property for StateDescriptionTypeface
-
-### State Description Typeface Import
-
-Available as ^^Advanced^^ Property
-
-Text :heavy_minus_sign: Write - DesignerBlocks
-
-Set a custom font for state description typeface.
-
-
-
-### State Line Thickness
-
-NumberDefault: 10.0 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Set the state line thickness.
-
-
-
-
-### State Number Background Color
-
-ColorDefault: #000000FF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Change the state number background color.
-
-
-
-
-### State Number Foreground Color
-
-ColorDefault: #FFFFFFFF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Change the state number foreground color.
-
-
-
-
-### State Number Is Descending
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-If set to true the state number is in descending order.
-
-
-
-
-### State Number Text Size
-
-NumberDefault: 20.0 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Set the state number text size.
-
-
-
-
-### State Number Typeface
-
-NumberDefault: 0 :heavy_minus_sign: Write - Designer
-
-Property for StateNumberTypeface
-
-### State Number Typeface Import
-
-Available as ^^Advanced^^ Property
-
-Text :heavy_minus_sign: Write - DesignerBlocks
-
-Set a custom font for state number typeface.
-
-
-
-### State Progress Bar Height
-
-NumberDefault: 40.0 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Set the state progress bar height.
-
-
-
-
-### Visible
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Returns true iff the component is visible.
-
-
-
-
-### Width
-
-Number :heavy_minus_sign: ReadWrite - Blocks
-
-Specifies the component's horizontal width, measured in pixels.
-
-
-
-
-### Width Percent
-
-Number :heavy_minus_sign: Write - Blocks
-
-Specifies the component's horizontal width as a percentageof the Width of its parent Component.
-
-
diff --git a/docs/components/user-interface/switch.md b/docs/components/user-interface/switch.md
deleted file mode 100644
index 910b35a61..000000000
--- a/docs/components/user-interface/switch.md
+++ /dev/null
@@ -1,196 +0,0 @@
-# Switch
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**User Interface**|API 21, Android 5.0 Lollipop|4|
-
-## Overview
-
-A visible component that lets the user toggle between two states — on and off.
-
-## Events
-
-### Clicked
-
-Event invoked when a switch has been clicked. Returns true or false if the switch is checked or not.
-
-
-
-| Params | []() |
-|--------|------|
-|is Checked|Boolean|
-
-## Methods
-
-### Thumb Image
-
-Set the drawable used for the switch 'thumb' - the piece that the user can physically touch and drag along the track. If 'color Filter Enabled' is set to true, the image will get a light tint filter with the same color that you used as thumb color.
-
-
-
-| Params | []() |
-|--------|------|
-|image|Text|
-
-### Thumb Image From Material Font
-
-Set the drawable used for the switch 'thumb' - the piece that the user can physically touch and drag along the track. You can find the icon name (or code) here at https://material.io/icons . Use as size as example '300'.
-
-
-
-| Params | []() |
-|--------|------|
-|icon Name|Text|
-|size|Number|
-
-## Properties
-
-### Checked
-
-BooleanDefault: False :heavy_minus_sign: Write - DesignerBlocks
-
-Set the toggle to checked or unchecked
-
-
-
-### Enabled
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-If set to true, user can touch the switch.
-
-
-
-
-### Font Bold
-
-BooleanDefault: False :heavy_minus_sign: Write - Designer
-
-Property for FontBold
-
-### Font Italic
-
-BooleanDefault: False :heavy_minus_sign: Write - Designer
-
-Property for FontItalic
-
-### Font Size
-
-NumberDefault: 14.0 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The text size of the switch.
-
-
-
-
-### Font Typeface
-
-NumberDefault: 0 :heavy_minus_sign: Write - Designer
-
-Property for FontTypeface
-
-### Font Typeface Import
-
-Available as ^^Advanced^^ Property
-
-Text :heavy_minus_sign: Write - DesignerBlocks
-
-Set a custom font.
-
-
-
-### Height
-
-Number :heavy_minus_sign: ReadWrite - Blocks
-
-Specifies the component's vertical height, measured in pixels.
-
-
-
-
-### Height Percent
-
-Number :heavy_minus_sign: Write - Blocks
-
-Specifies the component's vertical height as a percentageof the height of its parent Component.
-
-
-
-### is Checked
-
-Boolean :heavy_minus_sign: Read - Blocks
-
-Return true if the switch is checked else false.
-
-
-
-### Text Color
-
-ColorDefault: #4CAF50FF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Set the text color for the switch.
-
-
-
-
-### Text Off
-
-TextDefault: Switch Off :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Set here the switch off text. HTML tags are too possible: , ,
, , , ,
, , , , , , , . Example: Test.
-
-
-
-
-### Text On
-
-TextDefault: Switch On :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Set here the switch on text. HTML tags are too possible: , ,
, , , ,
, , , , , , , . Example: Test.
-
-
-
-
-### Thumb Color
-
-ColorDefault: #4CAF50FF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Change the disabled color of the switch.
-
-
-
-
-### Track Color
-
-ColorDefault: #009688FF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Change the enabled color of the switch.
-
-
-
-
-### Visible
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Returns true iff the component is visible.
-
-
-
-
-### Width
-
-Number :heavy_minus_sign: ReadWrite - Blocks
-
-Specifies the component's horizontal width, measured in pixels.
-
-
-
-
-### Width Percent
-
-Number :heavy_minus_sign: Write - Blocks
-
-Specifies the component's horizontal width as a percentageof the Width of its parent Component.
-
-
diff --git a/docs/components/user-interface/text-box.md b/docs/components/user-interface/text-box.md
deleted file mode 100644
index 8f486472c..000000000
--- a/docs/components/user-interface/text-box.md
+++ /dev/null
@@ -1,382 +0,0 @@
-# Text Box
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**User Interface**|API 21, Android 5.0 Lollipop|13|
-
-## Overview
-
-A box for the user to enter text. The initial or user-entered text value is in the `` Text `` property. If blank, the `` Hint `` property, which appears as faint text in the box, can provide the user with guidance as to what to type.
-
-The `` MultiLine `` property determines if the text can havemore than one line. For a single line text box, the keyboard will closeautomatically when the user presses the Done key. To close the keyboard for multiline text boxes, the app should use the HideKeyboard method or rely on the user to press the Back key.
-
-The `` NumbersOnly `` property restricts the keyboard to acceptnumeric input only.
-
-Other properties affect the appearance of the text box (`` TextAlignment ``, `` BackgroundColor ``, etc.) and whether it can be used (`` Enabled ``).
-
-Text boxes are usually used with the `` Button `` component, with the user clicking on the button when text entry is complete.
-
-If the text entered by the user should not be displayed, use `` PasswordTextBox `` instead.
-
-## Events
-
-### Got Focus
-
-Event raised when this component is selected for input, such as bythe user touching it.
-
-
-
-### Lost Focus
-
-Event raised when this component is no longer selected for input, suchas if the user touches a different text box.
-
-
-
-### On Text Changed
-
-Event to detect text changes.
-
-
-
-## Methods
-
-### Hide Keyboard
-
-Hide the keyboard. Only multiline text boxes need this. Single line text boxes close the keyboard when the users presses the Done key.
-
-
-
-### Request Focus
-
-Sets the textbox active.
-
-
-
-### Set Animation Style
-
-Allows you to set animation style. Valid (case-insensitive) values are: ChasingDots, Circle, CubeGrid, DoubleBounce, FadingCircle, FoldingCube, Pulse, RotatingCircle, RotatingPlane, ThreeBounce, WanderingCubes, Wave. If invalid style is used, animation will be removed.Position can be: top, left, right, bottom. Size can be 100.
-
-
-
-| Params | []() |
-|--------|------|
-|style|Text|
-|position|Text|
-|size|Number|
-|color|Number|
-
-### Set Cursor At
-
-Set the cursor to the given position.
-
-
-
-| Params | []() |
-|--------|------|
-|position|Number|
-
-### Set Cursor At End
-
-Set the cursor to the end of the text.
-
-
-
-### Set Shadow
-
-Place a blurred shadow of text underneath the text, drawn with the specified x, y, radius, color (e.g. -11, 12, 13, black
-
-
-
-| Params | []() |
-|--------|------|
-|x|Number|
-|y|Number|
-|radius|Number|
-|color|Number|
-
-### Show Error Message
-
-Shows an error message next to the textbox.
-
-
-
-## Properties
-
-### Background Color
-
-ColorDefault: #00000000 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The background color of the input box. You can choose a color by name in the Designer or in the Blocks Editor. The default background color is 'default' (shaded 3-D look).
-
-
-
-
-### Current Position
-
-Number :heavy_minus_sign: Read - Blocks
-
-Get the current cursor position.
-
-
-
-### Cursor Color
-
-Available as ^^Advanced^^ Property
-
-ColorDefault: #000000FF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The color of the cursor.
-
-
-
-
-### Cursor Visible
-
-Available as ^^Advanced^^ Property
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Makes the cursor visible (the default) or invisible.
-
-
-
-
-### Enable Copy & Paste
-
-:warning: ==**Deprecated**==
-
-Boolean :heavy_minus_sign: ReadWrite - Blocks
-
-DEPRECATED since this feature is not working. Use 'Enabled' instead.
-
-
-
-
-### Enabled
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Whether the user can enter text into this input box. By default, this is true.
-
-
-
-
-### Error Text
-
-Text :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Returns the error text.
-
-
-
-
-### Font Bold
-
-BooleanDefault: False :heavy_minus_sign: Write - Designer
-
-Whether the font for the text should be bold. By default, it is not.
-
-### Font Italic
-
-BooleanDefault: False :heavy_minus_sign: Write - Designer
-
-Whether the text should appear in italics. By default, it does not.
-
-### Font Size
-
-NumberDefault: 14.0 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The font size for the text. By default, it is 14.0 points.
-
-
-
-
-### Font Typeface
-
-NumberDefault: 0 :heavy_minus_sign: Write - Designer
-
-The font for the text. The value can be changed in the Designer.
-
-### Font Typeface Import
-
-Available as ^^Advanced^^ Property
-
-Text :heavy_minus_sign: Write - DesignerBlocks
-
-Set a custom font.
-
-
-
-### Height
-
-Number :heavy_minus_sign: ReadWrite - Blocks
-
-Specifies the component's vertical height, measured in pixels.
-
-
-
-
-### Height Percent
-
-Number :heavy_minus_sign: Write - Blocks
-
-Specifies the component's vertical height as a percentageof the height of its parent Component.
-
-
-
-### Highlight Color
-
-Available as ^^Advanced^^ Property
-
-ColorDefault: #00000000 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Returns the color of the highlighted text.
-
-
-
-
-### Hint
-
-Text :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Text that should appear faintly in the input box to provide a hint as to what the user should enter. This can only be seen if the `` Text `` property is empty.
-
-
-
-
-### Hint Color
-
-ColorDefault: #000000FF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Set a custom hint text color.
-
-
-
-
-### Input Type
-
-NumberDefault: 1 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The input type you want for this TextBox.
-
-
-
-
-### Line Color
-
-:warning: ==**Deprecated**==
-
-Number :heavy_minus_sign: ReadWrite - Blocks
-
-Please delete this block from your project.This block is deprecated and not longer supported.
-
-
-
-
-### Max Lines
-
-Available as ^^Advanced^^ Property
-
-NumberDefault: 2147483647 :heavy_minus_sign: Write - DesignerBlocks
-
-Property for MaxLines
-
-
-
-### Multiline
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-If true, then this text box accepts multiple lines of input, which are entered using the return key. For single line text boxes there is a Done key instead of a return key, and pressing Done hides the keyboard. The app should call the HideKeyboard method to hide the keyboard for a mutiline text box.
-
-
-
-
-### Numbers Only (Not Working, Use Input Type)
-
-:warning: ==**Deprecated**==
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-If true, then this text box accepts only numbers as keyboard input. Numbers can include a decimal point and an optional leading minus sign. This applies to keyboard input only. Even if NumbersOnly is true, you can use [set Text to] to enter any text at all.
-
-
-
-
-### Read Only
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Whether the TextBox is read-only. By default, this is true.
-
-
-
-
-### Rotation Angle
-
-Available as ^^Advanced^^ Property
-
-NumberDefault: 0.0 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Sets the degrees that the textbox is rotated around the pivot point. Increasing values result in clockwise rotation.
-
-
-
-
-### Text
-
-Text :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Returns the textbox contents.
-
-
-
-
-### Text Alignment
-
-NumberDefault: 0 :heavy_minus_sign: Write - Designer
-
-Whether the text should be left justified, centered, or right justified. By default, text is left justified.
-
-### Text Color
-
-ColorDefault: #000000FF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-The color for the text. You can choose a color by name in the Designer or in the Blocks Editor. The default text color is black.
-
-
-
-
-### Text Length
-
-Number :heavy_minus_sign: Read - Blocks
-
-Returns the current text length as number.
-
-
-
-### Visible
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Returns true iff the component is visible.
-
-
-
-
-### Width
-
-Number :heavy_minus_sign: ReadWrite - Blocks
-
-Specifies the component's horizontal width, measured in pixels.
-
-
-
-
-### Width Percent
-
-Number :heavy_minus_sign: Write - Blocks
-
-Specifies the component's horizontal width as a percentageof the Width of its parent Component.
-
-
diff --git a/docs/components/user-interface/time-picker.md b/docs/components/user-interface/time-picker.md
deleted file mode 100644
index c3e3f8ad7..000000000
--- a/docs/components/user-interface/time-picker.md
+++ /dev/null
@@ -1,365 +0,0 @@
-# Time Picker
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**User Interface**|API 21, Android 5.0 Lollipop|9|
-
-## Overview
-
-A button that, when clicked on, launches a popup dialog to allow the user to select a time.
-
-??? example "Permissions"
- * [android.permission.INTERNET](https://developer.android.com/reference/android/Manifest.permission.html#INTERNET)
-
-## Events
-
-### After Time Set
-
-This event is run when a user has set the time in the popup dialog.
-
-
-
-### Got Focus
-
-Indicates the cursor moved over the button so it is now possible to click it.
-
-
-
-### Lost Focus
-
-Indicates the cursor moved away from the button so it is now no longer possible to click it.
-
-
-
-### Touch Down
-
-Indicates that the button was pressed down.
-
-
-
-### Touch Up
-
-Indicates that a button has been released.
-
-
-
-## Methods
-
-### Button Click
-
-Perform a button click as function.
-
-
-
-### Launch Picker
-
-Launches the TimePicker popup.
-
-
-
-### Set Animation Style
-
-Allows you to set animation style. Valid (case-insensitive) values are: ChasingDots, Circle, CubeGrid, DoubleBounce, FadingCircle, FoldingCube, Pulse, RotatingCircle, RotatingPlane, ThreeBounce, WanderingCubes, Wave. If invalid style is used, animation will be removed.Position can be: top, left, right, bottom. Size can be 100.
-
-
-
-| Params | []() |
-|--------|------|
-|style|Text|
-|position|Text|
-|size|Number|
-|color|Number|
-
-### Set Shadow
-
-Place a blurred shadow of text underneath the text, drawn with the specified x, y, radius, color (e.g. -11, 12, 13, black.
-
-
-
-| Params | []() |
-|--------|------|
-|x|Number|
-|y|Number|
-|radius|Number|
-|color|Number|
-
-### Set Time To Display
-
-Set the time to be shown in the Time Picker popup. Current time is shown by default.
-
-
-
-| Params | []() |
-|--------|------|
-|hour|Number|
-|minute|Number|
-
-### Set Time To Display From Instant
-
-Set the time from the instant to be shown in the Time Picker popup. Current time is shown by default.
-
-
-
-| Params | []() |
-|--------|------|
-|instant|Instantintime|
-
-### With Icon From Font Awesome
-
-Show an image on the given position near to the button. You can use following words for the position: 'Left', 'Right', 'Top' or 'Bottom'. Use the padding to add space between the icon and text. Use a 'FontAwesome' icon as the button icon without uploading a image resource into your project. You can find the icon code here at https://fontawesome.com/cheatsheet Use as example for a heart icon just 'f004' or ''
-
-
-
-| Params | []() |
-|--------|------|
-|position|Text|
-|icon Name|Text|
-|icon Color|Number|
-|padding|Number|
-|size|Number|
-
-### With Icon From Material Font
-
-Show an image on the given position near to the button. You can use following words for the position: 'Left', 'Right', 'Top' or 'Bottom'. Use the padding to add space between the icon and text. Use a 'Material' icon as the button icon without uploading a image resource into your project. You can find the icon name here at https://material.io/resources/icons
-
-
-
-| Params | []() |
-|--------|------|
-|position|Text|
-|icon Name|Text|
-|icon Color|Number|
-|padding|Number|
-|size|Number|
-
-### With Icon From Picture
-
-Show an image on the given position near to the button. You can use following words for the position: 'Left', 'Right', 'Top' or 'Bottom'. Use the padding to add space between the icon and text.
-
-
-
-| Params | []() |
-|--------|------|
-|position|Text|
-|picture|Text|
-|padding|Number|
-|width|Number|
-|height|Number|
-
-## Properties
-
-### Background Color
-
-ColorDefault: #444444FF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Returns the button's background color
-
-
-
-
-### Border Shadow
-
-Available as ^^Advanced^^ Property
-
-BooleanDefault: True :heavy_minus_sign: Write - Designer
-
-Returns true if the button have a outside border shadow on click.
-
-### Enabled
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-If set, user can tap check box to cause action.
-
-
-
-
-### Font Bold
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-If set, button text is displayed in bold.
-
-
-
-
-### Font Italic
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-If set, button text is displayed in italics.
-
-
-
-
-### Font Size
-
-NumberDefault: 14.0 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Point size for button text.
-
-
-
-
-### Font Typeface
-
-NumberDefault: 0 :heavy_minus_sign: Write - Designer
-
-Font family for button text.
-
-### Font Typeface Import
-
-Available as ^^Advanced^^ Property
-
-Text :heavy_minus_sign: Write - DesignerBlocks
-
-Set a custom font.
-
-
-
-### Height
-
-Number :heavy_minus_sign: ReadWrite - Blocks
-
-Specifies the component's vertical height, measured in pixels.
-
-
-
-
-### Height Percent
-
-Number :heavy_minus_sign: Write - Blocks
-
-Specifies the component's vertical height as a percentageof the height of its parent Component.
-
-
-
-### Hour
-
-Number :heavy_minus_sign: Read - Blocks
-
-The hour of the last time set using the time picker. The hour is in a 24 hour format. If the last time set was 11:53 pm, this property will return 23.
-
-
-
-### HTML Format
-
-Available as ^^Advanced^^ Property
-
-BooleanDefault: False :heavy_minus_sign: Write - Designer
-
-If true, then this button will show html text else it will show plain text. Note: Not all HTML is supported.
-
-### Image
-
-Text :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Image to display on button.
-
-
-
-
-### Instant
-
-Instantintime :heavy_minus_sign: Read - Blocks
-
-The instant of the last time set using the time picker
-
-
-
-### Minute
-
-Number :heavy_minus_sign: Read - Blocks
-
-The minute of the last time set using the time picker
-
-
-
-### Rotation Angle
-
-Available as ^^Advanced^^ Property
-
-NumberDefault: 0.0 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Sets the degrees that the button is rotated around the pivot point. Increasing values result in clockwise rotation.
-
-
-
-
-### Shape
-
-NumberDefault: 0 :heavy_minus_sign: Write - Designer
-
-Specifies the button's shape (default, rounded, rectangular, oval). The shape will not be visible if an Image is being displayed.
-
-### Show Feedback
-
-Available as ^^Advanced^^ Property
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Specifies if a visual feedback should be shown for a button that as an image as background.
-
-
-
-
-### Text
-
-Text :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Text to display on button.
-
-
-
-
-### Text Alignment
-
-NumberDefault: 1 :heavy_minus_sign: Write - Designer
-
-Left, center, or right.
-
-### Text Color
-
-ColorDefault: #FFFFFFFF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Color for button text.
-
-
-
-
-### Touch Color
-
-Available as ^^Advanced^^ Property
-
-ColorDefault: #CCCCCCFF :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Set the buttons touch color.
-
-
-
-
-### Visible
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Returns true iff the component is visible.
-
-
-
-
-### Width
-
-Number :heavy_minus_sign: ReadWrite - Blocks
-
-Specifies the component's horizontal width, measured in pixels.
-
-
-
-
-### Width Percent
-
-Number :heavy_minus_sign: Write - Blocks
-
-Specifies the component's horizontal width as a percentageof the Width of its parent Component.
-
-
diff --git a/docs/components/utilities/animation-utilities.md b/docs/components/utilities/animation-utilities.md
deleted file mode 100644
index f6935734a..000000000
--- a/docs/components/utilities/animation-utilities.md
+++ /dev/null
@@ -1,179 +0,0 @@
-# Animation Utilities
-
-{>> Non-Visible component<<}
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Utilities**|API 21, Android 5.0 Lollipop|1|
-
-## Overview
-
-A non-visible component with which other components can be animated.
-
-## Events
-
-### Error
-
-This event is triggered when there was a error catched. Possible values for the error code and method: 1 'GetLeftPosition', 2 'GetTopPosition', 3 'GetRightPosition', 4 'GetBottomPosition', 5 'GetXPosition', 6 'GetYPosition', 7 'Rotation', 8 'BounceHorizontal', 9 'BounceVertical', 10 'OvershootHorizontal', 11 'OvershootVertical', 12 'Zoom'. The error message will return you the error reason.
-
-
-
-| Params | []() |
-|--------|------|
-|error Code|Number|
-|error Message|Text|
-|method|Text|
-
-## Methods
-
-### Bounce Horizontal
-
-Start a horizontal bounce animation. The duration is set in millisecond. Use as example for 1 second '1000'.
-
-
-
-| Params | []() |
-|--------|------|
-|component|Component|
-|start Position|Number|
-|end Position|Number|
-|duration|Number|
-
-### Bounce Vertical
-
-Start a vertical bounce animation. The duration is set in millisecond. Use as example for 1 second '1000'.
-
-
-
-| Params | []() |
-|--------|------|
-|component|Component|
-|start Position|Number|
-|end Position|Number|
-|duration|Number|
-
-### Get Bottom Position
-
-Returns: Number
-
-Returns the bottom position of a component. It will return '-9999' if there was a error.
-
-
-
-| Params | []() |
-|--------|------|
-|component|Component|
-
-### Get Left Position
-
-Returns: Number
-
-Returns the left position of a component. It will return '-9999' if there was a error.
-
-
-
-| Params | []() |
-|--------|------|
-|component|Component|
-
-### Get Right Position
-
-Returns: Number
-
-Returns the right position of a component. It will return '-9999' if there was a error.
-
-
-
-| Params | []() |
-|--------|------|
-|component|Component|
-
-### Get Top Position
-
-Returns: Number
-
-Returns the top position of a component. It will return '-9999' if there was a error.
-
-
-
-| Params | []() |
-|--------|------|
-|component|Component|
-
-### Get X Position
-
-Returns: Number
-
-Returns the x position of a component. It will return '-9999' if there was a error.
-
-
-
-| Params | []() |
-|--------|------|
-|component|Component|
-
-### Get Y Position
-
-Returns: Number
-
-Returns the y position of a component. It will return '-9999' if there was a error.
-
-
-
-| Params | []() |
-|--------|------|
-|component|Component|
-
-### Overshoot Horizontal
-
-Start a horizontal overshoot animation. If 'tension' is set to 0 you will not see a overshoot animation. Then you will see just a simple deceleration animation. The duration is set in millisecond. Use as example for 1 second '1000'.
-
-
-
-| Params | []() |
-|--------|------|
-|component|Component|
-|start Position|Number|
-|end Position|Number|
-|duration|Number|
-|tension|Number|
-
-### Overshoot Vertical
-
-Start a vertical overshoot animation. If 'tension' is set to 0 you will not see a overshoot animation. Then you will see just a simple deceleration animation. The duration is set in millisecond. Use as example for 1 second '1000'.
-
-
-
-| Params | []() |
-|--------|------|
-|component|Component|
-|start Position|Number|
-|end Position|Number|
-|duration|Number|
-|tension|Number|
-
-### Rotation
-
-Start a rotation on any component. Use as example in 'rotation Start Degrees' 0, in 'rotation End Degrees' 360 and in 'duration' 300 (millisecond) to run a clockwise, 360 degress animation. You can also use negative numbers for the degress.
-
-
-
-| Params | []() |
-|--------|------|
-|component|Component|
-|rotation Start Degrees|Number|
-|rotation End Degrees|Number|
-|duration|Number|
-
-### Zoom
-
-Start a zoom animation. 'tension' is set to 0 you will not see a overshoot animation. Then you will see just a simple deceleration animation. The duration is set in millisecond. Use as example for 1 second '1000'.
-
-
-
-| Params | []() |
-|--------|------|
-|component|Component|
-|start Scale|Number|
-|end Scale|Number|
-|duration|Number|
diff --git a/docs/components/utilities/audio.md b/docs/components/utilities/audio.md
deleted file mode 100644
index a7028350f..000000000
--- a/docs/components/utilities/audio.md
+++ /dev/null
@@ -1,115 +0,0 @@
-# Audio
-
-{>> Non-Visible component<<}
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Utilities**|API 21, Android 5.0 Lollipop|3|
-
-## Overview
-
-A non-visible component that manages the device''s audio settings.
-
-??? example "Permissions"
- * [android.permission.MODIFY_AUDIO_SETTINGS](https://developer.android.com/reference/android/Manifest.permission.html#MODIFY_AUDIO_SETTINGS)
-
-## Events
-
-### Error Occurred
-
-Event triggered when a error occurred.
-
-
-
-| Params | []() |
-|--------|------|
-|error Message|Text|
-
-## Methods
-
-### Is Sound Effects Enabled
-
-Returns: Boolean
-
-Returns true whether a component should have sound effects enabled for events such as clicking and touching.
-
-
-
-| Params | []() |
-|--------|------|
-|component|Component|
-
-### Ringer Mode Normal
-
-Sets the ringer mode to "normal".
-
-
-
-### Ringer Mode Silent
-
-Sets the ringer mode to "silent".
-
-
-
-### Ringer Mode Vibrate
-
-Sets the ringer mode to "vibrate".
-
-
-
-### Sound Effects Enabled
-
-Set whether a component should have sound effects enabled for events such as clicking and touching.
-
-
-
-| Params | []() |
-|--------|------|
-|component|Component|
-|enabled|Boolean|
-
-## Properties
-
-### Get Audio Mode
-
-Text :heavy_minus_sign: Read - Blocks
-
-Returns the current audio mode as string. Possible returns are "NORMAL", "RINGTONE", "CALL" or "COMMUNICATION".
-
-
-
-### Show UI
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-If set to true you will see system ui.
-
-
-
-
-### Volume Alarm
-
-Number :heavy_minus_sign: ReadWrite - Blocks
-
-Returns the current volume index in percent.
-
-
-
-
-### Volume Music
-
-Number :heavy_minus_sign: ReadWrite - Blocks
-
-Returns the current volume index in percent.
-
-
-
-
-### Volume Ring
-
-Number :heavy_minus_sign: ReadWrite - Blocks
-
-Returns the current volume index in percent.
-
-
-
diff --git a/docs/components/utilities/battery-utilities.md b/docs/components/utilities/battery-utilities.md
deleted file mode 100644
index d1a93bf41..000000000
--- a/docs/components/utilities/battery-utilities.md
+++ /dev/null
@@ -1,83 +0,0 @@
-# Battery Utilities
-
-{>> Non-Visible component<<}
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Utilities**|API 21, Android 5.0 Lollipop|1|
-
-## Overview
-
-A non-visible component that queries and monitors the device''s battery and its charging status.
-
-## Methods
-
-### Get Battery Info
-
-Returns: List
-
-Returns a list showing battery info for the specified key. Key can be: HEALTH, LEVEL, PLUGGED, PRESENT, STATUS, CHARGE_STATUS, TECHNOLOGY, TEMPERATURE, VOLTAGE. If key is empty, then all battery info is returned.
-
-
-
-| Params | []() |
-|--------|------|
-|key|Text|
-
-## Properties
-
-### Battery Level
-
-Number :heavy_minus_sign: Read - Blocks
-
-Returns battery percentage level
-
-
-
-### Battery Plugged
-
-Text :heavy_minus_sign: Read - Blocks
-
-Indicating whether the device is plugged in to a power source. Can be USB, AC or UNKNOWN
-
-
-
-### Battery Present
-
-Boolean :heavy_minus_sign: Read - Blocks
-
-Indicating whether a battery is present
-
-
-
-### Battery Temperature
-
-Number :heavy_minus_sign: Read - Blocks
-
-Indicating battery temperature in Centigrade
-
-
-
-### Battery Voltage
-
-Number :heavy_minus_sign: Read - Blocks
-
-Indicating battery voltage in Volts
-
-
-
-### Enabled
-
-BooleanDefault: False :heavy_minus_sign: Write - DesignerBlocks
-
-Starts or stops monitoring battery data. StartMonitoring only when you need to get information.
-
-
-
-### Show Battery Health
-
-Text :heavy_minus_sign: Read - Blocks
-
-Returns battery health. It can be: COLD, DEAD, GOOD, OVERHEAT, OVER_VOLTAGE, UNKNOWN
-
-
diff --git a/docs/components/utilities/color-utilities.md b/docs/components/utilities/color-utilities.md
deleted file mode 100644
index 6cf1289b5..000000000
--- a/docs/components/utilities/color-utilities.md
+++ /dev/null
@@ -1,74 +0,0 @@
-# Color Utilities
-
-{>> Non-Visible component<<}
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Utilities**|API 21, Android 5.0 Lollipop|1|
-
-## Overview
-
-A non-visible component that performs operations like conversion between formats, lightening, and darkening on color data.
-
-## Methods
-
-### Convert Hex To Int
-
-Returns: Number
-
-Convert a hex color to a integer color. The result is returned as integer.
-
-
-
-| Params | []() |
-|--------|------|
-|hex Color|Text|
-
-### Convert Int To Hex
-
-Returns: Text
-
-Convert a integer color to a hex color. The result is returned as string.
-
-
-
-| Params | []() |
-|--------|------|
-|color|Number|
-
-### Get Luminance
-
-Returns: Number
-
-Returns the luminance of a color as a float between 0.0 and 1.0. The result is returned as double.
-
-
-
-| Params | []() |
-|--------|------|
-|color|Number|
-
-### Is Dark Color
-
-Returns: Boolean
-
-Returns true if the color is dark, else it returns false, means the color is light. The result is returned as boolean.
-
-
-
-| Params | []() |
-|--------|------|
-|color|Number|
-
-### Set Alpha Value
-
-Returns: Number
-
-Set a alpha value to a color. The result is returned as integer.
-
-
-
-| Params | []() |
-|--------|------|
-|color|Number|
-|alpha|Number|
diff --git a/docs/components/utilities/cryptography.md b/docs/components/utilities/cryptography.md
deleted file mode 100644
index b5fd2d6ef..000000000
--- a/docs/components/utilities/cryptography.md
+++ /dev/null
@@ -1,338 +0,0 @@
-# Cryptography
-
-{>> Non-Visible component<<}
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Utilities**|API 21, Android 5.0 Lollipop|2|
-
-## Overview
-
-A non-visible component that encrypts and decrypts data using a variety of techniques.
-
-## Methods
-
-### AES-128 Decode
-
-Returns: Text
-
-Decodes the given hash using the given key through AES-128. If any exception occurs, returns empty string.
-
-
-
-| Params | []() |
-|--------|------|
-|AES-128 Hash|Text|
-
-### AES-128 Encode
-
-Returns: Text
-
-Encodes the given string using the given key through AES-128. If any exception occurs, returns empty string.
-
-
-
-| Params | []() |
-|--------|------|
-|input Text|Text|
-
-### AES-256 Decode
-
-Returns: Text
-
-Decodes the given hash using the given key through AES-256. If there are any exceptions, returns empty string
-
-
-
-| Params | []() |
-|--------|------|
-|AES-256 Hash|Text|
-
-### AES-256 Encode
-
-Returns: Text
-
-Encodes the given string using the given key through AES-256. If there are any exceptions, returns empty string
-
-
-
-| Params | []() |
-|--------|------|
-|input Text|Text|
-
-### Base64 Decode
-
-Returns: Text
-
-Decodes the given hash using Base64
-
-
-
-| Params | []() |
-|--------|------|
-|base64 Hash|Text|
-
-### Base64 Encode
-
-Returns: Text
-
-Encodes the given string using Base64
-
-
-
-| Params | []() |
-|--------|------|
-|input Text|Text|
-
-### BCrypt Create Hash
-
-Returns: Text
-
-Generates a hash using BCrypt
-
-
-
-| Params | []() |
-|--------|------|
-|input Text|Text|
-|salt|Text|
-
-### BCrypt Generate Salt
-
-Returns: Text
-
-Generates a salt usable for hashing with BCrypt
-
-
-
-### BCrypt Validate Password
-
-Returns: Boolean
-
-Verifies if the input password is the same one as the correct hashed password using BCrypt algorithm
-
-
-
-| Params | []() |
-|--------|------|
-|input Text|Text|
-|correct Hash|Text|
-
-### Enigma Parser
-
-Returns: Text
-
-Encrypts or decrypts the given string simulating an Enigma machine. Rotors can go from 1 to 8, but they cannot be repeated. Reflector can be B, C or 0 if none. Plugboard is a list with sub-list of two items containing a character each one, which replace the first character with the second one.
-
-
-
-| Params | []() |
-|--------|------|
-|input Text|Text|
-|rotor 1|Number|
-|rotor 2|Number|
-|rotor 3|Number|
-|reflector|Text|
-|plugboard|List|
-
-### Generate AES 128 Key
-
-Returns: Text
-
-Generates a secure random AES 128 key
-
-
-
-### Generate AES 256 Key
-
-Returns: Text
-
-Generates a secure random AES 256 key
-
-
-
-### MD5 Create Hash
-
-Returns: Text
-
-Generates a MD5 hash
-
-
-
-| Params | []() |
-|--------|------|
-|input Text|Text|
-
-### PBKDF2 Create Hash
-
-Returns: Text
-
-Generates a hash using PBKDF2
-
-
-
-| Params | []() |
-|--------|------|
-|input Text|Text|
-
-### PBKDF2 Validate Hash
-
-Returns: Boolean
-
-Verifies if the input password is the same one as the correct hashed password using PBKDF2 algorithm
-
-
-
-| Params | []() |
-|--------|------|
-|input Text|Text|
-|correct Hash|Text|
-
-### SHA-1 Generate Hash
-
-Returns: Text
-
-Generates a hashed SHA-1 string
-
-
-
-| Params | []() |
-|--------|------|
-|input Text|Text|
-
-### SHA-224 Generate Hash
-
-Returns: Text
-
-Generates a hashed SHA-224 string
-
-
-
-| Params | []() |
-|--------|------|
-|input Text|Text|
-
-### SHA-256 Generate Hash
-
-Returns: Text
-
-Generates a hashed SHA-256 string
-
-
-
-| Params | []() |
-|--------|------|
-|input Text|Text|
-
-### SHA-384 Generate Hash
-
-Returns: Text
-
-Generates a hashed SHA-384 string
-
-
-
-| Params | []() |
-|--------|------|
-|input Text|Text|
-
-### SHA-512 Generate Hash
-
-Returns: Text
-
-Generates a hashed SHA-512 string
-
-
-
-| Params | []() |
-|--------|------|
-|input Text|Text|
-
-### TripleDES Decode
-
-Returns: Text
-
-Decodes the given hash using the given key through TripleDES
-
-
-
-| Params | []() |
-|--------|------|
-|tripleDES Hash|Text|
-
-### TripleDES Encode
-
-Returns: Text
-
-Encodes the given string using the given key through TripleDES
-
-
-
-| Params | []() |
-|--------|------|
-|input Text|Text|
-
-## Properties
-
-### AES-128 Key
-
-Text :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Set the AES-128 Key
-
-
-
-
-### AES-256 Key
-
-Text :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Set the AES-256 Key
-
-
-
-
-### BCrypt Salt Size
-
-NumberDefault: 10 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Set the BCrypt Salt Size
-
-
-
-
-### PBKDF2 Hash Byte Size
-
-NumberDefault: 18 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Set the PBKDF2 Hash Byte Size
-
-
-
-
-### PBKDF2 Iterations Number
-
-NumberDefault: 64000 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Set the PBKDF2 number of Iterations
-
-
-
-
-### PBKDF2 Salt Byte Size
-
-NumberDefault: 24 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Set the PBKDF2 Salt Byte Size
-
-
-
-
-### TripleDES Key
-
-Text :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Set the TripleDES Key
-
-
-
diff --git a/docs/components/utilities/decoration.md b/docs/components/utilities/decoration.md
deleted file mode 100644
index f2f84b705..000000000
--- a/docs/components/utilities/decoration.md
+++ /dev/null
@@ -1,48 +0,0 @@
-# Decoration
-
-{>> Non-Visible component<<}
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Utilities**|API 21, Android 5.0 Lollipop|1|
-
-## Overview
-
-A non-visible component that modifies other components'' padding, margins, and other visual properties.
-
-## Methods
-
-### Set Margin
-
-Margin is a way for a component to enforce some distance from others components. By specifying margin for a component, we say that keep this much distance from this component.
-
-
-
-| Params | []() |
-|--------|------|
-|component|Component|
-|values|Text|
-
-### Set Padding
-
-The padding around the component. Padding is the space inside the border, between the border and the actual component content. Use single number like 5 to specify padding for top, left, bottom, righ. You can also use 4 different numbers like 5,0,10,0 for top, left, bottom right.
-
-
-
-| Params | []() |
-|--------|------|
-|component|Component|
-|values|Text|
-
-### Set Shape
-
-This block allows you to create a rectangle or round shape for the visible component. You can use Color for backgroundColor and borderColor.
-
-
-
-| Params | []() |
-|--------|------|
-|component|Component|
-|background Color|Number|
-|border Color|Number|
-|is Round|Boolean|
diff --git a/docs/components/utilities/device-utilities.md b/docs/components/utilities/device-utilities.md
deleted file mode 100644
index c2db51911..000000000
--- a/docs/components/utilities/device-utilities.md
+++ /dev/null
@@ -1,365 +0,0 @@
-# Device Utilities
-
-{>> Non-Visible component<<}
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Utilities**|API 21, Android 5.0 Lollipop|5|
-
-## Overview
-
-A non-visible component that fetches specifications of the device.
-
-??? example "Permissions"
- * [android.permission.READ_PHONE_STATE](https://developer.android.com/reference/android/Manifest.permission.html#READ_PHONE_STATE)
-
-## Events
-
-### Got IMEI
-
-Event to get the IMEI after it was requested.
-
-
-
-| Params | []() |
-|--------|------|
-|imei|Text|
-
-### Got Serial
-
-Event to get the serial number after it was requested.
-
-
-
-| Params | []() |
-|--------|------|
-|serial|Text|
-
-## Methods
-
-### Copy
-
-Copy text to clipboard. In case 'Show Success Toast' is true, the toast with your message will be shown after copying a text to the clipboard.
-
-
-
-| Params | []() |
-|--------|------|
-|text|Text|
-|Success Toast Message|Text|
-
-### External Storage Available
-
-Returns: Number
-
-Available size of external storage in Gigabytes.
-
-
-
-### External Storage Total
-
-Returns: Number
-
-Total external storage size in Gigabytes.
-
-
-
-### External Storage Used
-
-Returns: Number
-
-Size of used-external-storage in Gigabytes.
-
-
-
-### Get IMEI
-
-Get the IMEI of the device. The result will be then at the 'Got IMEI' event.
-
-
-
-### Get Serial
-
-A hardware serial number, if available. Alphanumeric only, case-insensitive. For apps targeting SDK higher than N_MR1 this field is set to UNKNOWN.
-
-
-
-### Has Dangerous Apk Installed
-
-Returns: Boolean
-
-Returns TRUE if one of 12 known patching or root emulating packages is installed. The name of the package is not returned, so the user does not know which package name to change. Developed by Cian.
-
-
-
-### Internal Storage Available
-
-Returns: Number
-
-Size of available internal storage in Gigabytes.
-
-
-
-### Internal Storage Total
-
-Returns: Number
-
-Total size of internal storage in Gigabytes.
-
-
-
-### Internal Storage Used
-
-Returns: Number
-
-Size of used-internal-storage in Gigabytes.
-
-
-
-### Is Adb Debugging Enabled
-
-Returns: Boolean
-
-This returns TRUE if ADB debugging is enabled, which could be a sign of hacking your app, or a compromised device. Developed by Cian.
-
-
-
-### Is Emulator
-
-Returns: Boolean
-
-Returns TRUE if the device operating on an emulator. Developed by Cian.
-
-
-
-### Is Installed From Play Store
-
-Returns: Boolean
-
-Returns TRUE if the app was installed from Play Store. Developed by Cian.
-
-
-
-### Memory Free
-
-Returns: Number
-
-Total free RAM size in Gigabytes.
-
-
-
-### Memory Total
-
-Returns: Number
-
-Total RAM size in Gigabytes.
-
-
-
-### Memory Used
-
-Returns: Number
-
-Size of used-memory in Gigabytes.
-
-
-
-### Parse
-
-Returns: Text
-
-Parse a text between two strings. Example: text = abcdef, start = a, end = d, result = bc. If there is a problem the 'if Text Not Found' will be returned.
-
-
-
-| Params | []() |
-|--------|------|
-|text|Text|
-|start|Text|
-|end|Text|
-|if Text Not Found|Text|
-
-### Paste
-
-Returns: Text
-
-Paste text from clipboard. In case 'Show Success Toast' is true, the toast with your message will be shown after pasting a text from the clipboard.
-
-
-
-| Params | []() |
-|--------|------|
-|Success Toast Message|Text|
-
-## Properties
-
-### Android Version
-
-Text :heavy_minus_sign: Read - Blocks
-
-Get the android version of device.
-
-
-
-### API Version
-
-Number :heavy_minus_sign: Read - Blocks
-
-The user-visible SDK version of the framework.
-
-
-
-### Board
-
-Text :heavy_minus_sign: Read - Blocks
-
-The name of the underlying board, like "goldfish".
-
-
-
-### Bootloader Version
-
-Text :heavy_minus_sign: Read - Blocks
-
-The system bootloader version number.
-
-
-
-### Brand
-
-Text :heavy_minus_sign: Read - Blocks
-
-The consumer-visible brand with which the product/hardware will be associated, if any.
-
-
-
-### Build Number
-
-Text :heavy_minus_sign: Read - Blocks
-
-Get the build number(Software) of the device.
-
-
-
-### Country Code
-
-Text :heavy_minus_sign: Read - Blocks
-
-The result is the code of your country.
-
-
-
-### Device Id
-
-Text :heavy_minus_sign: Read - Blocks
-
-Returns the unique device specific 'AndroidID'. Developed by Cian.
-
-
-
-### Device Name
-
-Text :heavy_minus_sign: Read - Blocks
-
-The name of the industrial design.
-
-
-
-### Fingerprint
-
-Text :heavy_minus_sign: Read - Blocks
-
-A string that uniquely identifies this build.
-
-
-
-### Hardware
-
-Text :heavy_minus_sign: Read - Blocks
-
-The name of the hardware (from the kernel command line or /proc).
-
-
-
-### ID
-
-Text :heavy_minus_sign: Read - Blocks
-
-Either a changelist number, or a label like "M4-rc20".
-
-
-
-### Language Code
-
-Text :heavy_minus_sign: Read - Blocks
-
-The result is the code of your device language.
-
-
-
-### Manufacturer
-
-Text :heavy_minus_sign: Read - Blocks
-
-The manufacturer of the product/hardware.
-
-
-
-### Model Name
-
-Text :heavy_minus_sign: Read - Blocks
-
-The end-user-visible name for the end product.
-
-
-
-### Product
-
-Text :heavy_minus_sign: Read - Blocks
-
-The name of the overall product.
-
-
-
-### Radio Version
-
-Text :heavy_minus_sign: Read - Blocks
-
-Returns the version string for the radio firmware. May return null (if, for instance, the radio is not currently on).
-
-
-
-### Serial
-
-:warning: ==**Deprecated**==
-
-Text :heavy_minus_sign: Read - Blocks
-
-DEPRECATED. DO NOT USE THIS ANYMORE. USE 'Get Serial' INSTEAD!
-
-
-
-### Show Success Toast
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Returns true if 'Show Success Toast' is enabled.
-
-
-
-
-### Tags
-
-Text :heavy_minus_sign: Read - Blocks
-
-Comma-separated tags describing the build, like "unsigned,debug".
-
-
-
-### Type
-
-Text :heavy_minus_sign: Read - Blocks
-
-The type of build, like "user" or "eng".
-
-
diff --git a/docs/components/utilities/image-utilities.md b/docs/components/utilities/image-utilities.md
deleted file mode 100644
index 09ecb2037..000000000
--- a/docs/components/utilities/image-utilities.md
+++ /dev/null
@@ -1,28 +0,0 @@
-# Image Utilities
-
-{>> Non-Visible component<<}
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Utilities**|API 21, Android 5.0 Lollipop|1|
-
-## Overview
-
-A non-visible component that loads images asynchronously.
-
-??? example "Permissions"
- * [android.permission.INTERNET](https://developer.android.com/reference/android/Manifest.permission.html#INTERNET)
- * [android.permission.READ_EXTERNAL_STORAGE](https://developer.android.com/reference/android/Manifest.permission.html#READ_EXTERNAL_STORAGE)
-
-## Methods
-
-### Load Image Async
-
-Load a new image from the given path to any component. You can load also images from the internet. Supported components: Image, Buttons, Layouts, Canvas.
-
-
-
-| Params | []() |
-|--------|------|
-|component|Component|
-|path|Text|
diff --git a/docs/components/utilities/index.md b/docs/components/utilities/index.md
deleted file mode 100644
index bc6918566..000000000
--- a/docs/components/utilities/index.md
+++ /dev/null
@@ -1,16 +0,0 @@
-# Overview of Utilities
-
-* [Animation Utilities](animation-utilities.md)
-* [Audio](audio.md)
-* [Battery Utilities](battery-utilities.md)
-* [Color Utilities](color-utilities.md)
-* [Cryptography](cryptography.md)
-* [Decoration](decoration.md)
-* [Device Utilities](device-utilities.md)
-* [Image Utilities](image-utilities.md)
-* [Keyguard Manager](keyguard-manager.md)
-* [Package Utilities](package-utilities.md)
-* [Resource Utilities](resource-utilities.md)
-* [Screenshot](screenshot.md)
-* [Shell](shell.md)
-* [Wallpaper](wallpaper.md)
\ No newline at end of file
diff --git a/docs/components/utilities/keyguard-manager.md b/docs/components/utilities/keyguard-manager.md
deleted file mode 100644
index 4c9b0ad6e..000000000
--- a/docs/components/utilities/keyguard-manager.md
+++ /dev/null
@@ -1,113 +0,0 @@
-# Keyguard Manager
-
-{>> Non-Visible component<<}
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Utilities**|API 21, Android 5.0 Lollipop|1|
-
-## Overview
-
-A non-visible component that authenticates the user using their preferred security option.
-
-??? example "Permissions"
- * [android.permission.DISABLE_KEYGUARD](https://developer.android.com/reference/android/Manifest.permission.html#DISABLE_KEYGUARD)
-
-## Events
-
-### On Authentication Request
-
-Event to detect a authentication request was called.
-
-
-
-| Params | []() |
-|--------|------|
-|is Authenticated|Boolean|
-
-### On Dissmiss Keyguard Request
-
-Event to detect a dissmiss request keyguard was called.
-
-
-
-| Params | []() |
-|--------|------|
-|succeeded|Boolean|
-|cancelled|Boolean|
-
-## Methods
-
-### Request Dismiss Keyguard
-
-If the device is currently locked, requests the Keyguard to be dismissed. Works only for devices with Android 8+
-
-
-
-### Show Authentication Screen
-
-Create the Confirm Credentials screen. You can customize the title and description. Or we will provide a generic one for you if you leave it empty. Works only for devices with Android 5+
-
-
-
-### Show When Locked
-
-Specifies whether an Activity should be shown on top of the lock screen whenever the lockscreen is up and the activity is resumed. Normally an activity will be transitioned to the stopped state if it is started while the lockscreen is up, but with this flag set the activity will remain in the resumed state visible on-top of the lock screen.
-
-
-
-| Params | []() |
-|--------|------|
-|enabled|Boolean|
-
-## Properties
-
-### Description
-
-TextDefault: Confirm your screen lock. :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Returns the keyguard manager description text.
-
-
-
-
-### is Device Locked
-
-Boolean :heavy_minus_sign: Read - Blocks
-
-Returns whether the device is currently locked and requires a PIN, pattern or password to unlock. Works only for devices with Android 5.1+
-
-
-
-### is Device Secure
-
-Boolean :heavy_minus_sign: Read - Blocks
-
-Returns whether the device is secured with a PIN, pattern or password. Works only for devices with Android 6+
-
-
-
-### is Keyguard Locked
-
-Boolean :heavy_minus_sign: Read - Blocks
-
-Return whether the keyguard is currently locked.
-
-
-
-### is Keyguard Secure
-
-Boolean :heavy_minus_sign: Read - Blocks
-
-Return whether the keyguard is secured by a PIN, pattern or password or a SIM card is currently locked.
-
-
-
-### Title
-
-TextDefault: Unlock :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Returns the keyguard manager title text.
-
-
-
diff --git a/docs/components/utilities/package-utilities.md b/docs/components/utilities/package-utilities.md
deleted file mode 100644
index f98de6737..000000000
--- a/docs/components/utilities/package-utilities.md
+++ /dev/null
@@ -1,120 +0,0 @@
-# Package Utilities
-
-{>> Non-Visible component<<}
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Utilities**|API 21, Android 5.0 Lollipop|3|
-
-## Overview
-
-A non-visible component that retrieves information about other applications on the device.
-
-## Methods
-
-### App Name From
-
-Returns: Text
-
-Returns the name from the given package name.
-
-
-
-| Params | []() |
-|--------|------|
-|package Name|Text|
-
-### Get Package Icon
-
-Returns: Text
-
-Try to show the application icon of the given package name. If the application cannot be found, "Package not found" is the output.
-
-
-
-| Params | []() |
-|--------|------|
-|package Name|Text|
-
-### Is Package Installed
-
-Returns: Boolean
-
-Returns true if a package (app) is installed and enabled.
-
-
-
-| Params | []() |
-|--------|------|
-|package Name|Text|
-
-### Is Permission Granted
-
-Returns: Boolean
-
-Check whether a particular package has been granted a particular permission.
-
-
-
-| Params | []() |
-|--------|------|
-|permission Name|Text|
-|package Name|Text|
-
-### Version Code From
-
-Returns: Number
-
-This block will returns the version code of the package name. Returns '-1' if the package is not installed.
-
-
-
-| Params | []() |
-|--------|------|
-|package Name|Text|
-
-### Version Name From
-
-Returns: Text
-
-This block will returns the version name of the package name. Returns 'Package not found' if the package is not installed.
-
-
-
-| Params | []() |
-|--------|------|
-|package Name|Text|
-
-## Properties
-
-### App Name
-
-Text :heavy_minus_sign: Read - Blocks
-
-Returns the name from the current running app.
-
-
-
-### Package Name
-
-Text :heavy_minus_sign: Read - Blocks
-
-Returns the package name from the current running app.
-
-
-
-### Version Code
-
-Number :heavy_minus_sign: Read - Blocks
-
-This block will returns the version code of the current running app.
-
-
-
-### Version Name
-
-Text :heavy_minus_sign: Read - Blocks
-
-This block will returns the version name of the current running app.
-
-
diff --git a/docs/components/utilities/resource-utilities.md b/docs/components/utilities/resource-utilities.md
deleted file mode 100644
index 7e05fe8c9..000000000
--- a/docs/components/utilities/resource-utilities.md
+++ /dev/null
@@ -1,78 +0,0 @@
-# Resource Utilities
-
-{>> Non-Visible component<<}
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Utilities**|API 21, Android 5.0 Lollipop|1|
-
-## Overview
-
-A non-visible component that loads string resources from a file.
-
-??? example "Permissions"
- * [android.permission.INTERNET](https://developer.android.com/reference/android/Manifest.permission.html#INTERNET)
- * [android.permission.WRITE_EXTERNAL_STORAGE](https://developer.android.com/reference/android/Manifest.permission.html#WRITE_EXTERNAL_STORAGE)
-
-## Methods
-
-### Get String Content By Name
-
-:warning: ==**Deprecated**==
-
-Returns: Text
-
-This block is deprecated and will be removed soon. Use instead 'Get String From Asset' or 'Get String From Path'.
-
-
-
-| Params | []() |
-|--------|------|
-|resource Name|Text|
-|if Resource Not Found Use|Text|
-
-### Get String From Asset
-
-Returns: Text
-
-Get the text from a asset resource file. Make sure you uploaded a file at 'Resource File From Asset' property.
-
-
-
-| Params | []() |
-|--------|------|
-|resource Name|Text|
-|if Resource Not Found Use|Text|
-
-### Get String From Path
-
-Returns: Text
-
-Get the text from a path resource file. Make sure you added a file path at 'Resource File From Path' property. The path can be too a link to a url.
-
-
-
-| Params | []() |
-|--------|------|
-|resource Name|Text|
-|if Resource Not Found Use|Text|
-
-## Properties
-
-### Resource File From Asset
-
-Text :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Set the file which is used as resource file. The file must be stored in the assets folder.
-
-
-
-
-### Resource File From Path
-
-Text :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Set the file which is used as resource file. The file path must be valid to any file you want to use. The path can be too a link to a url.
-
-
-
diff --git a/docs/components/utilities/screenshot.md b/docs/components/utilities/screenshot.md
deleted file mode 100644
index 65aabc581..000000000
--- a/docs/components/utilities/screenshot.md
+++ /dev/null
@@ -1,141 +0,0 @@
-# Screenshot
-
-{>> Non-Visible component<<}
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Utilities**|API 21, Android 5.0 Lollipop|2|
-
-## Overview
-
-A non-visible component that takes a screenshot of the content currently visible on the device''s screen.
-
-??? example "Permissions"
- * [android.permission.READ_EXTERNAL_STORAGE](https://developer.android.com/reference/android/Manifest.permission.html#READ_EXTERNAL_STORAGE)
- * [android.permission.WRITE_EXTERNAL_STORAGE](https://developer.android.com/reference/android/Manifest.permission.html#WRITE_EXTERNAL_STORAGE)
-
-## Events
-
-### Got Screenshot
-
-Event to detect that a screenshot was made by the user. Returns the image path to the taken screenshot.
-
-
-
-| Params | []() |
-|--------|------|
-|image|Text|
-
-## Methods
-
-### Take Screenshot
-
-Take a screenshot of the current visible screen.
-
-
-
-## Properties
-
-### Allow Screenshots
-
-BooleanDefault: True :heavy_minus_sign: Write - DesignerBlocks
-
-This feature allows users of your app to make or ban screenshots of their app. If disabled and a person tries to make a screenshot, they will receive then a default system message that this is not possible.
-
-
-
-### Are Permissions Granted
-
-Boolean :heavy_minus_sign: Read - Blocks
-
-Returns true if the write and read permission is granted, else false.
-
-
-
-### Dim Amount
-
-NumberDefault: 0.5 :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-Set the amount of dim behind the preview window if ShowPreview(...) is enabled. Use '0.0' for no dim and '1.0' for full dim.
-
-
-
-
-### File Name
-
-TextDefault: Screenshot.png :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-This will be the name for the taken screenshot image file.
-
-
-
-
-### is Read Permission Granted
-
-Boolean :heavy_minus_sign: Read - Blocks
-
-Returns true if the read permission is granted, else false.
-
-
-
-### is Write Permission Granted
-
-Boolean :heavy_minus_sign: Read - Blocks
-
-Returns true if the write permission is granted, else false.
-
-
-
-### Notification Share Title
-
-TextDefault: Share :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-This will set the notification share button text if the option "Show Notification" is enabled.
-
-
-
-
-### Notification Title
-
-TextDefault: Screenshot.. :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-This will set the notification title if the option "Show Notification" is enabled.
-
-
-
-
-### Show Notification
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-If enabled you will see a notification in the statusbar after the screenshot is taken.
-
-
-
-
-### Show Notification Share Button
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-If enabled you will see a notification with a share button after the screenshot is taken.
-
-
-
-
-### Show Preview
-
-BooleanDefault: True :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-If enabled you will see a short preview animation after the screenshot is taken.
-
-
-
-
-### Use Large Notification
-
-BooleanDefault: False :heavy_minus_sign: ReadWrite - DesignerBlocks
-
-This will display the notification in a big style.
-
-
-
diff --git a/docs/components/utilities/shell.md b/docs/components/utilities/shell.md
deleted file mode 100644
index 22c78b689..000000000
--- a/docs/components/utilities/shell.md
+++ /dev/null
@@ -1,63 +0,0 @@
-# Shell
-
-{>> Non-Visible component<<}
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Utilities**|API 21, Android 5.0 Lollipop|2|
-
-## Overview
-
-A non-visible component that executes shell commands and checks the device''s root status.
-
-??? example "Permissions"
- * [android.permission.READ_EXTERNAL_STORAGE](https://developer.android.com/reference/android/Manifest.permission.html#READ_EXTERNAL_STORAGE)
- * [android.permission.WRITE_EXTERNAL_STORAGE](https://developer.android.com/reference/android/Manifest.permission.html#WRITE_EXTERNAL_STORAGE)
-
-## Events
-
-### Got Output
-
-Read output after executing shell command
-
-
-
-| Params | []() |
-|--------|------|
-|out|Text|
-
-## Methods
-
-### Execute
-
-Executes shell commands. To get output, use "GotOutput" event block.
-
-
-
-| Params | []() |
-|--------|------|
-|in|Text|
-
-### Has Super User Apk Installed
-
-Returns: Boolean
-
-Returns TRUE if one of 6 known root packages or varients is installed. The name of the package is not returned, so the user does not know which package name to change. Developed by Cian.
-
-
-
-### Is Rooted
-
-Returns: Boolean
-
-Returns true if Phone is Rooted
-
-
-
-### Is System User
-
-Returns: Boolean
-
-This returns TRUE if the system user is running the application, and could be a sign of a rooted device. Developed by Cian.
-
-
diff --git a/docs/components/utilities/wallpaper.md b/docs/components/utilities/wallpaper.md
deleted file mode 100644
index 593b5f2c8..000000000
--- a/docs/components/utilities/wallpaper.md
+++ /dev/null
@@ -1,127 +0,0 @@
-# Wallpaper
-
-{>> Non-Visible component<<}
-
-| Category | Requires | Version |
-|:--------:|:-------:|:--------:|
-|**Utilities**|API 21, Android 5.0 Lollipop|2|
-
-## Overview
-
-A non-visible component that provides access to the system''s wallpaper settings.
-
-??? example "Permissions"
- * [android.permission.SET_WALLPAPER](https://developer.android.com/reference/android/Manifest.permission.html#SET_WALLPAPER)
- * [android.permission.READ_EXTERNAL_STORAGE](https://developer.android.com/reference/android/Manifest.permission.html#READ_EXTERNAL_STORAGE)
- * [android.permission.WRITE_SETTINGS](https://developer.android.com/reference/android/Manifest.permission.html#WRITE_SETTINGS)
- * [android.permission.WRITE_EXTERNAL_STORAGE](https://developer.android.com/reference/android/Manifest.permission.html#WRITE_EXTERNAL_STORAGE)
-
-## Events
-
-### Got Wallpaper
-
-Event to detect that the component got the current system wallpaper.
-
-
-
-| Params | []() |
-|--------|------|
-|picture|Text|
-
-### Wallpaper Changed
-
-Event to detect that the user has changed the wallpaper. This event will be invoked by the "Set Wallpaper" function.
-
-
-
-| Params | []() |
-|--------|------|
-|success|Boolean|
-
-### Wallpaper Cleared
-
-Event to detect that the user has cleared/deleted the wallpaper.
-
-
-
-## Methods
-
-### Clear
-
-Remove any currently set system wallpaper, reverting to the system's built-in wallpaper.
-
-
-
-### Clear Wallpaper
-
-Reset all wallpaper to the factory default. This block works only on devices with Android 9+.
-
-
-
-### Get Wallpaper
-
-Retrieve the current system wallpaper; if no wallpaper is set, the system built-in static wallpaper is returned.
-
-
-
-### Set Lock Screen Wallpaper
-
-Change the current lock screen wallpaper. This block works only on devices with Android 7+.
-
-
-
-| Params | []() |
-|--------|------|
-|image|Text|
-
-### Set Wallpaper
-
-Change the current system wallpaper.
-
-
-
-| Params | []() |
-|--------|------|
-|image|Text|
-
-## Properties
-
-### Desired Minimum Height
-
-Number :heavy_minus_sign: Read - Blocks
-
-Returns the desired minimum height for the wallpaper.
-
-
-
-### Desired Minimum Width
-
-Number :heavy_minus_sign: Read - Blocks
-
-Returns the desired minimum width for the wallpaper.
-
-
-
-### Is Set Wallpaper Allowed
-
-Boolean :heavy_minus_sign: Read - Blocks
-
-Returns whether the calling package is allowed to set the wallpaper for the calling user. This block works only on devices with Android 7+.
-
-
-
-### Is Wallpaper Supported
-
-Boolean :heavy_minus_sign: Read - Blocks
-
-Returns whether wallpapers are supported for the calling user. This block works only on devices with Android 6+.
-
-
-
-### Save Wallpaper As
-
-TextDefault: wallpaperPicture.png :heavy_minus_sign: Write - DesignerBlocks
-
-After the user clicked on "Get Wallpaper" this will be the name for the wallpaper picture.
-
-
diff --git a/docs/guides/concept-cards.md b/docs/guides/concept-cards.md
deleted file mode 100644
index 69440ade8..000000000
--- a/docs/guides/concept-cards.md
+++ /dev/null
@@ -1,34 +0,0 @@
-# Concept Cards
-
-!!! quote
- Big thanks to [@Peter](https://community.kodular.io/u/Peter) who made these amazing cards!
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/docs/release-notes/index.md b/docs/release-notes/index.md
deleted file mode 100644
index 8011c6716..000000000
--- a/docs/release-notes/index.md
+++ /dev/null
@@ -1,13 +0,0 @@
-# Release Notes
-
-## [1.0 Andromeda \| _22 June 2018_](andromeda.md)
-
-## [1.1 Butterfly \| _19 August 2018_](butterfly.md)
-
-## [1.2 Chamaeleon \| _26 October 2018_](chamaeleon.md)
-
-## [1.3 Draco \| _13 January 2019_](draco.md)
-
-## [1.4 Eagle \| _17 August 2019_](eagle.md)
-
-## [1.5 Fenix \| _15 July 2021_](fenix.md)
diff --git a/docs/support/account/index.md b/docs/support/account/index.md
deleted file mode 100644
index 68cf696e4..000000000
--- a/docs/support/account/index.md
+++ /dev/null
@@ -1,7 +0,0 @@
-# Overview of My Account
-
-* [How to login into Kodular?](how-to-login.md)
-* [I cannot use my 2FA codes, what can I do?](2fa-recovery.md)
-* [Delete my Kodular Account](delete-account.md)
-* [How to remove a credit/debit card from my account?](remove-payment-method.md)
-* [How can I change my payment method?](change-payment-method.md)
diff --git a/docs/support/adm/getting-started.md b/docs/support/adm/getting-started.md
deleted file mode 100644
index 60d9cf3e9..000000000
--- a/docs/support/adm/getting-started.md
+++ /dev/null
@@ -1 +0,0 @@
-See [monetization](../../guides/monetization.md) guide.
\ No newline at end of file
diff --git a/docs/support/billing/index.md b/docs/support/billing/index.md
deleted file mode 100644
index 5959e957e..000000000
--- a/docs/support/billing/index.md
+++ /dev/null
@@ -1,13 +0,0 @@
-# Overview of Billing
-
-!!! warning
- All this section will change with the upcoming Kodular update. Please keep in mind these support
- pages may not be up-to-date.
-
-* [Branding Removal](branding-removal.md)
-* [Commission Removal](commission-removal.md)
-* [Companion Ads Removal](companion-ads-removal.md)
-* [Renewing a subscription](renewing-subscription.md)
-* [Cancelling a subscription](cancelling-subscription.md)
-* [Proration](proration.md)
-* [Payment failed](payment-failed.md)
diff --git a/docs/support/index.md b/docs/support/index.md
deleted file mode 100644
index 8adea92fa..000000000
--- a/docs/support/index.md
+++ /dev/null
@@ -1,7 +0,0 @@
-# Overview of Support
-
-* [My Account](account/index.md)
-* [Billing](billing/index.md)
-* [Google Ad Manager](adm/index.md)
-* [Monetization](monetization/index.md)
-* [App Development](development/index.md)
diff --git a/docs/support/monetization/aia-re-approval.md b/docs/support/monetization/aia-re-approval.md
deleted file mode 100644
index 2575abfea..000000000
--- a/docs/support/monetization/aia-re-approval.md
+++ /dev/null
@@ -1,3 +0,0 @@
-# Do I need to get the app approved again, if I import a saved .aia copy of the same app from my computer?
-
-Yes, you need to get the app reviewed and approved again in order to display ads in your app.
diff --git a/package.json b/package.json
new file mode 100644
index 000000000..8764f6578
--- /dev/null
+++ b/package.json
@@ -0,0 +1,19 @@
+{
+ "name": "kodular-docs",
+ "type": "module",
+ "version": "0.0.1",
+ "scripts": {
+ "dev": "astro dev",
+ "start": "astro dev",
+ "build": "astro build",
+ "preview": "astro preview",
+ "astro": "astro"
+ },
+ "dependencies": {
+ "@astro-community/astro-embed-youtube": "^0.5.6",
+ "@astrojs/starlight": "^0.30.2",
+ "astro": "^5.0.2",
+ "sharp": "^0.32.5",
+ "starlight-links-validator": "^0.13.4"
+ }
+}
\ No newline at end of file
diff --git a/docs/assets/favicon.ico b/public/favicon.ico
similarity index 100%
rename from docs/assets/favicon.ico
rename to public/favicon.ico
diff --git a/docs/assets/js/blockly_compressed.js b/public/js/blockly_compressed.js
similarity index 100%
rename from docs/assets/js/blockly_compressed.js
rename to public/js/blockly_compressed.js
diff --git a/docs/assets/js/extra.js b/public/js/extra.js
similarity index 90%
rename from docs/assets/js/extra.js
rename to public/js/extra.js
index f8f92e719..6dd4d3070 100644
--- a/docs/assets/js/extra.js
+++ b/public/js/extra.js
@@ -1,17 +1,3 @@
-$(document).ready(function () {
- // Load Videos in the Docs
- $('img[alt="YOUTUBE"]').each(function () {
- var id = $(this).attr('src').split('/')[$(this).attr('src').split('/').length - 1];
- var video = '';
- $(this).replaceWith(video);
- });
-
- // Lightbox
- // event.preventDefault();
- // $(this).ekkoLightbox();
-});
-
-
/**
* Thanks to @ColinTree for the GitBook Plugin, based on which this script is written
* https://github.com/ColinTree/gitbook-plugin-ai2-blocks
@@ -54,9 +40,9 @@ function renderAndGetBlock(id, scale, margin_left, margin_top, margin_right, mar
block.render();
var metrics = workspace.getMetrics();
- $("#" + id)
- .height(metrics.contentHeight + margin_top + margin_bottom)
- .width(metrics.contentWidth + 8 + margin_left + margin_right);
+ const el = document.getElementById(id);
+ el.style.height = metrics.contentHeight + margin_top + margin_bottom + 'px';
+ el.style.width = metrics.contentWidth + 8 + margin_left + margin_right + 'px';
Blockly.svgResize(workspace);
workspace.render();
return block;
@@ -94,11 +80,11 @@ function getBlock(json) {
}
function renderSingleBlockDiv(divElement) {
- var block = getBlock(decodeURI(divElement.getAttribute('value')));
+ var block = getBlock(decodeURI(divElement.getAttribute('data-value')));
divElement.setAttribute('id', blockId)
divElement.style.display = 'block'; // show
- var type = divElement.getAttribute("ai2-block");
+ var type = divElement.getAttribute("data-ai2-block");
var name = block['name'];
var scale = block['scale'] || CONF_SCALE_LEVEL;
var margin_left = block['margin_left'] || block['margin'] || CONF_MARGIN_LEFT;
diff --git a/requirements.txt b/requirements.txt
deleted file mode 100644
index e6a544604..000000000
--- a/requirements.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-jinja2==3.0.0
-mkdocs==1.2.2
-mkdocs-git-revision-date-localized-plugin==0.9.2
-mkdocs-material==7.2.2
-mkdocs-material-extensions==1.0.1
-mkdocs-redirects==1.0.3
diff --git a/docs/assets/css/extra.css b/src/assets/css/extra.css
similarity index 100%
rename from docs/assets/css/extra.css
rename to src/assets/css/extra.css
diff --git a/docs/assets/fonts/Jost-100-Hairline.otf b/src/assets/fonts/Jost-100-Hairline.otf
similarity index 100%
rename from docs/assets/fonts/Jost-100-Hairline.otf
rename to src/assets/fonts/Jost-100-Hairline.otf
diff --git a/docs/assets/fonts/Jost-100-HairlineItalic.otf b/src/assets/fonts/Jost-100-HairlineItalic.otf
similarity index 100%
rename from docs/assets/fonts/Jost-100-HairlineItalic.otf
rename to src/assets/fonts/Jost-100-HairlineItalic.otf
diff --git a/docs/assets/fonts/Jost-200-Thin.otf b/src/assets/fonts/Jost-200-Thin.otf
similarity index 100%
rename from docs/assets/fonts/Jost-200-Thin.otf
rename to src/assets/fonts/Jost-200-Thin.otf
diff --git a/docs/assets/fonts/Jost-200-ThinItalic.otf b/src/assets/fonts/Jost-200-ThinItalic.otf
similarity index 100%
rename from docs/assets/fonts/Jost-200-ThinItalic.otf
rename to src/assets/fonts/Jost-200-ThinItalic.otf
diff --git a/docs/assets/fonts/Jost-300-Light.otf b/src/assets/fonts/Jost-300-Light.otf
similarity index 100%
rename from docs/assets/fonts/Jost-300-Light.otf
rename to src/assets/fonts/Jost-300-Light.otf
diff --git a/docs/assets/fonts/Jost-300-LightItalic.otf b/src/assets/fonts/Jost-300-LightItalic.otf
similarity index 100%
rename from docs/assets/fonts/Jost-300-LightItalic.otf
rename to src/assets/fonts/Jost-300-LightItalic.otf
diff --git a/docs/assets/fonts/Jost-400-Book.otf b/src/assets/fonts/Jost-400-Book.otf
similarity index 100%
rename from docs/assets/fonts/Jost-400-Book.otf
rename to src/assets/fonts/Jost-400-Book.otf
diff --git a/docs/assets/fonts/Jost-400-BookItalic.otf b/src/assets/fonts/Jost-400-BookItalic.otf
similarity index 100%
rename from docs/assets/fonts/Jost-400-BookItalic.otf
rename to src/assets/fonts/Jost-400-BookItalic.otf
diff --git a/docs/assets/fonts/Jost-500-Medium.otf b/src/assets/fonts/Jost-500-Medium.otf
similarity index 100%
rename from docs/assets/fonts/Jost-500-Medium.otf
rename to src/assets/fonts/Jost-500-Medium.otf
diff --git a/docs/assets/fonts/Jost-500-MediumItalic.otf b/src/assets/fonts/Jost-500-MediumItalic.otf
similarity index 100%
rename from docs/assets/fonts/Jost-500-MediumItalic.otf
rename to src/assets/fonts/Jost-500-MediumItalic.otf
diff --git a/docs/assets/fonts/Jost-600-Semi.otf b/src/assets/fonts/Jost-600-Semi.otf
similarity index 100%
rename from docs/assets/fonts/Jost-600-Semi.otf
rename to src/assets/fonts/Jost-600-Semi.otf
diff --git a/docs/assets/fonts/Jost-600-SemiItalic.otf b/src/assets/fonts/Jost-600-SemiItalic.otf
similarity index 100%
rename from docs/assets/fonts/Jost-600-SemiItalic.otf
rename to src/assets/fonts/Jost-600-SemiItalic.otf
diff --git a/docs/assets/fonts/Jost-700-Bold.otf b/src/assets/fonts/Jost-700-Bold.otf
similarity index 100%
rename from docs/assets/fonts/Jost-700-Bold.otf
rename to src/assets/fonts/Jost-700-Bold.otf
diff --git a/docs/assets/fonts/Jost-700-BoldItalic.otf b/src/assets/fonts/Jost-700-BoldItalic.otf
similarity index 100%
rename from docs/assets/fonts/Jost-700-BoldItalic.otf
rename to src/assets/fonts/Jost-700-BoldItalic.otf
diff --git a/docs/assets/fonts/Jost-800-Heavy.otf b/src/assets/fonts/Jost-800-Heavy.otf
similarity index 100%
rename from docs/assets/fonts/Jost-800-Heavy.otf
rename to src/assets/fonts/Jost-800-Heavy.otf
diff --git a/docs/assets/fonts/Jost-800-HeavyItalic.otf b/src/assets/fonts/Jost-800-HeavyItalic.otf
similarity index 100%
rename from docs/assets/fonts/Jost-800-HeavyItalic.otf
rename to src/assets/fonts/Jost-800-HeavyItalic.otf
diff --git a/docs/assets/fonts/Jost-900-Black.otf b/src/assets/fonts/Jost-900-Black.otf
similarity index 100%
rename from docs/assets/fonts/Jost-900-Black.otf
rename to src/assets/fonts/Jost-900-Black.otf
diff --git a/docs/assets/fonts/Jost-900-BlackItalic.otf b/src/assets/fonts/Jost-900-BlackItalic.otf
similarity index 100%
rename from docs/assets/fonts/Jost-900-BlackItalic.otf
rename to src/assets/fonts/Jost-900-BlackItalic.otf
diff --git a/docs/assets/images/blocks/colors/basiccolorblock.png b/src/assets/images/blocks/colors/basiccolorblock.png
similarity index 100%
rename from docs/assets/images/blocks/colors/basiccolorblock.png
rename to src/assets/images/blocks/colors/basiccolorblock.png
diff --git a/docs/assets/images/blocks/colors/colorblock.gif b/src/assets/images/blocks/colors/colorblock.gif
similarity index 100%
rename from docs/assets/images/blocks/colors/colorblock.gif
rename to src/assets/images/blocks/colors/colorblock.gif
diff --git a/docs/assets/images/blocks/colors/makecolor.png b/src/assets/images/blocks/colors/makecolor.png
similarity index 100%
rename from docs/assets/images/blocks/colors/makecolor.png
rename to src/assets/images/blocks/colors/makecolor.png
diff --git a/docs/assets/images/blocks/colors/splitcolor.png b/src/assets/images/blocks/colors/splitcolor.png
similarity index 100%
rename from docs/assets/images/blocks/colors/splitcolor.png
rename to src/assets/images/blocks/colors/splitcolor.png
diff --git a/docs/assets/images/blocks/control/break.png b/src/assets/images/blocks/control/break.png
similarity index 100%
rename from docs/assets/images/blocks/control/break.png
rename to src/assets/images/blocks/control/break.png
diff --git a/docs/assets/images/blocks/control/choose.png b/src/assets/images/blocks/control/choose.png
similarity index 100%
rename from docs/assets/images/blocks/control/choose.png
rename to src/assets/images/blocks/control/choose.png
diff --git a/docs/assets/images/blocks/control/closeapp.png b/src/assets/images/blocks/control/closeapp.png
similarity index 100%
rename from docs/assets/images/blocks/control/closeapp.png
rename to src/assets/images/blocks/control/closeapp.png
diff --git a/docs/assets/images/blocks/control/closescreen.png b/src/assets/images/blocks/control/closescreen.png
similarity index 100%
rename from docs/assets/images/blocks/control/closescreen.png
rename to src/assets/images/blocks/control/closescreen.png
diff --git a/docs/assets/images/blocks/control/closescreenwithplaintext.png b/src/assets/images/blocks/control/closescreenwithplaintext.png
similarity index 100%
rename from docs/assets/images/blocks/control/closescreenwithplaintext.png
rename to src/assets/images/blocks/control/closescreenwithplaintext.png
diff --git a/docs/assets/images/blocks/control/closescreenwithvalue.png b/src/assets/images/blocks/control/closescreenwithvalue.png
similarity index 100%
rename from docs/assets/images/blocks/control/closescreenwithvalue.png
rename to src/assets/images/blocks/control/closescreenwithvalue.png
diff --git a/docs/assets/images/blocks/control/controls_for_each_dict.png b/src/assets/images/blocks/control/controls_for_each_dict.png
similarity index 100%
rename from docs/assets/images/blocks/control/controls_for_each_dict.png
rename to src/assets/images/blocks/control/controls_for_each_dict.png
diff --git a/docs/assets/images/blocks/control/doreturn.png b/src/assets/images/blocks/control/doreturn.png
similarity index 100%
rename from docs/assets/images/blocks/control/doreturn.png
rename to src/assets/images/blocks/control/doreturn.png
diff --git a/docs/assets/images/blocks/control/evaluate.png b/src/assets/images/blocks/control/evaluate.png
similarity index 100%
rename from docs/assets/images/blocks/control/evaluate.png
rename to src/assets/images/blocks/control/evaluate.png
diff --git a/docs/assets/images/blocks/control/foreach.png b/src/assets/images/blocks/control/foreach.png
similarity index 100%
rename from docs/assets/images/blocks/control/foreach.png
rename to src/assets/images/blocks/control/foreach.png
diff --git a/docs/assets/images/blocks/control/forrange.png b/src/assets/images/blocks/control/forrange.png
similarity index 100%
rename from docs/assets/images/blocks/control/forrange.png
rename to src/assets/images/blocks/control/forrange.png
diff --git a/docs/assets/images/blocks/control/getplainstarttext.png b/src/assets/images/blocks/control/getplainstarttext.png
similarity index 100%
rename from docs/assets/images/blocks/control/getplainstarttext.png
rename to src/assets/images/blocks/control/getplainstarttext.png
diff --git a/docs/assets/images/blocks/control/getstartvalue.png b/src/assets/images/blocks/control/getstartvalue.png
similarity index 100%
rename from docs/assets/images/blocks/control/getstartvalue.png
rename to src/assets/images/blocks/control/getstartvalue.png
diff --git a/docs/assets/images/blocks/control/if.gif b/src/assets/images/blocks/control/if.gif
similarity index 100%
rename from docs/assets/images/blocks/control/if.gif
rename to src/assets/images/blocks/control/if.gif
diff --git a/docs/assets/images/blocks/control/if.png b/src/assets/images/blocks/control/if.png
similarity index 100%
rename from docs/assets/images/blocks/control/if.png
rename to src/assets/images/blocks/control/if.png
diff --git a/docs/assets/images/blocks/control/ifelse.png b/src/assets/images/blocks/control/ifelse.png
similarity index 100%
rename from docs/assets/images/blocks/control/ifelse.png
rename to src/assets/images/blocks/control/ifelse.png
diff --git a/docs/assets/images/blocks/control/ifelseif.png b/src/assets/images/blocks/control/ifelseif.png
similarity index 100%
rename from docs/assets/images/blocks/control/ifelseif.png
rename to src/assets/images/blocks/control/ifelseif.png
diff --git a/docs/assets/images/blocks/control/openscreen.png b/src/assets/images/blocks/control/openscreen.png
similarity index 100%
rename from docs/assets/images/blocks/control/openscreen.png
rename to src/assets/images/blocks/control/openscreen.png
diff --git a/docs/assets/images/blocks/control/openscreenwithvalue.png b/src/assets/images/blocks/control/openscreenwithvalue.png
similarity index 100%
rename from docs/assets/images/blocks/control/openscreenwithvalue.png
rename to src/assets/images/blocks/control/openscreenwithvalue.png
diff --git a/docs/assets/images/blocks/control/while.png b/src/assets/images/blocks/control/while.png
similarity index 100%
rename from docs/assets/images/blocks/control/while.png
rename to src/assets/images/blocks/control/while.png
diff --git a/docs/assets/images/blocks/dictionaries/alist-to-dict.png b/src/assets/images/blocks/dictionaries/alist-to-dict.png
similarity index 100%
rename from docs/assets/images/blocks/dictionaries/alist-to-dict.png
rename to src/assets/images/blocks/dictionaries/alist-to-dict.png
diff --git a/docs/assets/images/blocks/dictionaries/combine-dicts.png b/src/assets/images/blocks/dictionaries/combine-dicts.png
similarity index 100%
rename from docs/assets/images/blocks/dictionaries/combine-dicts.png
rename to src/assets/images/blocks/dictionaries/combine-dicts.png
diff --git a/docs/assets/images/blocks/dictionaries/copy-dict.png b/src/assets/images/blocks/dictionaries/copy-dict.png
similarity index 100%
rename from docs/assets/images/blocks/dictionaries/copy-dict.png
rename to src/assets/images/blocks/dictionaries/copy-dict.png
diff --git a/docs/assets/images/blocks/dictionaries/create-with.png b/src/assets/images/blocks/dictionaries/create-with.png
similarity index 100%
rename from docs/assets/images/blocks/dictionaries/create-with.png
rename to src/assets/images/blocks/dictionaries/create-with.png
diff --git a/docs/assets/images/blocks/dictionaries/delete-value-for-key.png b/src/assets/images/blocks/dictionaries/delete-value-for-key.png
similarity index 100%
rename from docs/assets/images/blocks/dictionaries/delete-value-for-key.png
rename to src/assets/images/blocks/dictionaries/delete-value-for-key.png
diff --git a/docs/assets/images/blocks/dictionaries/dict-to-alist.png b/src/assets/images/blocks/dictionaries/dict-to-alist.png
similarity index 100%
rename from docs/assets/images/blocks/dictionaries/dict-to-alist.png
rename to src/assets/images/blocks/dictionaries/dict-to-alist.png
diff --git a/docs/assets/images/blocks/dictionaries/get-keys.png b/src/assets/images/blocks/dictionaries/get-keys.png
similarity index 100%
rename from docs/assets/images/blocks/dictionaries/get-keys.png
rename to src/assets/images/blocks/dictionaries/get-keys.png
diff --git a/docs/assets/images/blocks/dictionaries/get-value-at-key-path.png b/src/assets/images/blocks/dictionaries/get-value-at-key-path.png
similarity index 100%
rename from docs/assets/images/blocks/dictionaries/get-value-at-key-path.png
rename to src/assets/images/blocks/dictionaries/get-value-at-key-path.png
diff --git a/docs/assets/images/blocks/dictionaries/get-value-for-key.png b/src/assets/images/blocks/dictionaries/get-value-for-key.png
similarity index 100%
rename from docs/assets/images/blocks/dictionaries/get-value-for-key.png
rename to src/assets/images/blocks/dictionaries/get-value-for-key.png
diff --git a/docs/assets/images/blocks/dictionaries/get-values.png b/src/assets/images/blocks/dictionaries/get-values.png
similarity index 100%
rename from docs/assets/images/blocks/dictionaries/get-values.png
rename to src/assets/images/blocks/dictionaries/get-values.png
diff --git a/docs/assets/images/blocks/dictionaries/is-dict.png b/src/assets/images/blocks/dictionaries/is-dict.png
similarity index 100%
rename from docs/assets/images/blocks/dictionaries/is-dict.png
rename to src/assets/images/blocks/dictionaries/is-dict.png
diff --git a/docs/assets/images/blocks/dictionaries/is-key-in.png b/src/assets/images/blocks/dictionaries/is-key-in.png
similarity index 100%
rename from docs/assets/images/blocks/dictionaries/is-key-in.png
rename to src/assets/images/blocks/dictionaries/is-key-in.png
diff --git a/docs/assets/images/blocks/dictionaries/make-a-dictionary.png b/src/assets/images/blocks/dictionaries/make-a-dictionary.png
similarity index 100%
rename from docs/assets/images/blocks/dictionaries/make-a-dictionary.png
rename to src/assets/images/blocks/dictionaries/make-a-dictionary.png
diff --git a/docs/assets/images/blocks/dictionaries/pair.png b/src/assets/images/blocks/dictionaries/pair.png
similarity index 100%
rename from docs/assets/images/blocks/dictionaries/pair.png
rename to src/assets/images/blocks/dictionaries/pair.png
diff --git a/docs/assets/images/blocks/dictionaries/set-value-for-key-path.png b/src/assets/images/blocks/dictionaries/set-value-for-key-path.png
similarity index 100%
rename from docs/assets/images/blocks/dictionaries/set-value-for-key-path.png
rename to src/assets/images/blocks/dictionaries/set-value-for-key-path.png
diff --git a/docs/assets/images/blocks/dictionaries/set-value-for-key.png b/src/assets/images/blocks/dictionaries/set-value-for-key.png
similarity index 100%
rename from docs/assets/images/blocks/dictionaries/set-value-for-key.png
rename to src/assets/images/blocks/dictionaries/set-value-for-key.png
diff --git a/docs/assets/images/blocks/dictionaries/size.png b/src/assets/images/blocks/dictionaries/size.png
similarity index 100%
rename from docs/assets/images/blocks/dictionaries/size.png
rename to src/assets/images/blocks/dictionaries/size.png
diff --git a/docs/assets/images/blocks/dictionaries/walk-all.png b/src/assets/images/blocks/dictionaries/walk-all.png
similarity index 100%
rename from docs/assets/images/blocks/dictionaries/walk-all.png
rename to src/assets/images/blocks/dictionaries/walk-all.png
diff --git a/docs/assets/images/blocks/dictionaries/walk-tree.png b/src/assets/images/blocks/dictionaries/walk-tree.png
similarity index 100%
rename from docs/assets/images/blocks/dictionaries/walk-tree.png
rename to src/assets/images/blocks/dictionaries/walk-tree.png
diff --git a/docs/assets/images/blocks/lists/additems.png b/src/assets/images/blocks/lists/additems.png
similarity index 100%
rename from docs/assets/images/blocks/lists/additems.png
rename to src/assets/images/blocks/lists/additems.png
diff --git a/docs/assets/images/blocks/lists/append.png b/src/assets/images/blocks/lists/append.png
similarity index 100%
rename from docs/assets/images/blocks/lists/append.png
rename to src/assets/images/blocks/lists/append.png
diff --git a/docs/assets/images/blocks/lists/copy.png b/src/assets/images/blocks/lists/copy.png
similarity index 100%
rename from docs/assets/images/blocks/lists/copy.png
rename to src/assets/images/blocks/lists/copy.png
diff --git a/docs/assets/images/blocks/lists/emptylist.png b/src/assets/images/blocks/lists/emptylist.png
similarity index 100%
rename from docs/assets/images/blocks/lists/emptylist.png
rename to src/assets/images/blocks/lists/emptylist.png
diff --git a/docs/assets/images/blocks/lists/indexinlist.png b/src/assets/images/blocks/lists/indexinlist.png
similarity index 100%
rename from docs/assets/images/blocks/lists/indexinlist.png
rename to src/assets/images/blocks/lists/indexinlist.png
diff --git a/docs/assets/images/blocks/lists/inlist.png b/src/assets/images/blocks/lists/inlist.png
similarity index 100%
rename from docs/assets/images/blocks/lists/inlist.png
rename to src/assets/images/blocks/lists/inlist.png
diff --git a/docs/assets/images/blocks/lists/insert.png b/src/assets/images/blocks/lists/insert.png
similarity index 100%
rename from docs/assets/images/blocks/lists/insert.png
rename to src/assets/images/blocks/lists/insert.png
diff --git a/docs/assets/images/blocks/lists/isalist.png b/src/assets/images/blocks/lists/isalist.png
similarity index 100%
rename from docs/assets/images/blocks/lists/isalist.png
rename to src/assets/images/blocks/lists/isalist.png
diff --git a/docs/assets/images/blocks/lists/islistempty.png b/src/assets/images/blocks/lists/islistempty.png
similarity index 100%
rename from docs/assets/images/blocks/lists/islistempty.png
rename to src/assets/images/blocks/lists/islistempty.png
diff --git a/docs/assets/images/blocks/lists/joinwithseparator.png b/src/assets/images/blocks/lists/joinwithseparator.png
similarity index 100%
rename from docs/assets/images/blocks/lists/joinwithseparator.png
rename to src/assets/images/blocks/lists/joinwithseparator.png
diff --git a/docs/assets/images/blocks/lists/lengthoflist.png b/src/assets/images/blocks/lists/lengthoflist.png
similarity index 100%
rename from docs/assets/images/blocks/lists/lengthoflist.png
rename to src/assets/images/blocks/lists/lengthoflist.png
diff --git a/docs/assets/images/blocks/lists/listfromcsvrow.png b/src/assets/images/blocks/lists/listfromcsvrow.png
similarity index 100%
rename from docs/assets/images/blocks/lists/listfromcsvrow.png
rename to src/assets/images/blocks/lists/listfromcsvrow.png
diff --git a/docs/assets/images/blocks/lists/listfromcsvtable.png b/src/assets/images/blocks/lists/listfromcsvtable.png
similarity index 100%
rename from docs/assets/images/blocks/lists/listfromcsvtable.png
rename to src/assets/images/blocks/lists/listfromcsvtable.png
diff --git a/docs/assets/images/blocks/lists/listtocsvrow.png b/src/assets/images/blocks/lists/listtocsvrow.png
similarity index 100%
rename from docs/assets/images/blocks/lists/listtocsvrow.png
rename to src/assets/images/blocks/lists/listtocsvrow.png
diff --git a/docs/assets/images/blocks/lists/listtocsvtable.png b/src/assets/images/blocks/lists/listtocsvtable.png
similarity index 100%
rename from docs/assets/images/blocks/lists/listtocsvtable.png
rename to src/assets/images/blocks/lists/listtocsvtable.png
diff --git a/docs/assets/images/blocks/lists/lookupinpairs.png b/src/assets/images/blocks/lists/lookupinpairs.png
similarity index 100%
rename from docs/assets/images/blocks/lists/lookupinpairs.png
rename to src/assets/images/blocks/lists/lookupinpairs.png
diff --git a/docs/assets/images/blocks/lists/makealist.png b/src/assets/images/blocks/lists/makealist.png
similarity index 100%
rename from docs/assets/images/blocks/lists/makealist.png
rename to src/assets/images/blocks/lists/makealist.png
diff --git a/docs/assets/images/blocks/lists/pickrandomitem.png b/src/assets/images/blocks/lists/pickrandomitem.png
similarity index 100%
rename from docs/assets/images/blocks/lists/pickrandomitem.png
rename to src/assets/images/blocks/lists/pickrandomitem.png
diff --git a/docs/assets/images/blocks/lists/removeitem.png b/src/assets/images/blocks/lists/removeitem.png
similarity index 100%
rename from docs/assets/images/blocks/lists/removeitem.png
rename to src/assets/images/blocks/lists/removeitem.png
diff --git a/docs/assets/images/blocks/lists/replace.png b/src/assets/images/blocks/lists/replace.png
similarity index 100%
rename from docs/assets/images/blocks/lists/replace.png
rename to src/assets/images/blocks/lists/replace.png
diff --git a/docs/assets/images/blocks/lists/reverse.png b/src/assets/images/blocks/lists/reverse.png
similarity index 100%
rename from docs/assets/images/blocks/lists/reverse.png
rename to src/assets/images/blocks/lists/reverse.png
diff --git a/docs/assets/images/blocks/lists/selectlistitem.png b/src/assets/images/blocks/lists/selectlistitem.png
similarity index 100%
rename from docs/assets/images/blocks/lists/selectlistitem.png
rename to src/assets/images/blocks/lists/selectlistitem.png
diff --git a/docs/assets/images/blocks/logic/and.png b/src/assets/images/blocks/logic/and.png
similarity index 100%
rename from docs/assets/images/blocks/logic/and.png
rename to src/assets/images/blocks/logic/and.png
diff --git a/docs/assets/images/blocks/logic/equals.png b/src/assets/images/blocks/logic/equals.png
similarity index 100%
rename from docs/assets/images/blocks/logic/equals.png
rename to src/assets/images/blocks/logic/equals.png
diff --git a/docs/assets/images/blocks/logic/false.png b/src/assets/images/blocks/logic/false.png
similarity index 100%
rename from docs/assets/images/blocks/logic/false.png
rename to src/assets/images/blocks/logic/false.png
diff --git a/docs/assets/images/blocks/logic/not.png b/src/assets/images/blocks/logic/not.png
similarity index 100%
rename from docs/assets/images/blocks/logic/not.png
rename to src/assets/images/blocks/logic/not.png
diff --git a/docs/assets/images/blocks/logic/notequals.png b/src/assets/images/blocks/logic/notequals.png
similarity index 100%
rename from docs/assets/images/blocks/logic/notequals.png
rename to src/assets/images/blocks/logic/notequals.png
diff --git a/docs/assets/images/blocks/logic/or.png b/src/assets/images/blocks/logic/or.png
similarity index 100%
rename from docs/assets/images/blocks/logic/or.png
rename to src/assets/images/blocks/logic/or.png
diff --git a/docs/assets/images/blocks/logic/true.png b/src/assets/images/blocks/logic/true.png
similarity index 100%
rename from docs/assets/images/blocks/logic/true.png
rename to src/assets/images/blocks/logic/true.png
diff --git a/docs/assets/images/blocks/math/abs.png b/src/assets/images/blocks/math/abs.png
similarity index 100%
rename from docs/assets/images/blocks/math/abs.png
rename to src/assets/images/blocks/math/abs.png
diff --git a/docs/assets/images/blocks/math/acos.png b/src/assets/images/blocks/math/acos.png
similarity index 100%
rename from docs/assets/images/blocks/math/acos.png
rename to src/assets/images/blocks/math/acos.png
diff --git a/docs/assets/images/blocks/math/asin.png b/src/assets/images/blocks/math/asin.png
similarity index 100%
rename from docs/assets/images/blocks/math/asin.png
rename to src/assets/images/blocks/math/asin.png
diff --git a/docs/assets/images/blocks/math/atan.png b/src/assets/images/blocks/math/atan.png
similarity index 100%
rename from docs/assets/images/blocks/math/atan.png
rename to src/assets/images/blocks/math/atan.png
diff --git a/docs/assets/images/blocks/math/atan2.png b/src/assets/images/blocks/math/atan2.png
similarity index 100%
rename from docs/assets/images/blocks/math/atan2.png
rename to src/assets/images/blocks/math/atan2.png
diff --git a/docs/assets/images/blocks/math/bitwise_and.png b/src/assets/images/blocks/math/bitwise_and.png
similarity index 100%
rename from docs/assets/images/blocks/math/bitwise_and.png
rename to src/assets/images/blocks/math/bitwise_and.png
diff --git a/docs/assets/images/blocks/math/bitwise_ior.png b/src/assets/images/blocks/math/bitwise_ior.png
similarity index 100%
rename from docs/assets/images/blocks/math/bitwise_ior.png
rename to src/assets/images/blocks/math/bitwise_ior.png
diff --git a/docs/assets/images/blocks/math/bitwise_xor.png b/src/assets/images/blocks/math/bitwise_xor.png
similarity index 100%
rename from docs/assets/images/blocks/math/bitwise_xor.png
rename to src/assets/images/blocks/math/bitwise_xor.png
diff --git a/docs/assets/images/blocks/math/ceiling.png b/src/assets/images/blocks/math/ceiling.png
similarity index 100%
rename from docs/assets/images/blocks/math/ceiling.png
rename to src/assets/images/blocks/math/ceiling.png
diff --git a/docs/assets/images/blocks/math/convert.gif b/src/assets/images/blocks/math/convert.gif
similarity index 100%
rename from docs/assets/images/blocks/math/convert.gif
rename to src/assets/images/blocks/math/convert.gif
diff --git a/docs/assets/images/blocks/math/convertdeg.png b/src/assets/images/blocks/math/convertdeg.png
similarity index 100%
rename from docs/assets/images/blocks/math/convertdeg.png
rename to src/assets/images/blocks/math/convertdeg.png
diff --git a/docs/assets/images/blocks/math/convertnumber.png b/src/assets/images/blocks/math/convertnumber.png
similarity index 100%
rename from docs/assets/images/blocks/math/convertnumber.png
rename to src/assets/images/blocks/math/convertnumber.png
diff --git a/docs/assets/images/blocks/math/convertrad.png b/src/assets/images/blocks/math/convertrad.png
similarity index 100%
rename from docs/assets/images/blocks/math/convertrad.png
rename to src/assets/images/blocks/math/convertrad.png
diff --git a/docs/assets/images/blocks/math/cos.png b/src/assets/images/blocks/math/cos.png
similarity index 100%
rename from docs/assets/images/blocks/math/cos.png
rename to src/assets/images/blocks/math/cos.png
diff --git a/docs/assets/images/blocks/math/divide.png b/src/assets/images/blocks/math/divide.png
similarity index 100%
rename from docs/assets/images/blocks/math/divide.png
rename to src/assets/images/blocks/math/divide.png
diff --git a/docs/assets/images/blocks/math/e.png b/src/assets/images/blocks/math/e.png
similarity index 100%
rename from docs/assets/images/blocks/math/e.png
rename to src/assets/images/blocks/math/e.png
diff --git a/docs/assets/images/blocks/math/equal.png b/src/assets/images/blocks/math/equal.png
similarity index 100%
rename from docs/assets/images/blocks/math/equal.png
rename to src/assets/images/blocks/math/equal.png
diff --git a/docs/assets/images/blocks/math/equals.gif b/src/assets/images/blocks/math/equals.gif
similarity index 100%
rename from docs/assets/images/blocks/math/equals.gif
rename to src/assets/images/blocks/math/equals.gif
diff --git a/docs/assets/images/blocks/math/exponent.png b/src/assets/images/blocks/math/exponent.png
similarity index 100%
rename from docs/assets/images/blocks/math/exponent.png
rename to src/assets/images/blocks/math/exponent.png
diff --git a/docs/assets/images/blocks/math/floor.png b/src/assets/images/blocks/math/floor.png
similarity index 100%
rename from docs/assets/images/blocks/math/floor.png
rename to src/assets/images/blocks/math/floor.png
diff --git a/docs/assets/images/blocks/math/format.png b/src/assets/images/blocks/math/format.png
similarity index 100%
rename from docs/assets/images/blocks/math/format.png
rename to src/assets/images/blocks/math/format.png
diff --git a/docs/assets/images/blocks/math/greater.png b/src/assets/images/blocks/math/greater.png
similarity index 100%
rename from docs/assets/images/blocks/math/greater.png
rename to src/assets/images/blocks/math/greater.png
diff --git a/docs/assets/images/blocks/math/greaterequal.png b/src/assets/images/blocks/math/greaterequal.png
similarity index 100%
rename from docs/assets/images/blocks/math/greaterequal.png
rename to src/assets/images/blocks/math/greaterequal.png
diff --git a/docs/assets/images/blocks/math/isnumber.png b/src/assets/images/blocks/math/isnumber.png
similarity index 100%
rename from docs/assets/images/blocks/math/isnumber.png
rename to src/assets/images/blocks/math/isnumber.png
diff --git a/docs/assets/images/blocks/math/less.png b/src/assets/images/blocks/math/less.png
similarity index 100%
rename from docs/assets/images/blocks/math/less.png
rename to src/assets/images/blocks/math/less.png
diff --git a/docs/assets/images/blocks/math/lessequal.png b/src/assets/images/blocks/math/lessequal.png
similarity index 100%
rename from docs/assets/images/blocks/math/lessequal.png
rename to src/assets/images/blocks/math/lessequal.png
diff --git a/docs/assets/images/blocks/math/log.png b/src/assets/images/blocks/math/log.png
similarity index 100%
rename from docs/assets/images/blocks/math/log.png
rename to src/assets/images/blocks/math/log.png
diff --git a/docs/assets/images/blocks/math/max.png b/src/assets/images/blocks/math/max.png
similarity index 100%
rename from docs/assets/images/blocks/math/max.png
rename to src/assets/images/blocks/math/max.png
diff --git a/docs/assets/images/blocks/math/min.png b/src/assets/images/blocks/math/min.png
similarity index 100%
rename from docs/assets/images/blocks/math/min.png
rename to src/assets/images/blocks/math/min.png
diff --git a/docs/assets/images/blocks/math/minmax.gif b/src/assets/images/blocks/math/minmax.gif
similarity index 100%
rename from docs/assets/images/blocks/math/minmax.gif
rename to src/assets/images/blocks/math/minmax.gif
diff --git a/docs/assets/images/blocks/math/minus.png b/src/assets/images/blocks/math/minus.png
similarity index 100%
rename from docs/assets/images/blocks/math/minus.png
rename to src/assets/images/blocks/math/minus.png
diff --git a/docs/assets/images/blocks/math/modulo.gif b/src/assets/images/blocks/math/modulo.gif
similarity index 100%
rename from docs/assets/images/blocks/math/modulo.gif
rename to src/assets/images/blocks/math/modulo.gif
diff --git a/docs/assets/images/blocks/math/modulo.png b/src/assets/images/blocks/math/modulo.png
similarity index 100%
rename from docs/assets/images/blocks/math/modulo.png
rename to src/assets/images/blocks/math/modulo.png
diff --git a/docs/assets/images/blocks/math/multiply.gif b/src/assets/images/blocks/math/multiply.gif
similarity index 100%
rename from docs/assets/images/blocks/math/multiply.gif
rename to src/assets/images/blocks/math/multiply.gif
diff --git a/docs/assets/images/blocks/math/multiply.png b/src/assets/images/blocks/math/multiply.png
similarity index 100%
rename from docs/assets/images/blocks/math/multiply.png
rename to src/assets/images/blocks/math/multiply.png
diff --git a/docs/assets/images/blocks/math/neg.png b/src/assets/images/blocks/math/neg.png
similarity index 100%
rename from docs/assets/images/blocks/math/neg.png
rename to src/assets/images/blocks/math/neg.png
diff --git a/docs/assets/images/blocks/math/notequal.png b/src/assets/images/blocks/math/notequal.png
similarity index 100%
rename from docs/assets/images/blocks/math/notequal.png
rename to src/assets/images/blocks/math/notequal.png
diff --git a/docs/assets/images/blocks/math/number.png b/src/assets/images/blocks/math/number.png
similarity index 100%
rename from docs/assets/images/blocks/math/number.png
rename to src/assets/images/blocks/math/number.png
diff --git a/docs/assets/images/blocks/math/plus.gif b/src/assets/images/blocks/math/plus.gif
similarity index 100%
rename from docs/assets/images/blocks/math/plus.gif
rename to src/assets/images/blocks/math/plus.gif
diff --git a/docs/assets/images/blocks/math/plus.png b/src/assets/images/blocks/math/plus.png
similarity index 100%
rename from docs/assets/images/blocks/math/plus.png
rename to src/assets/images/blocks/math/plus.png
diff --git a/docs/assets/images/blocks/math/quotient.png b/src/assets/images/blocks/math/quotient.png
similarity index 100%
rename from docs/assets/images/blocks/math/quotient.png
rename to src/assets/images/blocks/math/quotient.png
diff --git a/docs/assets/images/blocks/math/randomfrac.png b/src/assets/images/blocks/math/randomfrac.png
similarity index 100%
rename from docs/assets/images/blocks/math/randomfrac.png
rename to src/assets/images/blocks/math/randomfrac.png
diff --git a/docs/assets/images/blocks/math/randomint.png b/src/assets/images/blocks/math/randomint.png
similarity index 100%
rename from docs/assets/images/blocks/math/randomint.png
rename to src/assets/images/blocks/math/randomint.png
diff --git a/docs/assets/images/blocks/math/randomseed.png b/src/assets/images/blocks/math/randomseed.png
similarity index 100%
rename from docs/assets/images/blocks/math/randomseed.png
rename to src/assets/images/blocks/math/randomseed.png
diff --git a/docs/assets/images/blocks/math/remainder.png b/src/assets/images/blocks/math/remainder.png
similarity index 100%
rename from docs/assets/images/blocks/math/remainder.png
rename to src/assets/images/blocks/math/remainder.png
diff --git a/docs/assets/images/blocks/math/round.png b/src/assets/images/blocks/math/round.png
similarity index 100%
rename from docs/assets/images/blocks/math/round.png
rename to src/assets/images/blocks/math/round.png
diff --git a/docs/assets/images/blocks/math/sin.gif b/src/assets/images/blocks/math/sin.gif
similarity index 100%
rename from docs/assets/images/blocks/math/sin.gif
rename to src/assets/images/blocks/math/sin.gif
diff --git a/docs/assets/images/blocks/math/sin.png b/src/assets/images/blocks/math/sin.png
similarity index 100%
rename from docs/assets/images/blocks/math/sin.png
rename to src/assets/images/blocks/math/sin.png
diff --git a/docs/assets/images/blocks/math/sqrt.gif b/src/assets/images/blocks/math/sqrt.gif
similarity index 100%
rename from docs/assets/images/blocks/math/sqrt.gif
rename to src/assets/images/blocks/math/sqrt.gif
diff --git a/docs/assets/images/blocks/math/sqrt.png b/src/assets/images/blocks/math/sqrt.png
similarity index 100%
rename from docs/assets/images/blocks/math/sqrt.png
rename to src/assets/images/blocks/math/sqrt.png
diff --git a/docs/assets/images/blocks/math/tan.png b/src/assets/images/blocks/math/tan.png
similarity index 100%
rename from docs/assets/images/blocks/math/tan.png
rename to src/assets/images/blocks/math/tan.png
diff --git a/docs/assets/images/blocks/procedure/calldo.png b/src/assets/images/blocks/procedure/calldo.png
similarity index 100%
rename from docs/assets/images/blocks/procedure/calldo.png
rename to src/assets/images/blocks/procedure/calldo.png
diff --git a/docs/assets/images/blocks/procedure/callreturn.png b/src/assets/images/blocks/procedure/callreturn.png
similarity index 100%
rename from docs/assets/images/blocks/procedure/callreturn.png
rename to src/assets/images/blocks/procedure/callreturn.png
diff --git a/docs/assets/images/blocks/procedure/do.png b/src/assets/images/blocks/procedure/do.png
similarity index 100%
rename from docs/assets/images/blocks/procedure/do.png
rename to src/assets/images/blocks/procedure/do.png
diff --git a/docs/assets/images/blocks/procedure/return.png b/src/assets/images/blocks/procedure/return.png
similarity index 100%
rename from docs/assets/images/blocks/procedure/return.png
rename to src/assets/images/blocks/procedure/return.png
diff --git a/docs/assets/images/blocks/text/compare.gif b/src/assets/images/blocks/text/compare.gif
similarity index 100%
rename from docs/assets/images/blocks/text/compare.gif
rename to src/assets/images/blocks/text/compare.gif
diff --git a/docs/assets/images/blocks/text/contains.png b/src/assets/images/blocks/text/contains.png
similarity index 100%
rename from docs/assets/images/blocks/text/contains.png
rename to src/assets/images/blocks/text/contains.png
diff --git a/docs/assets/images/blocks/text/downcase.png b/src/assets/images/blocks/text/downcase.png
similarity index 100%
rename from docs/assets/images/blocks/text/downcase.png
rename to src/assets/images/blocks/text/downcase.png
diff --git a/docs/assets/images/blocks/text/isempty.png b/src/assets/images/blocks/text/isempty.png
similarity index 100%
rename from docs/assets/images/blocks/text/isempty.png
rename to src/assets/images/blocks/text/isempty.png
diff --git a/docs/assets/images/blocks/text/isstring.png b/src/assets/images/blocks/text/isstring.png
similarity index 100%
rename from docs/assets/images/blocks/text/isstring.png
rename to src/assets/images/blocks/text/isstring.png
diff --git a/docs/assets/images/blocks/text/join.png b/src/assets/images/blocks/text/join.png
similarity index 100%
rename from docs/assets/images/blocks/text/join.png
rename to src/assets/images/blocks/text/join.png
diff --git a/docs/assets/images/blocks/text/length.png b/src/assets/images/blocks/text/length.png
similarity index 100%
rename from docs/assets/images/blocks/text/length.png
rename to src/assets/images/blocks/text/length.png
diff --git a/docs/assets/images/blocks/text/obfuscated.png b/src/assets/images/blocks/text/obfuscated.png
similarity index 100%
rename from docs/assets/images/blocks/text/obfuscated.png
rename to src/assets/images/blocks/text/obfuscated.png
diff --git a/docs/assets/images/blocks/text/replaceall.png b/src/assets/images/blocks/text/replaceall.png
similarity index 100%
rename from docs/assets/images/blocks/text/replaceall.png
rename to src/assets/images/blocks/text/replaceall.png
diff --git a/docs/assets/images/blocks/text/segment.png b/src/assets/images/blocks/text/segment.png
similarity index 100%
rename from docs/assets/images/blocks/text/segment.png
rename to src/assets/images/blocks/text/segment.png
diff --git a/docs/assets/images/blocks/text/split.png b/src/assets/images/blocks/text/split.png
similarity index 100%
rename from docs/assets/images/blocks/text/split.png
rename to src/assets/images/blocks/text/split.png
diff --git a/docs/assets/images/blocks/text/splitAtAny.png b/src/assets/images/blocks/text/splitAtAny.png
similarity index 100%
rename from docs/assets/images/blocks/text/splitAtAny.png
rename to src/assets/images/blocks/text/splitAtAny.png
diff --git a/docs/assets/images/blocks/text/splitAtFirstOfAny.png b/src/assets/images/blocks/text/splitAtFirstOfAny.png
similarity index 100%
rename from docs/assets/images/blocks/text/splitAtFirstOfAny.png
rename to src/assets/images/blocks/text/splitAtFirstOfAny.png
diff --git a/docs/assets/images/blocks/text/splitatfirst.png b/src/assets/images/blocks/text/splitatfirst.png
similarity index 100%
rename from docs/assets/images/blocks/text/splitatfirst.png
rename to src/assets/images/blocks/text/splitatfirst.png
diff --git a/docs/assets/images/blocks/text/splitatspaces.png b/src/assets/images/blocks/text/splitatspaces.png
similarity index 100%
rename from docs/assets/images/blocks/text/splitatspaces.png
rename to src/assets/images/blocks/text/splitatspaces.png
diff --git a/docs/assets/images/blocks/text/startsat.png b/src/assets/images/blocks/text/startsat.png
similarity index 100%
rename from docs/assets/images/blocks/text/startsat.png
rename to src/assets/images/blocks/text/startsat.png
diff --git a/docs/assets/images/blocks/text/string.png b/src/assets/images/blocks/text/string.png
similarity index 100%
rename from docs/assets/images/blocks/text/string.png
rename to src/assets/images/blocks/text/string.png
diff --git a/docs/assets/images/blocks/text/trim.png b/src/assets/images/blocks/text/trim.png
similarity index 100%
rename from docs/assets/images/blocks/text/trim.png
rename to src/assets/images/blocks/text/trim.png
diff --git a/docs/assets/images/blocks/text/upcase.png b/src/assets/images/blocks/text/upcase.png
similarity index 100%
rename from docs/assets/images/blocks/text/upcase.png
rename to src/assets/images/blocks/text/upcase.png
diff --git a/docs/assets/images/blocks/variables/get.png b/src/assets/images/blocks/variables/get.png
similarity index 100%
rename from docs/assets/images/blocks/variables/get.png
rename to src/assets/images/blocks/variables/get.png
diff --git a/docs/assets/images/blocks/variables/initializeglobal.png b/src/assets/images/blocks/variables/initializeglobal.png
similarity index 100%
rename from docs/assets/images/blocks/variables/initializeglobal.png
rename to src/assets/images/blocks/variables/initializeglobal.png
diff --git a/docs/assets/images/blocks/variables/initializelocaldo.png b/src/assets/images/blocks/variables/initializelocaldo.png
similarity index 100%
rename from docs/assets/images/blocks/variables/initializelocaldo.png
rename to src/assets/images/blocks/variables/initializelocaldo.png
diff --git a/docs/assets/images/blocks/variables/initializelocalreturn.png b/src/assets/images/blocks/variables/initializelocalreturn.png
similarity index 100%
rename from docs/assets/images/blocks/variables/initializelocalreturn.png
rename to src/assets/images/blocks/variables/initializelocalreturn.png
diff --git a/docs/assets/images/blocks/variables/set.png b/src/assets/images/blocks/variables/set.png
similarity index 100%
rename from docs/assets/images/blocks/variables/set.png
rename to src/assets/images/blocks/variables/set.png
diff --git a/docs/assets/images/components/screen/screen-book-analogy.png b/src/assets/images/components/screen/screen-book-analogy.png
similarity index 100%
rename from docs/assets/images/components/screen/screen-book-analogy.png
rename to src/assets/images/components/screen/screen-book-analogy.png
diff --git a/docs/assets/images/guides/dynamic-cards/all-blocks.png b/src/assets/images/guides/dynamic-cards/all-blocks.png
similarity index 100%
rename from docs/assets/images/guides/dynamic-cards/all-blocks.png
rename to src/assets/images/guides/dynamic-cards/all-blocks.png
diff --git a/docs/assets/images/guides/dynamic-cards/d_with-components.png b/src/assets/images/guides/dynamic-cards/d_with-components.png
similarity index 100%
rename from docs/assets/images/guides/dynamic-cards/d_with-components.png
rename to src/assets/images/guides/dynamic-cards/d_with-components.png
diff --git a/docs/assets/images/guides/dynamic-cards/e_screen-initialize.png b/src/assets/images/guides/dynamic-cards/e_screen-initialize.png
similarity index 100%
rename from docs/assets/images/guides/dynamic-cards/e_screen-initialize.png
rename to src/assets/images/guides/dynamic-cards/e_screen-initialize.png
diff --git a/docs/assets/images/guides/dynamic-cards/e_web-got-text.png b/src/assets/images/guides/dynamic-cards/e_web-got-text.png
similarity index 100%
rename from docs/assets/images/guides/dynamic-cards/e_web-got-text.png
rename to src/assets/images/guides/dynamic-cards/e_web-got-text.png
diff --git a/docs/assets/images/guides/dynamic-cards/f_create-card.png b/src/assets/images/guides/dynamic-cards/f_create-card.png
similarity index 100%
rename from docs/assets/images/guides/dynamic-cards/f_create-card.png
rename to src/assets/images/guides/dynamic-cards/f_create-card.png
diff --git a/docs/assets/images/guides/dynamic-cards/f_populate-news-articles-with-call.png b/src/assets/images/guides/dynamic-cards/f_populate-news-articles-with-call.png
similarity index 100%
rename from docs/assets/images/guides/dynamic-cards/f_populate-news-articles-with-call.png
rename to src/assets/images/guides/dynamic-cards/f_populate-news-articles-with-call.png
diff --git a/docs/assets/images/guides/dynamic-cards/f_populate-news-articles.png b/src/assets/images/guides/dynamic-cards/f_populate-news-articles.png
similarity index 100%
rename from docs/assets/images/guides/dynamic-cards/f_populate-news-articles.png
rename to src/assets/images/guides/dynamic-cards/f_populate-news-articles.png
diff --git a/docs/assets/images/guides/dynamic-cards/m_create-dynamic-card-view.png b/src/assets/images/guides/dynamic-cards/m_create-dynamic-card-view.png
similarity index 100%
rename from docs/assets/images/guides/dynamic-cards/m_create-dynamic-card-view.png
rename to src/assets/images/guides/dynamic-cards/m_create-dynamic-card-view.png
diff --git a/docs/assets/images/guides/dynamic-cards/m_create-dynamic-description.png b/src/assets/images/guides/dynamic-cards/m_create-dynamic-description.png
similarity index 100%
rename from docs/assets/images/guides/dynamic-cards/m_create-dynamic-description.png
rename to src/assets/images/guides/dynamic-cards/m_create-dynamic-description.png
diff --git a/docs/assets/images/guides/dynamic-cards/m_create-dynamic-image.png b/src/assets/images/guides/dynamic-cards/m_create-dynamic-image.png
similarity index 100%
rename from docs/assets/images/guides/dynamic-cards/m_create-dynamic-image.png
rename to src/assets/images/guides/dynamic-cards/m_create-dynamic-image.png
diff --git a/docs/assets/images/guides/dynamic-cards/m_create-dynamic-label.png b/src/assets/images/guides/dynamic-cards/m_create-dynamic-label.png
similarity index 100%
rename from docs/assets/images/guides/dynamic-cards/m_create-dynamic-label.png
rename to src/assets/images/guides/dynamic-cards/m_create-dynamic-label.png
diff --git a/docs/assets/images/guides/dynamic-cards/pr_screenshot.png b/src/assets/images/guides/dynamic-cards/pr_screenshot.png
similarity index 100%
rename from docs/assets/images/guides/dynamic-cards/pr_screenshot.png
rename to src/assets/images/guides/dynamic-cards/pr_screenshot.png
diff --git a/docs/assets/images/guides/dynamic-cards/v_result.png b/src/assets/images/guides/dynamic-cards/v_result.png
similarity index 100%
rename from docs/assets/images/guides/dynamic-cards/v_result.png
rename to src/assets/images/guides/dynamic-cards/v_result.png
diff --git a/docs/assets/images/guides/firebase-rules/all-blocks.png b/src/assets/images/guides/firebase-rules/all-blocks.png
similarity index 100%
rename from docs/assets/images/guides/firebase-rules/all-blocks.png
rename to src/assets/images/guides/firebase-rules/all-blocks.png
diff --git a/docs/assets/images/guides/firebase-rules/d_preview.png b/src/assets/images/guides/firebase-rules/d_preview.png
similarity index 100%
rename from docs/assets/images/guides/firebase-rules/d_preview.png
rename to src/assets/images/guides/firebase-rules/d_preview.png
diff --git a/docs/assets/images/guides/firebase-rules/e_current-user-success.png b/src/assets/images/guides/firebase-rules/e_current-user-success.png
similarity index 100%
rename from docs/assets/images/guides/firebase-rules/e_current-user-success.png
rename to src/assets/images/guides/firebase-rules/e_current-user-success.png
diff --git a/docs/assets/images/guides/firebase-rules/e_getdetails-click.png b/src/assets/images/guides/firebase-rules/e_getdetails-click.png
similarity index 100%
rename from docs/assets/images/guides/firebase-rules/e_getdetails-click.png
rename to src/assets/images/guides/firebase-rules/e_getdetails-click.png
diff --git a/docs/assets/images/guides/firebase-rules/e_got-value-2.png b/src/assets/images/guides/firebase-rules/e_got-value-2.png
similarity index 100%
rename from docs/assets/images/guides/firebase-rules/e_got-value-2.png
rename to src/assets/images/guides/firebase-rules/e_got-value-2.png
diff --git a/docs/assets/images/guides/firebase-rules/e_got-value.png b/src/assets/images/guides/firebase-rules/e_got-value.png
similarity index 100%
rename from docs/assets/images/guides/firebase-rules/e_got-value.png
rename to src/assets/images/guides/firebase-rules/e_got-value.png
diff --git a/docs/assets/images/guides/firebase-rules/e_login-success.png b/src/assets/images/guides/firebase-rules/e_login-success.png
similarity index 100%
rename from docs/assets/images/guides/firebase-rules/e_login-success.png
rename to src/assets/images/guides/firebase-rules/e_login-success.png
diff --git a/docs/assets/images/guides/firebase-rules/e_signinbutton-click.png b/src/assets/images/guides/firebase-rules/e_signinbutton-click.png
similarity index 100%
rename from docs/assets/images/guides/firebase-rules/e_signinbutton-click.png
rename to src/assets/images/guides/firebase-rules/e_signinbutton-click.png
diff --git a/docs/assets/images/guides/firebase-rules/e_updatedetailsbutton-click.png b/src/assets/images/guides/firebase-rules/e_updatedetailsbutton-click.png
similarity index 100%
rename from docs/assets/images/guides/firebase-rules/e_updatedetailsbutton-click.png
rename to src/assets/images/guides/firebase-rules/e_updatedetailsbutton-click.png
diff --git a/docs/assets/images/guides/firebase-rules/ext_fauth-google.png b/src/assets/images/guides/firebase-rules/ext_fauth-google.png
similarity index 100%
rename from docs/assets/images/guides/firebase-rules/ext_fauth-google.png
rename to src/assets/images/guides/firebase-rules/ext_fauth-google.png
diff --git a/docs/assets/images/guides/firebase-rules/ext_fdb-data.png b/src/assets/images/guides/firebase-rules/ext_fdb-data.png
similarity index 100%
rename from docs/assets/images/guides/firebase-rules/ext_fdb-data.png
rename to src/assets/images/guides/firebase-rules/ext_fdb-data.png
diff --git a/docs/assets/images/guides/firebase-rules/ext_fdb-home.png b/src/assets/images/guides/firebase-rules/ext_fdb-home.png
similarity index 100%
rename from docs/assets/images/guides/firebase-rules/ext_fdb-home.png
rename to src/assets/images/guides/firebase-rules/ext_fdb-home.png
diff --git a/docs/assets/images/guides/firebase-rules/ext_fdb-rules.png b/src/assets/images/guides/firebase-rules/ext_fdb-rules.png
similarity index 100%
rename from docs/assets/images/guides/firebase-rules/ext_fdb-rules.png
rename to src/assets/images/guides/firebase-rules/ext_fdb-rules.png
diff --git a/docs/assets/images/guides/firebase-rules/m_append-value-2.png b/src/assets/images/guides/firebase-rules/m_append-value-2.png
similarity index 100%
rename from docs/assets/images/guides/firebase-rules/m_append-value-2.png
rename to src/assets/images/guides/firebase-rules/m_append-value-2.png
diff --git a/docs/assets/images/guides/firebase-rules/m_append-value.png b/src/assets/images/guides/firebase-rules/m_append-value.png
similarity index 100%
rename from docs/assets/images/guides/firebase-rules/m_append-value.png
rename to src/assets/images/guides/firebase-rules/m_append-value.png
diff --git a/docs/assets/images/guides/firebase-rules/m_get-value-2.png b/src/assets/images/guides/firebase-rules/m_get-value-2.png
similarity index 100%
rename from docs/assets/images/guides/firebase-rules/m_get-value-2.png
rename to src/assets/images/guides/firebase-rules/m_get-value-2.png
diff --git a/docs/assets/images/guides/firebase-rules/m_get-value-3.png b/src/assets/images/guides/firebase-rules/m_get-value-3.png
similarity index 100%
rename from docs/assets/images/guides/firebase-rules/m_get-value-3.png
rename to src/assets/images/guides/firebase-rules/m_get-value-3.png
diff --git a/docs/assets/images/guides/firebase-rules/m_get-value-4.png b/src/assets/images/guides/firebase-rules/m_get-value-4.png
similarity index 100%
rename from docs/assets/images/guides/firebase-rules/m_get-value-4.png
rename to src/assets/images/guides/firebase-rules/m_get-value-4.png
diff --git a/docs/assets/images/guides/firebase-rules/m_get-value.png b/src/assets/images/guides/firebase-rules/m_get-value.png
similarity index 100%
rename from docs/assets/images/guides/firebase-rules/m_get-value.png
rename to src/assets/images/guides/firebase-rules/m_get-value.png
diff --git a/docs/assets/images/guides/firebase-rules/m_store-value-2.png b/src/assets/images/guides/firebase-rules/m_store-value-2.png
similarity index 100%
rename from docs/assets/images/guides/firebase-rules/m_store-value-2.png
rename to src/assets/images/guides/firebase-rules/m_store-value-2.png
diff --git a/docs/assets/images/guides/firebase-rules/m_store-value.png b/src/assets/images/guides/firebase-rules/m_store-value.png
similarity index 100%
rename from docs/assets/images/guides/firebase-rules/m_store-value.png
rename to src/assets/images/guides/firebase-rules/m_store-value.png
diff --git a/docs/assets/images/guides/firebase-rules/v_names.png b/src/assets/images/guides/firebase-rules/v_names.png
similarity index 100%
rename from docs/assets/images/guides/firebase-rules/v_names.png
rename to src/assets/images/guides/firebase-rules/v_names.png
diff --git a/docs/assets/images/guides/firebase-rules/v_uids.png b/src/assets/images/guides/firebase-rules/v_uids.png
similarity index 100%
rename from docs/assets/images/guides/firebase-rules/v_uids.png
rename to src/assets/images/guides/firebase-rules/v_uids.png
diff --git a/docs/assets/images/guides/monetization/admapp.png b/src/assets/images/guides/monetization/admapp.png
similarity index 100%
rename from docs/assets/images/guides/monetization/admapp.png
rename to src/assets/images/guides/monetization/admapp.png
diff --git a/docs/assets/images/guides/monetization/approved.png b/src/assets/images/guides/monetization/approved.png
similarity index 100%
rename from docs/assets/images/guides/monetization/approved.png
rename to src/assets/images/guides/monetization/approved.png
diff --git a/docs/assets/images/guides/monetization/creator.png b/src/assets/images/guides/monetization/creator.png
similarity index 100%
rename from docs/assets/images/guides/monetization/creator.png
rename to src/assets/images/guides/monetization/creator.png
diff --git a/docs/assets/images/guides/monetization/email.png b/src/assets/images/guides/monetization/email.png
similarity index 100%
rename from docs/assets/images/guides/monetization/email.png
rename to src/assets/images/guides/monetization/email.png
diff --git a/docs/assets/images/guides/monetization/preinvite.png b/src/assets/images/guides/monetization/preinvite.png
similarity index 100%
rename from docs/assets/images/guides/monetization/preinvite.png
rename to src/assets/images/guides/monetization/preinvite.png
diff --git a/docs/assets/images/guides/pollfish/blocks.png b/src/assets/images/guides/pollfish/blocks.png
similarity index 100%
rename from docs/assets/images/guides/pollfish/blocks.png
rename to src/assets/images/guides/pollfish/blocks.png
diff --git a/docs/assets/images/guides/pollfish/d_pollfish-1.jpg b/src/assets/images/guides/pollfish/d_pollfish-1.jpg
similarity index 100%
rename from docs/assets/images/guides/pollfish/d_pollfish-1.jpg
rename to src/assets/images/guides/pollfish/d_pollfish-1.jpg
diff --git a/docs/assets/images/guides/pollfish/d_pollfish-2.jpg b/src/assets/images/guides/pollfish/d_pollfish-2.jpg
similarity index 100%
rename from docs/assets/images/guides/pollfish/d_pollfish-2.jpg
rename to src/assets/images/guides/pollfish/d_pollfish-2.jpg
diff --git a/docs/assets/images/guides/pollfish/e_button-click.png b/src/assets/images/guides/pollfish/e_button-click.png
similarity index 100%
rename from docs/assets/images/guides/pollfish/e_button-click.png
rename to src/assets/images/guides/pollfish/e_button-click.png
diff --git a/docs/assets/images/guides/pollfish/e_survey-completed.png b/src/assets/images/guides/pollfish/e_survey-completed.png
similarity index 100%
rename from docs/assets/images/guides/pollfish/e_survey-completed.png
rename to src/assets/images/guides/pollfish/e_survey-completed.png
diff --git a/docs/assets/images/guides/pollfish/e_survey-not-available.png b/src/assets/images/guides/pollfish/e_survey-not-available.png
similarity index 100%
rename from docs/assets/images/guides/pollfish/e_survey-not-available.png
rename to src/assets/images/guides/pollfish/e_survey-not-available.png
diff --git a/docs/assets/images/guides/pollfish/e_survey-received.png b/src/assets/images/guides/pollfish/e_survey-received.png
similarity index 100%
rename from docs/assets/images/guides/pollfish/e_survey-received.png
rename to src/assets/images/guides/pollfish/e_survey-received.png
diff --git a/docs/assets/images/guides/pollfish/e_user-not-eligible.png b/src/assets/images/guides/pollfish/e_user-not-eligible.png
similarity index 100%
rename from docs/assets/images/guides/pollfish/e_user-not-eligible.png
rename to src/assets/images/guides/pollfish/e_user-not-eligible.png
diff --git a/docs/assets/images/guides/pollfish/e_user-rejected.png b/src/assets/images/guides/pollfish/e_user-rejected.png
similarity index 100%
rename from docs/assets/images/guides/pollfish/e_user-rejected.png
rename to src/assets/images/guides/pollfish/e_user-rejected.png
diff --git a/docs/assets/images/guides/pollfish/ext_api.jpg b/src/assets/images/guides/pollfish/ext_api.jpg
similarity index 100%
rename from docs/assets/images/guides/pollfish/ext_api.jpg
rename to src/assets/images/guides/pollfish/ext_api.jpg
diff --git a/docs/assets/images/guides/pollfish/ext_create.jpg b/src/assets/images/guides/pollfish/ext_create.jpg
similarity index 100%
rename from docs/assets/images/guides/pollfish/ext_create.jpg
rename to src/assets/images/guides/pollfish/ext_create.jpg
diff --git a/docs/assets/images/guides/pollfish/ext_dashboard.jpg b/src/assets/images/guides/pollfish/ext_dashboard.jpg
similarity index 100%
rename from docs/assets/images/guides/pollfish/ext_dashboard.jpg
rename to src/assets/images/guides/pollfish/ext_dashboard.jpg
diff --git a/docs/assets/images/guides/pollfish/ext_signup.jpg b/src/assets/images/guides/pollfish/ext_signup.jpg
similarity index 100%
rename from docs/assets/images/guides/pollfish/ext_signup.jpg
rename to src/assets/images/guides/pollfish/ext_signup.jpg
diff --git a/docs/assets/images/guides/pollfish/p_survey-not-available.png b/src/assets/images/guides/pollfish/p_survey-not-available.png
similarity index 100%
rename from docs/assets/images/guides/pollfish/p_survey-not-available.png
rename to src/assets/images/guides/pollfish/p_survey-not-available.png
diff --git a/docs/assets/images/guides/pollfish/pr_reward.png b/src/assets/images/guides/pollfish/pr_reward.png
similarity index 100%
rename from docs/assets/images/guides/pollfish/pr_reward.png
rename to src/assets/images/guides/pollfish/pr_reward.png
diff --git a/docs/assets/images/guides/pollfish/pr_survey.png b/src/assets/images/guides/pollfish/pr_survey.png
similarity index 100%
rename from docs/assets/images/guides/pollfish/pr_survey.png
rename to src/assets/images/guides/pollfish/pr_survey.png
diff --git a/docs/assets/images/guides/pollfish/v_survey-received.png b/src/assets/images/guides/pollfish/v_survey-received.png
similarity index 100%
rename from docs/assets/images/guides/pollfish/v_survey-received.png
rename to src/assets/images/guides/pollfish/v_survey-received.png
diff --git a/docs/assets/images/guides/remote-config/all-blocks.png b/src/assets/images/guides/remote-config/all-blocks.png
similarity index 100%
rename from docs/assets/images/guides/remote-config/all-blocks.png
rename to src/assets/images/guides/remote-config/all-blocks.png
diff --git a/docs/assets/images/guides/remote-config/d_preview.png b/src/assets/images/guides/remote-config/d_preview.png
similarity index 100%
rename from docs/assets/images/guides/remote-config/d_preview.png
rename to src/assets/images/guides/remote-config/d_preview.png
diff --git a/docs/assets/images/guides/remote-config/e_fetch-success.png b/src/assets/images/guides/remote-config/e_fetch-success.png
similarity index 100%
rename from docs/assets/images/guides/remote-config/e_fetch-success.png
rename to src/assets/images/guides/remote-config/e_fetch-success.png
diff --git a/docs/assets/images/guides/remote-config/e_item-selected.png b/src/assets/images/guides/remote-config/e_item-selected.png
similarity index 100%
rename from docs/assets/images/guides/remote-config/e_item-selected.png
rename to src/assets/images/guides/remote-config/e_item-selected.png
diff --git a/docs/assets/images/guides/remote-config/e_screen-initialize.png b/src/assets/images/guides/remote-config/e_screen-initialize.png
similarity index 100%
rename from docs/assets/images/guides/remote-config/e_screen-initialize.png
rename to src/assets/images/guides/remote-config/e_screen-initialize.png
diff --git a/docs/assets/images/guides/remote-config/e_tab-item-selected.png b/src/assets/images/guides/remote-config/e_tab-item-selected.png
similarity index 100%
rename from docs/assets/images/guides/remote-config/e_tab-item-selected.png
rename to src/assets/images/guides/remote-config/e_tab-item-selected.png
diff --git a/docs/assets/images/guides/remote-config/ext_frc-condition.gif b/src/assets/images/guides/remote-config/ext_frc-condition.gif
similarity index 100%
rename from docs/assets/images/guides/remote-config/ext_frc-condition.gif
rename to src/assets/images/guides/remote-config/ext_frc-condition.gif
diff --git a/docs/assets/images/guides/remote-config/ext_frc-home.png b/src/assets/images/guides/remote-config/ext_frc-home.png
similarity index 100%
rename from docs/assets/images/guides/remote-config/ext_frc-home.png
rename to src/assets/images/guides/remote-config/ext_frc-home.png
diff --git a/docs/assets/images/guides/remote-config/ext_frc-param-name.png b/src/assets/images/guides/remote-config/ext_frc-param-name.png
similarity index 100%
rename from docs/assets/images/guides/remote-config/ext_frc-param-name.png
rename to src/assets/images/guides/remote-config/ext_frc-param-name.png
diff --git a/docs/assets/images/guides/remote-config/ext_frc-param-value.png b/src/assets/images/guides/remote-config/ext_frc-param-value.png
similarity index 100%
rename from docs/assets/images/guides/remote-config/ext_frc-param-value.png
rename to src/assets/images/guides/remote-config/ext_frc-param-value.png
diff --git a/docs/assets/images/guides/remote-config/ext_frc-publish.png b/src/assets/images/guides/remote-config/ext_frc-publish.png
similarity index 100%
rename from docs/assets/images/guides/remote-config/ext_frc-publish.png
rename to src/assets/images/guides/remote-config/ext_frc-publish.png
diff --git a/docs/assets/images/guides/remote-config/ext_frc-rollback.gif b/src/assets/images/guides/remote-config/ext_frc-rollback.gif
similarity index 100%
rename from docs/assets/images/guides/remote-config/ext_frc-rollback.gif
rename to src/assets/images/guides/remote-config/ext_frc-rollback.gif
diff --git a/docs/assets/images/guides/remote-config/ext_frc-rollout.gif b/src/assets/images/guides/remote-config/ext_frc-rollout.gif
similarity index 100%
rename from docs/assets/images/guides/remote-config/ext_frc-rollout.gif
rename to src/assets/images/guides/remote-config/ext_frc-rollout.gif
diff --git a/docs/assets/images/guides/remote-config/m_add-item.png b/src/assets/images/guides/remote-config/m_add-item.png
similarity index 100%
rename from docs/assets/images/guides/remote-config/m_add-item.png
rename to src/assets/images/guides/remote-config/m_add-item.png
diff --git a/docs/assets/images/guides/remote-config/m_fetch.png b/src/assets/images/guides/remote-config/m_fetch.png
similarity index 100%
rename from docs/assets/images/guides/remote-config/m_fetch.png
rename to src/assets/images/guides/remote-config/m_fetch.png
diff --git a/docs/assets/images/guides/remote-config/p_select-arrangement.png b/src/assets/images/guides/remote-config/p_select-arrangement.png
similarity index 100%
rename from docs/assets/images/guides/remote-config/p_select-arrangement.png
rename to src/assets/images/guides/remote-config/p_select-arrangement.png
diff --git a/docs/assets/images/guides/remote-config/pr_bottom-nav.png b/src/assets/images/guides/remote-config/pr_bottom-nav.png
similarity index 100%
rename from docs/assets/images/guides/remote-config/pr_bottom-nav.png
rename to src/assets/images/guides/remote-config/pr_bottom-nav.png
diff --git a/docs/assets/images/guides/remote-config/pr_tab-layout.png b/src/assets/images/guides/remote-config/pr_tab-layout.png
similarity index 100%
rename from docs/assets/images/guides/remote-config/pr_tab-layout.png
rename to src/assets/images/guides/remote-config/pr_tab-layout.png
diff --git a/docs/assets/images/guides/targeted-notifications/d_preview.png b/src/assets/images/guides/targeted-notifications/d_preview.png
similarity index 100%
rename from docs/assets/images/guides/targeted-notifications/d_preview.png
rename to src/assets/images/guides/targeted-notifications/d_preview.png
diff --git a/docs/assets/images/guides/targeted-notifications/e_screen-initialize.png b/src/assets/images/guides/targeted-notifications/e_screen-initialize.png
similarity index 100%
rename from docs/assets/images/guides/targeted-notifications/e_screen-initialize.png
rename to src/assets/images/guides/targeted-notifications/e_screen-initialize.png
diff --git a/docs/assets/images/guides/targeted-notifications/ext_ons-audience-selection.png b/src/assets/images/guides/targeted-notifications/ext_ons-audience-selection.png
similarity index 100%
rename from docs/assets/images/guides/targeted-notifications/ext_ons-audience-selection.png
rename to src/assets/images/guides/targeted-notifications/ext_ons-audience-selection.png
diff --git a/docs/assets/images/guides/targeted-notifications/ext_ons-audience.png b/src/assets/images/guides/targeted-notifications/ext_ons-audience.png
similarity index 100%
rename from docs/assets/images/guides/targeted-notifications/ext_ons-audience.png
rename to src/assets/images/guides/targeted-notifications/ext_ons-audience.png
diff --git a/docs/assets/images/guides/targeted-notifications/ext_ons-home.png b/src/assets/images/guides/targeted-notifications/ext_ons-home.png
similarity index 100%
rename from docs/assets/images/guides/targeted-notifications/ext_ons-home.png
rename to src/assets/images/guides/targeted-notifications/ext_ons-home.png
diff --git a/docs/assets/images/guides/targeted-notifications/ext_ons-messages.png b/src/assets/images/guides/targeted-notifications/ext_ons-messages.png
similarity index 100%
rename from docs/assets/images/guides/targeted-notifications/ext_ons-messages.png
rename to src/assets/images/guides/targeted-notifications/ext_ons-messages.png
diff --git a/docs/assets/images/guides/targeted-notifications/ext_ons-pro.png b/src/assets/images/guides/targeted-notifications/ext_ons-pro.png
similarity index 100%
rename from docs/assets/images/guides/targeted-notifications/ext_ons-pro.png
rename to src/assets/images/guides/targeted-notifications/ext_ons-pro.png
diff --git a/docs/assets/images/guides/targeted-notifications/ext_ons-segment.png b/src/assets/images/guides/targeted-notifications/ext_ons-segment.png
similarity index 100%
rename from docs/assets/images/guides/targeted-notifications/ext_ons-segment.png
rename to src/assets/images/guides/targeted-notifications/ext_ons-segment.png
diff --git a/docs/assets/images/other/backpack-1.png b/src/assets/images/other/backpack-1.png
similarity index 100%
rename from docs/assets/images/other/backpack-1.png
rename to src/assets/images/other/backpack-1.png
diff --git a/docs/assets/images/other/backpack-2.png b/src/assets/images/other/backpack-2.png
similarity index 100%
rename from docs/assets/images/other/backpack-2.png
rename to src/assets/images/other/backpack-2.png
diff --git a/docs/assets/images/other/backpack-3.png b/src/assets/images/other/backpack-3.png
similarity index 100%
rename from docs/assets/images/other/backpack-3.png
rename to src/assets/images/other/backpack-3.png
diff --git a/docs/assets/images/other/backpack-4.png b/src/assets/images/other/backpack-4.png
similarity index 100%
rename from docs/assets/images/other/backpack-4.png
rename to src/assets/images/other/backpack-4.png
diff --git a/docs/assets/images/other/backpack-5.png b/src/assets/images/other/backpack-5.png
similarity index 100%
rename from docs/assets/images/other/backpack-5.png
rename to src/assets/images/other/backpack-5.png
diff --git a/docs/assets/images/other/backpack-6.png b/src/assets/images/other/backpack-6.png
similarity index 100%
rename from docs/assets/images/other/backpack-6.png
rename to src/assets/images/other/backpack-6.png
diff --git a/docs/assets/images/other/components-blocks-illustration.jpg b/src/assets/images/other/components-blocks-illustration.jpg
similarity index 100%
rename from docs/assets/images/other/components-blocks-illustration.jpg
rename to src/assets/images/other/components-blocks-illustration.jpg
diff --git a/docs/assets/images/other/designer-tagged-with-numbers.jpg b/src/assets/images/other/designer-tagged-with-numbers.jpg
similarity index 100%
rename from docs/assets/images/other/designer-tagged-with-numbers.jpg
rename to src/assets/images/other/designer-tagged-with-numbers.jpg
diff --git a/docs/assets/images/other/event-block-example.png b/src/assets/images/other/event-block-example.png
similarity index 100%
rename from docs/assets/images/other/event-block-example.png
rename to src/assets/images/other/event-block-example.png
diff --git a/docs/assets/images/other/live-development/index-1.png b/src/assets/images/other/live-development/index-1.png
similarity index 100%
rename from docs/assets/images/other/live-development/index-1.png
rename to src/assets/images/other/live-development/index-1.png
diff --git a/docs/assets/images/other/live-development/index-2.png b/src/assets/images/other/live-development/index-2.png
similarity index 100%
rename from docs/assets/images/other/live-development/index-2.png
rename to src/assets/images/other/live-development/index-2.png
diff --git a/docs/assets/images/other/live-development/usb-1.png b/src/assets/images/other/live-development/usb-1.png
similarity index 100%
rename from docs/assets/images/other/live-development/usb-1.png
rename to src/assets/images/other/live-development/usb-1.png
diff --git a/docs/assets/images/other/live-development/usb-2.png b/src/assets/images/other/live-development/usb-2.png
similarity index 100%
rename from docs/assets/images/other/live-development/usb-2.png
rename to src/assets/images/other/live-development/usb-2.png
diff --git a/docs/assets/images/other/live-development/wifi-1.png b/src/assets/images/other/live-development/wifi-1.png
similarity index 100%
rename from docs/assets/images/other/live-development/wifi-1.png
rename to src/assets/images/other/live-development/wifi-1.png
diff --git a/docs/assets/images/other/live-development/wifi-2.png b/src/assets/images/other/live-development/wifi-2.png
similarity index 100%
rename from docs/assets/images/other/live-development/wifi-2.png
rename to src/assets/images/other/live-development/wifi-2.png
diff --git a/docs/assets/images/other/live-development/wifi-3.png b/src/assets/images/other/live-development/wifi-3.png
similarity index 100%
rename from docs/assets/images/other/live-development/wifi-3.png
rename to src/assets/images/other/live-development/wifi-3.png
diff --git a/docs/assets/images/other/method-block-example.png b/src/assets/images/other/method-block-example.png
similarity index 100%
rename from docs/assets/images/other/method-block-example.png
rename to src/assets/images/other/method-block-example.png
diff --git a/docs/assets/images/other/property-block-example.jpg b/src/assets/images/other/property-block-example.jpg
similarity index 100%
rename from docs/assets/images/other/property-block-example.jpg
rename to src/assets/images/other/property-block-example.jpg
diff --git a/docs/assets/images/other/resources/kodularconceptcard01.png b/src/assets/images/other/resources/kodularconceptcard01.png
similarity index 100%
rename from docs/assets/images/other/resources/kodularconceptcard01.png
rename to src/assets/images/other/resources/kodularconceptcard01.png
diff --git a/docs/assets/images/other/resources/kodularconceptcard02.png b/src/assets/images/other/resources/kodularconceptcard02.png
similarity index 100%
rename from docs/assets/images/other/resources/kodularconceptcard02.png
rename to src/assets/images/other/resources/kodularconceptcard02.png
diff --git a/docs/assets/images/other/resources/kodularconceptcard03.png b/src/assets/images/other/resources/kodularconceptcard03.png
similarity index 100%
rename from docs/assets/images/other/resources/kodularconceptcard03.png
rename to src/assets/images/other/resources/kodularconceptcard03.png
diff --git a/docs/assets/images/other/resources/kodularconceptcard04.png b/src/assets/images/other/resources/kodularconceptcard04.png
similarity index 100%
rename from docs/assets/images/other/resources/kodularconceptcard04.png
rename to src/assets/images/other/resources/kodularconceptcard04.png
diff --git a/docs/assets/images/other/resources/kodularconceptcard05.png b/src/assets/images/other/resources/kodularconceptcard05.png
similarity index 100%
rename from docs/assets/images/other/resources/kodularconceptcard05.png
rename to src/assets/images/other/resources/kodularconceptcard05.png
diff --git a/docs/assets/images/other/resources/kodularconceptcard06.png b/src/assets/images/other/resources/kodularconceptcard06.png
similarity index 100%
rename from docs/assets/images/other/resources/kodularconceptcard06.png
rename to src/assets/images/other/resources/kodularconceptcard06.png
diff --git a/docs/assets/images/other/resources/kodularconceptcard07.png b/src/assets/images/other/resources/kodularconceptcard07.png
similarity index 100%
rename from docs/assets/images/other/resources/kodularconceptcard07.png
rename to src/assets/images/other/resources/kodularconceptcard07.png
diff --git a/docs/assets/images/other/resources/kodularconceptcard08.png b/src/assets/images/other/resources/kodularconceptcard08.png
similarity index 100%
rename from docs/assets/images/other/resources/kodularconceptcard08.png
rename to src/assets/images/other/resources/kodularconceptcard08.png
diff --git a/docs/assets/images/other/resources/kodularconceptcard09.png b/src/assets/images/other/resources/kodularconceptcard09.png
similarity index 100%
rename from docs/assets/images/other/resources/kodularconceptcard09.png
rename to src/assets/images/other/resources/kodularconceptcard09.png
diff --git a/docs/assets/images/other/resources/kodularconceptcard10.png b/src/assets/images/other/resources/kodularconceptcard10.png
similarity index 100%
rename from docs/assets/images/other/resources/kodularconceptcard10.png
rename to src/assets/images/other/resources/kodularconceptcard10.png
diff --git a/docs/assets/images/other/resources/kodularconceptcard11.png b/src/assets/images/other/resources/kodularconceptcard11.png
similarity index 100%
rename from docs/assets/images/other/resources/kodularconceptcard11.png
rename to src/assets/images/other/resources/kodularconceptcard11.png
diff --git a/docs/assets/images/other/resources/kodularconceptcard12.png b/src/assets/images/other/resources/kodularconceptcard12.png
similarity index 100%
rename from docs/assets/images/other/resources/kodularconceptcard12.png
rename to src/assets/images/other/resources/kodularconceptcard12.png
diff --git a/docs/assets/images/other/resources/kodularconceptcard13.png b/src/assets/images/other/resources/kodularconceptcard13.png
similarity index 100%
rename from docs/assets/images/other/resources/kodularconceptcard13.png
rename to src/assets/images/other/resources/kodularconceptcard13.png
diff --git a/docs/assets/images/other/resources/kodularconceptcard14.png b/src/assets/images/other/resources/kodularconceptcard14.png
similarity index 100%
rename from docs/assets/images/other/resources/kodularconceptcard14.png
rename to src/assets/images/other/resources/kodularconceptcard14.png
diff --git a/docs/assets/images/other/resources/kodularconceptcard15.png b/src/assets/images/other/resources/kodularconceptcard15.png
similarity index 100%
rename from docs/assets/images/other/resources/kodularconceptcard15.png
rename to src/assets/images/other/resources/kodularconceptcard15.png
diff --git a/docs/assets/images/support/adm/balance.png b/src/assets/images/support/adm/balance.png
similarity index 100%
rename from docs/assets/images/support/adm/balance.png
rename to src/assets/images/support/adm/balance.png
diff --git a/docs/assets/images/support/adm/withdraw.png b/src/assets/images/support/adm/withdraw.png
similarity index 100%
rename from docs/assets/images/support/adm/withdraw.png
rename to src/assets/images/support/adm/withdraw.png
diff --git a/docs/assets/logo.png b/src/assets/logo.png
similarity index 100%
rename from docs/assets/logo.png
rename to src/assets/logo.png
diff --git a/src/components/Block.astro b/src/components/Block.astro
new file mode 100644
index 000000000..e94a19d25
--- /dev/null
+++ b/src/components/Block.astro
@@ -0,0 +1,29 @@
+---
+interface Props {
+ ai2_block: string;
+ value: string;
+}
+
+const { ai2_block, value } = Astro.props;
+---
+
+
+
+
+
+
+
+
diff --git a/src/components/Chip.astro b/src/components/Chip.astro
new file mode 100644
index 000000000..b904bde76
--- /dev/null
+++ b/src/components/Chip.astro
@@ -0,0 +1,25 @@
+---
+import { Badge } from '@astrojs/starlight/components';
+
+interface Props {
+ type: 'number' | 'text' | 'list' | 'color' | 'boolean' | 'component' | 'any' | 'bd' | 'rw';
+ text: string;
+ color: string;
+}
+
+const { type, text } = Astro.props;
+
+const variants = {
+ text: 'danger',
+ number: 'note',
+ component: 'success',
+ any: 'caution',
+ list: 'note',
+ color: 'caution',
+ boolean: 'success',
+ bd: 'note',
+ rw: 'caution',
+} as const;
+---
+
+
\ No newline at end of file
diff --git a/src/content.config.ts b/src/content.config.ts
new file mode 100644
index 000000000..d9ee8c9d1
--- /dev/null
+++ b/src/content.config.ts
@@ -0,0 +1,7 @@
+import { defineCollection } from 'astro:content';
+import { docsLoader } from '@astrojs/starlight/loaders';
+import { docsSchema } from '@astrojs/starlight/schema';
+
+export const collections = {
+ docs: defineCollection({ loader: docsLoader(), schema: docsSchema() }),
+};
diff --git a/src/content/docs/blocks/any-component.md b/src/content/docs/blocks/any-component.md
new file mode 100644
index 000000000..815a58049
--- /dev/null
+++ b/src/content/docs/blocks/any-component.md
@@ -0,0 +1,3 @@
+---
+title: Any Component
+---
\ No newline at end of file
diff --git a/src/content/docs/blocks/colors.md b/src/content/docs/blocks/colors.md
new file mode 100644
index 000000000..ecd968f62
--- /dev/null
+++ b/src/content/docs/blocks/colors.md
@@ -0,0 +1,33 @@
+---
+title: Colors
+---
+
+There are three main types of color blocks:
+
+* [a color box](#basic-color-blocks)
+* [make color](#make-color)
+* [split color](#split-color)
+
+## basic color blocks
+
+
+
+This is a basic color block. It has a small square shape and has a color in the middle that represents the color stored internally in this block.
+
+If you click on the color in the middle, a pop-up appears on the screen with a table of 70 colors that you can choose from. Clicking on a new color will change the current color of your basic color block.
+
+
+
+Each basic color block that you drag from the Colors drawer to the Blocks Editor screen will display a table with the same colors when clicked.
+
+## make color
+
+
+
+`make color` takes in a list of 3 or 4 numbers. These numbers in this list represent values in an RGB code. RGB codes are used to make colors on the Internet. An RGB color chart is available [here](http://www.tayloredmktg.com/rgb/). This first number in this list represents the R value of the code. The second represents the G. The third represents the B. The fourth value is optional and represents the alpha value or how saturated the color is. The default alpha value is 100. Experiment with different values and see how the colors change using this block.
+
+## split color
+
+
+
+`split color` does the opposite of `make color`. It takes in a color: a color block, variable holding a color, or property from one of the components representing a color and returns a list of the RGB values in that color's RGB code.
diff --git a/docs/blocks/control.md b/src/content/docs/blocks/control.md
similarity index 58%
rename from docs/blocks/control.md
rename to src/content/docs/blocks/control.md
index 7fd1b1391..eabb9c8fe 100644
--- a/docs/blocks/control.md
+++ b/src/content/docs/blocks/control.md
@@ -1,134 +1,136 @@
-# Control
-
-* [if & if else](control.md#if)
-* [for each from to](control.md#forrange)
-* [for each in list](control.md#foreach)
-* [for each key with value in dictionary](control.md#foreachdict)
-* [while](control.md#while)
-* [if then else](control.md#choose)
-* [do](control.md#doreturn)
-* [evaluate but ignore result](control.md#evaluate)
-* [open another screen](control.md#openscreen)
-* [open another screen with start value](control.md#openscreenwithvalue)
-* [get start value](control.md#getstartvalue)
-* [close screen](control.md#closescreen)
-* [close screen with value](control.md#closescreenwithvalue)
-* [close application](control.md#closeapp)
-* [get plain start text](control.md#getplainstarttext)
-* [close screen with plain text](control.md#closescreenwithplaintext)
-* [break](control.md#break)
-
-## if & if else {#if}
-
-
+---
+title: Control
+---
+
+* [if & if else](#if)
+* [for each from to](#for-range)
+* [for each in list](#for-each)
+* [for each key with value in dictionary](#for-each-dict)
+* [while](#while)
+* [if then else](#choose)
+* [do](#doreturn)
+* [evaluate but ignore result](#evaluate)
+* [open another screen](#open-screen)
+* [open another screen with start value](#open-screen-with-value)
+* [get start value](#get-start-value)
+* [close screen](#close-screen)
+* [close screen with value](#close-screen-with-value)
+* [close application](#close-app)
+* [get plain start text](#get-plain-start-text)
+* [close screen with plain text](#close-screen-with-plain-text)
+* [break](#break)
+
+## if & if else
+
+
Tests a given condition. If the condition is true, performs the actions in a given sequence of blocks; otherwise, the blocks are ignored.
-
+
Tests a given condition. If the result is true, performs the actions in the -do sequence of blocks; otherwise, performs the actions in the -else sequence of blocks.
-
+
Tests a given condition. If the result is true, performs the actions in the -do sequence of blocks; otherwise tests the statement in the -else if section. If the result is true, performs the actions in the -do sequence of blocks; otherwise, performs the actions in the -else sequence of blocks.
The gif below shows how to use the if else mutator block.
-
+
-## for each from to {#forrange}
+## for each from to
-
+
Runs the blocks in the do section for each numeric value in the range starting at_from\_and ending at\_to_, incrementing\_number\_by the value of\_by\_each time. Use the given variable name,\_number\_to refer to the current value. You can change the name\_number\_to something else if you wish.
-## for each in list {#foreach}
+## for each in list
-
+
Runs the blocks in the do section for each item in the list. Use the given variable name,_item_, to refer to the current list item. You can change the name\_item\_to something else if you wish.
-## for each key with value in dictionary {#foreachdict}
+## for each key with value in dictionary
-
+
Runs the blocks in the do section for each key-value entry in the dictionary. Use the given variables, key and value, to refer to the key and value of the current dictionary entry. You can change the names key and value to something else if you wish.
-## while {#while}
+## while
-
+
Tests the -test condition. If true, performs the action given in -do , then tests again. When test is false, the block ends and the action given in -do is no longer performed.
-## if then else {#choose}
+## if then else
-
+
Tests a given condition. If the statement is true, performs the actions in the then-return sequence of blocks and returns the then-return value; otherwise, performs the actions in the else-return sequence of blocks and returns the else-return value.
-## do {#doreturn}
+## do
-
+
Sometimes in a procedure or another block of code, you may need to do something and return something, but for various reasons you may choose to use this block instead of creating a new procedure.
-## evaluate but ignore result {#evaluate}
+## evaluate but ignore result
-
+
Provides a "dummy socket" for fitting a block that has a plug on its left into a place where there is no socket, such as one of the sequence of blocks in the do part of a procedure or an if block. The block you fit in will be run, but its returned result will be ignored. This can be useful if you define a procedure that returns a result, but want to call it in a context that does not accept a result.
-## open another screen {#openscreen}
+## open another screen
-
+
Opens the screen with the provided name.
-## open another screen with start value {#openscreenwithvalue}
+## open another screen with start value
-
+
Opens another screen and passes a value to it.
-## get start value {#getstartvalue}
+## get start value
-
+
Returns the start value given to the current screen.
This value is given from usingopen another screen with start valueorclose screen with value.
-## close screen {#closescreen}
+## close screen
-
+
Closes the current screen.
-## close screen with value {#closescreenwithvalue}
+## close screen with value
-
+
Closes the current screen and returns a value to the screen that opened this one
-## close application {#closeapp}
+## close application
-
+
Closes the application.
-## get plain start text {#getplainstarttext}
+## get plain start text
-
+
Returns the plain text that was passed to this screen when it was started by another app. If no value was passed, it returns the empty text. For multiple screen apps, use get start value rather than get plain start text
-## close screen with plain text {#closescreenwithplaintext}
+## close screen with plain text
-
+
Closes the current screen and passes text to the app that opened this one. This command is for returning text to non-App Inventor activities, not to App Inventor screens. For App Inventor Screens, as in multiple screen apps, use Close Screen with Value, not Close Screen with Plain Text.
-## break {#break}
-
+## break
+
Break out of the containing loop
diff --git a/docs/blocks/dictionaries.md b/src/content/docs/blocks/dictionaries.md
similarity index 60%
rename from docs/blocks/dictionaries.md
rename to src/content/docs/blocks/dictionaries.md
index e87ca2384..cc39380e0 100644
--- a/docs/blocks/dictionaries.md
+++ b/src/content/docs/blocks/dictionaries.md
@@ -1,135 +1,137 @@
-# Dictionaries
-
-* [create empty dictionary](dictionaries.md#create-empty-dictionary)
-* [make a dictionary](dictionaries.md#make-a-dictionary)
-* [pair](dictionaries.md#pair)
-* [get value for key](dictionaries.md#get-value-for-key)
-* [set value for key](dictionaries.md#set-value-for-key)
-* [delete entry for key](dictionaries.md#delete-entry-for-key)
-* [get value at key path](dictionaries.md#get-value-at-key-path)
-* [set value for key path](dictionaries.md#set-value-for-key-path)
-* [get keys](dictionaries.md#get-keys)
-* [get values](dictionaries.md#get-values)
-* [is key in dictionary?](dictionaries.md#is-key-in-dictionary)
-* [size of dictionary](dictionaries.md#size-of-dictionary)
-* [list of pairs to dictionary](dictionaries.md#list-of-pairs-to-dictionary)
-* [dictionary to list of pairs](dictionaries.md#dictionary-to-list-of-pairs)
-* [copy dictionary](dictionaries.md#copy-dictionary)
-* [merge into dictionary](dictionaries.md#merge-into-dictionary)
-* [list by walking key path](dictionaries.md#list-by-walking-key-path)
-* [walk all at level](dictionaries.md#walk-all-at-level)
-* [is a dictionary?](dictionaries.md#is-a-dictionary)
-
-## create empty dictionary {#create-empty-dictionary}
-
-
+---
+title: Dictionaries
+---
+
+* [create empty dictionary](#create-empty-dictionary)
+* [make a dictionary](#make-a-dictionary)
+* [pair](#pair)
+* [get value for key](#get-value-for-key)
+* [set value for key](#set-value-for-key)
+* [delete entry for key](#delete-entry-for-key)
+* [get value at key path](#get-value-at-key-path)
+* [set value for key path](#set-value-for-key-path)
+* [get keys](#get-keys)
+* [get values](#get-values)
+* [is key in dictionary?](#is-key-in-dictionary)
+* [size of dictionary](#size-of-dictionary)
+* [list of pairs to dictionary](#list-of-pairs-to-dictionary)
+* [dictionary to list of pairs](#dictionary-to-list-of-pairs)
+* [copy dictionary](#copy-dictionary)
+* [merge into dictionary](#merge-into-dictionary)
+* [list by walking key path](#list-by-walking-key-path)
+* [walk all at level](#walk-all-at-level)
+* [is a dictionary?](#is-a-dictionary)
+
+## create empty dictionary
+
+
The create empty dictionary block creates a dictionary without any key-value pairs. Entries can be added to the empty dictionary using the set value for key block. The create empty dictionary block can also be turned into a make a dictionary block by using the blue mutator button to add pair entries.
-## make a dictionary {#make-a-dictionary}
+## make a dictionary
-
+
The make a dictionary is used to create a dictionary with a set of pairs known in advance. Additional entries can be added using set value for key.
-## pair {#pair}
+## pair
-
+
The pair block is a special purpose block used for constructing dictionaries.
-## get value for key {#get-value-for-key}
+## get value for key
-
+
The get value for key block checks to see if the dictionary contains a corresponding value for the given key. If it does, the value is returned. Otherwise, the value of the not found parameter is returned. This behavior is similar to the behavior of the lookup in pairs block.
-## set value for key {#set-value-for-key}
+## set value for key
-
+
The set value for key block sets the corresponding value for the given key in the dictionary to value. If no mapping exists for key, a new one will be created. Otherwise, the existing value is replaced by the new value.
-## delete entry for key {#delete-entry-for-key}
+## delete entry for key
-
+
The delete entry for key block removes the key-value mapping in the dictionary for the given key. If no entry for the key exists in the dictionary, the dictionary is not modified.
-## get value at key path {#get-value-at-key-path}
+## get value at key path
-
+
The get value at key path block is a more advanced version of the get value for key block. Rather than getting the value of a specific key, it instead takes a list of valid keys and numbers representing a path through a data structure. The get value for key block is equivalent to using this block with a key path of length 1 containing the key.
-## set value for key path {#set-value-for-key-path}
+## set value for key path
-
+
The set value for key path block updates the value at a specific key path in a data structure. It is the mirror of get value for key path, which retrieves a value at a specific key path. The path must be valid, except for the last key, which if a mapping does not exist will create a mapping to the new value. Otherwise, the existing value is replaced with the new value.
-## get keys {#get-keys}
+## get keys
-
+
The get keys returns a list of keys in the dictionary.
-## get values {#get-values}
+## get values
-
+
The get values returns a list containing the values in the dictionary. Modifying the contents of a value in the list will also modify it in the dictionary.
-## is key in dictionary? {#is-key-in-dictionary}
+## is key in dictionary?
-
+
The is key in dictionary? tests whether the key exists in the dictionary and returns true if it does, otherwise it returns false.
-## size of dictionary {#size-of-dictionary}
+## size of dictionary
-
+
The size of dictionary block returns the number of key-value pairs present in the dictionary.
-## list of pairs to dictionary {#list-of-pairs-to-dictionary}
+## list of pairs to dictionary
-
+
The list of pairs to dictionary block converts an associative list of the form ((key1 value1) (key2 value2) ...) into a dictionary mapping the keys to their values. Because dictionaries provide better lookup performance than associative lists, if you want to perform many operations on a data structure it is advisable to use this block to convert the associative list into a dictionary first.
-## dictionary to list of pairs {#dictionary-to-list-of-pairs}
+## dictionary to list of pairs
-
+
The dictionary to list of pairs converts a dictionary into an associative list. This block reverses the conversion performed by the list of pairs to dictionary block.
-## copy dictionary {#copy-dictionary}
+## copy dictionary
-
+
The copy dictionary makes a deep copy of the given dictionary. This means that all of the values are copied recursively and that changing a value in the copy will not change it in the original.
-## merge into dictionary {#merge-into-dictionary}
+## merge into dictionary
-
+
The merge into dictionary from dictionary block copies the key-value pairs from one dictionary into another, overwriting any keys in the target dictionary.
-## list by walking key path {#list-by-walking-key-path}
+## list by walking key path
-
+
The list by walking key path block works similarly to the get value at key path, but creates a list of values rather than returning a single value. It works by starting at the given dictionary and walking down the tree of objects following the given path. Unlike the get value at key path though, its path can be composed of three major types: dictionary keys, list indices, and the walk all at level block. If a key or index is provided, the specific path is taken at that point in the tree. If the walk all at level is specified, every value at that point is followed in succession (breadth-first), at which point the walk continues from the next element in the path. Any element that matches the whole path is added to the output list.
-## walk all at level {#walk-all-at-level}
+## walk all at level
-
+
The walk all at level block is a specialized block that can be used in the key path of a list by walking key path. When encountered during a walk, it causes every item at that level to be explored. For dictionaries, this means that every value is visited. For lists, each item in the list is visited. This can be used to aggregate information from a list of items in a dictionary, such as the first name of every person in a database represented by JSON objects.
-## is a dictionary? {#is-a-dictionary}
+## is a dictionary?
-
+
The is a dictionary? block tests to see whether the thing given to it is a dictionary or not. It will return true if the thing is a dictionary and false otherwise.
diff --git a/src/content/docs/blocks/index.md b/src/content/docs/blocks/index.md
new file mode 100644
index 000000000..802db4046
--- /dev/null
+++ b/src/content/docs/blocks/index.md
@@ -0,0 +1,14 @@
+---
+title: Overview of Blocks
+---
+
+* [Control](control)
+* [Logic](logic)
+* [Math](math)
+* [Text](text)
+* [Lists](lists)
+* [Dictionaries](dictionaries)
+* [Colors](colors)
+* [Variables](variables)
+* [Procedures](procedures)
+* [Any Component](any-component)
diff --git a/docs/blocks/lists.md b/src/content/docs/blocks/lists.md
similarity index 57%
rename from docs/blocks/lists.md
rename to src/content/docs/blocks/lists.md
index e7b1ff678..9a898442c 100644
--- a/docs/blocks/lists.md
+++ b/src/content/docs/blocks/lists.md
@@ -1,167 +1,171 @@
-# Lists
-
-* [create empty list](lists.md#emptylist)
-* [make a list](lists.md#makealist)
-* [add items to list](lists.md#additems)
-* [is in list?](lists.md#inlist)
-* [length of list](lists.md#lengthoflist)
-* [is list empty](lists.md#islistempty)
-* [pick a random item](lists.md#pickrandomitem)
-* [index in list](lists.md#indexinlist)
-* [select list item](lists.md#selectlistitem)
-* [insert list item](lists.md#insert)
-* [replace list item](lists.md#replace)
-* [remove list item](lists.md#removeitem)
-* [append to list](lists.md#append)
-* [copy list](lists.md#copy)
-* [is a list?](lists.md#isalist)
-* [reverse list](lists.md#reverse)
-* [list to csv row](lists.md#listtocsvrow)
-* [list to csv table](lists.md#listtocsvtable)
-* [list from csv row](lists.md#listfromcsvrow)
-* [list from csv table](lists.md#listfromcsvtable)
-* [lookup in pairs](lists.md#lookupinpairs)
-* [join items using separator](lists.md#joinwithseparator)
-
-> ### _Need additional help understanding lists? Check out_ [_making lists_](http://appinventor.mit.edu/explore/ai2/support/concepts/lists.html).
-
-## create empty list {#emptylist}
-
-
+---
+title: Lists
+---
+
+* [create empty list](#empty-list)
+* [make a list](#make-a-list)
+* [add items to list](#add-items)
+* [is in list?](#is-in-list)
+* [length of list](#length-of-list)
+* [is list empty](#is-list-empty)
+* [pick a random item](#pick-a-random-item)
+* [index in list](#index-in-list)
+* [select list item](#select-list-item)
+* [insert list item](#insert)
+* [replace list item](#replace)
+* [remove list item](#remove-item)
+* [append to list](#append)
+* [copy list](#copy)
+* [is a list?](#is-a-list)
+* [reverse list](#reverse)
+* [list to csv row](#list-to-csv-row)
+* [list to csv table](#list-to-csv-table)
+* [list from csv row](#list-from-csv-row)
+* [list from csv table](#list-from-csv-table)
+* [lookup in pairs](#lookup-in-pairs)
+* [join items using separator](#join-with-separator)
+
+:::tip[_Need additional help understanding lists?_]
+Check out [making lists](http://appinventor.mit.edu/explore/ai2/support/concepts/lists.html)
+:::
+
+## create empty list
+
+
Creates an empty list with no elements.
-## make a list {#makealist}
+## make a list
-
+
Creates a list from the given blocks. If you don't supply any arguments, this creates an empty list, which you can add elements to later.
This block is a [mutator](http://appinventor.mit.edu/explore/ai2/support/concepts/mutators.html). Clicking the blue plus sign will allow you to add additional items to your list.
-## add items to list {#additems}
+## add items to list
-
+
Adds the given items to the end of the list.
The difference between this and `append to list` is that `append to list` takes the items to be appended as a single list
while `add items to list` takes the items as individual arguments. This block is a [mutator](http://appinventor.mit.edu/explore/ai2/support/concepts/mutators.html).
-## is in list? {#inlist}
+## is in list?
-
+
If thing is one of the elements of the list, returns true; otherwise, returns false. Note that if a list contains sublists,
the members of the sublists are not themselves members of the list.
For example, the members of the list \(1 2 \(3 4\)\) are 1, 2, and the list \(3 4\); 3 and 4 are not themselves members of the list.
-## length of list {#lengthoflist}
+## length of list
-
+
Returns the number of items in the list
-## is list empty? {#islistempty}
+## is list empty?
-
+
If list has no items, returns true; otherwise, returns false.
-## pick a random item {#pickrandomitem}
+## pick a random item
-
+
Picks an item at random from the list.
-## index in list {#indexinlist}
+## index in list
-
+
Returns the position of the\_thing\_in the list. If not in the list, returns 0.
-## select list item {#selectlistitem}
+## select list item
-
+
Selects the item at the given index in the given list. The first list item is at index 1.
-## insert list item {#insert}
+## insert list item
-
+
Inserts an item into the list at the given position
-## replace list item {#replace}
+## replace list item
-
+
Inserts\_replacement\_into the given list at position index. The previous item at that position is removed.
-## remove list item {#removeitem}
+## remove list item
-
+
Removes the item at the given position.
-## append to list {#append}
+## append to list
-
+
Adds the items in the second list to the end of the first list.
-## copy list {#copy}
+## copy list
-
+
Makes a copy of a list, including copying all sublists.
-## is a list? {#isalist}
+## is a list?
-
+
If\_thing\_is a list, returns true; otherwise, returns false.
-## reverse list {#reverse}
+## reverse list
-
+
Reverses the order of input list and returns it as a new list.
-## list to csv row {#listtocsvrow}
+## list to csv row
-
+
Interprets the list as a row of a table and returns a CSV \(comma-separated value\) text representing the row.
Each item in the row list is considered to be a field, and is quoted with double-quotes in the resulting CSV text. Items are separated by commas.
For example, converting the list \(a b c d\) to a CSV row produces \("a", "b", "c", "d"\).
The returned row text does not have a line separator at the end.
-## list from csv row {#listfromcsvrow}
+## list from csv row
-
+
Parses a text as a CSV \(comma-separated value\) formatted row to produce a list of fields.
For example, converting \("a", "b", "c", "d"\) to a list produces \(a b c d\).
-## list to csv table {#listtocsvtable}
+## list to csv table
-
+
Interprets the list as a table in row-major format and returns a CSV \(comma-separated value\) text representing the table.
Each item in the list should itself be a list representing a row of the CSV table.
Each item in the row list is considered to be a field, and is quoted with double-quotes in the resulting CSV text.
In the returned text, items in rows are separated by commas and rows are separated by CRLF \(\r\n\).
-## list from csv table {#listfromcsvtable}
+## list from csv table
-
+
Parses a text as a CSV \(comma-separated value\) formatted table to produce a list of rows, each of which is a list of fields.
Rows can be separated by newlines \(\n\) or CRLF \(\r\n\).
-## lookup in pairs {#lookupinpairs}
+## lookup in pairs
-
+
Used for looking up information in a dictionary-like structure represented as a list.
This operation takes three inputs, a _key_, a list _pairs_, and a _notFound_ result, which by default, is set to "not found".
@@ -173,8 +177,8 @@ For example, if the list is \(\(a apple\) \(d dragon\) \(b boxcar\) \(cat 100\)\
If there is no such pair in the list, then the\_lookup in pairs\_will return the notFound result. If pairs is not a list of
pairs, then the operation will signal an error.
-## join items using separator {#joinwithseparator}
+## join items using separator
-
+
Joins all elements in the specified list by the specified separator, producing text as a result.
diff --git a/docs/blocks/logic.md b/src/content/docs/blocks/logic.md
similarity index 77%
rename from docs/blocks/logic.md
rename to src/content/docs/blocks/logic.md
index c443a4e6e..db3d0c335 100644
--- a/docs/blocks/logic.md
+++ b/src/content/docs/blocks/logic.md
@@ -1,34 +1,36 @@
-# Logic
-
-* [true](logic.md#true)
-* [false](logic.md#false)
-* [not](logic.md#not)
-* [=](logic.md#=)
-* [≠](logic.md#not=)
-* [and](logic.md#and)
-* [or](logic.md#or)
+---
+title: Logic
+---
+
+* [true](#true)
+* [false](#false)
+* [not](#not)
+* [=](#)
+* [≠](#-1)
+* [and](#and)
+* [or](#or)
## true
-
+
Represents the constant value true. Use it for setting boolean property values of components, or as the value of a variable that represents a condition.
-## false {#false}
+## false
-
+
Represents the constant value false. Use it for setting boolean property values of components, or as the value of a variable that represents a condition.
-## not {#not}
+## not
-
+
Performs logical negation, returning false if the input is true, and true if the input is false.
-## = {#=}
+## =
-
+
Tests whether its arguments are equal.
@@ -39,22 +41,22 @@ Tests whether its arguments are equal.
It acts exactly the same as the **=** block found in Math
-
+
-## ≠ {#not=}
+## ≠
-
+
Tests to see whether two arguments are not equal.
-## and {#and}
+## and
-
+
Tests whether all of a set of logical conditions are true. The result is true if and only if all the tested conditions are true. When you plug a condition into the `test` socket, another socket appears so you can add another condition. The conditions are tested left to right, and the testing stops as soon as one of the conditions is false. If there are no conditions to test, then the result if true. You can consider this to be a logician's joke.
-## or {#or}
+## or
-
+
Tests whether any of a set of logical conditions are true. The result is true if one or more of the tested conditions are true. When you plug a condition into the`test`socket, another socket appears so you can add another condition. The conditions are tested left to right, and the testing stops as soon as one of the conditions is true. If there are no conditions to test, then the result is false.
diff --git a/docs/blocks/math.md b/src/content/docs/blocks/math.md
similarity index 54%
rename from docs/blocks/math.md
rename to src/content/docs/blocks/math.md
index e387e817e..0e7e30c07 100644
--- a/docs/blocks/math.md
+++ b/src/content/docs/blocks/math.md
@@ -1,257 +1,261 @@
-# Math
-
-> **Note**: _any Math blocks that have unplugged sockets will read the unplugged spot as a 0._
-
-* [0 \(basic number block\)](math.md#number)
-* [=](math.md#=)
-* [≠](math.md#≠)
-* [>](math.md#gt)
-* [≥](math.md#gte)
-* [<](math.md#lt)
-* [≤](math.md#lte)
-* [+](math.md#add)
-* [-](math.md#subtract)
-* [x](math.md#multiply)
-* [/](math.md#divide)
-* [^](math.md#exponent)
-* [bitwise and](math.md#bitwise_and)
-* [bitwise or (inclusive)](math.md#bitwise_ior)
-* [bitwise or (exclusive)](math.md#bitwise_xor)
-* [random integer](math.md#randomint)
-* [random fraction](math.md#randomfrac)
-* [random set seed to](math.md#randomseed)
-* [min](math.md#min)
-* [max](math.md#max)
-* [square root](math.md#sqrt)
-* [absolute](math.md#abs)
-* [neg](math.md#neg)
-* [log](math.md#log)
-* [e^](math.md#e)
-* [round](math.md#round)
-* [ceiling](math.md#ceiling)
-* [floor](math.md#floor)
-* [modulo](math.md#modulo)
-* [remainder](math.md#remainder)
-* [quotient](math.md#quotient)
-* [sin](math.md#sin)
-* [cos](math.md#cos)
-* [tan](math.md#tan)
-* [asin](math.md#asin)
-* [acos](math.md#acos)
-* [atan](math.md#atan)
-* [atan2](math.md#atan2)
-* [convert radians to degrees](math.md#convertrad)
-* [convert degrees to radians](math.md#convertdeg)
-* [format as a decimal](https://github.com/Kodular/docs/tree/6b89ce9eb8c93762fd238491325318be0e89c35f/format%20as%20a%20decimal/README.md)
-* [is a number](math.md#isnumber)
-* [convert number](math.md#convertnumber)
-
-> ### _Can't find the math block you're looking for in the built-in blocks?_
->
-> Some math blocks are dropdowns which means that they can be converted into different blocks. Here's a list of what is included in each dropdown:
->
-> * **=, ≠, >, ≥, <, ≤**
->
-> 
->
-> * **min, max**
->
-> 
->
-> * **square root, absolute, neg, log, e^, round, ceiling, floor**
->
-> 
->
-> * **modulo of, remainder of, quotient of**
->
-> 
->
-> * **sin, cos, tan, asin, acos, atan**
->
-> 
->
-> * **convert radians to degrees, convert degrees to radians**
->
-> 
-
-## Basic Number Block {#number}
-
-
+---
+title: Math
+---
+
+:::note
+any Math blocks that have unplugged sockets will read the unplugged spot as a 0.
+:::
+
+* [0 \(basic number block\)](#number)
+* [=](#=)
+* [≠](#≠)
+* [>](#gt)
+* [≥](#gte)
+* [<](#lt)
+* [≤](#lte)
+* [+](#add)
+* [-](#subtract)
+* [x](#multiply)
+* [/](#divide)
+* [^](#exponent)
+* [bitwise and](#bitwise-and)
+* [bitwise or (inclusive)](#bitwise-ior)
+* [bitwise or (exclusive)](#bitwise-xor)
+* [random integer](#random-int)
+* [random fraction](#random-frac)
+* [random set seed to](#random-seed)
+* [min](#min)
+* [max](#max)
+* [square root](#sqrt)
+* [absolute](#abs)
+* [neg](#neg)
+* [log](#log)
+* [e^](#e)
+* [round](#round)
+* [ceiling](#ceiling)
+* [floor](#floor)
+* [modulo](#modulo)
+* [remainder](#remainder)
+* [quotient](#quotient)
+* [sin](#sin)
+* [cos](#cos)
+* [tan](#tan)
+* [asin](#asin)
+* [acos](#acos)
+* [atan](#atan)
+* [atan2](#atan2)
+* [convert radians to degrees](#convert-rad)
+* [convert degrees to radians](#convert-deg)
+* [format as a decimal](#format-as-decimal)
+* [is a number](#is-a-number)
+* [convert number](#convert-number)
+
+:::tip[_Can't find the math block you're looking for in the built-in blocks?_]
+Some math blocks are dropdowns which means that they can be converted into different blocks. Here's a list of what is included in each dropdown:
+
+* **=, ≠, >, ≥, <, ≤**
+
+ 
+
+* **min, max**
+
+ 
+
+* **square root, absolute, neg, log, e^, round, ceiling, floor**
+
+ 
+
+* **modulo of, remainder of, quotient of**
+
+ 
+
+* **sin, cos, tan, asin, acos, atan**
+
+ 
+
+* **convert radians to degrees, convert degrees to radians**
+
+ 
+:::
+
+## Basic Number Block
+
+
Can be used as any positive or negative number \(decimals included\). Double clicking on the "0" in the block will allow you to change the number.
-## = {#=}
+## =
-
+
Tests whether two numbers are equal and returns true or false.
## ≠
-
+
Tests whether two numbers are not equal and returns true or false.
-## > {#gt}
+## >
-
+
Tests whether the first number is greater than the second number and returns true or false.
-## ≥ {#gte}
+## ≥
-
+
Tests whether the first number is greater than or equal to the second number and returns true or false.
-## < {#lt}
+## <
-
+
Tests whether the first number is less than the second number and returns true or false.
-## ≤ {#lte}
+## ≤
-
+
Tests whether the first number is less than or equal to the second number and returns true or false.
-## + {#add}
+## +
-
+
Returns the result of adding any amount of blocks that have a number value together. Blocks with a number value include the basic number block, length of list or text, variables with a number value, etc. This block is a[mutator](http://appinventor.mit.edu/explore/ai2/support/concepts/mutators.html)and can be expanded to allow more numbers in the sum.
-
+
-## - {#subtract}
+## -
-
+
Returns the result of subtracting the second number from the first.
-## x {#multiply}
+## x
-
+
Returns the result of multiplying any amount of blocks that have a number value together. It is a [mutator](http://appinventor.mit.edu/explore/ai2/support/concepts/mutators.html) block and can be expanded to allow more numbers in the product.
-
+
-## / {#divide}
+## /
-
+
Returns the result of dividing the first number by the second.
-## ^ {#exponent}
+## ^
-
+
Returns the result of the first number raised to the power of the second.
-## Bitwise And {#bitwise_and}
-
+## Bitwise And
+
Takes two numbers and compares each pair of bits. Each bit of the result is 1 only if the corresponding bits of both operands are 1.
-## Bitwise Or (Inclusive) {#bitwise_ior}
-
+## Bitwise Or (Inclusive)
+
Takes two numbers and compares each pair of bits. Each bit of the result is 1 if either of the corresponding bits in each operand is 1.
-## Bitwise Or (Exclusive) {#bitwise_xor}
-
+## Bitwise Or (Exclusive)
+
Takes two numbers and compares each pair of bits. Each bit of the result is 1 only if one corresponding bit in the operands is 1 and the other is 0.
-## random integer {#randomint}
+## random integer
-
+
Returns a random integer value between the given values, inclusive. The order of the arguments doesn't matter.
-## random fraction {#randomfrac}
+## random fraction
-
+
Returns a random value between 0 and 1.
-## random set seed to {#randomseed}
+## random set seed to
-
+
Use this block to generate repeatable sequences of random numbers. You can generate the same sequence of random numbers by first calling random set seed with the same value. This is useful for testing programs that involve random values.
-## min {#min}
+## min
-
+
Returns the smallest value of a set of numbers. If there are unplugged sockets in the block, min will also consider 0 in its set of numbers. This block is a [mutator](http://appinventor.mit.edu/explore/ai2/support/concepts/mutators.html) and a dropdown.
-## max {#max}
+## max
-
+
Returns the largest value of a set of numbers. If there are unplugged sockets in the block, max will also consider 0 in its set of numbers. This block is a [mutator](http://appinventor.mit.edu/explore/ai2/support/concepts/mutators.html) and a dropdown.
-## square root {#sqrt}
+## square root
-
+
Returns the square root of the given number.
-## absolute {#abs}
+## absolute
-
+
Returns the absolute value of the given number.
-## neg {#neg}
+## neg
-
+
Returns the negative of a given number.
-## log {#log}
+## log
-
+
Returns the natural logarithm of a given number, that is, the logarithm to the base e \(2.71828...\).
-## e^ {#e}
+## e^
-
+
Returns e \(2.71828...\) raised to the power of the given number.
-## round {#round}
+## round
-
+
Returns the given number rounded to the closest integer. If the fractional part is < .5 it will be rounded down. It it is > .5 it will be rounded up. If it is exactly equal to .5, numbers with an even whole part will be rounded down, and numbers with an odd whole part will be rounded up. \(This method is called _round to even_.\)
-## ceiling {#ceiling}
+## ceiling
-
+
Returns the smallest integer that's greater than or equal to the given number.
-## floor {#floor}
+## floor
-
+
Returns the greatest integer that's less than or equal to the given number.
-## modulo {#modulo}
+## modulo
-
+
Modulo\(a,b\) is the same as remainder\(a,b\) when a and b are positive. More generally, modulo\(a,b\) is defined for any a and b so that \(floor\(a/b\)× b\) + modulo\(a,b\) = a. For example, modulo\(11, 5\) = 1, modulo\(-11, 5\) = 4, modulo\(11, -5\) = -4, modulo\(-11, -5\) = -1. Modulo\(a,b\) always has the same sign as b, while remainder\(a,b\) always has the same sign as a.
-## remainder {#remainder}
+## remainder
-
+
Remainder\(a,b\) returns the result of dividing a by b and taking the remainder. The remainder is the fractional part of the result multiplied by b.
@@ -261,80 +265,80 @@ In this case, is the fractional part. We multiply this by b, in this case 5 and
Other examples are remainder\(-11, 5\) = -1, remainder\(11, -5\) = 1, and remainder\(-11, -5\) = -1.
-## quotient {#quotient}
+## quotient
-
+
Returns the result of dividing the first number by the second and discarding any fractional part of the result.
-## sin {#sin}
+## sin
-
+
Returns the sine of the given number in degrees.
-## cos {#cos}
+## cos
-
+
Returns the cosine of the given number in degrees.
-## tan {#tan}
+## tan
-
+
Returns the tangent of the given number in degrees.
-## asin {#asin}
+## asin
-
+
Returns the arcsine of the given number in degrees.
-## acos {#acos}
+## acos
-
+
Returns the arccosine of the given number in degrees.
-## atan {#atan}
+## atan
-
+
Returns the arctangent of the given number in degrees.
-## atan2 {#atan2}
+## atan2
-
+
Returns the arctangent of y/x, given y and x.
-## convert radians to degrees {#convertrad}
+## convert radians to degrees
-
+
Returns the value in degrees of the given number in radians. The result will be an angle in the range \[0, 360\)
-## convert degrees to radians {#convertdeg}
+## convert degrees to radians
-
+
Returns the value in radians of the given number in degrees. The result will be an angle in the range \[-π , +π\)
-## format as decimal {#format}
+## format as decimal
-
+
Formats a number as a decimal with a given number of places after the decimal point. The number of places must be a non-negative integer. The result is produced by rounding the number \(if there were too many places\) or by adding zeros on the right \(if there were too few\).
-## is a number {#isnumber}
+## is a number
-
+
Returns true if the given object is a number, and false otherwise.
-## convert number {#convertnumber}
+## convert number
-
+
Takes a text string that represents a positive integer in one base and returns a string that represents the same number is another base. For example, if the input string is 10, then converting from base 10 to binary will produce the string 1010; while if the input string is the same 10, then converting from binary to base 10 will produce the string 2. If the input string is the same 10, then converting from base 10 to hex will produce the string A.
diff --git a/docs/blocks/procedures.md b/src/content/docs/blocks/procedures.md
similarity index 78%
rename from docs/blocks/procedures.md
rename to src/content/docs/blocks/procedures.md
index e658945b4..5f8b4f42d 100644
--- a/docs/blocks/procedures.md
+++ b/src/content/docs/blocks/procedures.md
@@ -1,30 +1,32 @@
-# Procedures
+---
+title: Procedures
+---
A procedure is a sequence of blocks or code that is stored under a name, the name of your procedure block. Instead of having to keep putting together the same long sequence of blocks, you can create a procedure and just call the procedure block whenever you want your sequence of blocks to run. In computer science, a procedure also might be called a function or a method.
### Blocks:
-* [procedure do](procedures.md#do)
-* [procedure result](procedures.md#return)
+* [procedure do](#procedure-do)
+* [procedure result](#procedure-return)
-## procedure do {#do}
+## procedure do
-
+
Collects a sequence of blocks together into a group. You can then use the sequence of blocks repeatedly by calling the procedure. If the procedure has arguments, you specify the arguments by using the block's mutator button. If you click the blue plus sign, you can drag additional arguments into the procedure.
When you create a new procedure block, Kodular chooses a unique name automatically. You can click on the name and type to change it. Procedure names in an app must be unique. Kodular will not let you define two procedures in the same app with the same name. You can rename a procedure at any time while you are building the app, by changing the label in the block. Kodular will automatically rename the associated call blocks to match.
-
+
When you create a procedure, Kodular automatically generates a call block and places it in the My Definitions drawer. You use the call block to invoke the procedure.
-## procedure result {#return}
+## procedure result
-
+
-Same as a [`procedure do`](procedures.md#do) block, but calling this procedure returns a result.
+Same as a [`procedure do`](#procedure-do) block, but calling this procedure returns a result.
-
+
After creating this procedure, a call block that needs to be plugged in will be created. This is because the result from executing this procedure will be returned in that call block and the value will be passed on to whatever block is connected to the plug.
diff --git a/docs/blocks/text.md b/src/content/docs/blocks/text.md
similarity index 64%
rename from docs/blocks/text.md
rename to src/content/docs/blocks/text.md
index f0c15c1b6..82e0f1ead 100644
--- a/docs/blocks/text.md
+++ b/src/content/docs/blocks/text.md
@@ -1,144 +1,146 @@
-# Text
-
-* [string](text.md#string)
-* [join](text.md#join)
-* [length](text.md#length)
-* [is empty?](text.md#isempty)
-* [is string?](text.md#isstring)
-* [compare texts](text.md#compare)
-* [trim](text.md#trim)
-* [upcase](text.md#upcase)
-* [downcase](text.md#downcase)
-* [starts at](text.md#startsat)
-* [contains](text.md#contains)
-* [split at first](text.md#splitatfirst)
-* [split at first of any](text.md#splitatfirstofany)
-* [split](text.md#split)
-* [split at any](text.md#splitatany)
-* [split at spaces](text.md#splitatspaces)
-* [segment](text.md#segment)
-* [replace all](text.md#replaceall)
-* [obfuscated text](text.md#obfuscated)
-
-## " " {#string}
-
-
+---
+title: Text
+---
+
+* [string](#string-)
+* [join](#join)
+* [length](#length)
+* [is empty?](#is-empty)
+* [is string?](#is-string)
+* [compare texts](#compare-texts-)
+* [trim](#trim)
+* [upcase](#upcase)
+* [downcase](#downcase)
+* [starts at](#starts-at)
+* [contains](#contains)
+* [split at first](#split-at-first)
+* [split at first of any](#split-at-first-of-any)
+* [split](#split)
+* [split at any](#split-at-any)
+* [split at spaces](#split-at-spaces)
+* [segment](#segment)
+* [replace all](#replace-all)
+* [obfuscated text](#obfuscated-text)
+
+## string " "
+
+
Contains a text string.
This string can contain any characters \(letters, numbers, or other special characters\). On Kodular, it will be considered a Text object.
-## join {#join}
+## join
-
+
Appends all of the inputs to make a single string. If no inputs, returns an empty string.
-## length {#length}
+## length
-
+
Returns the number of characters including spaces in the string. This is the length of the given text string.
-## is empty {#isempty}
+## is empty
-
+
Returns whether or not the string contains any characters \(including spaces\). When the string length is 0, returns true otherwise it returns false.
-## is string? {#isstring}
+## is string?
-
+
Returns true if input is a string.
-## compare texts <> = {#compare}
+## compare texts <> =
-
+
Returns whether or not the first string is lexicographically <, >, or = the second string depending on which dropdown is selected.
A string a considered lexicographically greater than another if it is alphabetically greater than the other string. Essentially, it would come after it in the dictionary. All uppercase letters are considered smaller or to occur before lowercase letters. _cat would be > Cat_.
-## trim {#trim}
+## trim
-
+
Removes any spaces leading or trailing the input string and returns the result.
-## upcase {#upcase}
+## upcase
-
+
Returns a copy of its text string argument converted to all upper case
-## downcase {#downcase}
+## downcase
-
+
Returns a copy of its text string argument converted to all lower case
-## starts at {#startsat}
+## starts at
-
+
Returns the character position where the first character of piece first appears in text, or 0 if not present. For example, the location of ana in havana banana is 4.
-## contains {#contains}
+## contains
-
+
Returns true if _piece appears in text_; otherwise, returns false.
-## split at first {#splitatfirst}
+## split at first
-
+
Divides the given text into two pieces using the location of the first occurrence of at as the dividing point, and returns a two-item list consisting of the piece before the dividing point and the piece after the dividing point. Splitting _apple,banana,cherry,dogfood with a comma as the splitting point returns a list of two items: the first is the text apple and the second is the text banana,cherry,dogfood_. Notice that the comma after apple doesn't appear in the result, because that is the dividing point.
-## split at first of any {#splitatfirstofany}
+## split at first of any
-
+
Divides the given text into a two-item list, using the first location of any item in the list at as the dividing point.
Splitting _i love apples bananas apples grapes by the list \[ba_,_ap_\] would result in a list of two items the first being _i love and the second ples bananas apples grapes_.
-## split {#split}
+## split
-
+
Divides text into pieces using at as the dividing points and produces a list of the results. Splitting _one,two,three,four at_ ,_\(comma\) returns the list one two three four_. Splitting _one-potato,two-potato,three-potato,four at_-potato_, returns the list one two three four_.
-## split at any {#splitatany}
+## split at any
-
+
Divides the given text into a list, using any of the items in at as the dividing point, and returns a list of the results.
Splitting _appleberry,banana,cherry,dogfood with at as the two-element list whose first item is a comma and whose second item is rry returns a list of four items: \[applebe, banana, che, dogfood,_\]
-## split at spaces {#splitatspaces}
+## split at spaces
-
+
Divides the given text at any occurrence of a space, producing a list of the pieces.
-## segment {#segment}
+## segment
-
+
Extracts part of the text starting at start position and continuing for length characters.
-## replace all {#replaceall}
+## replace all
-
+
Returns a new text string obtained by replacing all occurrences of the substring with the replacement.
Replace all with _She loves eating. She loves writing. She loves coding as the text, She as the segment, and Hannah as the replacement would result in Hannah loves eating. Hannah loves writing. Hannah loves coding_.
-## obfuscated text {#obfuscated}
-
+## obfuscated text
+
Produces text, like a text block. The difference is that the text is not easily discoverable by examining the app's APK. Use this when creating apps to distribute that include confidential information, for example, API keys. Warning: This provides only very low security against expert adversaries.
diff --git a/docs/blocks/variables.md b/src/content/docs/blocks/variables.md
similarity index 75%
rename from docs/blocks/variables.md
rename to src/content/docs/blocks/variables.md
index 89553c7cb..20e473baa 100644
--- a/docs/blocks/variables.md
+++ b/src/content/docs/blocks/variables.md
@@ -1,36 +1,38 @@
-# Variables
+---
+title: Variables
+---
There are five main types of variable blocks:
-* [initialize global name to](variables.md#global)
-* [get](variables.md#get)
-* [set to](variables.md#set)
-* [initialize local name to in \(do\)](variables.md#do)
-* [initialize local name to in \(return\)](variables.md#return)
+* [initialize global name to](#initialize-global-name-to)
+* [get](#get)
+* [set to](#set-to)
+* [initialize local name to in \(do\)](#initialize-local-name-to---in-do)
+* [initialize local name to in \(return\)](#initialize-local-name-to---in-return)
-## initialize global name to {#global}
+## initialize global name to
-
+
This block is used to create global variables. It takes in any type of value as an argument. Clicking on\_name\_will change the name of this global variable. Global variables are used in all procedures or events so this block will stand alone.
Global variables can be changed while an app is running and can be referred to and changed from any part of the app even within procedures and event handlers. You can rename this block at any time and any associated blocks referring to the old name will be updated automatically.
-## get {#get}
+## get
-
+
This block provides a way to get any variables you may have created.
-## set to {#set}
+## set to
-
+
This block follows the same rules as get. Only variables in scope will be available in the dropdown. Once a variable `var` is selected, the user can attach a new block and give `var` a new value.
-## initialize Local name to - in \(do\) {#do}
+## initialize Local name to - in \(do\)
-
+
This block is a mutator that allows you to create new variables that are only used in the procedure you run in the DO part of the block. This way all variables in this procedure will all start with the same value each time the procedure is run.
@@ -38,9 +40,9 @@ This block is a mutator that allows you to create new variables that are only us
You can rename the variables in this block at any time and any corresponding blocks elsewhere in your program that refer to the old name will be updated automatically
-## initialize Local name to - in \(return\) {#return}
+## initialize Local name to - in \(return\)
-
+
This block is a mutator that allows you to create new variables that are only used in the procedure you run in the RETURN part of the block. This way all variables in this procedure will all start with the same value each time the procedure is run.
diff --git a/docs/components/index.md b/src/content/docs/components/index.md
similarity index 64%
rename from docs/components/index.md
rename to src/content/docs/components/index.md
index 43bca4340..9b5bb5280 100644
--- a/docs/components/index.md
+++ b/src/content/docs/components/index.md
@@ -1,4 +1,6 @@
-# Overview of Components
+---
+title: Overview of Components
+---
Components are the basic building blocks of your app. The behaviour and look are of your apps are
customised with components.
@@ -6,22 +8,22 @@ customised with components.
## Component categories
For easier access of components, they are grouped into various categories.
-* [Screen](screen.md)
-* [User Interface](user-interface/index.md)
-* [Layout](layout/index.md)
-* [Media](media/index.md)
-* [Drawing and Animation](drawing-and-animation/index.md)
-* [Maps](maps/index.md)
-* [Sensors](sensors/index.md)
-* [Social](social/index.md)
-* [Storage](storage/index.md)
-* [Utilities](utilities/index.md)
-* [Dynamic Components](dynamic/index.md)
-* [Connectivity](connectivity/index.md)
-* [Google](google/index.md)
-* [Monetization](monetization/index.md)
-* [LEGO Mindstorms](lego-mindstorms/index.md)
-* [Experimental](experimental/index.md)
+* [Screen](screen)
+* [User Interface](user-interface)
+* [Layout](layout)
+* [Media](media)
+* [Drawing and Animation](drawing-and-animation)
+* [Maps](maps)
+* [Sensors](sensors)
+* [Social](social)
+* [Storage](storage)
+* [Utilities](utilities)
+* [Dynamic Components](dynamic)
+* [Connectivity](connectivity)
+* [Google](google)
+* [Monetization](monetization)
+* [LEGO Mindstorms](lego-mindstorms)
+* [Experimental](experimental)
## Data Types
diff --git a/docs/components/mkdocs.yml b/src/content/docs/components/mkdocs.yml
similarity index 98%
rename from docs/components/mkdocs.yml
rename to src/content/docs/components/mkdocs.yml
index 9ab9aafb2..c7323eb5d 100644
--- a/docs/components/mkdocs.yml
+++ b/src/content/docs/components/mkdocs.yml
@@ -195,8 +195,6 @@
- Rewarded Ad: components/monetization/advertising/rewarded-ad.md
- StartApp Banner: components/monetization/advertising/startapp-banner.md
- StartApp Interstitial: components/monetization/advertising/startapp-interstitial.md
- - Unity Ads Banner: components/monetization/advertising/unity-ads-banner.md
- - Unity Ads Interstitial: components/monetization/advertising/unity-ads-interstitial.md
- LEGO® MINDSTORMS®:
- Overview: components/lego-mindstorms/index.md
- EV3:
@@ -223,6 +221,7 @@
- CloudDB: components/experimental/clouddb.md
- Custom Tabs: components/experimental/custom-tabs.md
- ExoPlayer: components/experimental/exoplayer.md
+ - In-App Review: components/experimental/in-app-review.md
- In-App Update: components/experimental/in-app-update.md
- Notification: components/experimental/notification.md
- Shortcut Badge: components/experimental/shortcut-badge.md
diff --git a/src/content/docs/components/screen.mdx b/src/content/docs/components/screen.mdx
new file mode 100644
index 000000000..aa6baea92
--- /dev/null
+++ b/src/content/docs/components/screen.mdx
@@ -0,0 +1,790 @@
+---
+title: Screen
+---
+
+import Block from "@components/Block.astro";
+
+import Chip from "@components/Chip.astro";
+
+| Category | Requires | Version |
+|:--------:|:-------:|:--------:|
+|**Layout > General**|API 21, Android 5.0 Lollipop|44|
+
+:::note[Permissions]
+* [android.permission.INTERNET](https://developer.android.com/reference/android/Manifest.permission.html#INTERNET)
+* [android.permission.ACCESS_NETWORK_STATE](https://developer.android.com/reference/android/Manifest.permission.html#ACCESS_NETWORK_STATE)
+* [android.permission.ACCESS_WIFI_STATE](https://developer.android.com/reference/android/Manifest.permission.html#ACCESS_WIFI_STATE)
+:::
+
+## Overview
+
+Top-level component containing all other components in the program.
+
+## Events
+
+### Back Pressed
+
+Device back button pressed.
+
+
+
+### Error Occurred
+
+Event raised when an error occurs. Only some errors will raise this condition. For those errors, the system will show a notification by default. You can use this event handler to prescribe an error behavior different than the default.
+
+
+
+| Params | []() |
+|--------|------|
+|component||
+|function Name||
+|error Number||
+|message||
+
+### Got Received Shared
+
+Event to detect that a user shared content to your app throw the sharing dialog of any other app. Type stand for integer. 0 = nothing shared, 1 = audio, 2 = image, 3 = text or 4 = video
+
+
+
+| Params | []() |
+|--------|------|
+|type||
+|value||
+
+### Initialize
+
+Screen starting
+
+
+
+### Keyboard Visibility Changed
+
+Event will be invoked if the keyboard was visible or invisible.
+
+
+
+| Params | []() |
+|--------|------|
+|is Keyboard Visible||
+
+### Menu Initialize
+
+Event to detect when the menu has loaded. Set here your blocks like TitleBarIcon or AddMenuItem.
+
+
+
+### Menu Item Selected
+
+Event to detect when a menu item has been selected.
+
+
+
+| Params | []() |
+|--------|------|
+|menu Item||
+
+### On App Pause
+
+The system calls this method as the first indication that the user is leaving your activity (though it does not always mean the activity is being destroyed).
+
+
+
+### On App Resume
+
+When the activity enters the Resumed state, it comes to the foreground, and then the system invokes this event.
+
+
+
+### On App Stop
+
+When your activity is no longer visible to the user, it has entered the Stopped state, and the system invokes this event.
+
+
+
+### Other Screen Closed
+
+Event raised when another screen has closed and control has returned to this screen.
+
+
+
+| Params | []() |
+|--------|------|
+|other Screen Name||
+|result||
+
+### Permission Denied
+
+Event to handle when the app user has denied a needed permission.
+
+
+
+| Params | []() |
+|--------|------|
+|component||
+|function Name||
+|permission Name||
+
+### Permission Granted
+
+Event to handle when the app user has granted a needed permission. This event is only run when permission isgranted in response to the AskForPermission method.
+
+
+
+| Params | []() |
+|--------|------|
+|permission Name||
+
+### Screen Orientation Changed
+
+Screen orientation changed
+
+
+
+### Side Menu Closed
+
+Event will be invoked if the side menu was closed.
+
+
+
+### Side Menu Opened
+
+Event will be invoked if the side menu was opened.
+
+
+
+### Title Bar Back Button Clicked
+
+Event to detect when a menu item has been selected.
+
+
+
+### Title Bar Icon Selected
+
+The event returns the 'icon' or 'name' of the selected icon.
+
+
+
+| Params | []() |
+|--------|------|
+|icon||
+|name||
+
+## Methods
+
+### Add Menu Item
+
+Add a new item to the menu. Use the 'make a list' block.
+
+
+
+| Params | []() |
+|--------|------|
+|menu Item||
+
+### Add Menu Item With Icon
+
+Add a new item with a icon on the left side to the menu. This function does not use the make a list block. If you want more items with icon then use this block again.
+
+
+
+| Params | []() |
+|--------|------|
+|menu Item||
+|menu Icon||
+
+### Add Title Bar Icon
+
+Add a new action icon to the TitleBar. You will see a toast message on a long click with your choosen name. Add this block to the "MenuInitialize" event.
+
+
+
+| Params | []() |
+|--------|------|
+|icon||
+|name||
+
+### Are Permissions Granted
+
+
+
+Returns true if ALL needed app permissions were granted, else false.
+
+
+
+### Ask For Permission
+
+Ask the user to grant access to a dangerous permission.
+
+
+
+| Params | []() |
+|--------|------|
+|permission Name||
+
+### Can Write System Settings
+
+
+
+Returns true if the app can write system settings, else it returns false. It will return true automatic for devices with android version below 6 (API 23).
+
+
+
+### Hide Keyboard
+
+Hide the keyboard.
+
+
+
+### Lock Side Menu
+
+Use this block to lock the side menu. This means the user can not open the side menu until the side menu unlock block is used.
+
+
+
+### Move Task To Back
+
+Move task to back. That means it will minimize your current app.
+
+
+
+### Open App Settings
+
+Opens the settings screen of the app. Useful if 'Are Permissions Granted' has returned false.
+
+
+
+### Open System Write Settings
+
+Opens the app's system settings page. This works only for devices with android 6+.
+
+
+
+### Remove Side Menu
+
+Remove a first created side menu. This block will be usefull if you need to update a side menu dynamically. You can use this block too to test a side menu in the companion. Add then this block above of the 'Side Menu' block.
+
+
+
+### Remove Title Bar Icons
+
+Remove all added action icons from the TitleBar.
+
+
+
+### Reset Options Menu
+
+Reset the menu back to its default
+
+
+
+### Show About Application
+
+Show the dialog which shows when pressing the "About This Application" button in the menu.
+
+
+
+### Show Keyboard
+
+Show the keyboard
+
+
+
+### Side Menu
+
+Create a Side Menu. Set to "layout" your layout that will be then your side menu. Use as example a vertical arrangement. Your choosen layout will be then removed from the screen and only visible in the side menu."Information": This block works on companion only if you add a side menu on button click.Don’t add it in companion on "screen initialize event". Else the companion will crash.Do NOT use this block with the Side Menu Layout component
+
+
+
+| Params | []() |
+|--------|------|
+|layout||
+
+### Side Menu Close
+
+If you had set your side menu then you can use this block to close it as example with a button click.
+
+
+
+### Side Menu Open
+
+If you had set your side menu then you can use this block to open it as example with a button click.
+
+
+
+### Task Description
+
+Sets information describing the task with this activity for presentation inside the Recents System UI. You will see the settings if the device API is >= 21 and you minimize the app.
+
+
+
+| Params | []() |
+|--------|------|
+|text||
+|color||
+
+### Unlock Side Menu
+
+Use this block to unlock the side menu. This means the user can now open again the side menu.
+
+
+
+### Version Code
+
+
+
+This block will returns the version code
+
+
+
+### Version Name
+
+
+
+This block will returns the version name
+
+
+
+## Properties
+
+### About Screen
+
+ :heavy_minus_sign: -
+
+Information about the screen. It appears when "About this Application" is selected from the system menu. Use it to inform people about your app. In multiple screen apps, each screen has its own AboutScreen info.
+
+
+
+
+### About Screen Background Color
+
+ :heavy_minus_sign: -
+
+Property for AboutScreenBackgroundColor
+
+
+
+
+### About Screen Light Theme
+
+ :heavy_minus_sign: -
+
+Property for AboutScreenLightTheme
+
+
+
+
+### About Screen Title
+
+ :heavy_minus_sign: -
+
+Define the title of the about application option.
+
+
+
+### Accent Color
+
+ :heavy_minus_sign: -
+
+This is the accent color used for highlights and other user interface accents.
+
+### Accepted Shared File Types
+
+ :heavy_minus_sign: -
+
+Property for ReceiveSharedText
+
+### Align Horizontal
+
+ :heavy_minus_sign: -
+
+A number that encodes how contents of the screen are aligned horizontally. The choices are: 1 = left aligned, 3 = horizontally centered, 2 = right aligned.
+
+
+
+
+### Align Vertical
+
+ :heavy_minus_sign: -
+
+A number that encodes how the contents of the arrangement are aligned vertically. The choices are: 1 = aligned at the top, 2 = vertically centered, 3 = aligned at the bottom. Vertical alignment has no effect if the screen is scrollable.
+
+
+
+
+### App ID
+
+ :heavy_minus_sign: -
+
+The unique APP_ID for the user (which is generated by GWT and stored in Datastore)
+
+### App Name
+
+ :heavy_minus_sign: -
+
+This is the display name of the installed application in the phone.If the AppName is blank, it will be set to the name of the project when the project is built.
+
+### Background Color
+
+ :heavy_minus_sign: -
+
+BackgroundColor property getter method.
+
+
+
+
+### Background Image
+
+ :heavy_minus_sign: -
+
+The screen background image.
+
+
+
+
+### Close Screen Animation
+
+ :heavy_minus_sign: -
+
+The animation for closing current screen and returning to the previous screen. Valid options are default, fade, zoom, slidehorizontal, slidevertical, and none
+
+
+
+
+### Default File Scope
+
+ :heavy_minus_sign: -
+
+Specifies the default scope used when components access files. Note that the
+
+### Drawer Arrow Icon Color
+
+ :heavy_minus_sign: -
+
+Set the drawer arrow icon color.
+
+
+
+
+### Height
+
+ :heavy_minus_sign: -
+
+Screen height (y-size).
+
+
+
+### High Quality Images
+
+ :heavy_minus_sign: -
+
+If set to true, pictures will be loaded in high quality.
+
+
+
+
+### Icon
+
+ :heavy_minus_sign: -
+
+Specifies the name of the application icon.
+
+### Is Companion
+
+ :heavy_minus_sign: -
+
+This block will return true, if you are running your project current in the companion application. Else it will return false.
+
+
+
+### is Keyboard Visible
+
+ :heavy_minus_sign: -
+
+Returns the status of the keyboard. If the keyboard is visible then the result is true.
+
+
+
+### is Side Menu Added
+
+ :heavy_minus_sign: -
+
+Returns true if a side menu is added to the screen.
+
+
+
+### is Side Menu Open
+
+ :heavy_minus_sign: -
+
+Returns true if a side menu is current open. Else it will return false.
+
+
+
+### Keep Screen On
+
+ :heavy_minus_sign: -
+
+Keep the device's screen turned on and bright.
+
+
+
+
+### Minimum SDK Level
+
+ :heavy_minus_sign: -
+
+Property for MinSdk
+
+### Navigation Bar Color
+
+ :heavy_minus_sign: -
+
+Set navigation bar color. This will work starting from API Level 21 (Android Lollipop)
+
+
+
+
+### Navigation Bar Light Icons
+
+ :heavy_minus_sign: -
+
+This option tells the system to use dark navigation bar icons, useful for lighter colored navigation bars. Works only for devices with API >= 26.
+
+
+
+
+### Navigation Icon Color
+
+ :heavy_minus_sign: -
+
+Set the navigation icon color.
+
+
+
+
+### Open Screen Animation
+
+ :heavy_minus_sign: -
+
+The animation for switching to another screen. Valid options are default, fade, zoom, slidehorizontal, slidevertical, and none
+
+
+
+
+### Options Menu Icon Color
+
+ :heavy_minus_sign: -
+
+Set the options menu icon color.
+
+
+
+
+### Package Name
+
+ :heavy_minus_sign: -
+
+Set a custom PackageName for the app. Min 8 chars, max 35 chars, min 3 words, max 5 words, no special chars, only ASCII a-z and dots for separators
+
+### Primary Color
+
+ :heavy_minus_sign: -
+
+This is the primary color used for Material UI elements, such as the ActionBar.
+
+### Primary Color Dark
+
+ :heavy_minus_sign: -
+
+This is the primary color used for darker elements in Material UI.
+
+### RTL Support
+
+ :heavy_minus_sign: -
+
+Property for RTLSupport
+
+### Screen Orientation
+
+ :heavy_minus_sign: -
+
+The requested screen orientation, specified as a text value. Commonly used values are landscape, portrait, sensor, user and unspecified. See the Android developer documentation for ActivityInfo.Screen_Orientation for the complete list of possible settings.
+
+
+
+
+### Scrollable
+
+ :heavy_minus_sign: -
+
+When checked, there will be a vertical scrollbar on the screen, and the height of the application can exceed the physical height of the device. When unchecked, the application height is constrained to the height of the device.
+
+
+
+
+### Show Lists As Json
+
+ :heavy_minus_sign: -
+
+If false, lists will be converted to strings using Lisp notation, i.e., as symbols separated by spaces, e.g., (a 1 b2 (c d). If true, lists will appear as in Json or Python, e.g. ["a", 1, "b", 2, ["c", "d"]]. This property appears only in Screen 1, and the value for Screen 1 determines the behavior for all screens. The property defaults to "false" meaning that the App Inventor programmer must explicitly set it to "true" if JSON/Python syntax is desired. At some point in the future we will alter the system so that new projects are created with this property set to "true" by default. Existing projects will not be impacted. The App Inventor programmer can also set it back to "false" in newer projects if desired.
+
+### Show Navigation Bar
+
+ :heavy_minus_sign: -
+
+Show/Hide Navigation Bar
+
+
+
+
+### Show Options Menu
+
+ :heavy_minus_sign: -
+
+Property for ShowOptionsMenu
+
+### Show Status Bar
+
+ :heavy_minus_sign: -
+
+The status bar is the topmost bar on the screen. This property reports whether the status bar is visible.
+
+
+
+
+### Show Title Bar Back Button
+
+ :heavy_minus_sign: -
+
+If true it will show in the TitleBar a back button only if no side menu was added. If a side menu was added it will remove the ‘hamburger’-menu icon but the side menu can still be opened.
+
+
+
+
+### Sizing
+
+ :heavy_minus_sign: -
+
+If set to fixed, screen layouts will be created for a single fixed-size screen and autoscaled. If set to responsive, screen layouts will use the actual resolution of the device. See the documentation on responsive design in App Inventor for more information. This property appears on Screen1 only and controls the sizing for all screens in the app.
+
+### Splash Image
+
+ :heavy_minus_sign: -
+
+Property for SplashIcon
+
+### Splash Screen
+
+ :heavy_minus_sign: -
+
+If set to true the user will see a splash screen while the app is loading the content.
+
+### Status Bar Color
+
+ :heavy_minus_sign: -
+
+Set status bar color. This will work starting from API Level 21 (Android Lollipop
+
+
+
+
+### Status Bar Light Icons
+
+ :heavy_minus_sign: -
+
+This option tells the system to use dark statusbar icons, useful for lighter colored status bars. Works only for devices with API >= 23.
+
+
+
+
+### Theme
+
+ :heavy_minus_sign: -
+
+Sets the theme used by the application.
+
+### Title
+
+ :heavy_minus_sign: -
+
+The caption for the form, which apears in the title bar
+
+
+
+
+### Title Bar Color
+
+ :heavy_minus_sign: -
+
+Set title bar color
+
+
+
+
+### Title Bar Font Typeface
+
+ :heavy_minus_sign: -
+
+Property for TitleBarFontTypeface
+
+### Title Bar Subtitle
+
+ :heavy_minus_sign: -
+
+Set the TitleBar's subtitle.
+
+
+
+
+### Title Bar Text Color
+
+ :heavy_minus_sign: -
+
+Set a custom color for the TitleBar text.
+
+
+
+
+### Title Bar Typeface Import
+
+ :heavy_minus_sign: -
+
+Set a custom font.
+
+
+
+### Title Visible
+
+ :heavy_minus_sign: -
+
+The title bar is the top gray bar on the screen. This property reports whether the title bar is visible.
+
+
+
+
+### Tutorial URL
+
+ :heavy_minus_sign: -
+
+A URL to use to populate the Tutorial Sidebar while editing a project. Used as a teaching aid.
+
+### Version Code
+
+ :heavy_minus_sign: -
+
+An integer value which must be incremented each time a new Android Application Package File (APK) is created for the Google Play Store.
+
+### Version Name
+
+ :heavy_minus_sign: -
+
+A string which can be changed to allow Google Play Store users to distinguish between different versions of the App.
+
+### Width
+
+ :heavy_minus_sign: -
+
+Screen width (x-size).
+
+
diff --git a/docs/guides/backpack.md b/src/content/docs/guides/backpack.md
similarity index 89%
rename from docs/guides/backpack.md
rename to src/content/docs/guides/backpack.md
index ad3f09add..1fee088fd 100644
--- a/docs/guides/backpack.md
+++ b/src/content/docs/guides/backpack.md
@@ -1,8 +1,10 @@
-# Backpack
+---
+title: Backpack
+---
## Backpack
- 
+ 
Backpack: Copy and Paste Blocks to DifferentScreens and Projects
@@ -14,7 +16,7 @@ Click [here](https://www.youtube.com/watch?v=diQ8wJCYb6o) for a video demo.
The Backpack is a copy-and-paste feature that works between projects and screens. The Backpack icon is located at the upper-right corner of theworkspace.
-
+
Copying Blocks. Blocks from the workspace can be dragged and dropped into Backpack. This is the copy operation -- the blocks are copied \(duplicated\) in the backpack. When blocks are dropped into the Backpack, an animation and sound will occur to confirm for the user that the operation was successful. The blocks are not removed from the workspace.
@@ -30,12 +32,12 @@ In addition to the drag-and-drop functionality, you can select Backpack function
`right click on a block`
-
+
`right click on the workspace`
-
+
`right click on a block in backpack`
-
+
diff --git a/docs/guides/component-examples/dynamic-cards.md b/src/content/docs/guides/component-examples/dynamic-cards.md
similarity index 77%
rename from docs/guides/component-examples/dynamic-cards.md
rename to src/content/docs/guides/component-examples/dynamic-cards.md
index de39a8805..4476f2364 100644
--- a/docs/guides/component-examples/dynamic-cards.md
+++ b/src/content/docs/guides/component-examples/dynamic-cards.md
@@ -1,4 +1,6 @@
-# Using Dynamic Cards in your app
+---
+title: Using Dynamic Cards in your app
+---
## Overview
@@ -26,19 +28,21 @@ The API endpoint we'll be using in this guide is `https://newsapi.org/v2/top-hea
This is what a sample response looks like:
-`{"status":"ok",`
-` "totalResults":TOTAL_NUMBER_OF_ARTICLES,`
-` "articles":[`
-` {"source":`
-` {"id":"SOURCE_ID","name":"SOURCE_NAME"},`
-` "author":AUTHOR_NAME,`
-` "title":"ARTICLE_TITLE",`
-` "description":"ARTICLE_SUMMARY",`
-` "urlToImage":"ARTICLE_IMAGE",`
-` "publishedAt":"ARTICLE_PUBLISH_DATE",`
-` "content":"ARTICLE_CONTENT"`
-` }, {...}`
-`]}`
+```json
+{"status":"ok",
+ "totalResults":TOTAL_NUMBER_OF_ARTICLES,
+ "articles":[
+ {"source":
+ {"id":"SOURCE_ID","name":"SOURCE_NAME"},
+ "author":AUTHOR_NAME,
+ "title":"ARTICLE_TITLE",
+ "description":"ARTICLE_SUMMARY",
+ "urlToImage":"ARTICLE_IMAGE",
+ "publishedAt":"ARTICLE_PUBLISH_DATE",
+ "content":"ARTICLE_CONTENT"
+ }, {...}
+]}
+```
We will need the article `title`, `description`, and `urlToImage` to populate the cards. We'll be using the JSON component to extract data from the API.
@@ -54,7 +58,7 @@ Finally, add an `Image Utilities` component which we will use to load images asy
This is what your designer should look like
-
+
The top 20 news articles will be displayed as `Dynamic Card View`s, which will be loaded inside the `Vertical Scroll Arrangement`. Each card will include the article's title, a short description, and a header image.
@@ -63,60 +67,62 @@ The top 20 news articles will be displayed as `Dynamic Card View`s, which will b
## Coding the blocks
We will need a variable to store the JSON response from the API. This can be a simple `Text` variable like so.
-
+
The API data is to be fetched when the screen initializes. Set the `Web` component's url to the API url, and perform the GET request.
-
+
When the `Web` component has fetched the data, set the response content to the global variable you created. In case there was an issue getting the content, we set the variable to custom error JSON. This is so that the JSON parsing, which has to be done later, doesn't throw errors.
-
+
Next, we need a procedure that populates the `Vertical Scroll Arrangement` with cards. This procedure will iterate 20 times if there are more than 20 news articles in the api response variable. If there are less than 20 articles, the procedure will only iterate through the number of articles in the api response.
We call this procedure inside the `Web` component's Got Text block.
-
+
Next, we create another procedure which takes the JSON object and the array index as parameters. This procedure will create the cards for us and add them to the `Vertical Scroll Arrangement`.
-
+
-!!! tip
- It is recommended you place blocks in procedures so that they are more readable and can be used several times.
+:::tip
+It is recommended you place blocks in procedures so that they are more readable and can be used several times.
+:::
For each news article, we first create a card view that holds all the content we wish to show. Use the `Create Card View` block inside the procedure to make a dynamic card for each article. Each card will be 90% of the screen's width and will have automatic height so that it can resize according to the content inside.
-
+
Next, we create a dynamic image that contains the article's header image. We use the `Image Utilities` component to load the images asynchronously from the URL, so that the UI doesn't lag while the data is being fetched.
-
+
Using the `Dynamic Label` component, we create dynamic labels for each card which contain the article's title. Since this the article's title, we set the font size to 18.
-
+
-!!! tip
- It is recommended you set the `html` parameter to `False` when getting data from external sources. Unchecked HTML can be used to perform unauthorized actions in your app.
+:::tip
+It is recommended you set the `html` parameter to `False` when getting data from external sources. Unchecked HTML can be used to perform unauthorized actions in your app.
+:::
We use the `Dynamic Label` component one more time to create a label for the description. We set the id to a value that we are certain hasn't been used yet. If you are showing the top 200 news articles, then you might want to start your id's from 1000 (or a similarly appropriate number).
-
+
Finally, we place the procedure call block inside the `PopulateNewsArticles` procedure.
-
+
## Conclusion
-
+
The finished project
{: .img-caption}
-
+
All the blocks we've used
{: .img-caption}
diff --git a/docs/guides/component-examples/firebase-rules.md b/src/content/docs/guides/component-examples/firebase-rules.mdx
similarity index 87%
rename from docs/guides/component-examples/firebase-rules.md
rename to src/content/docs/guides/component-examples/firebase-rules.mdx
index f306569c5..adf381367 100644
--- a/docs/guides/component-examples/firebase-rules.md
+++ b/src/content/docs/guides/component-examples/firebase-rules.mdx
@@ -1,4 +1,8 @@
-# Working with Firebase Rules
+---
+title: Working with Firebase Rules
+---
+
+import { FileTree } from '@astrojs/starlight/components';
## Overview
@@ -13,7 +17,7 @@ Firebase Rules are written in JSON and JavaScript. They work alongside Firebase
### Testing mode
Testing your app is easy when you have full access to your database. To enable read/write access to all tags, use:
-```
+```json
{
"rules": {
".read" : true,
@@ -22,18 +26,20 @@ Testing your app is easy when you have full access to your database. To enable r
}
```
-!!! info
- All your rules should be wrapped inside the `"rules"` tag. Read rules are always set using the `".read"` tag, and write with `".write"`.
-
+:::note
+All your rules should be wrapped inside the `"rules"` tag. Read rules are always set using the `".read"` tag, and write with `".write"`.
+:::
+
The JSON code above specifies two rules for your entire database. Each rule can be thought of as a condition that has to return `true` if the operation is to succeed. In the case above, both `.read` and `.write` always return `true`, meaning no checks are required before accessing your database.
-!!! warning
- **Never** set read and write to `true` in a production environment. Your database can be hacked easily and worse, can be wiped clean by unauthorized users.
-
+:::caution
+**Never** set read and write to `true` in a production environment. Your database can be hacked easily and worse, can be wiped clean by unauthorized users.
+:::
+
### Authenticated-only mode
-You can enable only authenticated users to read and write tags in your database. Users can be authenticated using the [Firebase Authentication](https://docs.kodular.io/components/google/firebase-authentication/){:target = "_blank"} component.
-```
+You can enable only authenticated users to read and write tags in your database. Users can be authenticated using the [Firebase Authentication](https://docs.kodular.io/components/google/firebase-authentication/) component.
+```json
{
"rules": {
".read" : "auth.uid != null",
@@ -47,16 +53,17 @@ Every authenticated user has a unique "uid". If the uid of the current user is `
The uid of a user can be accessed from the `user ID` variable in the [Login Success](https://docs.kodular.io/components/google/firebase-authentication/#login-success) and [Current User Success](https://docs.kodular.io/components/google/firebase-authentication/#current-user-success) blocks in the Firebase Authentication component.
-!!! caution
- These rules are barely more secure than the [testing mode](#testing-mode) rules. Note that your users can still access **all** tags and values (including other users' personal data), and can still potentially clear your entire database.
-
+:::caution
+These rules are barely more secure than the [testing mode](#testing-mode) rules. Note that your users can still access **all** tags and values (including other users' personal data), and can still potentially clear your entire database.
+:::
+
### Uid-Tag mode
You can also write rules to restrict read and write access to specific tags. With such rules, you can ensure that the user can edit only the data which they have created.
Considering this database:
-```
+
- users
- U43gnonNP9joboLnv
- ranking : 1
@@ -77,11 +84,10 @@ Considering this database:
- Marathon
- name : "25mi Marathon"
- recommended_age: 20
-
-```
+
The structure of the database is:
-```
+
- users
- uid
- ranking
@@ -91,7 +97,7 @@ The structure of the database is:
- challengeId
- name
- recommended_age
-```
+
Every user has their own tag (which is identified by their uid), and each tag contains data about the user. We want users to be able to edit only their data, meaning a user with uid `U43gnonNP9joboLnv` should be able to edit the ranking, email, and age only for the tag with the name `U43gnonNP9joboLnv`.
@@ -100,7 +106,7 @@ However, we wish to let all users see the challenges, but not let anyone edit th
Here is how you would write the rules for such a system.
Start off with read/write rules for the `users` tag.
-```
+```json
{
"rules" : {
"users" : {
@@ -116,7 +122,7 @@ Start off with read/write rules for the `users` tag.
The `$user_id` tag is a wildcard reference to all keys that are inside the `users` tag. We allow read and write operations only if the name of the tag (as specified in `$user_id`) equals of the uid of the authenticated user. This way, a user will not be able to access tags that are not theirs as `auth.uid` will not be the name of the tag.
On the other hand, `challenges` can be read by all and written by none.
-```
+```json
"challenges" : {
".read" : true,
".write" : false
@@ -124,7 +130,7 @@ On the other hand, `challenges` can be read by all and written by none.
```
The final JSON object will look like
-```
+```json
{
"rules" : {
"users" : {
@@ -147,7 +153,7 @@ With Firebase Rules, you can validate user data before it is sent to the databas
- `data`
-This variable holds the current value of the database tag. You can use `data.val()` to fetch the value, or use `data.hasChild(child)` to check if it has the specified child. Firebase also provides several other functions you can use on your data. More information can be found [here](https://firebase.google.com/docs/rules/data-validation){:target = "_blank"}
+This variable holds the current value of the database tag. You can use `data.val()` to fetch the value, or use `data.hasChild(child)` to check if it has the specified child. Firebase also provides several other functions you can use on your data. More information can be found [here](https://firebase.google.com/docs/rules/data-validation)
- `newData`
This variable holds the value the user is attempting to write to the database. `newData` also supports `val`, `hasChild`, and other functions that `data` has.
@@ -170,8 +176,9 @@ Write your rules such that your users can access only that data which they can v
### Lock access in development
Set all rules to `false` in a development environment where you would not want anyone to edit your database. It is also suggested you lock your database if your product is shutting down.
-!!! note
- You will still be able to access and edit your database either from your Firebase console or from the command-line interface (CLI).
+:::note
+You will still be able to access and edit your database either from your Firebase console or from the command-line interface (CLI).
+:::
## Conclusion
@@ -179,7 +186,7 @@ Firebase Rules are great for securing your database and channeling users to the
### Further reading
-- [Firebase Security Rules](https://firebase.google.com/docs/rules){:target = "_blank"}
-- [Basic Security Rules](https://firebase.google.com/docs/rules/basics){:target = "_blank"}
-- [Firebase Security & Rules - Medium](https://howtofirebase.com/firebase-security-rules-88d94606ce4a){:target = "_blank"}
-- [Common Firebase Rules](https://gist.github.com/codediodeio/6dbce1305b9556c2136492522e2100f6){:target = "_blank"}
\ No newline at end of file
+- [Firebase Security Rules](https://firebase.google.com/docs/rules)
+- [Basic Security Rules](https://firebase.google.com/docs/rules/basics)
+- [Firebase Security & Rules - Medium](https://howtofirebase.com/firebase-security-rules-88d94606ce4a)
+- [Common Firebase Rules](https://gist.github.com/codediodeio/6dbce1305b9556c2136492522e2100f6)
\ No newline at end of file
diff --git a/docs/guides/component-examples/pollfish.md b/src/content/docs/guides/component-examples/pollfish.md
similarity index 72%
rename from docs/guides/component-examples/pollfish.md
rename to src/content/docs/guides/component-examples/pollfish.md
index a2827a7f8..9fa96090e 100644
--- a/docs/guides/component-examples/pollfish.md
+++ b/src/content/docs/guides/component-examples/pollfish.md
@@ -1,4 +1,6 @@
-# Integrating Pollfish in your app
+---
+title: Integrating Pollfish in your app
+---
## Overview
@@ -6,32 +8,17 @@ In this guide, you will learn how to use Pollfish surveys in your apps. The Poll
## First steps
-You will first have to sign up for a free Pollfish account and register your app. You will be given an API key which we will use later to communicate between Kodular and Pollfish. To get started, head over to [Pollfish](https://www.pollfish.com/signup/publisher){:target="_blank"}
-
-
-
-
-
-
+You will first have to sign up for a free Pollfish account and register your app. You will be given an API key which we will use later to communicate between Kodular and Pollfish. To get started, head over to [Pollfish](https://www.pollfish.com/signup/publisher)
+
Once you've signed up successfully, you should be redirected to your Pollfish dashboard.
-
-
-
-
-
-
+
Click on "Create App" and fill in details of your Android application. Submit the form once you've filled in all details accurately.
-
-
-
-
-
-
+
You will find your API key at the top of the page. Copy this key to your clipboard or save it temporarily. You will be pasting it later in your Kodular project.
## Designing the app
@@ -45,58 +32,49 @@ Select the Pollfish component and head over to the Properties panel. Set the `AP
Make sure you've enabled `Test Mode` in the component's designer properties. Your surveys will not open if you've disabled `Test Mode` in an unverified app.
-
-
-
-
-
-
+
We will be showing a Single Survey to users in this guide. Head over to [Next steps](#next-steps) for information on implementing Offerwall surveys.
Also add a `Button` to the Screen. We will be using the Click event of the `Button` to open the survey.
Your designer should look like this:
-
-
-
-
-
+
## Coding the blocks
Before we can let the user open a survey, we have to ensure that it is loaded and ready. Use the `Survey Received` block to check if the survey has loaded. We will be storing the status of the survey in a global variable called `surveyReceived`.
-
-
+
+
We then listen to clicks on the `Button`. We show the survey only if it has loaded.
-
+
It is sometimes possible that no survey is available to be shown to the user. We create a procedure called `SurveyNotAvailable` to handle cases when loading the survey fails.
-
+
The procedure will be called if no survey was available or if the user was ineligible or rejected.
-
-
-
+
+
+
Finally, we handle a successful survey result using the `Survey Completed` block. This is where you can reward your users with non-cash items (in-game coins, credits, etc.)
-
+
## Conclusion
-{: .preview-img}
+{: .preview-img}
-{: .preview-img}
+{: .preview-img}
The finished project
{: .img-caption}
-
+
All the blocks we've used
{: .img-caption}
diff --git a/docs/guides/component-examples/remote-config.md b/src/content/docs/guides/component-examples/remote-config.md
similarity index 87%
rename from docs/guides/component-examples/remote-config.md
rename to src/content/docs/guides/component-examples/remote-config.md
index 0c95c0ac7..6e8525440 100644
--- a/docs/guides/component-examples/remote-config.md
+++ b/src/content/docs/guides/component-examples/remote-config.md
@@ -1,4 +1,6 @@
-# Staging updates with Firebase Remote Config
+---
+title: Staging updates with Firebase Remote Config
+---
## Overview
@@ -30,35 +32,36 @@ Here are some things you should know before you can get started with this guide.
Head over to [your Firebase Console](https://console.firebase.google.com){:target="_blank"} to set up Remote Config for your Firebase project. If you do not have an existing project, create a new one.
Use the navigation menu on the left to go to the Remote Config section.
-
+
Firebase Remote Config works using `parameters` and `values`. Your will app will fetch the `value` of a `parameter` and then decide how to proceed. Firebase can send different `value`s to different users, based on some conditions you can set. In this guide, we will create a `parameter` called `bottom_nav_enabled`, which returns `false` for all users except the 20% chosen at random.
-
+
Give the parameter a name
{: .img-caption}
Next, add a condition to your `parameter`. Every conditon has a name, so that it can be identified easily when several are being used. We will name our condition `random_testers_group`. There are several constraints to choose from, but for this guide, we will restrict ourselves to "User in random percentile".
-
+
Add a condition
{: .img-caption}
-!!! tip
- It is possible to chain several constraints in a single condition using the "and" button.
+:::tip
+It is possible to chain several constraints in a single condition using the "and" button.
+:::
Your `parameter` can now have two `value`s: one for those in the `random_testers_group`, and another for everybody else. Set the `value` to "true" for the testers, and "false" for others.
-
+
Add values to your parameter
{: .img-caption}
Finally, click on "Add parameter", and then click "Publish changes".
-
+
Publish your changes
{: .img-caption}
@@ -81,37 +84,37 @@ Finally, set the `Visible` property of the `Bottom Navigation` component to `Fal
This is what your designer should look like
-
+
## Coding the blocks
We first create all the tabs when the screen initializes. In this guide, we have three tabs: Home, Products, and Cart.
-
+
Next, we handle "selections" on the tabs using a procedure which takes the `id` of the tab as an input. We loop through all the vertical arrangements and set their `Visible` property to `False`. Then, we get the selected tab item and its corresponding arrangement, and set its `Visible` property to `True`. Generic blocks make it easier to manipulate the visibility of the components, especially in apps with several tabs.
-
+
We call this procedure from the `Tab Layout` component's `Tab Item Selected` event.
-
+
We do the same for the `Bottom Navigation` component: first add the menu items (in the Screen's `Initialize` event), and then handle the selection event.
-
+
!!! info
The icon assets for the navigation items are provided in the AIA in the [Downloads](#downloads) section.
We can use the same prodcedure we made for the `Tab Layout`.
-
+
Now for the important bit. We use the `Firebase Remote Config` component to get the visibility status of the `Bottom Navigation` component. Before we use any of the parameters, we need to fetch all data from Firebase.
Place the `fetch` block in the Screen's `Initialize` event to do so.
-
+
Once the data has been fetched, we get the value of the `bottom_navigation_enabled` parameter. Since this is a boolean parameter, we use the `Get Boolean` block to retrieve the value.
@@ -119,20 +122,20 @@ This value can be either `True` or `False`, depending on the status of the user.
If the value is `True`, we show the `Bottom Navigation` instead of the `Tab Layout`.
-
+
!!! note
Updates to parameters can take a few hours to update across all devices, so don't be alarmed if you don't see all changes immediately.
## Conclusion
-
-
+
+
What a regular user sees (left) vs what a randomly chosen beta tester sees (right)
{: .img-caption}
-
+
All the blocks we've used in this guide
{: .img-caption}
@@ -140,7 +143,7 @@ All the blocks we've used in this guide
### Releasing the update to everyone
To release the changes to all your users, simply go to your Firebase Console and remove the condition from the `parameter` so that it always returns true.
-
+
Setting the parameter to true by default
{: .img-caption}
@@ -148,7 +151,7 @@ Setting the parameter to true by default
### Rolling back updates
To roll back the update you've made, remove the condition from the `parameter` and set the default value to false. This ensures nobody sees the `Bottom Navigation` anymore.
-
+
Removing the condition so that the parameter always returns false
{: .img-caption}
diff --git a/docs/guides/component-examples/securing-app.md b/src/content/docs/guides/component-examples/securing-app.md
similarity index 87%
rename from docs/guides/component-examples/securing-app.md
rename to src/content/docs/guides/component-examples/securing-app.md
index cfa4e3841..c620ef5ed 100644
--- a/docs/guides/component-examples/securing-app.md
+++ b/src/content/docs/guides/component-examples/securing-app.md
@@ -1,4 +1,6 @@
-# Securing your Firebase Database
+---
+title: Securing your Firebase Database
+---
## Overview
@@ -22,13 +24,13 @@ Take a look at our guide on [working with Firebase Rules](/guides/component-exam
Head over to [your Firebase Console](https://console.firebase.google.com){:target="_blank"} to set up a real-time database for your Firebase project. If you do not have an existing project, create a new one.
Use the navigation menu on the left to go to the Database section.
-
+
In case the real-time database has not been enabled already, scroll to the bottom and click on "Realtime database".
You will be using Google login for user authentication. Go to the Authentication section using the menu on the left, and enable Google as an authentication provider. More details on Google authentication can be found [here](/components/google/firebase-authentication/#google-login){:target = "_blank"}.
-
+
Enable Google login
{: .img-caption}
@@ -66,27 +68,28 @@ Finally, drop the `Firebase Database`, `Firebase Authentication`, and `Device Ut
This is what your designer should look like
-
+
-!!! tip
- The components shown above have been styled with colors and borders to make them look better. Download AIA from the bottom of the page to use them in your app!
+:::tip
+The components shown above have been styled with colors and borders to make them look better. Download AIA from the bottom of the page to use them in your app!
+:::
## Coding the blocks
First, we add an event block to handle clicks on the `SignInButton`. The user is to be shown a prompt to sign in with Google.
-
+
Once the login is successful, we append the user's unique id to the `uids` tag in the database.
-
+
Next, we handle clicks on the `UpdateDetailsButton`. When the button is clicked, we first fetch the user's details so that we can get their uid. Then, using the uid, we update their name, email, and Android version.
-
+
-
+
!!! note
As of now, a user can fetch the list of all uids and update the details of any other user. We will be writing Firebase rules later to ensure the data a user can edit is limited to their uid.
@@ -95,21 +98,21 @@ Finally, we code the recursive function to get the names of all the users. Note
To get the names of all the users, we will need two lists: one for all uids and another for all names.
-
+
-
+
We initiate the recursion using the `Click` event block for the `GetDetailsButton`.
-
+
When the value has been fetched, we populate the list of uids, and then fetch the name of the first uid in the list.
-
+
We do the same for each uid in the list. Every time we fetch the name of the uid, we remove the uid from the list and add the name to the names list.
-
+
Once all names have been fetched, we show them in a message dialog.
@@ -117,7 +120,7 @@ Once all names have been fetched, we show them in a message dialog.
Head back to your Firebase console. In the Realtime Database section, navigate to the "rules" tab.
-
+
By default, Firebase allows full read/write access. If you created your database in locked mode, the default rules will allow only authenticated users, and your rules will look something like:
```
@@ -216,7 +219,7 @@ Our list of rules currently looks like this:
```
Let's take an example of a sample database to see how the rules work. The database currently has the following data:
-
+
```
{
@@ -242,21 +245,21 @@ Let's take an example of a sample database to see how the rules work. The databa
```
A user currently authenticated with the uid `AL2uxus1arNfAWtviUIXboPdRqy1` is able to fetch their own name, email, and Android version:
-
+
-
+
The user is also able to edit the value of their name, email, and Android version.
-
+
-
+
In addition, the user can access the names of *other* users, say, one with the uid `KW4LkSOtG0Y1iede9KaTrwsYCx62`.
-
+
But they cannot get the email or Android version of other users.
-
+
Nor can they set the name, email, or Android version of other users.
@@ -284,10 +287,10 @@ This ensures that the uid is written only if the current data doesn't already co
Let's illustrate with the example of a user with the uid `AL2uxus1arNfAWtviUIXboPdRqy1`.
The user can append their uid to the list of all uids
-
+
But cannot append anything other than their uid
-
+
Our final list of rules looks like this:
@@ -322,7 +325,7 @@ Our final list of rules looks like this:
## Conclusion
-
+
All the blocks we've used in this guide
{: .img-caption}
diff --git a/docs/guides/component-examples/targeted-notifications.md b/src/content/docs/guides/component-examples/targeted-notifications.md
similarity index 84%
rename from docs/guides/component-examples/targeted-notifications.md
rename to src/content/docs/guides/component-examples/targeted-notifications.md
index 4f9db11c8..a13539f36 100644
--- a/docs/guides/component-examples/targeted-notifications.md
+++ b/src/content/docs/guides/component-examples/targeted-notifications.md
@@ -1,4 +1,6 @@
-# Targeting your push notifications
+---
+title: Targeting your push notifications
+---
## Overview
@@ -15,13 +17,13 @@ Here are some things you should know before you can get started with this guide.
## First steps
Head over to [your OneSignal Dashboard](https://app.onesignal.com){:target="_blank"} to set up a new "tag". Tags can be used to identify specific users by their value. In this example, we will be creating a tag called "pro".
-
+
Navigate to the "Audience" section using the tabs at the top of the page.
-
+
Click on "New Segment" to create a group of users. The Segment's name will be the tag which we will pass from the app's blocks.
-
+
Rename the Segment to "Pro" and click on "Create Segment".
@@ -32,12 +34,12 @@ Your OneSignal app is now ready to handle users with the "Pro" tag!
As usual, we'll start with a new project. All we will need for this guide is the `Push Notifications` component in the `Social` category. Ensure you're using the correct OneSignal App ID for your app.
This is what the designer should look like (not much to see...)
-
+
## Coding the blocks
We will be using only nine blocks in this guide. When the screen is opened, we pick `True` or `False` at random and if `True`, we send the 'pro' tag to OneSignal.
-
+
!!! info
OneSignal tags are **case insensitive**, so `pro` and `Pro` are the same tag!
@@ -47,14 +49,14 @@ We will be using only nine blocks in this guide. When the screen is opened, we p
In the "Messages" section of your OneSignal Dashboard, click on "New Push" to create a new notification.
-
+
Change the "Audience" setting to "Send to Particular Segments".
-
+
Remove the default "Subscribed Users" segment and use the "Add Segment" button to add the "Pro" segment.
-
+
Fill up the rest of the notification details as usual, and "Confirm" your push notification.
That's it! Only "Pro" users will see the notification you just sent.
diff --git a/src/content/docs/guides/concept-cards.md b/src/content/docs/guides/concept-cards.md
new file mode 100644
index 000000000..e3f0cb45e
--- /dev/null
+++ b/src/content/docs/guides/concept-cards.md
@@ -0,0 +1,37 @@
+---
+title: Concept Cards
+---
+
+:::tip[Credits]
+Big thanks to [Peter](https://community.kodular.io/u/Peter) who made these amazing cards!
+:::
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/guides/extensions/create-extensions.md b/src/content/docs/guides/extensions/create-extensions.md
similarity index 82%
rename from docs/guides/extensions/create-extensions.md
rename to src/content/docs/guides/extensions/create-extensions.md
index 4523d18bf..1c2303353 100644
--- a/docs/guides/extensions/create-extensions.md
+++ b/src/content/docs/guides/extensions/create-extensions.md
@@ -1,12 +1,16 @@
-# Creating Extensions
+---
+title: Creating Extensions
+---
-!!! info
- **Now you can just skip this tutorial and paste your code in** [**Kodular IDE**](https://ide.kodular.io)**!**
+:::caution
+Now you can just skip this tutorial and paste your code in [Kodular IDE](https://ide.kodular.io)
+:::
## Tools you will need
-!!! warning
- This guide assumes you to be a **Windows** user.
+:::note
+This guide assumes you to be a **Windows** user.
+:::
* [x] [App Inventor Sources ](https://github.com/mit-cml/appinventor-sources)
* [x] [Java JDK](http://www.oracle.com/technetwork/java/javase/downloads/index.html)
@@ -18,8 +22,9 @@
* Install JDK
-!!! warning
- _Be sure not to install it in a directory whose path contains spaces_
+:::caution
+_Be sure not to install it in a directory whose path contains spaces_
+:::
* Set the Environmental Variables:
* Set `JAVA_HOME` to where you installed Java JDK.
@@ -43,8 +48,9 @@
* Unzip the folder and move it to a place where it is safe. For example: `C:\apache-ant-1.10.1`
-!!! warning
- _Be sure not to install it in a directory whose path contains spaces_
+:::caution
+_Be sure not to install it in a directory whose path contains spaces_
+:::
* Set the Environmental Variables:
* **Set** `ANT_HOME` to where you have the Ant folder placed. For example: `C:\Ant\apache-ant-1.10.1`
@@ -71,8 +77,9 @@
* Unzip the folder and move it to a place where it is safe
-!!! warning
- _Be sure not to place it in a directory whose path contains spaces_
+:::caution
+_Be sure not to place it in a directory whose path contains spaces_
+:::
## Step 5: Building an Extension
@@ -85,11 +92,13 @@
### _Wait for the extension to build..._
-!!! success
- If it says: **`BUILD SUCCESSFUL`**, then you just created an extension. :-\)
+:::tip[Success]
+If it says: **`BUILD SUCCESSFUL`**, then you just created an extension. :-\)
+:::
-!!! danger
- But if it says: `BUILD FAILED`, then you did something wrong and have to look over again. :-\(
+:::danger
+But if it says: `BUILD FAILED`, then you did something wrong and have to look over again. :-\(
+:::
## Step 6: Sharing Extensions
diff --git a/docs/guides/extensions/kodular-methods.md b/src/content/docs/guides/extensions/kodular-methods.md
similarity index 85%
rename from docs/guides/extensions/kodular-methods.md
rename to src/content/docs/guides/extensions/kodular-methods.md
index 4c1d31737..c4b3774f5 100644
--- a/docs/guides/extensions/kodular-methods.md
+++ b/src/content/docs/guides/extensions/kodular-methods.md
@@ -1,12 +1,15 @@
-# Kodular Available Methods
+---
+title: Kodular Available Methods
+---
Apart from available methods in MIT App Inventor 2 `Form.java`, you may also use some custom methods that we have
added. These methods were created to ease access to some features, like knowing both original and custom package
name of apps.
-!!! bug "Compatibility"
- Keep in mind these methods are only available in Kodular. This means that your extension will only work with
- Kodular sources if you call them directly. Keep reading to learn how to make it fully compatible.
+:::caution[Compatibility]
+Keep in mind these methods are only available in Kodular. This means that your extension will only work with
+Kodular sources if you call them directly. Keep reading to learn how to make it fully compatible.
+:::
## Installation
diff --git a/docs/guides/hello-world.md b/src/content/docs/guides/hello-world.md
similarity index 86%
rename from docs/guides/hello-world.md
rename to src/content/docs/guides/hello-world.md
index c6ced7c0b..ab559e9f6 100644
--- a/docs/guides/hello-world.md
+++ b/src/content/docs/guides/hello-world.md
@@ -1,10 +1,13 @@
-# Building your first app with Kodular
+---
+title: Building your first app with Kodular
+---
Welcome to Kodular!
In this tutorial, you will learn to create your first app with Kodular.
-!!! tip ""
- If you have any queries or doubts, feel free reach out to us on the [community](https://community.kodular.io).
+:::tip
+If you have any queries or doubts, feel free reach out to us on the [community](https://community.kodular.io).
+:::
## The first steps
@@ -21,18 +24,17 @@ The _project_ will be created and you will be taken to the
-
-
-
-
+
+
+
The above shown screen is called **_Designer_**.
From this page, you can add/delete Components and modify their properties.
@@ -70,5 +72,6 @@ If you have connected your companion and testing using it, then now the change s
You can transfer the APK onto the Android device and you can install your own app on the device!
-!!! success "Yay!"
- That's it! You have successfully built your first app with _Kodular_.
+:::tip[Yay!]
+That's it! You have successfully built your first app with _Kodular_.
+:::
\ No newline at end of file
diff --git a/docs/guides/index.md b/src/content/docs/guides/index.md
similarity index 94%
rename from docs/guides/index.md
rename to src/content/docs/guides/index.md
index 079667c06..7afe55471 100644
--- a/docs/guides/index.md
+++ b/src/content/docs/guides/index.md
@@ -1,4 +1,6 @@
-# Understanding Kodular
+---
+title: Understanding Kodular
+---
The apps in Kodular are built as a combination of various *Components* , with each individual _Component_ being used
for a specific purpose.
@@ -6,7 +8,7 @@ for a specific purpose.
The **Component**'s behaviour is configured using *Blocks*
-
+
Components + Blocks = Your Awesome App!
{: .img-caption }
@@ -88,7 +90,7 @@ Some these _Properties_ can either be set from **_Designer_** page, or through *
set only through **_Blocks_** and some only from the **_Designer_**.
-{: .preview-img }
+{: .preview-img }
The _Setter and Getter_ block for the Background Color property of a button.
{: .img-caption }
@@ -126,7 +128,7 @@ specified) namely _tag_ and _value To Store_. So this method can be
-{: .preview-img }
+{: .preview-img }
The _Method_ to store data in the Firebase DB.
{: .img-caption }
@@ -147,11 +149,12 @@ If you want to change the _Button_ text when the user clicks it, you have to
group the logic to change the text under the **_Button.Clicked_** event. This is shown below.
-{: .preview-img }
+{: .preview-img }
The _Event_ block for changing button text when clicked.
{: .img-caption }
-!!! tip ""
- If you have any queries or doubts, feel free to ask about it on the [community](https://community.kodular.io)
+:::tip
+If you have any queries or doubts, feel free to ask about it on the [community](https://community.kodular.io)
+:::
\ No newline at end of file
diff --git a/docs/guides/keyboard-shortcuts.md b/src/content/docs/guides/keyboard-shortcuts.md
similarity index 96%
rename from docs/guides/keyboard-shortcuts.md
rename to src/content/docs/guides/keyboard-shortcuts.md
index 4355ca8d0..b27462e10 100644
--- a/docs/guides/keyboard-shortcuts.md
+++ b/src/content/docs/guides/keyboard-shortcuts.md
@@ -1,4 +1,6 @@
-# Keyboard Shortcuts
+---
+title: Keyboard Shortcuts
+---
To make frequently used actions more accessible, we provide you with these keyboard shortcuts. The same can accessed from `Help` > `Show keyboard shortcuts` in the Creator.
diff --git a/docs/guides/live-development/index.md b/src/content/docs/guides/live-development/index.mdx
similarity index 73%
rename from docs/guides/live-development/index.md
rename to src/content/docs/guides/live-development/index.mdx
index c66f1ce53..27b036055 100644
--- a/docs/guides/live-development/index.md
+++ b/src/content/docs/guides/live-development/index.mdx
@@ -1,19 +1,24 @@
-# Live Development
+---
+title: Live Development
+---
+
+import image1 from "@assets/images/other/live-development/index-1.png";
+import image2 from "@assets/images/other/live-development/index-2.png";
It can be quite a hassle building and installing your project's APK file on your device whenever you make a change. Kodular has one feature that makes the process of designing your apps much easier - the Kodular companion. The companion can be installed on your device just like any normal Android app. Once you've connected the companion to the builder, either by WiFi or USB, the changes you make in the designer, will be instantly displayed on your device.
Visit the below pages to learn how to connect the companion via different ways:
-- [Via WiFi](wifi.md)
+- [Via WiFi](wifi)
-- [Via USB](usb.md)
+- [Via USB](usb)
## Installing the Kodular Companion on Android Phone / Emulator
**Step 1:** Download the [Kodular Companion from the Google Play Store](https://play.google.com/store/apps/details?id=io.makeroid.companion).
-
+
**Step 2:** Open the app
-
+
diff --git a/docs/guides/live-development/usb.md b/src/content/docs/guides/live-development/usb.md
similarity index 87%
rename from docs/guides/live-development/usb.md
rename to src/content/docs/guides/live-development/usb.md
index ed1170615..d691ec708 100644
--- a/docs/guides/live-development/usb.md
+++ b/src/content/docs/guides/live-development/usb.md
@@ -1,4 +1,6 @@
-# Via USB
+---
+title: Via USB
+---
## Running Kodular Starter on your PC
@@ -19,15 +21,16 @@
**Step 1:** From the App Bar, choose "Test".
-
+
**Step 2:** Click on "USB" and wait a few seconds.
-
+
**Step 3:** You've successfully linked your Android Phone to the Kodular Creator.
-!!! tip
- If you are having connection problems, check the [Kodular Starter Checker](https://starter.kodular.io).
+:::tip
+If you are having connection problems, check the [Kodular Starter Checker](https://starter.kodular.io).
+:::
> Remember that this connecting process is not a one time process and you need to do this every time you close Kodular Creator or the Kodular Companion.
diff --git a/docs/guides/live-development/wifi.md b/src/content/docs/guides/live-development/wifi.md
similarity index 80%
rename from docs/guides/live-development/wifi.md
rename to src/content/docs/guides/live-development/wifi.md
index 241b5a06b..0aca6dd32 100644
--- a/docs/guides/live-development/wifi.md
+++ b/src/content/docs/guides/live-development/wifi.md
@@ -1,16 +1,18 @@
-# Via WiFi
+---
+title: Via WiFi
+---
**Step 1:** From the App Bar, choose "Test".
-
+
**Step 2:** Click on "Companion" to get a QR Code that we are going to use to connect our phone to the Builder.
-
+
**Step 3:** Save the QR Code _\(or the code appears next to do QR Code incase you want to enter the code manually\)_ you got from the Kodular Creator for next steps, now to the next phase.
-
+
**Step 3:** Click on Scan "QR Code" or "Connect with code" on the companion app and scan the QR Code or type in the code that you see on the Kodular Creator.
diff --git a/docs/guides/monetization.md b/src/content/docs/guides/monetization.mdx
similarity index 74%
rename from docs/guides/monetization.md
rename to src/content/docs/guides/monetization.mdx
index b3d32db76..365c8f2ff 100644
--- a/docs/guides/monetization.md
+++ b/src/content/docs/guides/monetization.mdx
@@ -1,4 +1,8 @@
-# Getting started with Google Ad Manager
+---
+title: Getting started with Google Ad Manager
+---
+
+import { Tabs, TabItem } from '@astrojs/starlight/components';
**Kodular has partnered with Google** to provide a **hight quality monetization** integration. This is done thanks to
**Google Ad Manager**, a Google's product that provides custom access to monetization tools. We have implemented their
@@ -14,41 +18,42 @@ Some of the reasons why your account may not be eligible are:
- You have no approved apps for monetization.
- You have way too many apps rejected for monetization.
-
+
If your account is eligible, you may see a "Request Invite" button.
-
+
Follow the setup instructions to create the Google Ad Manager Child Account, and wait until it gets approved by Google.
This process should take _around 2 business days_.
-!!! warning
- Make sure you no longer hold a Google Ad Manager account. If so, ask to create a new one.
+:::caution
+Make sure you no longer hold a Google Ad Manager account. If so, ask to create a new one.
+:::
Once all the process has been completed, **your account will be ready to show ads**.
-
+
## Registering your app in Google Ad Manager
The next step is applying for a Google Ads App ID. To do so, head to
the [Google Ad Manager console](https://admanager.google.com), and go to Inventory>Apps section.
-
+
Click on "New App", input your desired app name and check Android as platform.
-=== "Play Store"
-
+
+
If your app is published in Google Play Store, just search for its name, and all data will automatically be linked.
-
-=== "Not in Play Store"
-
+
+
If your app is not published in Google Play Store, check the alternative store and manually type the package name.
It is important that it matches the same one that you wrote in Kodular Creator.
- Please note that **we do require apps to be published in any of those app stores**. If this is not your case, we
- recommend publishing it in Amazon Appstore, which is free and it takes just 5 minutes to upload an app.
+ Please note that **we do require apps to be published in any of those app stores**. If this is not your case, we recommend publishing it in Amazon Appstore, which is free and it takes just 5 minutes to upload an app.
+
+
Once finished, copy the **App ID** field that appears in the list (it will start with `ca-app-pub-`). We will need it
for later.
@@ -56,15 +61,15 @@ for later.
## Implementing ads in your app
This step is the easiest one. Go to Kodular Creator, and open the Monetization>Advertising section. You will find right
-at the top 3 components: [**Kodular Banner**](../components/monetization/advertising/banner-ad.md),
-[**Kodular Interstitial**](../components/monetization/advertising/interstitial-ad.md) and
-[**Kodular Rewarded**](../components/monetization/advertising/rewarded-ad.md). Those three components are the ones that
+at the top 3 components: [**Kodular Banner**](../components/monetization/advertising/banner-ad),
+[**Kodular Interstitial**](../components/monetization/advertising/interstitial-ad) and
+[**Kodular Rewarded**](../components/monetization/advertising/rewarded-ad). Those three components are the ones that
will provide Google Ad Manager ads in your app.
Drag and drop them anywhere you want, and play with blocks to properly integrate them. **No Ad Units are needed**, as
all the integration happens automatically.
-
+
Finally, open the **App Settings** modal with the gear button next to the Designer/Blocks ones. Go to the Monetization
section, and input the previously copied **App ID** into the **Google Ads App ID** field.
@@ -74,7 +79,7 @@ section, and input the previously copied **App ID** into the **Google Ads App ID
For a better ad delivery, **you should have deployed an `app-ads.txt` file**. You must include our Google Publisher ID
in it.
-Check **[this page](../support/adm/app-ads-txt.md) to learn how to properly implement it**.
+Check **[this page](../support/adm/app-ads-txt) to learn how to properly implement it**.
## Exporting your app
diff --git a/docs/index.md b/src/content/docs/index.mdx
similarity index 52%
rename from docs/index.md
rename to src/content/docs/index.mdx
index b5a621306..222732798 100644
--- a/docs/index.md
+++ b/src/content/docs/index.mdx
@@ -1,19 +1,55 @@
-# Introduction
-
-Whether you need some help using the components, or just looking around, this section will provide you the guides and reference you need to develop an app.
-
-For further and personalized help, consider checking out [our community](https://community.kodular.io).
-
-## Get Started
-
-If you are new to Kodular, we strongly recommend checking out the [Guides Tab](/guides/).
-
-Start by searching what you need using the search bar at the top. You can also consider checking out [Components](/components/) or [Blocks](/blocks/).
+---
+title: Kodular Docs
+template: splash
+hero:
+ title: Kodular Docs
+ tagline: Whether you need some help using the components, or just looking around, this section will provide you the guides and reference you need to develop an app.
+ image:
+ alt: logo
+ file: '@assets/logo.png'
+ actions:
+ - text: Guides
+ link: /guides
+ - text: Components
+ link: /components
+ variant: secondary
+ - text: Blocks
+ link: /blocks
+ variant: secondary
+ - text: Support
+ link: /support
+ variant: secondary
+head:
+ - tag: title
+ content: Kodular Docs
+---
+
+import { Card, CardGrid } from '@astrojs/starlight/components';
+import { YouTube } from '@astro-community/astro-embed-youtube';
+
+
+
+ If you are new to Kodular, we strongly recommend checking out the [Guides tab](/guides/).
+
+
+ Start by searching what you need using the search bar at the top. You can also consider checking out [Components](/components/) or [Blocks](/blocks/).
+
+
+ For further and personalized help, consider checking out [our community](https://community.kodular.io).
+
+
+ Learn about the changes to the platform and the components/blocks at the [Releases Notes tab](/release-notes).
+
+
## What is Kodular?
Kodular allows you to create Android apps easily with a blocks-type editor. No coding skills required. With the Material Design UI, your apps will stand out.
+Watch a quick tutorial below to learn more about developing an app with Kodular.
+
+
+
## Useful Links
### [Creator](https://creator.kodular.io)
@@ -41,6 +77,4 @@ Using Kodular Store, you can publish your apps to a specific store where only Ko
Using the Status Page you can check which services' of Kodular is working or in Maintenance. If you cannot use a service of Kodular, you can check using this page if the problem is related to your local internet or the Kodular Server.
## Quick Start
-Watch a quick tutorial below to learn more about developing an app with Kodular.
-
diff --git a/docs/pricing.md b/src/content/docs/pricing.mdx
similarity index 91%
rename from docs/pricing.md
rename to src/content/docs/pricing.mdx
index c1802f1b4..bd2f65e6e 100644
--- a/docs/pricing.md
+++ b/src/content/docs/pricing.mdx
@@ -1,7 +1,10 @@
-# Pricing
+---
+title: Pricing
+---
-!!! success "How much does it cost?"
- Kodular is **FREE**!
+import { Aside, Card } from '@astrojs/starlight/components';
+
+
Kodular Creator is **completely free of charge**. You can use it for whatever you want, and _we will never ask you to pay us for its usage_.
@@ -9,21 +12,24 @@ We wanted it like that so **anyone could convert their desired ideas into apps**
This also extends to **Kodular Store** and **Kodular Extensions IDE**.
-!!! quote "Why this business model?"
+
Kodular was created to providen accessible suite for everyone to learn and, later, professionally create apps. Due to this, we strongly believe learning to code has to be a right and nobody should have to pay in order to learn the basics of programming.
Kodular Creator provides one of the most complete tools in Internet to create apps without coding, and moreover it is being used by tons of students all over the world. Everybody has to be able to make their idea reality independently of their income. Someone can have the next big revolutionary idea, but sometimes without money it cannot be done.
We don’t want this to happen.
**What is fairer? Getting a fixed quota from everyone, without taking into account if they earn something, or taking the proportional earnings people make with our platform?** We think the answer is very obvious.
We do not earn nothing from people which doesn’t earn anything with our platform. And we only earn from people who monetize their apps, earning money with Kodular Creator.
+
## Commissions
-!!! tip "Updated: 19 January 2019 - 02 May 2019"
+
-!!! warning
+
However, to keep our services for free, _we take a small comission from your earnings in ads_. We do not force nobody to place ads in apps, but if you want to earn money, we take a percentage of your earnings.
diff --git a/docs/release-notes/andromeda.md b/src/content/docs/release-notes/andromeda.md
similarity index 99%
rename from docs/release-notes/andromeda.md
rename to src/content/docs/release-notes/andromeda.md
index 58673db67..983fec8c4 100644
--- a/docs/release-notes/andromeda.md
+++ b/src/content/docs/release-notes/andromeda.md
@@ -1,4 +1,6 @@
-# Kodular Andromeda
+---
+title: Kodular Andromeda
+---

diff --git a/docs/release-notes/butterfly.md b/src/content/docs/release-notes/butterfly.md
similarity index 99%
rename from docs/release-notes/butterfly.md
rename to src/content/docs/release-notes/butterfly.md
index 06ffa1dc4..4b47378a7 100644
--- a/docs/release-notes/butterfly.md
+++ b/src/content/docs/release-notes/butterfly.md
@@ -1,4 +1,6 @@
-# Kodular Butterfly
+---
+title: Kodular Butterfly
+---

diff --git a/docs/release-notes/chamaeleon.md b/src/content/docs/release-notes/chamaeleon.md
similarity index 99%
rename from docs/release-notes/chamaeleon.md
rename to src/content/docs/release-notes/chamaeleon.md
index 3123b0d8e..88df92e51 100644
--- a/docs/release-notes/chamaeleon.md
+++ b/src/content/docs/release-notes/chamaeleon.md
@@ -1,4 +1,6 @@
-# Kodular Chamaeleon
+---
+title: Kodular Chamaeleon
+---

diff --git a/docs/release-notes/draco.md b/src/content/docs/release-notes/draco.md
similarity index 99%
rename from docs/release-notes/draco.md
rename to src/content/docs/release-notes/draco.md
index 36f5b85b2..5ac07e988 100644
--- a/docs/release-notes/draco.md
+++ b/src/content/docs/release-notes/draco.md
@@ -1,4 +1,6 @@
-# Kodular Draco
+---
+title: Kodular Draco
+---

diff --git a/docs/release-notes/eagle.md b/src/content/docs/release-notes/eagle.md
similarity index 99%
rename from docs/release-notes/eagle.md
rename to src/content/docs/release-notes/eagle.md
index d9f96b4eb..176461ede 100644
--- a/docs/release-notes/eagle.md
+++ b/src/content/docs/release-notes/eagle.md
@@ -1,4 +1,6 @@
-# Kodular Eagle
+---
+title: Kodular Eagle
+---

diff --git a/docs/release-notes/fenix.md b/src/content/docs/release-notes/fenix.md
similarity index 99%
rename from docs/release-notes/fenix.md
rename to src/content/docs/release-notes/fenix.md
index 057fd0eba..ddaa9fa6d 100644
--- a/docs/release-notes/fenix.md
+++ b/src/content/docs/release-notes/fenix.md
@@ -1,4 +1,6 @@
-# Kodular Fenix
+---
+title: Kodular Fenix
+---

diff --git a/src/content/docs/release-notes/index.md b/src/content/docs/release-notes/index.md
new file mode 100644
index 000000000..75aff261d
--- /dev/null
+++ b/src/content/docs/release-notes/index.md
@@ -0,0 +1,15 @@
+---
+title: Release Notes
+---
+
+- [1.0 Andromeda \| _22 June 2018_](andromeda)
+
+- [1.1 Butterfly \| _19 August 2018_](butterfly)
+
+- [1.2 Chamaeleon \| _26 October 2018_](chamaeleon)
+
+- [1.3 Draco \| _13 January 2019_](draco)
+
+- [1.4 Eagle \| _17 August 2019_](eagle)
+
+- [1.5 Fenix \| _15 July 2021_](fenix)
diff --git a/docs/support/account/2fa-recovery.md b/src/content/docs/support/account/2fa-recovery.md
similarity index 81%
rename from docs/support/account/2fa-recovery.md
rename to src/content/docs/support/account/2fa-recovery.md
index abacd77e9..9c3be51bc 100644
--- a/docs/support/account/2fa-recovery.md
+++ b/src/content/docs/support/account/2fa-recovery.md
@@ -1,4 +1,6 @@
-# I cannot use my 2FA codes, what can I do?
+---
+title: I cannot use my 2FA codes, what can I do?
+---
If you get stuck in the 2-Factor Authentication screen, please send us an email to
[support-recovery@kodular.io](mailto:support-recovery@kodular.io).
diff --git a/docs/support/account/change-payment-method.md b/src/content/docs/support/account/change-payment-method.md
similarity index 85%
rename from docs/support/account/change-payment-method.md
rename to src/content/docs/support/account/change-payment-method.md
index 78596c467..52d469548 100644
--- a/docs/support/account/change-payment-method.md
+++ b/src/content/docs/support/account/change-payment-method.md
@@ -1,4 +1,6 @@
-# How can I change my payment method?
+---
+title: How can I change my payment method?
+---
Payments are always charged on the card that you have set as the default one.
So, in order to change the payment method, it would be enough to change the default card.
diff --git a/docs/support/account/delete-account.md b/src/content/docs/support/account/delete-account.md
similarity index 88%
rename from docs/support/account/delete-account.md
rename to src/content/docs/support/account/delete-account.md
index 09cb0b5ba..171ce7169 100644
--- a/docs/support/account/delete-account.md
+++ b/src/content/docs/support/account/delete-account.md
@@ -1,4 +1,6 @@
-# Delete my Kodular Account
+---
+title: Delete my Kodular Account
+---
At this moment it is not possible to proceed with an automatic account deletion. In order to delete your
Kodular Account, you have to send us an email to [support-deletion@kodular.io](mailto:support-deletion@kodular.io)
diff --git a/docs/support/account/how-to-login.md b/src/content/docs/support/account/how-to-login.md
similarity index 96%
rename from docs/support/account/how-to-login.md
rename to src/content/docs/support/account/how-to-login.md
index b9eafbda5..14743dbca 100644
--- a/docs/support/account/how-to-login.md
+++ b/src/content/docs/support/account/how-to-login.md
@@ -1,4 +1,6 @@
-# How to login into Kodular?
+---
+title: How to login into Kodular?
+---
!!! quote "Note for legacy Kodular Account users"
Your account credentials have been disabled as a security measure. If you were using email-password to login, please
diff --git a/src/content/docs/support/account/index.md b/src/content/docs/support/account/index.md
new file mode 100644
index 000000000..be2d16b38
--- /dev/null
+++ b/src/content/docs/support/account/index.md
@@ -0,0 +1,9 @@
+---
+title: Overview of My Account
+---
+
+* [How to login into Kodular?](how-to-login)
+* [I cannot use my 2FA codes, what can I do?](2fa-recovery)
+* [Delete my Kodular Account](delete-account)
+* [How to remove a credit/debit card from my account?](remove-payment-method)
+* [How can I change my payment method?](change-payment-method)
diff --git a/docs/support/account/remove-payment-method.md b/src/content/docs/support/account/remove-payment-method.md
similarity index 81%
rename from docs/support/account/remove-payment-method.md
rename to src/content/docs/support/account/remove-payment-method.md
index 3e3166938..c48dd98b6 100644
--- a/docs/support/account/remove-payment-method.md
+++ b/src/content/docs/support/account/remove-payment-method.md
@@ -1,4 +1,6 @@
-# How to remove a credit/debit card from my account?
+---
+title: How to remove a credit/debit card from my account?
+---
You can manage your card details from the [Billing](https://my.kodular.io/billing) section of My Kodular.
Click on **_Payment methods_** to view the information about cards.
diff --git a/docs/support/adm/app-ads-txt.md b/src/content/docs/support/adm/app-ads-txt.md
similarity index 96%
rename from docs/support/adm/app-ads-txt.md
rename to src/content/docs/support/adm/app-ads-txt.md
index 58d9c25ea..7a4c744d0 100644
--- a/docs/support/adm/app-ads-txt.md
+++ b/src/content/docs/support/adm/app-ads-txt.md
@@ -1,4 +1,6 @@
-# How can I configure my app-ads.txt file?
+---
+title: How can I configure my app-ads.txt file?
+---
For a better ad delivery, **your app must have deployed a `app-ads.txt` file**. If you don't know what this file is,
you may want to check [this support page](https://support.google.com/admanager/answer/7544382) to learn about it.
diff --git a/docs/support/adm/apply.md b/src/content/docs/support/adm/apply.md
similarity index 90%
rename from docs/support/adm/apply.md
rename to src/content/docs/support/adm/apply.md
index 4ec5a2978..16f8186cc 100644
--- a/docs/support/adm/apply.md
+++ b/src/content/docs/support/adm/apply.md
@@ -1,4 +1,6 @@
-# How do I get invited to Kodular's new monetization program?
+---
+title: How do I get invited to Kodular's new monetization program?
+---
!!! note "General Availability"
It is no longer needed to use this form. Your account has been enabled automatically.
@@ -17,7 +19,7 @@ You can request to be sent an invite if
If you a receive an invite, you will be able to use the new Banner, Interstitial and Rewarded ad formats that can be
found in the Monetization>Advertising section. You can learn more about integrating these
-components [here](getting-started.md).
+components [here](getting-started).
Note that final touches are still being given to these components, so not all may always work as expected. You will be
expected to provide reports to us so we can iron out any bugs in the integration process.
diff --git a/docs/support/adm/gdpr.md b/src/content/docs/support/adm/gdpr.md
similarity index 97%
rename from docs/support/adm/gdpr.md
rename to src/content/docs/support/adm/gdpr.md
index 636d67a2f..0bd2733eb 100644
--- a/docs/support/adm/gdpr.md
+++ b/src/content/docs/support/adm/gdpr.md
@@ -1,4 +1,6 @@
-# How do I ensure GDPR compliance when using Google Ad Manager?
+---
+title: How do I ensure GDPR compliance when using Google Ad Manager?
+---
Kodular's new monetization components use Google's Funding Choices offering to gather data usage consent from users in
the EU/EEA/UK. Below is a quick guide on setting up Funding Choices for your app.
diff --git a/src/content/docs/support/adm/getting-started.md b/src/content/docs/support/adm/getting-started.md
new file mode 100644
index 000000000..6d93d14ae
--- /dev/null
+++ b/src/content/docs/support/adm/getting-started.md
@@ -0,0 +1,5 @@
+---
+title: How do I get started with Google Ad Manager components?
+---
+
+See [monetization](../../guides/monetization) guide.
\ No newline at end of file
diff --git a/docs/support/adm/index.md b/src/content/docs/support/adm/index.md
similarity index 71%
rename from docs/support/adm/index.md
rename to src/content/docs/support/adm/index.md
index 5121f2578..6cedb6b14 100644
--- a/docs/support/adm/index.md
+++ b/src/content/docs/support/adm/index.md
@@ -1,11 +1,13 @@
-# Overview of Google Ad Manager
-
-* [What is Google Ad Manager?](intro.md)
-* [How do I get started with Google Ad Manager components?](getting-started.md)
-* [How can I configure my app-ads.txt file?](app-ads-txt.md)
-* [How do I ensure GDPR compliance when using Google Ad Manager?](gdpr.md)
-* [How do I request a payout?](payouts.md)
-* [Why am I unable to withdraw my ad revenue?](payouts-requirements.md)
+---
+title: Overview of Google Ad Manager
+---
+
+* [What is Google Ad Manager?](intro)
+* [How do I get started with Google Ad Manager components?](getting-started)
+* [How can I configure my app-ads.txt file?](app-ads-txt)
+* [How do I ensure GDPR compliance when using Google Ad Manager?](gdpr)
+* [How do I request a payout?](payouts)
+* [Why am I unable to withdraw my ad revenue?](payouts-requirements)
---
diff --git a/docs/support/adm/intro.md b/src/content/docs/support/adm/intro.md
similarity index 96%
rename from docs/support/adm/intro.md
rename to src/content/docs/support/adm/intro.md
index 622d61fd2..8b3d461ad 100644
--- a/docs/support/adm/intro.md
+++ b/src/content/docs/support/adm/intro.md
@@ -1,4 +1,6 @@
-# What is Google Ad Manager?
+---
+title: What is Google Ad Manager?
+---
**Google Ad Manager is an ad exchange platform** owned by Google. It both allows publishers and advertisers to monetize
content using Google Ads (or custom ones). **Kodular has partnered with Google**, so **we can provide access to Google
diff --git a/docs/support/adm/payouts-requirements.md b/src/content/docs/support/adm/payouts-requirements.md
similarity index 93%
rename from docs/support/adm/payouts-requirements.md
rename to src/content/docs/support/adm/payouts-requirements.md
index 1750081e0..9da8c77c8 100644
--- a/docs/support/adm/payouts-requirements.md
+++ b/src/content/docs/support/adm/payouts-requirements.md
@@ -1,4 +1,6 @@
-# Why am I unable to withdraw my ad revenue?
+---
+title: Why am I unable to withdraw my ad revenue?
+---
Some common reasons why you may be unable to request a payout are
diff --git a/docs/support/adm/payouts.md b/src/content/docs/support/adm/payouts.md
similarity index 82%
rename from docs/support/adm/payouts.md
rename to src/content/docs/support/adm/payouts.md
index 0864c72ef..858607212 100644
--- a/docs/support/adm/payouts.md
+++ b/src/content/docs/support/adm/payouts.md
@@ -1,4 +1,6 @@
-# How do I request a payout?
+---
+title: How do I request a payout?
+---
Payouts can be requested from [My Kodular](https://my.kodular.io/payments). We handle all payouts and distribute all
revenue.
@@ -8,7 +10,7 @@ revenue.
As soon as we receive the money from Google, we will update your balance and make it available for withdrawal. This
usually happens between **20th and 25th of the next month**.
-
+
Once your balance has been updated, you can go ahead and request a payout.
@@ -17,10 +19,10 @@ Once your balance has been updated, you can go ahead and request a payout.
Go to your [Balance](https://my.kodular.io/payments/balance). If you have enough balance, you will be able to withdraw a
custom amount.
-
+
This payout will be scheduled to be sent in the upcoming batch. If you are unable to request one, maybe checking
-[this FAQ](payouts-requirements.md) can solve your issue.w
+[this FAQ](payouts-requirements) can solve your issue.w
## Processing payouts batches
diff --git a/docs/support/billing/branding-removal.md b/src/content/docs/support/billing/branding-removal.md
similarity index 98%
rename from docs/support/billing/branding-removal.md
rename to src/content/docs/support/billing/branding-removal.md
index fe5d10bdd..f1311d8d5 100644
--- a/docs/support/billing/branding-removal.md
+++ b/src/content/docs/support/billing/branding-removal.md
@@ -1,4 +1,6 @@
-# Branding Removal
+---
+title: Branding Removal
+---
Apps made with Kodular contain the "_Made with Kodular_" text in the "About this application"
dialog which is accessible from the app menu.
diff --git a/docs/support/billing/cancelling-subscription.md b/src/content/docs/support/billing/cancelling-subscription.md
similarity index 88%
rename from docs/support/billing/cancelling-subscription.md
rename to src/content/docs/support/billing/cancelling-subscription.md
index fb4c89c3e..467c07d68 100644
--- a/docs/support/billing/cancelling-subscription.md
+++ b/src/content/docs/support/billing/cancelling-subscription.md
@@ -1,4 +1,6 @@
-# Cancelling a subscription
+---
+title: Cancelling a subscription
+---
Cancelling a subscription is one of the easiest actions you can do. However, make sure you take
into account some important points before doing it, like what happens to your apps and when does
@@ -12,7 +14,7 @@ subscription depends on the cancelled plan by getting a discount.
* Cancellation is immediate. When you hit the Cancel button, your app will automatically show our
branding in the next couple of hours.
-* If you want to renew the subscription within the same period, you will be charged based on [Proration](proration.md),
+* If you want to renew the subscription within the same period, you will be charged based on [Proration](proration),
be careful when canceling them!
### Yearly Subscription
@@ -23,11 +25,11 @@ be careful when canceling them!
* Cancellation is immediate. When you hit the Cancel button, your app will start displaying our commissioned
ads.
-* If you want to renew the subscription within the same period, you will be charged based on [Proration](proration.md),
+* If you want to renew the subscription within the same period, you will be charged based on [Proration](proration),
be careful when canceling them!
### If you have purchased the reduced yearly branding removal...
* You will be charged the difference between the normal and the offered price to keep removing branding, based on
-[Proration](proration.md).
+[Proration](proration).
_If you do not authorize this payment, our branding will show in your app._
diff --git a/docs/support/billing/commission-removal.md b/src/content/docs/support/billing/commission-removal.md
similarity index 87%
rename from docs/support/billing/commission-removal.md
rename to src/content/docs/support/billing/commission-removal.md
index c3f56ffb0..b1fab9ee9 100644
--- a/docs/support/billing/commission-removal.md
+++ b/src/content/docs/support/billing/commission-removal.md
@@ -1,6 +1,8 @@
-# Commission Removal
+---
+title: Commission Removal
+---
-If apps built with Kodular Creator include [advertising components](../../components/monetization/advertising/index.md),
+If apps built with Kodular Creator include [advertising components](../../components/monetization/advertising/index),
a percentage of commission is charged.
If you wish to remove this commission, it can be done by purchasing a subscription based plan on a per-app basis.
Please refer the Pricing page for the exact prices.
diff --git a/docs/support/billing/companion-ads-removal.md b/src/content/docs/support/billing/companion-ads-removal.md
similarity index 93%
rename from docs/support/billing/companion-ads-removal.md
rename to src/content/docs/support/billing/companion-ads-removal.md
index 0b76db41d..63414d628 100644
--- a/docs/support/billing/companion-ads-removal.md
+++ b/src/content/docs/support/billing/companion-ads-removal.md
@@ -1,4 +1,6 @@
-# Companion Ads Removal
+---
+title: Companion Ads Removal
+---
Some ads maybe shown in the [Kodular Companion](https://play.google.com/store/apps/details?id=io.makeroid.companion)
app on certain screens.
diff --git a/src/content/docs/support/billing/index.md b/src/content/docs/support/billing/index.md
new file mode 100644
index 000000000..5375427e3
--- /dev/null
+++ b/src/content/docs/support/billing/index.md
@@ -0,0 +1,15 @@
+---
+title: Overview of Billing
+---
+
+!!! warning
+ All this section will change with the upcoming Kodular update. Please keep in mind these support
+ pages may not be up-to-date.
+
+* [Branding Removal](branding-removal)
+* [Commission Removal](commission-removal)
+* [Companion Ads Removal](companion-ads-removal)
+* [Renewing a subscription](renewing-subscription)
+* [Cancelling a subscription](cancelling-subscription)
+* [Proration](proration)
+* [Payment failed](payment-failed)
diff --git a/docs/support/billing/payment-failed.md b/src/content/docs/support/billing/payment-failed.md
similarity index 87%
rename from docs/support/billing/payment-failed.md
rename to src/content/docs/support/billing/payment-failed.md
index 003bfe9ac..b02353cae 100644
--- a/docs/support/billing/payment-failed.md
+++ b/src/content/docs/support/billing/payment-failed.md
@@ -1,4 +1,6 @@
-# Payment failed
+---
+title: Payment failed
+---
Sometimes a payment can fail due to several reasons. If you were redirected here from [my.kodular.io](https://my.kodular.io),
please contact us to provide further information about your failed transaction.
diff --git a/docs/support/billing/proration.md b/src/content/docs/support/billing/proration.md
similarity index 97%
rename from docs/support/billing/proration.md
rename to src/content/docs/support/billing/proration.md
index 64be1ee56..bf8c5fe60 100644
--- a/docs/support/billing/proration.md
+++ b/src/content/docs/support/billing/proration.md
@@ -1,4 +1,6 @@
-# Proration
+---
+title: Proration
+---
## What is proration?
diff --git a/docs/support/billing/renewing-subscription.md b/src/content/docs/support/billing/renewing-subscription.md
similarity index 96%
rename from docs/support/billing/renewing-subscription.md
rename to src/content/docs/support/billing/renewing-subscription.md
index b6afec043..287106235 100644
--- a/docs/support/billing/renewing-subscription.md
+++ b/src/content/docs/support/billing/renewing-subscription.md
@@ -1,4 +1,6 @@
-# Renewing a subscription
+---
+title: Renewing a subscription
+---
By completing a purchase, you agree to let Kodular charge your card automatically on a recurring basis.
This charge will incur in different moments of the billing period:
diff --git a/docs/support/development/index.md b/src/content/docs/support/development/index.md
similarity index 50%
rename from docs/support/development/index.md
rename to src/content/docs/support/development/index.md
index 9be9b4f89..3b8b4adf1 100644
--- a/docs/support/development/index.md
+++ b/src/content/docs/support/development/index.md
@@ -1,3 +1,5 @@
-# Overview of Monetizing apps
+---
+title: Overview of Monetizing apps
+---
-* [I have a question related to app development. How can I get help?](questions.md)
\ No newline at end of file
+* [I have a question related to app development. How can I get help?](questions)
\ No newline at end of file
diff --git a/docs/support/development/questions.md b/src/content/docs/support/development/questions.md
similarity index 63%
rename from docs/support/development/questions.md
rename to src/content/docs/support/development/questions.md
index 608a3f6ef..91e5c0c6b 100644
--- a/docs/support/development/questions.md
+++ b/src/content/docs/support/development/questions.md
@@ -1,7 +1,9 @@
-# I have a question related to app development. How can I get help?
+---
+title: I have a question related to app development. How can I get help?
+---
If you have any question related to app development with Kodular Creator, you can
-find the documentation [here](../../index.md).
+find the documentation [here](../../index).
You can also join our [community](https://community.kodular.io/), where you can post
your questions and get in touch with fellow Koders.
diff --git a/src/content/docs/support/index.md b/src/content/docs/support/index.md
new file mode 100644
index 000000000..7dbe5cee6
--- /dev/null
+++ b/src/content/docs/support/index.md
@@ -0,0 +1,9 @@
+---
+title: Overview of Support
+---
+
+* [My Account](account/index)
+* [Billing](billing/index)
+* [Google Ad Manager](adm/index)
+* [Monetization](monetization/index)
+* [App Development](development/index)
diff --git a/docs/support/monetization/ads-in-app.md b/src/content/docs/support/monetization/ads-in-app.md
similarity index 93%
rename from docs/support/monetization/ads-in-app.md
rename to src/content/docs/support/monetization/ads-in-app.md
index 466132a45..d85bb1b9c 100644
--- a/docs/support/monetization/ads-in-app.md
+++ b/src/content/docs/support/monetization/ads-in-app.md
@@ -1,6 +1,8 @@
-# How can I show ads in my app?
+---
+title: How can I show ads in my app?
+---
-Kodular Creator has a bunch of [components](../../components/index.md) that can be included in the apps you develop
+Kodular Creator has a bunch of [components](../../components/index) that can be included in the apps you develop
to show ads from various advertising networks such as Google AdMob, Unity Ads, Amazon
Advertising, etc.
However, before you can start showing ads in apps that are not distributed through the
diff --git a/src/content/docs/support/monetization/aia-re-approval.md b/src/content/docs/support/monetization/aia-re-approval.md
new file mode 100644
index 000000000..860280a22
--- /dev/null
+++ b/src/content/docs/support/monetization/aia-re-approval.md
@@ -0,0 +1,5 @@
+---
+title: Do I need to get the app approved again, if I import a saved .aia copy of the same app from my computer?
+---
+
+Yes, you need to get the app reviewed and approved again in order to display ads in your app.
diff --git a/docs/support/monetization/approved-but-no-ads.md b/src/content/docs/support/monetization/approved-but-no-ads.md
similarity index 88%
rename from docs/support/monetization/approved-but-no-ads.md
rename to src/content/docs/support/monetization/approved-but-no-ads.md
index 0fbfd75ea..4a59809e0 100644
--- a/docs/support/monetization/approved-but-no-ads.md
+++ b/src/content/docs/support/monetization/approved-but-no-ads.md
@@ -1,4 +1,6 @@
-# My app has been approved, but still the ads are not showing
+---
+title: My app has been approved, but still the ads are not showing
+---
There can be multiple reasons for the ads not showing.
diff --git a/docs/support/monetization/google-play-approval.md b/src/content/docs/support/monetization/google-play-approval.md
similarity index 59%
rename from docs/support/monetization/google-play-approval.md
rename to src/content/docs/support/monetization/google-play-approval.md
index b772e2147..a67701227 100644
--- a/docs/support/monetization/google-play-approval.md
+++ b/src/content/docs/support/monetization/google-play-approval.md
@@ -1,4 +1,6 @@
-# I have the app on the Google Play Store. Does my app require approval for showing ads?
+---
+title: I have the app on the Google Play Store. Does my app require approval for showing ads?
+---
No, apps published on Google Play store need not request for approval.
diff --git a/docs/support/monetization/google-play-not-showing.md b/src/content/docs/support/monetization/google-play-not-showing.md
similarity index 65%
rename from docs/support/monetization/google-play-not-showing.md
rename to src/content/docs/support/monetization/google-play-not-showing.md
index 4707fcc4d..044d0e74b 100644
--- a/docs/support/monetization/google-play-not-showing.md
+++ b/src/content/docs/support/monetization/google-play-not-showing.md
@@ -1,4 +1,6 @@
-# I have the app on the Google Play Store. But ads are not showing in the built APK.
+---
+title: I have the app on the Google Play Store. But ads are not showing in the built APK.
+---
If installed directly from an APK (while developing, perhaps) the ads might not be displayed.
diff --git a/docs/support/monetization/guidelines.md b/src/content/docs/support/monetization/guidelines.md
similarity index 98%
rename from docs/support/monetization/guidelines.md
rename to src/content/docs/support/monetization/guidelines.md
index 9e8e2ec6b..0bfe54d31 100644
--- a/docs/support/monetization/guidelines.md
+++ b/src/content/docs/support/monetization/guidelines.md
@@ -1,4 +1,6 @@
-# Monetization guidelines
+---
+title: Monetization guidelines
+---
The approval system has been implemented to ensure all apps made with Kodular stick to a basic
set of standards that we believe are essential to ensuring advertisers are not scammed. The system
diff --git a/docs/support/monetization/index.md b/src/content/docs/support/monetization/index.md
similarity index 51%
rename from docs/support/monetization/index.md
rename to src/content/docs/support/monetization/index.md
index f7594225a..633d5db63 100644
--- a/docs/support/monetization/index.md
+++ b/src/content/docs/support/monetization/index.md
@@ -1,12 +1,14 @@
-# Overview of Monetizing apps
+---
+title: Overview of Monetizing apps
+---
!!! note "Kodular / Ad Manager monetization"
If you are looking for help regarding our integration with Google Ad Manager, please head to the
- specific section: [Ad Manager help](../adm/index.md)
+ specific section: [Ad Manager help](../adm/index)
-* [How can I show ads in my app?](ads-in-app.md)
-* [Monetization guidelines](guidelines.md)
-* [My app has been approved, but still the ads are not showing](approved-but-no-ads.md)
-* [I have the app on the Google Play Store. Does my app require approva for showing ads?](google-play-approval.md)
-* [I have the app on the Google Play Store. But ads are not showing in the built APK.](google-play-not-showing.md)
-* [Do I need to get the app approved again, if I import a saved .aia copy of the same app from my computer?](aia-re-approval.md)
+* [How can I show ads in my app?](ads-in-app)
+* [Monetization guidelines](guidelines)
+* [My app has been approved, but still the ads are not showing](approved-but-no-ads)
+* [I have the app on the Google Play Store. Does my app require approva for showing ads?](google-play-approval)
+* [I have the app on the Google Play Store. But ads are not showing in the built APK.](google-play-not-showing)
+* [Do I need to get the app approved again, if I import a saved .aia copy of the same app from my computer?](aia-re-approval)
diff --git a/docs/support/monetization/sdk-versions.md b/src/content/docs/support/monetization/sdk-versions.md
similarity index 98%
rename from docs/support/monetization/sdk-versions.md
rename to src/content/docs/support/monetization/sdk-versions.md
index 173f884ab..1285b7adf 100644
--- a/docs/support/monetization/sdk-versions.md
+++ b/src/content/docs/support/monetization/sdk-versions.md
@@ -1,4 +1,6 @@
-# SDK Versions
+---
+title: SDK Versions
+---
| Component | SDK | Version Used | Latest Version | Upgrade Needed? |
|-------------------------|---------------------------|-------------:|---------------:|:---------------:|
diff --git a/docs/terms-of-service.md b/src/content/docs/terms-of-service.md
similarity index 99%
rename from docs/terms-of-service.md
rename to src/content/docs/terms-of-service.md
index 0791d57e0..8bfeaf997 100644
--- a/docs/terms-of-service.md
+++ b/src/content/docs/terms-of-service.md
@@ -1,9 +1,8 @@
---
-redirect_from: "/other/terms-of-service/"
+title: Terms of Service
+lastUpdated: 2018-11-18
---
-# Terms of Service
-
## Kodular Creator Privacy Policy and Terms of Use
Welcome to Kodular Creator website \(the "Site"\). The Site runs on Google's App Engine service. You must read and agree to these Terms of Service and Privacy Policy \(collectively, the "Terms"\) prior to using any portion of this Site. These Terms are an agreement between you and Kodular. If you do not understand or do not agree to be bound by these Terms, please immediately exit this Site.
@@ -135,9 +134,4 @@ You agree to defend, hold harmless and indemnify Kodular, and its subsidiaries,
---
-!!! info "Effective Date"
- June 21, 2018.
-
-
-!!! note "Last Revision"
- November 18, 2018.
\ No newline at end of file
+Effective Date *June 21, 2018*
diff --git a/tsconfig.json b/tsconfig.json
new file mode 100644
index 000000000..47c116c41
--- /dev/null
+++ b/tsconfig.json
@@ -0,0 +1,12 @@
+{
+ "extends": "astro/tsconfigs/strict",
+ "include": [".astro/types.d.ts", "**/*"],
+ "exclude": ["dist"],
+ "compilerOptions": {
+ "baseUrl": ".",
+ "paths": {
+ "@components/*": ["src/components/*"],
+ "@assets/*": ["src/assets/*"]
+ }
+ }
+}