From 9f78219f58b9ac4d00d000745baebb42d33913a0 Mon Sep 17 00:00:00 2001 From: Pascal CESCON - Amoifr Date: Tue, 14 Apr 2026 20:04:09 +0200 Subject: [PATCH 1/6] [Toolkit][Shadcn] Add dropdown-menu recipe --- src/Toolkit/CHANGELOG.md | 4 +-- .../dropdown-menu/examples/Demo.html.twig | 15 +++++++++++ .../dropdown-menu/examples/Usage.html.twig | 10 +++++++ .../kits/shadcn/dropdown-menu/manifest.json | 12 +++++++++ .../components/DropdownMenu.html.twig | 9 +++++++ .../components/DropdownMenu/Content.html.twig | 10 +++++++ .../components/DropdownMenu/Item.html.twig | 11 ++++++++ .../components/DropdownMenu/Label.html.twig | 9 +++++++ .../DropdownMenu/Separator.html.twig | 7 +++++ .../components/DropdownMenu/Trigger.html.twig | 9 +++++++ ...dropdown-menu, code file Demo.html__1.html | 27 +++++++++++++++++++ ...ropdown-menu, code file Usage.html__1.html | 20 ++++++++++++++ 12 files changed, 141 insertions(+), 2 deletions(-) create mode 100644 src/Toolkit/kits/shadcn/dropdown-menu/examples/Demo.html.twig create mode 100644 src/Toolkit/kits/shadcn/dropdown-menu/examples/Usage.html.twig create mode 100644 src/Toolkit/kits/shadcn/dropdown-menu/manifest.json create mode 100644 src/Toolkit/kits/shadcn/dropdown-menu/templates/components/DropdownMenu.html.twig create mode 100644 src/Toolkit/kits/shadcn/dropdown-menu/templates/components/DropdownMenu/Content.html.twig create mode 100644 src/Toolkit/kits/shadcn/dropdown-menu/templates/components/DropdownMenu/Item.html.twig create mode 100644 src/Toolkit/kits/shadcn/dropdown-menu/templates/components/DropdownMenu/Label.html.twig create mode 100644 src/Toolkit/kits/shadcn/dropdown-menu/templates/components/DropdownMenu/Separator.html.twig create mode 100644 src/Toolkit/kits/shadcn/dropdown-menu/templates/components/DropdownMenu/Trigger.html.twig create mode 100644 src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component dropdown-menu, code file Demo.html__1.html create mode 100644 src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component dropdown-menu, code file Usage.html__1.html diff --git a/src/Toolkit/CHANGELOG.md b/src/Toolkit/CHANGELOG.md index f5529d1b814..2ef709b9a80 100644 --- a/src/Toolkit/CHANGELOG.md +++ b/src/Toolkit/CHANGELOG.md @@ -8,11 +8,11 @@ ## 3.0.0 - Minimum required Symfony version is now 7.4 -- Minimum required PHP version is now 8.4 -- [Shadcn] Add `radio-group` recipe +- Minimum required PHP version is now 8.4- [Shadcn] Add `radio-group` recipe - [Shadcn] Add `collapsible` recipe - [Shadcn] Add `typography` recipe - [Shadcn] Add `toggle-group` recipe +- [Shadcn] Add `dropdown-menu` recipe ## 2.35 diff --git a/src/Toolkit/kits/shadcn/dropdown-menu/examples/Demo.html.twig b/src/Toolkit/kits/shadcn/dropdown-menu/examples/Demo.html.twig new file mode 100644 index 00000000000..d1aa7171975 --- /dev/null +++ b/src/Toolkit/kits/shadcn/dropdown-menu/examples/Demo.html.twig @@ -0,0 +1,15 @@ + + + Account + + + My Account + + Profile + Billing + Team + API (soon) + + Sign out + + \ No newline at end of file diff --git a/src/Toolkit/kits/shadcn/dropdown-menu/examples/Usage.html.twig b/src/Toolkit/kits/shadcn/dropdown-menu/examples/Usage.html.twig new file mode 100644 index 00000000000..27ed77fafd8 --- /dev/null +++ b/src/Toolkit/kits/shadcn/dropdown-menu/examples/Usage.html.twig @@ -0,0 +1,10 @@ + + + Open menu + + + Profile + Settings + Sign out + + \ No newline at end of file diff --git a/src/Toolkit/kits/shadcn/dropdown-menu/manifest.json b/src/Toolkit/kits/shadcn/dropdown-menu/manifest.json new file mode 100644 index 00000000000..13298b3b2ed --- /dev/null +++ b/src/Toolkit/kits/shadcn/dropdown-menu/manifest.json @@ -0,0 +1,12 @@ +{ + "$schema": "../../../schema-kit-recipe-v1.json", + "type": "component", + "name": "Dropdown Menu", + "description": "A click-triggered menu that lists a set of actions.", + "copy-files": { + "templates/": "templates/" + }, + "dependencies": { + "composer": ["tales-from-a-dev/twig-tailwind-extra:^1.0.0"] + } +} \ No newline at end of file diff --git a/src/Toolkit/kits/shadcn/dropdown-menu/templates/components/DropdownMenu.html.twig b/src/Toolkit/kits/shadcn/dropdown-menu/templates/components/DropdownMenu.html.twig new file mode 100644 index 00000000000..2ec33b082d4 --- /dev/null +++ b/src/Toolkit/kits/shadcn/dropdown-menu/templates/components/DropdownMenu.html.twig @@ -0,0 +1,9 @@ +{# @block content A `DropdownMenu:Trigger` and a `DropdownMenu:Content` #} +
+ {%- block content %}{% endblock -%} +
\ No newline at end of file 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..55877fd3fd7 --- /dev/null +++ b/src/Toolkit/kits/shadcn/dropdown-menu/templates/components/DropdownMenu/Content.html.twig @@ -0,0 +1,10 @@ +{# @block content The menu items #} + \ No newline at end of file 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..7e2d7a15515 --- /dev/null +++ b/src/Toolkit/kits/shadcn/dropdown-menu/templates/components/DropdownMenu/Item.html.twig @@ -0,0 +1,11 @@ +{# @block content The item label #} + \ No newline at end of file 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..5b07482c309 --- /dev/null +++ b/src/Toolkit/kits/shadcn/dropdown-menu/templates/components/DropdownMenu/Label.html.twig @@ -0,0 +1,9 @@ +{# @block content The label text #} +
+ {%- block content %}{% endblock -%} +
\ No newline at end of file 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..1bcd6b8610c --- /dev/null +++ b/src/Toolkit/kits/shadcn/dropdown-menu/templates/components/DropdownMenu/Separator.html.twig @@ -0,0 +1,7 @@ + \ No newline at end of file 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..61a8871082a --- /dev/null +++ b/src/Toolkit/kits/shadcn/dropdown-menu/templates/components/DropdownMenu/Trigger.html.twig @@ -0,0 +1,9 @@ +{# @block content The clickable trigger #} + + {%- block content %}{% endblock -%} + \ No newline at end of file diff --git a/src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component dropdown-menu, code file Demo.html__1.html b/src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component dropdown-menu, code file Demo.html__1.html new file mode 100644 index 00000000000..78e855fb960 --- /dev/null +++ b/src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component dropdown-menu, code file Demo.html__1.html @@ -0,0 +1,27 @@ + +
Account +
\ No newline at end of file diff --git a/src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component dropdown-menu, code file Usage.html__1.html b/src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component dropdown-menu, code file Usage.html__1.html new file mode 100644 index 00000000000..b8289e44df8 --- /dev/null +++ b/src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component dropdown-menu, code file Usage.html__1.html @@ -0,0 +1,20 @@ + +
Open menu +
\ No newline at end of file From 02549277eff82d23690811f6b00cc55e12d4ca06 Mon Sep 17 00:00:00 2001 From: Pascal CESCON - Amoifr Date: Tue, 14 Apr 2026 20:07:46 +0200 Subject: [PATCH 2/6] [Toolkit][Shadcn] Add sidebar recipe --- src/Toolkit/CHANGELOG.md | 1 + .../shadcn/sidebar/examples/Demo.html.twig | 23 +++++++++++ .../shadcn/sidebar/examples/Usage.html.twig | 12 ++++++ src/Toolkit/kits/shadcn/sidebar/manifest.json | 12 ++++++ .../templates/components/Sidebar.html.twig | 12 ++++++ .../components/Sidebar/Content.html.twig | 9 +++++ .../components/Sidebar/Footer.html.twig | 9 +++++ .../components/Sidebar/Group.html.twig | 9 +++++ .../components/Sidebar/GroupLabel.html.twig | 9 +++++ .../components/Sidebar/Header.html.twig | 9 +++++ .../components/Sidebar/MenuButton.html.twig | 13 +++++++ ...onent sidebar, code file Demo.html__1.html | 38 +++++++++++++++++++ ...nent sidebar, code file Usage.html__1.html | 24 ++++++++++++ 13 files changed, 180 insertions(+) create mode 100644 src/Toolkit/kits/shadcn/sidebar/examples/Demo.html.twig create mode 100644 src/Toolkit/kits/shadcn/sidebar/examples/Usage.html.twig create mode 100644 src/Toolkit/kits/shadcn/sidebar/manifest.json create mode 100644 src/Toolkit/kits/shadcn/sidebar/templates/components/Sidebar.html.twig create mode 100644 src/Toolkit/kits/shadcn/sidebar/templates/components/Sidebar/Content.html.twig create mode 100644 src/Toolkit/kits/shadcn/sidebar/templates/components/Sidebar/Footer.html.twig create mode 100644 src/Toolkit/kits/shadcn/sidebar/templates/components/Sidebar/Group.html.twig create mode 100644 src/Toolkit/kits/shadcn/sidebar/templates/components/Sidebar/GroupLabel.html.twig create mode 100644 src/Toolkit/kits/shadcn/sidebar/templates/components/Sidebar/Header.html.twig create mode 100644 src/Toolkit/kits/shadcn/sidebar/templates/components/Sidebar/MenuButton.html.twig create mode 100644 src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component sidebar, code file Demo.html__1.html create mode 100644 src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component sidebar, code file Usage.html__1.html diff --git a/src/Toolkit/CHANGELOG.md b/src/Toolkit/CHANGELOG.md index 2ef709b9a80..99816040811 100644 --- a/src/Toolkit/CHANGELOG.md +++ b/src/Toolkit/CHANGELOG.md @@ -13,6 +13,7 @@ - [Shadcn] Add `typography` recipe - [Shadcn] Add `toggle-group` recipe - [Shadcn] Add `dropdown-menu` recipe +- [Shadcn] Add `sidebar` recipe ## 2.35 diff --git a/src/Toolkit/kits/shadcn/sidebar/examples/Demo.html.twig b/src/Toolkit/kits/shadcn/sidebar/examples/Demo.html.twig new file mode 100644 index 00000000000..b2c43ad9d58 --- /dev/null +++ b/src/Toolkit/kits/shadcn/sidebar/examples/Demo.html.twig @@ -0,0 +1,23 @@ + + +
Acme Inc.
+
team@acme.dev
+
+ + + Application + Dashboard + Projects + Team + + + Settings + General + Billing + API (soon) + + + + Sign out + +
\ No newline at end of file diff --git a/src/Toolkit/kits/shadcn/sidebar/examples/Usage.html.twig b/src/Toolkit/kits/shadcn/sidebar/examples/Usage.html.twig new file mode 100644 index 00000000000..61dbe9e0301 --- /dev/null +++ b/src/Toolkit/kits/shadcn/sidebar/examples/Usage.html.twig @@ -0,0 +1,12 @@ + + +
Acme Inc.
+
+ + Dashboard + Settings + + + Sign out + +
\ No newline at end of file diff --git a/src/Toolkit/kits/shadcn/sidebar/manifest.json b/src/Toolkit/kits/shadcn/sidebar/manifest.json new file mode 100644 index 00000000000..f26f311083a --- /dev/null +++ b/src/Toolkit/kits/shadcn/sidebar/manifest.json @@ -0,0 +1,12 @@ +{ + "$schema": "../../../schema-kit-recipe-v1.json", + "type": "component", + "name": "Sidebar", + "description": "A fixed-width sidebar layout with a header, body and footer.", + "copy-files": { + "templates/": "templates/" + }, + "dependencies": { + "composer": ["tales-from-a-dev/twig-tailwind-extra:^1.0.0"] + } +} \ No newline at end of file diff --git a/src/Toolkit/kits/shadcn/sidebar/templates/components/Sidebar.html.twig b/src/Toolkit/kits/shadcn/sidebar/templates/components/Sidebar.html.twig new file mode 100644 index 00000000000..59edf8c080f --- /dev/null +++ b/src/Toolkit/kits/shadcn/sidebar/templates/components/Sidebar.html.twig @@ -0,0 +1,12 @@ +{# @prop side 'left'|'right' On which side the sidebar sits. Defaults to `left` #} +{# @block content The sidebar sections, typically a Header, a Content and a Footer #} +{%- props side = 'left' -%} + \ No newline at end of file diff --git a/src/Toolkit/kits/shadcn/sidebar/templates/components/Sidebar/Content.html.twig b/src/Toolkit/kits/shadcn/sidebar/templates/components/Sidebar/Content.html.twig new file mode 100644 index 00000000000..5383fac21b3 --- /dev/null +++ b/src/Toolkit/kits/shadcn/sidebar/templates/components/Sidebar/Content.html.twig @@ -0,0 +1,9 @@ +{# @block content The scrollable sidebar body #} +
+ {%- block content %}{% endblock -%} +
\ No newline at end of file diff --git a/src/Toolkit/kits/shadcn/sidebar/templates/components/Sidebar/Footer.html.twig b/src/Toolkit/kits/shadcn/sidebar/templates/components/Sidebar/Footer.html.twig new file mode 100644 index 00000000000..792f1ef939e --- /dev/null +++ b/src/Toolkit/kits/shadcn/sidebar/templates/components/Sidebar/Footer.html.twig @@ -0,0 +1,9 @@ +{# @block content The sidebar footer content #} +
+ {%- block content %}{% endblock -%} +
\ No newline at end of file diff --git a/src/Toolkit/kits/shadcn/sidebar/templates/components/Sidebar/Group.html.twig b/src/Toolkit/kits/shadcn/sidebar/templates/components/Sidebar/Group.html.twig new file mode 100644 index 00000000000..64efee9b36d --- /dev/null +++ b/src/Toolkit/kits/shadcn/sidebar/templates/components/Sidebar/Group.html.twig @@ -0,0 +1,9 @@ +{# @block content The group content #} +
+ {%- block content %}{% endblock -%} +
\ No newline at end of file diff --git a/src/Toolkit/kits/shadcn/sidebar/templates/components/Sidebar/GroupLabel.html.twig b/src/Toolkit/kits/shadcn/sidebar/templates/components/Sidebar/GroupLabel.html.twig new file mode 100644 index 00000000000..f40188d75dc --- /dev/null +++ b/src/Toolkit/kits/shadcn/sidebar/templates/components/Sidebar/GroupLabel.html.twig @@ -0,0 +1,9 @@ +{# @block content The group label text #} +
+ {%- block content %}{% endblock -%} +
\ No newline at end of file diff --git a/src/Toolkit/kits/shadcn/sidebar/templates/components/Sidebar/Header.html.twig b/src/Toolkit/kits/shadcn/sidebar/templates/components/Sidebar/Header.html.twig new file mode 100644 index 00000000000..0f7792cda27 --- /dev/null +++ b/src/Toolkit/kits/shadcn/sidebar/templates/components/Sidebar/Header.html.twig @@ -0,0 +1,9 @@ +{# @block content The sidebar header content #} +
+ {%- block content %}{% endblock -%} +
\ No newline at end of file diff --git a/src/Toolkit/kits/shadcn/sidebar/templates/components/Sidebar/MenuButton.html.twig b/src/Toolkit/kits/shadcn/sidebar/templates/components/Sidebar/MenuButton.html.twig new file mode 100644 index 00000000000..56663cbb00c --- /dev/null +++ b/src/Toolkit/kits/shadcn/sidebar/templates/components/Sidebar/MenuButton.html.twig @@ -0,0 +1,13 @@ +{# @prop active boolean Whether this menu button represents the active route. Defaults to `false` #} +{# @block content The menu button label and/or icon #} +{%- props active = false -%} + \ No newline at end of file diff --git a/src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component sidebar, code file Demo.html__1.html b/src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component sidebar, code file Demo.html__1.html new file mode 100644 index 00000000000..ba3b4eb5d68 --- /dev/null +++ b/src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component sidebar, code file Demo.html__1.html @@ -0,0 +1,38 @@ + + \ No newline at end of file diff --git a/src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component sidebar, code file Usage.html__1.html b/src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component sidebar, code file Usage.html__1.html new file mode 100644 index 00000000000..968d8cf672b --- /dev/null +++ b/src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component sidebar, code file Usage.html__1.html @@ -0,0 +1,24 @@ + + \ No newline at end of file From 85838de4e4ec4e5425bc906d8328b21330d43e8b Mon Sep 17 00:00:00 2001 From: Pascal CESCON - Amoifr Date: Mon, 20 Apr 2026 14:13:40 +0200 Subject: [PATCH 3/6] [Toolkit][Shadcn] Align dropdown-menu examples and sub-components with shadcn reference --- src/Toolkit/CHANGELOG.md | 3 +- .../dropdown-menu/examples/Avatar.html.twig | 27 ++ .../dropdown-menu/examples/Basic.html.twig | 15 + .../examples/Checkboxes Icons.html.twig | 23 + .../examples/Checkboxes.html.twig | 11 + .../dropdown-menu/examples/Complex.html.twig | 176 ++++++++ .../dropdown-menu/examples/Demo.html.twig | 30 +- .../examples/Destructive.html.twig | 20 + .../dropdown-menu/examples/Icons.html.twig | 24 ++ .../dropdown-menu/examples/RTL.html.twig | 171 ++++++++ .../examples/Radio Icons.html.twig | 23 + .../dropdown-menu/examples/Radio.html.twig | 22 + .../examples/Shortcuts.html.twig | 13 + .../dropdown-menu/examples/Submenu.html.twig | 27 ++ .../dropdown-menu/examples/Usage.html.twig | 2 +- .../kits/shadcn/dropdown-menu/manifest.json | 2 +- .../components/DropdownMenu.html.twig | 2 +- .../DropdownMenu/CheckboxItem.html.twig | 16 + .../components/DropdownMenu/Content.html.twig | 4 +- .../components/DropdownMenu/Group.html.twig | 10 + .../components/DropdownMenu/Item.html.twig | 2 +- .../components/DropdownMenu/Label.html.twig | 2 +- .../DropdownMenu/RadioGroup.html.twig | 13 + .../DropdownMenu/RadioItem.html.twig | 17 + .../DropdownMenu/Separator.html.twig | 2 +- .../DropdownMenu/Shortcut.html.twig | 9 + .../components/DropdownMenu/Sub.html.twig | 9 + .../DropdownMenu/SubContent.html.twig | 10 + .../DropdownMenu/SubTrigger.html.twig | 12 + .../components/DropdownMenu/Trigger.html.twig | 2 +- src/Toolkit/kits/shadcn/sidebar/manifest.json | 2 +- ...n-menu, code file Avatar.html.twig__1.html | 56 +++ ...wn-menu, code file Basic.html.twig__1.html | 36 ++ ...de file Checkboxes Icons.html.twig__1.html | 60 +++ ...nu, code file Checkboxes.html.twig__1.html | 39 ++ ...-menu, code file Complex.html.twig__1.html | 356 ++++++++++++++++ ...own-menu, code file Demo.html.twig__1.html | 73 ++++ ...u, code file Destructive.html.twig__1.html | 43 ++ ...wn-menu, code file Icons.html.twig__1.html | 50 +++ ...down-menu, code file RTL.html.twig__1.html | 399 ++++++++++++++++++ ...u, code file Radio Icons.html.twig__1.html | 60 +++ ...wn-menu, code file Radio.html.twig__1.html | 56 +++ ...enu, code file Shortcuts.html.twig__1.html | 36 ++ ...-menu, code file Submenu.html.twig__1.html | 64 +++ ...sidebar, code file Demo.html.twig__1.html} | 0 ...nent sidebar, code file Usage.html__1.html | 24 -- 46 files changed, 2010 insertions(+), 43 deletions(-) create mode 100644 src/Toolkit/kits/shadcn/dropdown-menu/examples/Avatar.html.twig create mode 100644 src/Toolkit/kits/shadcn/dropdown-menu/examples/Basic.html.twig create mode 100644 src/Toolkit/kits/shadcn/dropdown-menu/examples/Checkboxes Icons.html.twig create mode 100644 src/Toolkit/kits/shadcn/dropdown-menu/examples/Checkboxes.html.twig create mode 100644 src/Toolkit/kits/shadcn/dropdown-menu/examples/Complex.html.twig create mode 100644 src/Toolkit/kits/shadcn/dropdown-menu/examples/Destructive.html.twig create mode 100644 src/Toolkit/kits/shadcn/dropdown-menu/examples/Icons.html.twig create mode 100644 src/Toolkit/kits/shadcn/dropdown-menu/examples/RTL.html.twig create mode 100644 src/Toolkit/kits/shadcn/dropdown-menu/examples/Radio Icons.html.twig create mode 100644 src/Toolkit/kits/shadcn/dropdown-menu/examples/Radio.html.twig create mode 100644 src/Toolkit/kits/shadcn/dropdown-menu/examples/Shortcuts.html.twig create mode 100644 src/Toolkit/kits/shadcn/dropdown-menu/examples/Submenu.html.twig create mode 100644 src/Toolkit/kits/shadcn/dropdown-menu/templates/components/DropdownMenu/CheckboxItem.html.twig create mode 100644 src/Toolkit/kits/shadcn/dropdown-menu/templates/components/DropdownMenu/Group.html.twig create mode 100644 src/Toolkit/kits/shadcn/dropdown-menu/templates/components/DropdownMenu/RadioGroup.html.twig create mode 100644 src/Toolkit/kits/shadcn/dropdown-menu/templates/components/DropdownMenu/RadioItem.html.twig create mode 100644 src/Toolkit/kits/shadcn/dropdown-menu/templates/components/DropdownMenu/Shortcut.html.twig create mode 100644 src/Toolkit/kits/shadcn/dropdown-menu/templates/components/DropdownMenu/Sub.html.twig create mode 100644 src/Toolkit/kits/shadcn/dropdown-menu/templates/components/DropdownMenu/SubContent.html.twig create mode 100644 src/Toolkit/kits/shadcn/dropdown-menu/templates/components/DropdownMenu/SubTrigger.html.twig create mode 100644 src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component dropdown-menu, code file Avatar.html.twig__1.html create mode 100644 src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component dropdown-menu, code file Basic.html.twig__1.html create mode 100644 src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component dropdown-menu, code file Checkboxes Icons.html.twig__1.html create mode 100644 src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component dropdown-menu, code file Checkboxes.html.twig__1.html create mode 100644 src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component dropdown-menu, code file Complex.html.twig__1.html create mode 100644 src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component dropdown-menu, code file Demo.html.twig__1.html create mode 100644 src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component dropdown-menu, code file Destructive.html.twig__1.html create mode 100644 src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component dropdown-menu, code file Icons.html.twig__1.html create mode 100644 src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component dropdown-menu, code file RTL.html.twig__1.html create mode 100644 src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component dropdown-menu, code file Radio Icons.html.twig__1.html create mode 100644 src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component dropdown-menu, code file Radio.html.twig__1.html create mode 100644 src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component dropdown-menu, code file Shortcuts.html.twig__1.html create mode 100644 src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component dropdown-menu, code file Submenu.html.twig__1.html rename src/Toolkit/tests/Functional/__snapshots__/{ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component sidebar, code file Demo.html__1.html => ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component sidebar, code file Demo.html.twig__1.html} (100%) delete mode 100644 src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component sidebar, code file Usage.html__1.html diff --git a/src/Toolkit/CHANGELOG.md b/src/Toolkit/CHANGELOG.md index 99816040811..31812d12dcc 100644 --- a/src/Toolkit/CHANGELOG.md +++ b/src/Toolkit/CHANGELOG.md @@ -8,7 +8,8 @@ ## 3.0.0 - Minimum required Symfony version is now 7.4 -- Minimum required PHP version is now 8.4- [Shadcn] Add `radio-group` recipe +- Minimum required PHP version is now 8.4 +- [Shadcn] Add `radio-group` recipe - [Shadcn] Add `collapsible` recipe - [Shadcn] Add `typography` recipe - [Shadcn] Add `toggle-group` recipe diff --git a/src/Toolkit/kits/shadcn/dropdown-menu/examples/Avatar.html.twig b/src/Toolkit/kits/shadcn/dropdown-menu/examples/Avatar.html.twig new file mode 100644 index 00000000000..7df58635282 --- /dev/null +++ b/src/Toolkit/kits/shadcn/dropdown-menu/examples/Avatar.html.twig @@ -0,0 +1,27 @@ + + + + + LR + + + + + + Account + + + + Billing + + + + Notifications + + + + + Sign Out + + + diff --git a/src/Toolkit/kits/shadcn/dropdown-menu/examples/Basic.html.twig b/src/Toolkit/kits/shadcn/dropdown-menu/examples/Basic.html.twig new file mode 100644 index 00000000000..893ef569f1f --- /dev/null +++ b/src/Toolkit/kits/shadcn/dropdown-menu/examples/Basic.html.twig @@ -0,0 +1,15 @@ + + + Open + + + My Account + Profile + Billing + Settings + + GitHub + Support + API + + diff --git a/src/Toolkit/kits/shadcn/dropdown-menu/examples/Checkboxes Icons.html.twig b/src/Toolkit/kits/shadcn/dropdown-menu/examples/Checkboxes Icons.html.twig new file mode 100644 index 00000000000..b2356b2486e --- /dev/null +++ b/src/Toolkit/kits/shadcn/dropdown-menu/examples/Checkboxes Icons.html.twig @@ -0,0 +1,23 @@ + + + Notifications + + + Notification Preferences + {% set items = [ + {name: 'email', icon: 'lucide:mail', label: 'Email notifications', checked: true}, + {name: 'sms', icon: 'lucide:message-square', label: 'SMS notifications', checked: false}, + {name: 'push', icon: 'lucide:bell', label: 'Push notifications', checked: true}, + ] %} + {% for it in items %} + + {% endfor %} + + diff --git a/src/Toolkit/kits/shadcn/dropdown-menu/examples/Checkboxes.html.twig b/src/Toolkit/kits/shadcn/dropdown-menu/examples/Checkboxes.html.twig new file mode 100644 index 00000000000..4140e723ce8 --- /dev/null +++ b/src/Toolkit/kits/shadcn/dropdown-menu/examples/Checkboxes.html.twig @@ -0,0 +1,11 @@ + + + Open + + + Appearance + Status Bar + Activity Bar + Panel + + diff --git a/src/Toolkit/kits/shadcn/dropdown-menu/examples/Complex.html.twig b/src/Toolkit/kits/shadcn/dropdown-menu/examples/Complex.html.twig new file mode 100644 index 00000000000..6a71f7a45ba --- /dev/null +++ b/src/Toolkit/kits/shadcn/dropdown-menu/examples/Complex.html.twig @@ -0,0 +1,176 @@ + + + Complex Menu + + + File + + + New File⌘N + + + + New Folder⇧⌘N + + + + + Open Recent + + + Recent Projects + + + Project Alpha + + + + Project Beta + + + + + More Projects + + + + + Project Gamma + + + + Project Delta + + + + + + + Browse... + + + + + + + Save⌘S + + + + Export⇧⌘E + + + View + + + + + + Theme + + + Appearance + {% set themes = [ + {value: 'light', icon: 'lucide:sun', label: 'Light', checked: true}, + {value: 'dark', icon: 'lucide:moon', label: 'Dark', checked: false}, + {value: 'system', icon: 'lucide:monitor', label: 'System', checked: false}, + ] %} + {% for t in themes %} + + {% endfor %} + + + + Account + + + Profile⇧⌘P + + + + Billing + + + + + Settings + + + Preferences + + + Keyboard Shortcuts + + + + Language + + + + + Notifications + + + Notification Types + + + + + + + + Privacy & Security + + + + + + + Help & Support + + + + Documentation + + + + + Sign Out⇧⌘Q + + + diff --git a/src/Toolkit/kits/shadcn/dropdown-menu/examples/Demo.html.twig b/src/Toolkit/kits/shadcn/dropdown-menu/examples/Demo.html.twig index d1aa7171975..251b9d8e055 100644 --- a/src/Toolkit/kits/shadcn/dropdown-menu/examples/Demo.html.twig +++ b/src/Toolkit/kits/shadcn/dropdown-menu/examples/Demo.html.twig @@ -1,15 +1,29 @@ - - Account + + Open - + My Account + Profile⇧⌘P + Billing⌘B + Settings⌘S - Profile - Billing Team - API (soon) + + Invite users + + Email + Message + + More... + + + New Team⌘+T - Sign out + GitHub + Support + API + + Log out⇧⌘Q - \ No newline at end of file + diff --git a/src/Toolkit/kits/shadcn/dropdown-menu/examples/Destructive.html.twig b/src/Toolkit/kits/shadcn/dropdown-menu/examples/Destructive.html.twig new file mode 100644 index 00000000000..0e667568aab --- /dev/null +++ b/src/Toolkit/kits/shadcn/dropdown-menu/examples/Destructive.html.twig @@ -0,0 +1,20 @@ + + + Actions + + + + + Edit + + + + Share + + + + + Delete + + + diff --git a/src/Toolkit/kits/shadcn/dropdown-menu/examples/Icons.html.twig b/src/Toolkit/kits/shadcn/dropdown-menu/examples/Icons.html.twig new file mode 100644 index 00000000000..0fb34ebc21c --- /dev/null +++ b/src/Toolkit/kits/shadcn/dropdown-menu/examples/Icons.html.twig @@ -0,0 +1,24 @@ + + + Open + + + + + Profile + + + + Billing + + + + Settings + + + + + Log out + + + diff --git a/src/Toolkit/kits/shadcn/dropdown-menu/examples/RTL.html.twig b/src/Toolkit/kits/shadcn/dropdown-menu/examples/RTL.html.twig new file mode 100644 index 00000000000..dfecb101afe --- /dev/null +++ b/src/Toolkit/kits/shadcn/dropdown-menu/examples/RTL.html.twig @@ -0,0 +1,171 @@ +
+ {# Arabic #} +
+ + + افتح القائمة + + + + الحساب + + + + الملف الشخصي + + + + الفوترة + + + + الإعدادات + + + + + الفريق + الفريق + + دعوة المستخدمين + + البريد الإلكتروني + رسالة + + المزيد + + تقويم + دردشة + + خطاف ويب + + + + متقدم... + + + فريق جديد⌘+T + + عرض + {% for it in [ + {name: 'ar-statusbar', label: 'شريط الحالة', checked: true}, + {name: 'ar-activitybar', label: 'شريط النشاط', checked: false}, + {name: 'ar-panel', label: 'اللوحة', checked: false}, + ] %} + + {% endfor %} + + الموضع + {% for it in [ + {value: 'top', label: 'أعلى', checked: false}, + {value: 'bottom', label: 'أسفل', checked: true}, + {value: 'right', label: 'يمين', checked: false}, + {value: 'left', label: 'يسار', checked: false}, + ] %} + + {% endfor %} + + + تسجيل الخروج + + + +
+ + {# Hebrew #} +
+ + + פתח תפריט + + + + חשבון + + + + פרופיל + + + + חיוב + + + + הגדרות + + + + + הצוות + הצוות + + הזמן משתמשים + + אימייל + הודעה + + עוד + + יומן + צ'אט + + Webhook + + + + מתקדם... + + + צוות חדש⌘+T + + תצוגה + {% for it in [ + {name: 'he-statusbar', label: 'שורת סטטוס', checked: true}, + {name: 'he-activitybar', label: 'שורת פעילות', checked: false}, + {name: 'he-panel', label: 'לוח', checked: false}, + ] %} + + {% endfor %} + + מיקום + {% for it in [ + {value: 'top', label: 'למעלה', checked: false}, + {value: 'bottom', label: 'למטה', checked: true}, + {value: 'right', label: 'ימין', checked: false}, + {value: 'left', label: 'שמאל', checked: false}, + ] %} + + {% endfor %} + + + התנתק + + + +
+
diff --git a/src/Toolkit/kits/shadcn/dropdown-menu/examples/Radio Icons.html.twig b/src/Toolkit/kits/shadcn/dropdown-menu/examples/Radio Icons.html.twig new file mode 100644 index 00000000000..247a3de2db5 --- /dev/null +++ b/src/Toolkit/kits/shadcn/dropdown-menu/examples/Radio Icons.html.twig @@ -0,0 +1,23 @@ + + + Payment Method + + + Select Payment Method + {% set items = [ + {value: 'card', icon: 'lucide:credit-card', label: 'Credit Card', checked: true}, + {value: 'paypal', icon: 'lucide:wallet', label: 'PayPal', checked: false}, + {value: 'bank', icon: 'lucide:building-2', label: 'Bank Transfer', checked: false}, + ] %} + {% for it in items %} + + {% endfor %} + + diff --git a/src/Toolkit/kits/shadcn/dropdown-menu/examples/Radio.html.twig b/src/Toolkit/kits/shadcn/dropdown-menu/examples/Radio.html.twig new file mode 100644 index 00000000000..f3a4a861ad9 --- /dev/null +++ b/src/Toolkit/kits/shadcn/dropdown-menu/examples/Radio.html.twig @@ -0,0 +1,22 @@ + + + Open + + + Panel Position + {% set items = [ + {value: 'top', label: 'Top', checked: false}, + {value: 'bottom', label: 'Bottom', checked: true}, + {value: 'right', label: 'Right', checked: false}, + ] %} + {% for it in items %} + + {% endfor %} + + diff --git a/src/Toolkit/kits/shadcn/dropdown-menu/examples/Shortcuts.html.twig b/src/Toolkit/kits/shadcn/dropdown-menu/examples/Shortcuts.html.twig new file mode 100644 index 00000000000..021467e68cf --- /dev/null +++ b/src/Toolkit/kits/shadcn/dropdown-menu/examples/Shortcuts.html.twig @@ -0,0 +1,13 @@ + + + Open + + + My Account + Profile⇧⌘P + Billing⌘B + Settings⌘S + + Log out⇧⌘Q + + diff --git a/src/Toolkit/kits/shadcn/dropdown-menu/examples/Submenu.html.twig b/src/Toolkit/kits/shadcn/dropdown-menu/examples/Submenu.html.twig new file mode 100644 index 00000000000..b68e7039cba --- /dev/null +++ b/src/Toolkit/kits/shadcn/dropdown-menu/examples/Submenu.html.twig @@ -0,0 +1,27 @@ + + + Open + + + Team + + Invite users + + Email + Message + + More options + + Calendly + Slack + + Webhook + + + + Advanced... + + + New Team⌘+T + + diff --git a/src/Toolkit/kits/shadcn/dropdown-menu/examples/Usage.html.twig b/src/Toolkit/kits/shadcn/dropdown-menu/examples/Usage.html.twig index 27ed77fafd8..d0a68b408be 100644 --- a/src/Toolkit/kits/shadcn/dropdown-menu/examples/Usage.html.twig +++ b/src/Toolkit/kits/shadcn/dropdown-menu/examples/Usage.html.twig @@ -7,4 +7,4 @@ Settings Sign out - \ No newline at end of file + diff --git a/src/Toolkit/kits/shadcn/dropdown-menu/manifest.json b/src/Toolkit/kits/shadcn/dropdown-menu/manifest.json index 13298b3b2ed..a5e35dea96c 100644 --- a/src/Toolkit/kits/shadcn/dropdown-menu/manifest.json +++ b/src/Toolkit/kits/shadcn/dropdown-menu/manifest.json @@ -9,4 +9,4 @@ "dependencies": { "composer": ["tales-from-a-dev/twig-tailwind-extra:^1.0.0"] } -} \ No newline at end of file +} diff --git a/src/Toolkit/kits/shadcn/dropdown-menu/templates/components/DropdownMenu.html.twig b/src/Toolkit/kits/shadcn/dropdown-menu/templates/components/DropdownMenu.html.twig index 2ec33b082d4..02c3b30dab0 100644 --- a/src/Toolkit/kits/shadcn/dropdown-menu/templates/components/DropdownMenu.html.twig +++ b/src/Toolkit/kits/shadcn/dropdown-menu/templates/components/DropdownMenu.html.twig @@ -6,4 +6,4 @@ }) }} > {%- block content %}{% endblock -%} - \ No newline at end of file + 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..2adc16d4983 --- /dev/null +++ b/src/Toolkit/kits/shadcn/dropdown-menu/templates/components/DropdownMenu/CheckboxItem.html.twig @@ -0,0 +1,16 @@ +{# @prop name string The checkbox form field name #} +{# @prop checked bool Whether the checkbox is initially checked #} +{# @block content The label text #} +{%- props name = null, checked = 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 index 55877fd3fd7..32d361e62c4 100644 --- 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 @@ -1,10 +1,10 @@ {# @block content The menu items #} \ No newline at end of file + 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..8574a9dc204 --- /dev/null +++ b/src/Toolkit/kits/shadcn/dropdown-menu/templates/components/DropdownMenu/Group.html.twig @@ -0,0 +1,10 @@ +{# @block content The items grouped together #} +
+ {%- 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 index 7e2d7a15515..0aace069dd0 100644 --- 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 @@ -8,4 +8,4 @@ }) }} > {%- block content %}{% endblock -%} - \ No newline at end of file + 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 index 5b07482c309..75d573f3703 100644 --- 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 @@ -6,4 +6,4 @@ }) }} > {%- block content %}{% endblock -%} - \ No newline at end of file + 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..026f5705420 --- /dev/null +++ b/src/Toolkit/kits/shadcn/dropdown-menu/templates/components/DropdownMenu/RadioGroup.html.twig @@ -0,0 +1,13 @@ +{# @prop name string The radio group form field name #} +{# @block content One or more `DropdownMenu:RadioItem` components #} +{%- props name = 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..24e5361ad55 --- /dev/null +++ b/src/Toolkit/kits/shadcn/dropdown-menu/templates/components/DropdownMenu/RadioItem.html.twig @@ -0,0 +1,17 @@ +{# @prop name string The radio form field name #} +{# @prop value string The radio value #} +{# @prop checked bool Whether this radio is initially checked #} +{# @block content The label text #} +{%- props name = null, value = '', checked = 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 index 1bcd6b8610c..c578b03d5d5 100644 --- 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 @@ -4,4 +4,4 @@ {{ attributes.defaults({ 'data-slot': 'dropdown-menu-separator', }) }} -> \ No newline at end of file +> 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..5451b17263c --- /dev/null +++ b/src/Toolkit/kits/shadcn/dropdown-menu/templates/components/DropdownMenu/Shortcut.html.twig @@ -0,0 +1,9 @@ +{# @block content The shortcut label, e.g. "⌘T" #} + + {%- block content %}{% endblock -%} + diff --git a/src/Toolkit/kits/shadcn/dropdown-menu/templates/components/DropdownMenu/Sub.html.twig b/src/Toolkit/kits/shadcn/dropdown-menu/templates/components/DropdownMenu/Sub.html.twig new file mode 100644 index 00000000000..2aeb9523f1e --- /dev/null +++ b/src/Toolkit/kits/shadcn/dropdown-menu/templates/components/DropdownMenu/Sub.html.twig @@ -0,0 +1,9 @@ +{# @block content A `DropdownMenu:SubTrigger` and a `DropdownMenu:SubContent` #} +
+ {%- block content %}{% endblock -%} +
diff --git a/src/Toolkit/kits/shadcn/dropdown-menu/templates/components/DropdownMenu/SubContent.html.twig b/src/Toolkit/kits/shadcn/dropdown-menu/templates/components/DropdownMenu/SubContent.html.twig new file mode 100644 index 00000000000..b62743658a1 --- /dev/null +++ b/src/Toolkit/kits/shadcn/dropdown-menu/templates/components/DropdownMenu/SubContent.html.twig @@ -0,0 +1,10 @@ +{# @block content The sub-menu items revealed on hover or focus #} + diff --git a/src/Toolkit/kits/shadcn/dropdown-menu/templates/components/DropdownMenu/SubTrigger.html.twig b/src/Toolkit/kits/shadcn/dropdown-menu/templates/components/DropdownMenu/SubTrigger.html.twig new file mode 100644 index 00000000000..d090bc0a077 --- /dev/null +++ b/src/Toolkit/kits/shadcn/dropdown-menu/templates/components/DropdownMenu/SubTrigger.html.twig @@ -0,0 +1,12 @@ +{# @block content The sub-menu trigger label #} + 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 index 61a8871082a..303e604e448 100644 --- 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 @@ -6,4 +6,4 @@ }) }} > {%- block content %}{% endblock -%} - \ No newline at end of file + diff --git a/src/Toolkit/kits/shadcn/sidebar/manifest.json b/src/Toolkit/kits/shadcn/sidebar/manifest.json index f26f311083a..4a89572d42b 100644 --- a/src/Toolkit/kits/shadcn/sidebar/manifest.json +++ b/src/Toolkit/kits/shadcn/sidebar/manifest.json @@ -9,4 +9,4 @@ "dependencies": { "composer": ["tales-from-a-dev/twig-tailwind-extra:^1.0.0"] } -} \ No newline at end of file +} diff --git a/src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component dropdown-menu, code file Avatar.html.twig__1.html b/src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component dropdown-menu, code file Avatar.html.twig__1.html new file mode 100644 index 00000000000..5533a0ab054 --- /dev/null +++ b/src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component dropdown-menu, code file Avatar.html.twig__1.html @@ -0,0 +1,56 @@ + +
+ + LR + + + +
\ No newline at end of file diff --git a/src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component dropdown-menu, code file Basic.html.twig__1.html b/src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component dropdown-menu, code file Basic.html.twig__1.html new file mode 100644 index 00000000000..883881895c1 --- /dev/null +++ b/src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component dropdown-menu, code file Basic.html.twig__1.html @@ -0,0 +1,36 @@ + +
Open + + +
\ No newline at end of file diff --git a/src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component dropdown-menu, code file Checkboxes Icons.html.twig__1.html b/src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component dropdown-menu, code file Checkboxes Icons.html.twig__1.html new file mode 100644 index 00000000000..76949f5e017 --- /dev/null +++ b/src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component dropdown-menu, code file Checkboxes Icons.html.twig__1.html @@ -0,0 +1,60 @@ + +
Notifications + + +
\ No newline at end of file diff --git a/src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component dropdown-menu, code file Checkboxes.html.twig__1.html b/src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component dropdown-menu, code file Checkboxes.html.twig__1.html new file mode 100644 index 00000000000..3e402a8fea4 --- /dev/null +++ b/src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component dropdown-menu, code file Checkboxes.html.twig__1.html @@ -0,0 +1,39 @@ + +
Open + + +
\ No newline at end of file diff --git a/src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component dropdown-menu, code file Complex.html.twig__1.html b/src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component dropdown-menu, code file Complex.html.twig__1.html new file mode 100644 index 00000000000..6272dcdf6d7 --- /dev/null +++ b/src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component dropdown-menu, code file Complex.html.twig__1.html @@ -0,0 +1,356 @@ + +
Complex Menu + + +
\ No newline at end of file diff --git a/src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component dropdown-menu, code file Demo.html.twig__1.html b/src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component dropdown-menu, code file Demo.html.twig__1.html new file mode 100644 index 00000000000..f5144d778b0 --- /dev/null +++ b/src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component dropdown-menu, code file Demo.html.twig__1.html @@ -0,0 +1,73 @@ + +
Open + + +
\ No newline at end of file diff --git a/src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component dropdown-menu, code file Destructive.html.twig__1.html b/src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component dropdown-menu, code file Destructive.html.twig__1.html new file mode 100644 index 00000000000..f12e8ca36ce --- /dev/null +++ b/src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component dropdown-menu, code file Destructive.html.twig__1.html @@ -0,0 +1,43 @@ + +
Actions + + +
\ No newline at end of file diff --git a/src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component dropdown-menu, code file Icons.html.twig__1.html b/src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component dropdown-menu, code file Icons.html.twig__1.html new file mode 100644 index 00000000000..1723b38c8ec --- /dev/null +++ b/src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component dropdown-menu, code file Icons.html.twig__1.html @@ -0,0 +1,50 @@ + +
Open + + +
\ No newline at end of file diff --git a/src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component dropdown-menu, code file RTL.html.twig__1.html b/src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component dropdown-menu, code file RTL.html.twig__1.html new file mode 100644 index 00000000000..5b1b7b10714 --- /dev/null +++ b/src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component dropdown-menu, code file RTL.html.twig__1.html @@ -0,0 +1,399 @@ + +
+
+
افتح القائمة + + +
+
+ +
+
פתח תפריט + + +
+
+
\ No newline at end of file diff --git a/src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component dropdown-menu, code file Radio Icons.html.twig__1.html b/src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component dropdown-menu, code file Radio Icons.html.twig__1.html new file mode 100644 index 00000000000..78ff8b30560 --- /dev/null +++ b/src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component dropdown-menu, code file Radio Icons.html.twig__1.html @@ -0,0 +1,60 @@ + +
Payment Method + + +
\ No newline at end of file diff --git a/src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component dropdown-menu, code file Radio.html.twig__1.html b/src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component dropdown-menu, code file Radio.html.twig__1.html new file mode 100644 index 00000000000..bc548a24b9c --- /dev/null +++ b/src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component dropdown-menu, code file Radio.html.twig__1.html @@ -0,0 +1,56 @@ + +
Open + + +
\ No newline at end of file diff --git a/src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component dropdown-menu, code file Shortcuts.html.twig__1.html b/src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component dropdown-menu, code file Shortcuts.html.twig__1.html new file mode 100644 index 00000000000..766b341ffa7 --- /dev/null +++ b/src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component dropdown-menu, code file Shortcuts.html.twig__1.html @@ -0,0 +1,36 @@ + +
Open + + +
\ No newline at end of file diff --git a/src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component dropdown-menu, code file Submenu.html.twig__1.html b/src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component dropdown-menu, code file Submenu.html.twig__1.html new file mode 100644 index 00000000000..693cf2be4df --- /dev/null +++ b/src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component dropdown-menu, code file Submenu.html.twig__1.html @@ -0,0 +1,64 @@ + +
Open + + +
\ No newline at end of file diff --git a/src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component sidebar, code file Demo.html__1.html b/src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component sidebar, code file Demo.html.twig__1.html similarity index 100% rename from src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component sidebar, code file Demo.html__1.html rename to src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component sidebar, code file Demo.html.twig__1.html diff --git a/src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component sidebar, code file Usage.html__1.html b/src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component sidebar, code file Usage.html__1.html deleted file mode 100644 index 968d8cf672b..00000000000 --- a/src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component sidebar, code file Usage.html__1.html +++ /dev/null @@ -1,24 +0,0 @@ - - \ No newline at end of file From 3aed6083469bf358a13c1370e10b8969f85e8c04 Mon Sep 17 00:00:00 2001 From: Pascal CESCON - Amoifr Date: Thu, 23 Apr 2026 07:50:25 +0200 Subject: [PATCH 4/6] [Toolkit][Shadcn] Move CHANGELOG entries to 3.1 --- src/Toolkit/CHANGELOG.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Toolkit/CHANGELOG.md b/src/Toolkit/CHANGELOG.md index 31812d12dcc..c3b500b7898 100644 --- a/src/Toolkit/CHANGELOG.md +++ b/src/Toolkit/CHANGELOG.md @@ -4,6 +4,8 @@ - [Toolkit] Add `avatar` recipe - [Toolkit] Add `dropdown` recipe +- [Shadcn] Add `dropdown-menu` recipe +- [Shadcn] Add `sidebar` recipe ## 3.0.0 @@ -13,8 +15,6 @@ - [Shadcn] Add `collapsible` recipe - [Shadcn] Add `typography` recipe - [Shadcn] Add `toggle-group` recipe -- [Shadcn] Add `dropdown-menu` recipe -- [Shadcn] Add `sidebar` recipe ## 2.35 From 6b29da0511ecffb1dd67f9cee92e2b6043e8f474 Mon Sep 17 00:00:00 2001 From: Pascal CESCON - Amoifr Date: Thu, 23 Apr 2026 15:29:07 +0200 Subject: [PATCH 5/6] [Toolkit][Shadcn] Apply `_trigger_attrs` convention to dropdown-menu Follow up on the review feedback on #3487: the Trigger template should not enforce a specific HTML element but expose a Twig variable with the needed attributes so the consumer can pick their own element (button, link, span...). Since `DropdownMenu` relied on native `
`/`` to handle open/close, replace it with a `
` backed by a new `dropdown_menu_controller.js` Stimulus controller handling toggle, outside click and escape. Convert `SubTrigger` to the same convention (drop the hardcoded ` +{# @block content The sub-menu trigger label (e.g., a `button`) that opens the sub-menu on hover or focus #} +{%- set dropdown_menu_sub_trigger_attrs = { + 'data-slot': 'dropdown-menu-sub-trigger', + role: 'menuitem', + tabindex: 0, +} -%} +{%- 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 index 303e604e448..988fb32e74c 100644 --- 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 @@ -1,9 +1,10 @@ -{# @block content The clickable trigger #} - - {%- block content %}{% endblock -%} - +{# @block content The clickable trigger (e.g., a `Button`) that opens the menu #} +{%- set dropdown_menu_trigger_attrs = { + 'data-slot': 'dropdown-menu-trigger', + 'data-dropdown-menu-target': 'trigger', + 'data-action': 'click->dropdown-menu#toggle'|html_attr_type('sst'), + 'aria-haspopup': 'menu', + 'aria-expanded': _dropdown_menu_open ? 'true' : 'false', + 'data-state': _dropdown_menu_open ? 'open' : 'closed', +} -%} +{%- block content %}{% endblock -%} diff --git a/src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component dropdown-menu, code file Avatar.html.twig__1.html b/src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component dropdown-menu, code file Avatar.html.twig__1.html index 5533a0ab054..c70ef4c518f 100644 --- a/src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component dropdown-menu, code file Avatar.html.twig__1.html +++ b/src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component dropdown-menu, code file Avatar.html.twig__1.html @@ -4,11 +4,13 @@ - Code: ```twig - - - - LR - + + + + + LR + + @@ -32,12 +34,13 @@ ``` - Rendered code (prettified for testing purposes, run "php vendor/bin/phpunit -d --update-snapshots" to update snapshots): --> -
+
+
-
\ No newline at end of file +
\ No newline at end of file diff --git a/src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component dropdown-menu, code file Basic.html.twig__1.html b/src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component dropdown-menu, code file Basic.html.twig__1.html index 883881895c1..b06575c2976 100644 --- a/src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component dropdown-menu, code file Basic.html.twig__1.html +++ b/src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component dropdown-menu, code file Basic.html.twig__1.html @@ -4,8 +4,8 @@ - Code: ```twig - - Open + + Open My Account @@ -20,9 +20,9 @@ ``` - Rendered code (prettified for testing purposes, run "php vendor/bin/phpunit -d --update-snapshots" to update snapshots): --> -
Open - -
\ No newline at end of file + \ No newline at end of file diff --git a/src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component dropdown-menu, code file Checkboxes Icons.html.twig__1.html b/src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component dropdown-menu, code file Checkboxes Icons.html.twig__1.html index 76949f5e017..2e8188d8950 100644 --- a/src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component dropdown-menu, code file Checkboxes Icons.html.twig__1.html +++ b/src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component dropdown-menu, code file Checkboxes Icons.html.twig__1.html @@ -4,8 +4,8 @@ - Code: ```twig - - Notifications + + Notifications Notification Preferences @@ -28,9 +28,9 @@ ``` - Rendered code (prettified for testing purposes, run "php vendor/bin/phpunit -d --update-snapshots" to update snapshots): --> -
Notifications - -
\ No newline at end of file + \ No newline at end of file diff --git a/src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component dropdown-menu, code file Checkboxes.html.twig__1.html b/src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component dropdown-menu, code file Checkboxes.html.twig__1.html index 3e402a8fea4..00d0328b5cb 100644 --- a/src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component dropdown-menu, code file Checkboxes.html.twig__1.html +++ b/src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component dropdown-menu, code file Checkboxes.html.twig__1.html @@ -4,8 +4,8 @@ - Code: ```twig - - Open + + Open Appearance @@ -16,9 +16,9 @@ ``` - Rendered code (prettified for testing purposes, run "php vendor/bin/phpunit -d --update-snapshots" to update snapshots): --> -
Open - -
\ No newline at end of file + \ No newline at end of file diff --git a/src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component dropdown-menu, code file Complex.html.twig__1.html b/src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component dropdown-menu, code file Complex.html.twig__1.html index 6272dcdf6d7..fbd0b7fc720 100644 --- a/src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component dropdown-menu, code file Complex.html.twig__1.html +++ b/src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component dropdown-menu, code file Complex.html.twig__1.html @@ -4,8 +4,8 @@ - Code: ```twig - - Complex Menu + + Complex Menu File @@ -19,8 +19,11 @@ - - Open Recent + + + Open Recent + Recent Projects @@ -34,8 +37,11 @@ - - More Projects + + + More Projects + @@ -84,8 +90,11 @@ - - Theme + + + Theme + Appearance @@ -118,8 +127,11 @@ - - Settings + + + Settings + Preferences @@ -133,8 +145,11 @@ - - Notifications + + + Notifications + Notification Types @@ -181,9 +196,9 @@ ``` - Rendered code (prettified for testing purposes, run "php vendor/bin/phpunit -d --update-snapshots" to update snapshots): --> -
Complex Menu - -
\ No newline at end of file + \ No newline at end of file diff --git a/src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component dropdown-menu, code file Demo.html.twig__1.html b/src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component dropdown-menu, code file Demo.html.twig__1.html index f5144d778b0..0129e805a24 100644 --- a/src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component dropdown-menu, code file Demo.html.twig__1.html +++ b/src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component dropdown-menu, code file Demo.html.twig__1.html @@ -4,8 +4,8 @@ - Code: ```twig - - Open + + Open My Account @@ -15,7 +15,12 @@ Team - Invite users + + + Invite users + + Email Message @@ -34,9 +39,9 @@ ``` - Rendered code (prettified for testing purposes, run "php vendor/bin/phpunit -d --update-snapshots" to update snapshots): --> -
Open - -
\ No newline at end of file + \ No newline at end of file diff --git a/src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component dropdown-menu, code file Demo.html__1.html b/src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component dropdown-menu, code file Demo.html__1.html deleted file mode 100644 index 78e855fb960..00000000000 --- a/src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component dropdown-menu, code file Demo.html__1.html +++ /dev/null @@ -1,27 +0,0 @@ - -
Account -
\ No newline at end of file diff --git a/src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component dropdown-menu, code file Destructive.html.twig__1.html b/src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component dropdown-menu, code file Destructive.html.twig__1.html index f12e8ca36ce..0fc8b0e7442 100644 --- a/src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component dropdown-menu, code file Destructive.html.twig__1.html +++ b/src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component dropdown-menu, code file Destructive.html.twig__1.html @@ -4,8 +4,8 @@ - Code: ```twig - - Actions + + Actions @@ -25,9 +25,9 @@ ``` - Rendered code (prettified for testing purposes, run "php vendor/bin/phpunit -d --update-snapshots" to update snapshots): --> -
Actions - -
\ No newline at end of file + \ No newline at end of file diff --git a/src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component dropdown-menu, code file Icons.html.twig__1.html b/src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component dropdown-menu, code file Icons.html.twig__1.html index 1723b38c8ec..672e339fc57 100644 --- a/src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component dropdown-menu, code file Icons.html.twig__1.html +++ b/src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component dropdown-menu, code file Icons.html.twig__1.html @@ -4,8 +4,8 @@ - Code: ```twig - - Open + + Open @@ -29,9 +29,9 @@ ``` - Rendered code (prettified for testing purposes, run "php vendor/bin/phpunit -d --update-snapshots" to update snapshots): --> -
Open - -
\ No newline at end of file + \ No newline at end of file diff --git a/src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component dropdown-menu, code file RTL.html.twig__1.html b/src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component dropdown-menu, code file RTL.html.twig__1.html index 5b1b7b10714..04ac401e771 100644 --- a/src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component dropdown-menu, code file RTL.html.twig__1.html +++ b/src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component dropdown-menu, code file RTL.html.twig__1.html @@ -7,12 +7,17 @@ {# Arabic #}
- - افتح القائمة + + افتح القائمة - الحساب + + + الحساب + + @@ -32,12 +37,22 @@ الفريق الفريق - دعوة المستخدمين + + + دعوة المستخدمين + + البريد الإلكتروني رسالة - المزيد + + + المزيد + + تقويم دردشة @@ -92,12 +107,17 @@ {# Hebrew #}
- - פתח תפריט + + פתח תפריט - חשבון + + + חשבון + + @@ -117,12 +137,22 @@ הצוות הצוות - הזמן משתמשים + + + הזמן משתמשים + + אימייל הודעה - עוד + + + עוד + + יומן צ'אט @@ -178,13 +208,14 @@ - 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 dropdown-menu, code file Radio Icons.html.twig__1.html b/src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component dropdown-menu, code file Radio Icons.html.twig__1.html index 78ff8b30560..3da49a1f205 100644 --- a/src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component dropdown-menu, code file Radio Icons.html.twig__1.html +++ b/src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component dropdown-menu, code file Radio Icons.html.twig__1.html @@ -4,8 +4,8 @@ - Code: ```twig - - Payment Method + + Payment Method Select Payment Method @@ -28,9 +28,9 @@ ``` - Rendered code (prettified for testing purposes, run "php vendor/bin/phpunit -d --update-snapshots" to update snapshots): --> -
Payment Method - -
\ No newline at end of file + \ No newline at end of file diff --git a/src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component dropdown-menu, code file Radio.html.twig__1.html b/src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component dropdown-menu, code file Radio.html.twig__1.html index bc548a24b9c..5bbc2670ffd 100644 --- a/src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component dropdown-menu, code file Radio.html.twig__1.html +++ b/src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component dropdown-menu, code file Radio.html.twig__1.html @@ -4,8 +4,8 @@ - Code: ```twig - - Open + + Open Panel Position @@ -27,9 +27,9 @@ ``` - Rendered code (prettified for testing purposes, run "php vendor/bin/phpunit -d --update-snapshots" to update snapshots): --> -
Open - -
\ No newline at end of file + \ No newline at end of file diff --git a/src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component dropdown-menu, code file Shortcuts.html.twig__1.html b/src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component dropdown-menu, code file Shortcuts.html.twig__1.html index 766b341ffa7..6244a7ad1c4 100644 --- a/src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component dropdown-menu, code file Shortcuts.html.twig__1.html +++ b/src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component dropdown-menu, code file Shortcuts.html.twig__1.html @@ -4,8 +4,8 @@ - Code: ```twig - - Open + + Open My Account @@ -18,9 +18,9 @@ ``` - Rendered code (prettified for testing purposes, run "php vendor/bin/phpunit -d --update-snapshots" to update snapshots): --> -
Open - -
\ No newline at end of file + \ No newline at end of file diff --git a/src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component dropdown-menu, code file Submenu.html.twig__1.html b/src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component dropdown-menu, code file Submenu.html.twig__1.html index 693cf2be4df..fd7a7e7725e 100644 --- a/src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component dropdown-menu, code file Submenu.html.twig__1.html +++ b/src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component dropdown-menu, code file Submenu.html.twig__1.html @@ -4,18 +4,28 @@ - Code: ```twig - - Open + + Open Team - Invite users + + + Invite users + + Email Message - More options + + + More options + + Calendly Slack @@ -32,20 +42,22 @@ ``` - Rendered code (prettified for testing purposes, run "php vendor/bin/phpunit -d --update-snapshots" to update snapshots): --> -
Open - -
\ No newline at end of file + \ No newline at end of file diff --git a/src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component dropdown-menu, code file Usage.html__1.html b/src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component dropdown-menu, code file Usage.html__1.html deleted file mode 100644 index b8289e44df8..00000000000 --- a/src/Toolkit/tests/Functional/__snapshots__/ComponentsRenderingTest__testComponentRendering with data set Kit shadcn, component dropdown-menu, code file Usage.html__1.html +++ /dev/null @@ -1,20 +0,0 @@ - -
Open menu -
\ No newline at end of file From 4ff8fc768d93d4358a9f3bd94497f1cae847a192 Mon Sep 17 00:00:00 2001 From: Pascal CESCON - Amoifr Date: Thu, 30 Apr 2026 14:54:01 +0200 Subject: [PATCH 6/6] [Toolkit][Shadcn] dropdown-menu: forward RadioGroup name to RadioItem Avoid duplicating the radio group `name` on each `DropdownMenu:RadioItem`. The parent `DropdownMenu:RadioGroup` now exposes its `name` to its direct children through a Twig variable; `RadioItem` falls back to it when its own `name` is omitted. --- .../templates/components/DropdownMenu/RadioGroup.html.twig | 3 ++- .../templates/components/DropdownMenu/RadioItem.html.twig | 5 +++-- 2 files changed, 5 insertions(+), 3 deletions(-) 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 index 026f5705420..f3ddc2003f2 100644 --- 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 @@ -1,6 +1,7 @@ -{# @prop name string The radio group form field name #} +{# @prop name string The radio group form field name (shared by all items) #} {# @block content One or more `DropdownMenu:RadioItem` components #} {%- props name = null -%} +{%- set _dropdown_menu_radio_group_name = name -%}
- +