diff --git a/src/Toolkit/kits/shadcn/dropdown-menu/templates/components/DropdownMenu/CheckboxItem.html.twig b/src/Toolkit/kits/shadcn/dropdown-menu/templates/components/DropdownMenu/CheckboxItem.html.twig
new file mode 100644
index 00000000000..470587d4594
--- /dev/null
+++ b/src/Toolkit/kits/shadcn/dropdown-menu/templates/components/DropdownMenu/CheckboxItem.html.twig
@@ -0,0 +1,25 @@
+{# @prop checked boolean Whether the checkbox is checked, default to `false` #}
+{# @prop disabled boolean Whether the item is disabled, default to `false` #}
+{# @prop closeOnSelect boolean Whether selecting the item closes the menu, default to `false` #}
+{# @block content The default block #}
+{%- props checked = false, disabled = false, closeOnSelect = false -%}
+
+
diff --git a/src/Toolkit/kits/shadcn/dropdown-menu/templates/components/DropdownMenu/Content.html.twig b/src/Toolkit/kits/shadcn/dropdown-menu/templates/components/DropdownMenu/Content.html.twig
new file mode 100644
index 00000000000..90957c2038b
--- /dev/null
+++ b/src/Toolkit/kits/shadcn/dropdown-menu/templates/components/DropdownMenu/Content.html.twig
@@ -0,0 +1,24 @@
+{# @prop side 'bottom'|'top'|'left'|'right' The preferred side of the trigger where the menu appears, default to `bottom` #}
+{# @prop align 'start'|'center'|'end' How the menu aligns to the trigger, default to `start` #}
+{# @block content The default block #}
+{%- props side = 'bottom', align = 'start' -%}
+{%- set style = html_cva(
+ base: 'absolute z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md outline-none',
+) -%}
+
+
+ {%- block content %}{% endblock -%}
+
diff --git a/src/Toolkit/kits/shadcn/dropdown-menu/templates/components/DropdownMenu/Group.html.twig b/src/Toolkit/kits/shadcn/dropdown-menu/templates/components/DropdownMenu/Group.html.twig
new file mode 100644
index 00000000000..4a2f3d96a7c
--- /dev/null
+++ b/src/Toolkit/kits/shadcn/dropdown-menu/templates/components/DropdownMenu/Group.html.twig
@@ -0,0 +1,4 @@
+{# @block content The default block #}
+
+ {%- block content %}{% endblock -%}
+
diff --git a/src/Toolkit/kits/shadcn/dropdown-menu/templates/components/DropdownMenu/Item.html.twig b/src/Toolkit/kits/shadcn/dropdown-menu/templates/components/DropdownMenu/Item.html.twig
new file mode 100644
index 00000000000..fc9a7a51dfa
--- /dev/null
+++ b/src/Toolkit/kits/shadcn/dropdown-menu/templates/components/DropdownMenu/Item.html.twig
@@ -0,0 +1,31 @@
+{# @prop as 'button'|'a'|'div' The HTML tag to use, default to `button` #}
+{# @prop disabled boolean Whether the item is disabled, default to `false` #}
+{# @prop closeOnSelect boolean Whether selecting the item closes the menu, default to `true` #}
+{# @prop inset boolean Whether the item should be inset, default to `false` #}
+{# @block content The default block #}
+{%- props as = 'button', disabled = false, closeOnSelect = true, inset = false -%}
+{%- set style = html_cva(
+ base: 'relative flex w-full cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 [&_svg:not([class*=size-])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0',
+ variants: {
+ inset: {
+ true: 'pl-8',
+ false: '',
+ },
+ },
+) -%}
+
+<{{ as }}
+ role="menuitem"
+ tabindex="-1"
+ data-dropdown-menu-target="item"
+ data-action="click->dropdown-menu#closeFromItem"
+ data-close-on-select="{{ closeOnSelect ? 'true' : 'false' }}"
+ data-disabled="{{ disabled ? 'true' : 'false' }}"
+ aria-disabled="{{ disabled ? 'true' : 'false' }}"
+ {% if as == 'button' %}type="button"{% endif %}
+ {% if as == 'button' and disabled %}disabled{% endif %}
+ class="{{ style.apply({inset: inset ? 'true' : 'false'}, attributes.render('class'))|tailwind_merge }}"
+ {{ attributes.without('role', 'tabindex', 'type') }}
+>
+ {%- block content %}{% endblock -%}
+{{ as }}>
diff --git a/src/Toolkit/kits/shadcn/dropdown-menu/templates/components/DropdownMenu/Label.html.twig b/src/Toolkit/kits/shadcn/dropdown-menu/templates/components/DropdownMenu/Label.html.twig
new file mode 100644
index 00000000000..c9bd2b3567c
--- /dev/null
+++ b/src/Toolkit/kits/shadcn/dropdown-menu/templates/components/DropdownMenu/Label.html.twig
@@ -0,0 +1,19 @@
+{# @prop inset boolean Whether the label should be inset, default to `false` #}
+{# @block content The default block #}
+{%- props inset = false -%}
+{%- set style = html_cva(
+ base: 'px-2 py-1.5 text-sm font-semibold',
+ variants: {
+ inset: {
+ true: 'pl-8',
+ false: '',
+ },
+ },
+) -%}
+
+ {%- block content %}{% endblock -%}
+
diff --git a/src/Toolkit/kits/shadcn/dropdown-menu/templates/components/DropdownMenu/RadioGroup.html.twig b/src/Toolkit/kits/shadcn/dropdown-menu/templates/components/DropdownMenu/RadioGroup.html.twig
new file mode 100644
index 00000000000..9fd760e0f03
--- /dev/null
+++ b/src/Toolkit/kits/shadcn/dropdown-menu/templates/components/DropdownMenu/RadioGroup.html.twig
@@ -0,0 +1,13 @@
+{# @prop value string|null The currently selected value, default to `null` #}
+{# @block content The default block #}
+{%- props value = null -%}
+
+
+ {%- block content %}{% endblock -%}
+
diff --git a/src/Toolkit/kits/shadcn/dropdown-menu/templates/components/DropdownMenu/RadioItem.html.twig b/src/Toolkit/kits/shadcn/dropdown-menu/templates/components/DropdownMenu/RadioItem.html.twig
new file mode 100644
index 00000000000..4fb03ff9e20
--- /dev/null
+++ b/src/Toolkit/kits/shadcn/dropdown-menu/templates/components/DropdownMenu/RadioItem.html.twig
@@ -0,0 +1,27 @@
+{# @prop value string The value of this radio item #}
+{# @prop checked boolean Whether the item is checked, default to `false` #}
+{# @prop disabled boolean Whether the item is disabled, default to `false` #}
+{# @prop closeOnSelect boolean Whether selecting the item closes the menu, default to `false` #}
+{# @block content The default block #}
+{%- props value, checked = false, disabled = false, closeOnSelect = false -%}
+
+
diff --git a/src/Toolkit/kits/shadcn/dropdown-menu/templates/components/DropdownMenu/Separator.html.twig b/src/Toolkit/kits/shadcn/dropdown-menu/templates/components/DropdownMenu/Separator.html.twig
new file mode 100644
index 00000000000..4863634eab1
--- /dev/null
+++ b/src/Toolkit/kits/shadcn/dropdown-menu/templates/components/DropdownMenu/Separator.html.twig
@@ -0,0 +1,6 @@
+
diff --git a/src/Toolkit/kits/shadcn/dropdown-menu/templates/components/DropdownMenu/Shortcut.html.twig b/src/Toolkit/kits/shadcn/dropdown-menu/templates/components/DropdownMenu/Shortcut.html.twig
new file mode 100644
index 00000000000..af3aa18da5f
--- /dev/null
+++ b/src/Toolkit/kits/shadcn/dropdown-menu/templates/components/DropdownMenu/Shortcut.html.twig
@@ -0,0 +1,7 @@
+{# @block content The default block #}
+
+ {%- block content %}{% endblock -%}
+
diff --git a/src/Toolkit/kits/shadcn/dropdown-menu/templates/components/DropdownMenu/Trigger.html.twig b/src/Toolkit/kits/shadcn/dropdown-menu/templates/components/DropdownMenu/Trigger.html.twig
new file mode 100644
index 00000000000..2f8bbd5b516
--- /dev/null
+++ b/src/Toolkit/kits/shadcn/dropdown-menu/templates/components/DropdownMenu/Trigger.html.twig
@@ -0,0 +1,11 @@
+{# @block content The default block #}
+{%- set trigger_attrs = {
+ id: _dropdown_menu_trigger_id,
+ 'aria-haspopup': 'menu',
+ 'aria-controls': _dropdown_menu_content_id,
+ 'aria-expanded': 'false',
+ 'data-dropdown-menu-target': 'trigger',
+ 'data-action': 'click->dropdown-menu#toggle keydown->dropdown-menu#onTriggerKeydown',
+ 'data-state': 'closed',
+} -%}
+{%- block content %}{% endblock -%}
diff --git a/src/Toolkit/kits/shadcn/kbd/templates/components/Kbd.html.twig b/src/Toolkit/kits/shadcn/kbd/templates/components/Kbd.html.twig
index ef6451a97c2..56a6b5a35af 100644
--- a/src/Toolkit/kits/shadcn/kbd/templates/components/Kbd.html.twig
+++ b/src/Toolkit/kits/shadcn/kbd/templates/components/Kbd.html.twig
@@ -1,7 +1,7 @@
{# @block content The default block #}
{%- block content %}{% endblock -%}
diff --git a/src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component button-group, code 1__1.html b/src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component button-group, code 1__1.html
index e91a4f59de5..ee16df6fdd9 100644
--- a/src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component button-group, code 1__1.html
+++ b/src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component button-group, code 1__1.html
@@ -18,27 +18,85 @@
Snooze
-
-
-
+
+
+
+
+
+
+
+
+
+ Reply in thread
+
+
+
+ Forward
+
+
+
+ Add to starred
+
+
+
+
+ Mute
+
+
+
+ Mark as unread
+
+
+
+
+ Delete
+
+
+
```
- Rendered code (prettified for testing purposes, run "php vendor/bin/phpunit -d --update-snapshots" to update snapshots): -->
-
-
+
+
-
+
-
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component button-group, code 2__1.html b/src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component button-group, code 2__1.html
index 83a9c7b3377..14cf274428e 100644
--- a/src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component button-group, code 2__1.html
+++ b/src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component button-group, code 2__1.html
@@ -13,7 +13,7 @@
```
- Rendered code (prettified for testing purposes, run "php vendor/bin/phpunit -d --update-snapshots" to update snapshots): -->
-