diff --git a/docs/spec/dropdowns/dropdowns.examples.accessibility.use-case.md b/docs/spec/dropdowns/dropdowns.examples.accessibility.use-case.md
new file mode 100644
index 0000000000..0df37a613d
--- /dev/null
+++ b/docs/spec/dropdowns/dropdowns.examples.accessibility.use-case.md
@@ -0,0 +1,14 @@
+6.18: Dropdowns Accessibility example
+=====================================
+**Primary Actor**: User
+
+**Scope**: Ngx-bootstrap DEMO / BS version 3&4
+
+**Goal**: Show user information about dropdown accessibility
+
+Main success scenario:
+----------------------
+1. User opens Dropdowns demo page
+2. User clicks on Accessibility sub-menu
+3. User see info about role="menu" widget and role and aria- attributes
+
diff --git a/docs/spec/dropdowns/dropdowns.examples.append-to-body.use-case.md b/docs/spec/dropdowns/dropdowns.examples.append-to-body.use-case.md
new file mode 100644
index 0000000000..242e454a00
--- /dev/null
+++ b/docs/spec/dropdowns/dropdowns.examples.append-to-body.use-case.md
@@ -0,0 +1,20 @@
+6.10: Dropdowns Append to body example
+======================================
+**Primary Actor**: User
+
+**Scope**: Ngx-bootstrap DEMO / BS version 3&4
+
+**Goal**: Show user example how to append dropdown to body
+
+Main success scenario:
+----------------------
+1. User opens Dropdowns demo page
+2. User clicks on Append to body sub-menu
+3. User see clickable button "Dropdown on Body"
+4. When user clicks on this button, then dropdown opened and there are 4 items, one of them is separated
+5. When user clicks on any item, then dropdown closes
+6. Template src should be implemented with dropdown container="body"
+
+Variations:
+-----------
+2*. User scroll to Append to body sub-menu
diff --git a/docs/spec/dropdowns/dropdowns.examples.auto-close.use-case.md b/docs/spec/dropdowns/dropdowns.examples.auto-close.use-case.md
new file mode 100644
index 0000000000..6cf8b509b7
--- /dev/null
+++ b/docs/spec/dropdowns/dropdowns.examples.auto-close.use-case.md
@@ -0,0 +1,25 @@
+6.17: Dropdowns Auto close example
+==================================
+**Primary Actor**: User
+
+**Scope**: Ngx-bootstrap DEMO / BS version 3&4
+
+**Goal**: Show user example how to use autoClose property for dropdown behaviour
+
+Main success scenario:
+----------------------
+1. User opens Dropdowns demo page
+2. User clicks on Auto close sub-menu
+3. User see 2 clickable buttons "Button dropdown"
+4. When user clicks on the first "Button dropdown", then dropdown opened and there are 3 items inside
+5. When user press "ESC", then this dropdown closes
+6. When user clicks on the first "Button dropdown" again, then dropdown opened and there are 3 items inside
+7. When user clicks outside dropdown, then this dropdown closes
+8. When user clicks on the second "Button dropdown", then dropdown opened and there are 3 items inside
+9. When user press "ESC", nothing happens
+10. When user clicks outside dropdown, nothing happens
+11. When user clicks on the second "Button dropdown" again, then dropdown closed
+
+Variations:
+-----------
+2*. User scroll to Auto close sub-menu
diff --git a/docs/spec/dropdowns/dropdowns.examples.basic.use-case.md b/docs/spec/dropdowns/dropdowns.examples.basic.use-case.md
new file mode 100644
index 0000000000..df77142772
--- /dev/null
+++ b/docs/spec/dropdowns/dropdowns.examples.basic.use-case.md
@@ -0,0 +1,19 @@
+6.1: Dropdowns basic example
+============================
+**Primary Actor**: User
+
+**Scope**: Ngx-bootstrap DEMO / BS version 3&4
+
+**Goal**: Show user basic dropdowns functionality
+
+Main success scenario:
+----------------------
+1. User opens Dropdowns demo page
+2. User clicks on Basic sub-menu
+3. User see "Button dropdown" and able to click on it
+4. When user clicks on "Button dropdown", then dropdown opened and there are 4 items, 1 of them is separated
+5. When user clicks on any item, then dropdown closes
+
+Variations:
+-----------
+2*. User scroll to Basic sub-menu
diff --git a/docs/spec/dropdowns/dropdowns.examples.config-defaults.use-case.md b/docs/spec/dropdowns/dropdowns.examples.config-defaults.use-case.md
new file mode 100644
index 0000000000..f2560fb6f7
--- /dev/null
+++ b/docs/spec/dropdowns/dropdowns.examples.config-defaults.use-case.md
@@ -0,0 +1,21 @@
+6.14: Dropdowns Configuring defaults example
+============================================
+**Primary Actor**: User
+
+**Scope**: Ngx-bootstrap DEMO / BS version 3&4
+
+**Goal**: Show user example how to override default dropdown parameters
+
+Main success scenario:
+----------------------
+1. User opens Dropdowns demo page
+2. User clicks on Configuring defaults sub-menu
+3. User see clickable button "Button dropdown"
+4. When user clicks on "Button dropdown", then dropdown opened and there are 3 items
+5. When user clicks on any item, nothing happens.
+6. When user click on button "Button dropdown" again, then dropdown closes
+7. Component src should be written with BsDropdownConfig as a provider and autoClose: false as a value object
+
+Variations:
+-----------
+2*. User scroll to Configuring defaults sub-menu
diff --git a/docs/spec/dropdowns/dropdowns.examples.custom-html.use-case.md b/docs/spec/dropdowns/dropdowns.examples.custom-html.use-case.md
new file mode 100644
index 0000000000..5bb6a0d022
--- /dev/null
+++ b/docs/spec/dropdowns/dropdowns.examples.custom-html.use-case.md
@@ -0,0 +1,19 @@
+6.13: Dropdowns Custom html example
+============================================
+**Primary Actor**: User
+
+**Scope**: Ngx-bootstrap DEMO / BS version 3&4
+
+**Goal**: Show user example how to add custom html to the dropdown items
+
+Main success scenario:
+----------------------
+1. User opens Dropdowns demo page
+2. User clicks on Custom html sub-menu
+3. User see clickable button "Button dropdown"
+4. When user clicks on this button, then dropdown opened and there are 3 items
+5. Latest item in dropdown should have specific class
+
+Variations:
+-----------
+2*. User scroll to Custom html sub-menu
diff --git a/docs/spec/dropdowns/dropdowns.examples.disabled-menu.use-case.md b/docs/spec/dropdowns/dropdowns.examples.disabled-menu.use-case.md
new file mode 100644
index 0000000000..de223c1990
--- /dev/null
+++ b/docs/spec/dropdowns/dropdowns.examples.disabled-menu.use-case.md
@@ -0,0 +1,23 @@
+6.6: Dropdowns Disabled menu example
+====================================
+**Primary Actor**: User
+
+**Scope**: Ngx-bootstrap DEMO / BS version 3&4
+
+**Goal**: Show user example how to use isDisabled property in dropdown
+
+Main success scenario:
+----------------------
+1. User opens Dropdowns demo page
+2. User clicks on Disabled menu sub-menu
+3. User see 2 clickable buttons "Button dropdown" and "Enable/Disable"
+4. When user clicks on "Button dropdown", then dropdown opened and there are 4 items, 1 of them is separated
+5. When user clicks on any item, dropdown closes
+6. When user clicks on "Enable/Disable", then "Button dropdown" disabled and user can't click on it
+7. When user clicks on "Enable/Disable" again, then "Button dropdown" active again
+8. When user clicks on "Button dropdown" again, then dropdown opened and there are 4 items
+9. When user clicks on any item, dropdown closes
+
+Variations:
+-----------
+2*. User scroll to Disabled menu sub-menu
diff --git a/docs/spec/dropdowns/dropdowns.examples.dropup-variation.use-case.md b/docs/spec/dropdowns/dropdowns.examples.dropup-variation.use-case.md
new file mode 100644
index 0000000000..c2a18ca71a
--- /dev/null
+++ b/docs/spec/dropdowns/dropdowns.examples.dropup-variation.use-case.md
@@ -0,0 +1,20 @@
+6.11: Dropdowns Dropup variation example
+========================================
+**Primary Actor**: User
+
+**Scope**: Ngx-bootstrap DEMO / BS version 3&4
+
+**Goal**: Show user example how to make dropdown which opens to top
+
+Main success scenario:
+----------------------
+1. User opens Dropdowns demo page
+2. User clicks on Dropup variation sub-menu
+3. User see clickable button "Dropup"
+4. When user clicks on this button, then dropdown opened to top and there are 4 items, one of them is separated
+5. When user clicks on any item, then dropdown closes
+6. Component src should be implemented with isDropup = true param
+
+Variations:
+-----------
+2*. User scroll to Dropup variation sub-menu
diff --git a/docs/spec/dropdowns/dropdowns.examples.manual-trigger.md b/docs/spec/dropdowns/dropdowns.examples.manual-trigger.md
new file mode 100644
index 0000000000..cadf5660eb
--- /dev/null
+++ b/docs/spec/dropdowns/dropdowns.examples.manual-trigger.md
@@ -0,0 +1,26 @@
+6.4: Dropdowns Manual triggering example
+========================================
+**Primary Actor**: User
+
+**Scope**: Ngx-bootstrap DEMO / BS version 3&4
+
+**Goal**: Show user example how to trigger dropdown with show, hide and toggle methods
+
+Main success scenario:
+----------------------
+1. User opens Dropdowns demo page
+2. User clicks on Manual triggering sub-menu
+3. User see 4 clickable buttons: "Button dropdown", "Toggle", "Show", "Hide"
+4. When user clicks on "Button dropdown", then dropdown opened and there are 3 items
+5. When user clicks on any item, then dropdown closes
+6. When user clicks on "Toggle", then dropdown opened and there are 3 items
+7. When user clicks on "Toggle" again, then dropdown closes
+8. When user clicks on "Show", then dropdown opened and there are 3 items
+9. When user clicks on "Show" again, nothing happens
+10. When user clicks on any item, nothing happens
+11. When user clicks on "Hide", then dropdown closes
+12. Template src should be implemented with dropdown.show, dropdown.hide and dropdown.toggle
+
+Variations:
+-----------
+2*. User scroll to Manual triggering sub-menu
diff --git a/docs/spec/dropdowns/dropdowns.examples.mark-item-disabled.use-case.md b/docs/spec/dropdowns/dropdowns.examples.mark-item-disabled.use-case.md
new file mode 100644
index 0000000000..95755ebce9
--- /dev/null
+++ b/docs/spec/dropdowns/dropdowns.examples.mark-item-disabled.use-case.md
@@ -0,0 +1,22 @@
+6.7: Dropdowns Mark item as disabled example
+=================================================
+**Primary Actor**: User
+
+**Scope**: Ngx-bootstrap DEMO / BS version 3&4
+
+**Goal**: Show user example how to mark dropdown item as disabled
+
+Main success scenario:
+----------------------
+1. User opens Dropdowns demo page
+2. User clicks on Mark item as disabled sub-menu
+3. User see clickable button "Button dropdown"
+4. When user clicks on "Button dropdown", then dropdown opened and there are 3 items, first is disabled and other is enabled
+5. When user clicks on the first item, nothing happens
+6. When user clicks on the second item, then dropdown closes
+7. When user clicks on "Button dropdown" again, then dropdown opened and there are 3 items in the same state as previous
+8. When user clicks on the third item, then dropdown closes
+
+Variations:
+-----------
+2*. User scroll to Mark item as disabled sub-menu
diff --git a/docs/spec/dropdowns/dropdowns.examples.menu-alignment.use-case.md b/docs/spec/dropdowns/dropdowns.examples.menu-alignment.use-case.md
new file mode 100644
index 0000000000..38990284b8
--- /dev/null
+++ b/docs/spec/dropdowns/dropdowns.examples.menu-alignment.use-case.md
@@ -0,0 +1,20 @@
+6.8: Dropdowns Menu alignment example
+=====================================
+**Primary Actor**: User
+
+**Scope**: Ngx-bootstrap DEMO / BS version 3&4
+
+**Goal**: Show user example how to align dropdown items
+
+Main success scenario:
+----------------------
+1. User opens Dropdowns demo page
+2. User clicks on Menu alignment sub-menu
+3. User see clickable button with long text "This dropdown's menu is right-aligned"
+4. When user clicks on this button, then dropdown opened and there are 4 items, one of them is separated
+5. Opened dropdown should be aligned to the right
+6. When user clicks on any item, then dropdown closes
+
+Variations:
+-----------
+2*. User scroll to Menu alignment sub-menu
diff --git a/docs/spec/dropdowns/dropdowns.examples.menu-dividers.use-case.md b/docs/spec/dropdowns/dropdowns.examples.menu-dividers.use-case.md
new file mode 100644
index 0000000000..760856c412
--- /dev/null
+++ b/docs/spec/dropdowns/dropdowns.examples.menu-dividers.use-case.md
@@ -0,0 +1,20 @@
+6.12: Dropdowns Menu dividers example
+=====================================
+**Primary Actor**: User
+
+**Scope**: Ngx-bootstrap DEMO / BS version 3&4
+
+**Goal**: Show user example how to separate dropdown items with divider
+
+Main success scenario:
+----------------------
+1. User opens Dropdowns demo page
+2. User clicks on Menu dividers sub-menu
+3. User see clickable button "Button dropdown"
+4. When user clicks on this button, then dropdown opened and there are 4 items, one of them is separated
+5. When user clicks on any item, then dropdown closes
+6. Template src should be implemented with divider class
+
+Variations:
+-----------
+2*. User scroll to Menu dividers sub-menu
diff --git a/docs/spec/dropdowns/dropdowns.examples.nested-dropdowns.use-case.md b/docs/spec/dropdowns/dropdowns.examples.nested-dropdowns.use-case.md
new file mode 100644
index 0000000000..2af6dd2eaf
--- /dev/null
+++ b/docs/spec/dropdowns/dropdowns.examples.nested-dropdowns.use-case.md
@@ -0,0 +1,21 @@
+6.9: Dropdowns Nested dropdowns example
+=====================================
+**Primary Actor**: User
+
+**Scope**: Ngx-bootstrap DEMO / BS version 3&4
+
+**Goal**: Show user example with nested dropdowns
+
+Main success scenario:
+----------------------
+1. User opens Dropdowns demo page
+2. User clicks on Nested dropdowns sub-menu
+3. User see clickable button "dropdown has nested submenu"
+4. When user clicks on this button, then dropdown opened and there are 4 items, one of them is separated
+5. When user move mouse to the first item with caret, then nested dropdown opened and there are 3 items in the sub-menu
+6. When user move mouse to the second item with caret, then nested dropdown opened and there are 3 items in the sub-menu
+7. When user clicks on any item, then dropdown closes //TODO need to change link href from #/dropdowns#nested to #/dropdowns#nested-dropdowns
+
+Variations:
+-----------
+2*. User scroll to Nested dropdowns sub-menu
diff --git a/docs/spec/dropdowns/dropdowns.examples.split-button.use-case.md b/docs/spec/dropdowns/dropdowns.examples.split-button.use-case.md
new file mode 100644
index 0000000000..8f242889c6
--- /dev/null
+++ b/docs/spec/dropdowns/dropdowns.examples.split-button.use-case.md
@@ -0,0 +1,20 @@
+6.3: Dropdowns Split button example
+===================================
+**Primary Actor**: User
+
+**Scope**: Ngx-bootstrap DEMO / BS version 3&4
+
+**Goal**: Show user dropdown example with splitted button and caret
+
+Main success scenario:
+----------------------
+1. User opens Dropdowns demo page
+2. User clicks on Split button dropdowns sub-menu
+3. User see dropdown, which consist of 2 buttons: with text and with caret
+4. When user clicks on text, nothing happens
+5. When user clicks on caret, then dropdown opened and there are 4 items, 1 of them is separated
+6. When user clicks on any item, then dropdown closes
+
+Variations:
+-----------
+2*. User scroll to Split button dropdowns sub-menu
diff --git a/docs/spec/dropdowns/dropdowns.examples.state-change-event.use-case.md b/docs/spec/dropdowns/dropdowns.examples.state-change-event.use-case.md
new file mode 100644
index 0000000000..b2ba4e5f44
--- /dev/null
+++ b/docs/spec/dropdowns/dropdowns.examples.state-change-event.use-case.md
@@ -0,0 +1,21 @@
+6.16: Dropdowns State change event example
+==========================================
+**Primary Actor**: User
+
+**Scope**: Ngx-bootstrap DEMO / BS version 3&4
+
+**Goal**: Show user example how to subscribe to dropdown state changing events
+
+Main success scenario:
+----------------------
+1. User opens Dropdowns demo page
+2. User clicks on State change event sub-menu
+3. User see clickable button "Button dropdown"
+4. When user clicks on "Button dropdown", then dropdown opened and there are 3 items and card "The dropdown is opened" shown
+5. When user clicks on any item, then dropdown closed and card "The dropdown is closed" is shown
+6. When user clicks on "Button dropdown" again, then dropdown opened and card "The dropdown is opened" is shown
+7. When user clicks on "Button dropdown" again, then dropdown closed and card "The dropdown is closed" is shown
+
+Variations:
+-----------
+2*. User scroll to State change event sub-menu
diff --git a/docs/spec/dropdowns/dropdowns.examples.trigger-by-a.use-case.md b/docs/spec/dropdowns/dropdowns.examples.trigger-by-a.use-case.md
new file mode 100644
index 0000000000..1f89fa69b5
--- /dev/null
+++ b/docs/spec/dropdowns/dropdowns.examples.trigger-by-a.use-case.md
@@ -0,0 +1,19 @@
+6.2: Dropdowns Trigger by tag \ example
+==========================================
+**Primary Actor**: User
+
+**Scope**: Ngx-bootstrap DEMO / BS version 3&4
+
+**Goal**: Show user example with link dropdowns
+
+Main success scenario:
+----------------------
+1. User opens Dropdowns demo page
+2. User clicks on Trigger by tag \ sub-menu
+3. User see clickable link
+4. When user clicks on it, then dropdown opened and there are 3 items
+5. When user clicks on any item, then dropdown closes
+
+Variations:
+-----------
+2*. User scroll to Trigger by tag \ sub-menu
diff --git a/docs/spec/dropdowns/dropdowns.examples.trigger-by-isopen.use-case.md b/docs/spec/dropdowns/dropdowns.examples.trigger-by-isopen.use-case.md
new file mode 100644
index 0000000000..7cee6f2b24
--- /dev/null
+++ b/docs/spec/dropdowns/dropdowns.examples.trigger-by-isopen.use-case.md
@@ -0,0 +1,23 @@
+6.5: Dropdowns Trigger by isOpen property example
+==========================================
+**Primary Actor**: User
+
+**Scope**: Ngx-bootstrap DEMO / BS version 3&4
+
+**Goal**: Show user example how to trigger dropdown by changing isOpen property
+
+Main success scenario:
+----------------------
+1. User opens Dropdowns demo page
+2. User clicks on Trigger by isOpen property sub-menu
+3. User see 2 clickable buttons "Button dropdown" and "Toggle"
+4. When user clicks on "Button dropdown", then dropdown opened and there are 3 items
+5. When user clicks on any item, nothing happens
+6. When user clicks on "Toggle", then dropdown closed
+7. When user clicks on "Toggle" again, then dropdown opened and there are 3 items
+8. When user clicks on "Toggle" again, then dropdown closed again
+9. Template src should be implemented with dropdown.isOpen
+
+Variations:
+-----------
+2*. User scroll to Trigger by isOpen property sub-menu
diff --git a/docs/spec/dropdowns/dropdowns.examples.visibility-events.use-case.md b/docs/spec/dropdowns/dropdowns.examples.visibility-events.use-case.md
new file mode 100644
index 0000000000..2e59096d54
--- /dev/null
+++ b/docs/spec/dropdowns/dropdowns.examples.visibility-events.use-case.md
@@ -0,0 +1,21 @@
+6.15: Dropdowns Visibility Events example
+=========================================
+**Primary Actor**: User
+
+**Scope**: Ngx-bootstrap DEMO / BS version 3&4
+
+**Goal**: Show user example how to subscribe to dropdown visibility events
+
+Main success scenario:
+----------------------
+1. User opens Dropdowns demo page
+2. User clicks on Visibility Events sub-menu
+3. User see clickable button "Button dropdown"
+4. When user clicks on "Button dropdown", then dropdown opened and there are 3 items and card "Event onShown is fired" should be shown
+5. When user clicks on any item, then dropdown closed and card "Event onHidden is fired" is shown
+6. When user clicks on "Button dropdown" again, then dropdown opened and card "Event onHidden is fired" is hidden
+7. When user clicks on any item, then dropdown closed and card "Event onHidden is fired" is shown again
+
+Variations:
+-----------
+2*. User scroll to Visibility Events sub-menu
diff --git a/docs/spec/index.md b/docs/spec/index.md
index f5eb9ec7ae..27f871c8ac 100644
--- a/docs/spec/index.md
+++ b/docs/spec/index.md
@@ -104,6 +104,43 @@
## Dropdowns
+[Dropdowns. Basic](dropdowns/dropdowns.examples.basic.use-case.md)
+
+[Dropdowns. Trigger by tag \](dropdowns/dropdowns.examples.trigger-by-a.use-case.md)
+
+[Dropdowns. Split button dropdowns](dropdowns/dropdowns.examples.split-button.use-case.md)
+
+[Dropdowns. Manual triggering](dropdowns/dropdowns.examples.manual-trigger.md)
+
+[Dropdowns. Trigger by isOpen property](dropdowns/dropdowns.examples.trigger-by-isopen.use-case.md)
+
+[Dropdowns. Disabled menu](dropdowns/dropdowns.examples.disabled-menu.use-case.md)
+
+[Dropdowns. Mark item as disabled](dropdowns/dropdowns.examples.mark-item-disabled.use-case.md)
+
+[Dropdowns. Menu alignment](dropdowns/dropdowns.examples.menu-alignment.use-case.md)
+
+[Dropdowns. Nested dropdowns](dropdowns/dropdowns.examples.nested-dropdowns.use-case.md)
+
+[Dropdowns. Append to body](dropdowns/dropdowns.examples.append-to-body.use-case.md)
+
+[Dropdowns. Dropup variation](dropdowns/dropdowns.examples.dropup-variation.use-case.md)
+
+[Dropdowns. Menu dividers](dropdowns/dropdowns.examples.menu-dividers.use-case.md)
+
+[Dropdowns. Custom html](dropdowns/dropdowns.examples.custom-html.use-case.md)
+
+[Dropdowns. Configuring defaults](dropdowns/dropdowns.examples.config-defaults.use-case.md)
+
+[Dropdowns. Visibility Events](dropdowns/dropdowns.examples.visibility-events.use-case.md)
+
+[Dropdowns. State change event](dropdowns/dropdowns.examples.state-change-event.use-case.md)
+
+[Dropdowns. Auto close](dropdowns/dropdowns.examples.auto-close.use-case.md)
+
+[Dropdowns. Accessibility](dropdowns/dropdowns.examples.accessibility.use-case.md)
+
+
## Modals
[Service examples. Template](modals/modals.service-examples.template.use-case.md)