@@ -5,6 +5,7 @@ import CssOnlyContainer from "../components/cssOnly/cssOnlyContainer.astro";
55import HyperscriptContainer from " ../components/hyperscript/hyperscriptContainer.astro" ;
66import JQueryContainer from " ../components/jquery/jqueryContainer.astro" ;
77import ReactContainer from " ../components/react/ReactContainer.astro" ;
8+ import StimulusContainer from " ../components/stimulus/stimulusContainer.astro" ;
89import SvelteContainer from " ../components/svelte/SvelteContainer.astro" ;
910import VanillajsContainer from " ../components/vanillajs/vanillajsContainer.astro" ;
1011import VueContainer from " ../components/vue/vueContainer.astro" ;
@@ -20,6 +21,7 @@ const containerMap = {
2021 hyperscript: HyperscriptContainer ,
2122 cssOnly: CssOnlyContainer ,
2223 jquery: JQueryContainer ,
24+ stimulus: StimulusContainer ,
2325} as const ;
2426
2527const frameworks = Object .entries (FRAMEWORKS ).map (([id ]) => ({
@@ -39,9 +41,9 @@ const frameworks = Object.entries(FRAMEWORKS).map(([id]) => ({
3941 </div >
4042
4143 <FrameworkControls client:only =" react" />
42-
43- <div
44- id =" framework-grid"
44+
45+ <div
46+ id =" framework-grid"
4547 class =" grid grid-cols-1 lg:grid-cols-2 gap-8 max-w-6xl mx-auto"
4648 >
4749 { frameworks .map (({ Component }) => (
@@ -52,12 +54,12 @@ const frameworks = Object.entries(FRAMEWORKS).map(([id]) => ({
5254</Layout >
5355
5456<script >
55- import {
56- type SortableEvent,
57- type FrameworkSelectionEvent,
58- type FrameworkSortEvent,
57+ import {
58+ type SortableEvent,
59+ type FrameworkSelectionEvent,
60+ type FrameworkSortEvent,
5961 type FrameworkId,
60- isValidFramework
62+ isValidFramework
6163 } from "../config/frameworks";
6264 import Sortable from "sortablejs";
6365
@@ -95,7 +97,7 @@ const frameworks = Object.entries(FRAMEWORKS).map(([id]) => ({
9597 evt.item.classList.remove('dragging');
9698 document.body.style.cursor = '';
9799 saveFrameworkOrder();
98-
100+
99101 // Dispatch event to reset sort dropdown
100102 document.dispatchEvent(new CustomEvent("frameworkDragSort"));
101103 }
@@ -119,7 +121,7 @@ const frameworks = Object.entries(FRAMEWORKS).map(([id]) => ({
119121 try {
120122 const order = JSON.parse(savedOrder);
121123 const containers = Array.from(gridElement.children);
122-
124+
123125 for (const frameworkId of order) {
124126 const container = containers.find(
125127 c => c.getAttribute('data-framework') === frameworkId
@@ -149,7 +151,7 @@ const frameworks = Object.entries(FRAMEWORKS).map(([id]) => ({
149151 function hideFramework(container: HTMLElement) {
150152 container.style.transform = 'scale(0.95)';
151153 container.style.opacity = '0';
152-
154+
153155 container.addEventListener('transitionend', function hideContainer(e) {
154156 if (e.propertyName === 'opacity') {
155157 container.classList.add('hidden');
@@ -182,7 +184,7 @@ const frameworks = Object.entries(FRAMEWORKS).map(([id]) => ({
182184 if (grid) {
183185 sortableInstance = initializeSortable(grid);
184186 restoreFrameworkOrder(grid);
185-
187+
186188 // Add resize listener
187189 window.addEventListener('resize', handleResize);
188190
@@ -211,7 +213,7 @@ const frameworks = Object.entries(FRAMEWORKS).map(([id]) => ({
211213 if (!grid) return;
212214
213215 const containers = Array.from(grid.children);
214-
216+
215217 e.detail.order.forEach((frameworkId) => {
216218 const container = containers.find(
217219 c => c.getAttribute('data-framework') === frameworkId
@@ -235,7 +237,7 @@ const frameworks = Object.entries(FRAMEWORKS).map(([id]) => ({
235237 [data-framework] {
236238 cursor: grab;
237239 }
238-
240+
239241 [data-framework].dragging {
240242 cursor: grabbing;
241243 }
0 commit comments