| Flexbox |
justifyContent |
buttons: flex-start, center, space-between, space-around |
Interactive controls work |
clicks center button, checks .toHaveClass(/active/) |
✅ |
uses exact match to distinguish align-center |
| Flexbox |
flexGap |
range slider 0-30px, data-bind:flexGap |
Interactive controls work |
fills to 15px, verifies el.style.gap === "15px" |
✅ |
direct style evaluation |
| Flexbox |
itemCount |
+/- buttons (1-8), data-on:click increments |
Interactive controls work |
clicks +, verifies more items visible via count |
✅ |
|
| Flexbox |
Code toggle |
button.demo-code-toggle, data-on:click="$showCode = !$showCode" |
Code panel toggles and copies |
clicks toggle, panel becomes visible |
✅ |
|
| Flexbox |
Copy button |
button.demo-copy-btn, onclick="copyDemoCSS(...)" |
Code panel toggles and copies |
clicks Copy, no error, z-index prevents overlay |
✅ |
clipboard content not verified |
| Grid |
layoutType |
Classic/Hero/Dashboard/Gallery buttons |
Interactive controls work |
clicks Hero, .toHaveClass(/active/), gallery items hidden |
✅ |
uses data-class*='hidden' check |
| Grid |
gridGap |
range slider 0-24 step=2, data-bind:gridGap |
Interactive controls work |
fills to 12px, gap text shows 12px, el.style.gap === "12px" |
✅ |
verifies both text and style |
| Grid |
gridItemCount |
+/- buttons (2-6) |
Interactive controls work |
clicks +, getSignalValue('gridItemCount') === "3" |
✅ |
direct signal verification |
| Grid |
Code toggle |
button.demo-code-toggle |
Code panel toggles and copies |
clicks toggle, panel visible |
✅ |
|
| Grid |
Copy button |
button.demo-copy-btn |
Code panel toggles and copies |
clicks Copy, no error |
✅ |
clipboard content not verified |
| Typography |
fontFamily |
buttons: Serif, Sans, Mono |
Interactive controls work |
clicks Sans, checks .toHaveClass(/active/), verifies fontFamily style |
✅ |
|
| Typography |
fontSize |
buttons: Small, Medium, Large |
Interactive controls work |
clicks Large, verifies style |
✅ |
|
| Typography |
lineHeight |
buttons: Tight, Loose |
Interactive controls work |
clicks Loose, verifies style |
✅ |
|
| Typography |
fontWeight |
buttons: Regular, Bold |
Interactive controls work |
clicks Bold, verifies style |
✅ |
|
| Typography |
textAlign |
buttons: Left, Center, Right |
Interactive controls work |
clicks Center, .toHaveClass(/active/) |
✅ |
|
| Typography |
letterSpacing |
range slider data-bind:letterSpacing |
Interactive controls work |
fills to 5, verifies style |
✅ |
value not checked |
| Typography |
Code toggle |
button.demo-code-toggle |
Code panel toggles and copies |
clicks toggle, panel visible |
✅ |
|
| Typography |
Copy button |
button.demo-copy-btn |
Code panel toggles and copies |
clicks Copy, no error |
✅ |
clipboard content not verified |
| Animation |
preset |
buttons: Bounce, Pulse, Shake, Spin |
Interactive controls work |
clicks Pulse, .toHaveClass(/active/) |
✅ |
|
| Animation |
animDuration |
range slider data-bind:animDuration |
Interactive controls work |
fills to 1.5, verifies animation includes "1.5s" |
✅ |
|
| Animation |
timing |
buttons: Ease, Linear, Ease In, Ease Out, Ease In Out |
Interactive controls work |
clicks Linear, verifies animation includes "linear" |
✅ |
|
| Animation |
iteration |
buttons: 1x, 3x, Infinite |
Interactive controls work |
clicks Infinite, verifies animation includes "infinite" |
✅ |
|
| Animation |
Code toggle |
button.demo-code-toggle |
Code panel toggles and copies |
clicks toggle, panel visible |
✅ |
|
| Animation |
Copy button |
button.demo-copy-btn |
Code panel toggles and copies |
clicks Copy, no error |
✅ |
clipboard content not verified |
| Color |
preset |
buttons: Light, Dark, Brand |
Interactive controls work |
clicks Dark, verifies bgColor #1f2937 |
✅ |
|
| Color |
themeOpacity |
range slider data-bind:themeOpacity |
Interactive controls work |
fills to 0.5, verifies opacity 0.5 |
✅ |
|
| Color |
colorPickers |
3 input[type="color"] |
Interactive controls work |
selects color, verifies style |
✅ |
|
| Color |
Reset button |
button:has-text('Reset') |
Interactive controls work |
clicks Reset, verifies default styles |
✅ |
|
| Color |
Code toggle |
button.demo-code-toggle |
Code panel toggles and copies |
clicks toggle, panel visible |
✅ |
|
| Color |
Copy button |
button.demo-copy-btn |
Code panel toggles and copies |
clicks Copy, no error |
✅ |
clipboard content not verified |
| Layout |
position |
buttons: Static, Relative, Absolute, Fixed |
Interactive controls work |
clicks Relative, .toHaveClass(/active/) |
✅ |
|
| Layout |
posTop |
range slider data-bind:posTop |
Interactive controls work |
fills to 60, verifies top === "60px" |
✅ |
visible when position is relative/absolute |
| Layout |
posLeft |
range slider data-bind:posLeft |
Interactive controls work |
fills to 80, verifies left === "80px" |
✅ |
visible when position is relative/absolute |
| Layout |
Code toggle |
button.demo-code-toggle |
Code panel toggles and copies |
clicks toggle, panel visible |
✅ |
|
| Layout |
Copy button |
button.demo-copy-btn |
Code panel toggles and copies |
clicks Copy, no error |
✅ |
clipboard content not verified |
| BoxModel |
margin |
range slider data-bind:margin |
Interactive controls work |
fills to 30, verifies margin style |
✅ |
|
| BoxModel |
padding |
range slider data-bind:padding |
Interactive controls work |
fills to 20, verifies padding === "20px" |
✅ |
|
| BoxModel |
border |
range slider data-bind:border |
Interactive controls work |
fills to 10, verifies border style |
✅ |
|
| BoxModel |
Reset button |
button:has-text('Reset') |
Interactive controls work |
clicks Reset, verifies default styles |
✅ |
|
| BoxModel |
Code toggle |
button.demo-code-toggle |
Code panel toggles and copies |
clicks toggle, panel visible |
✅ |
|
| BoxModel |
Copy button |
button.demo-copy-btn |
Code panel toggles and copies |
clicks Copy, no error |
✅ |
clipboard content not verified |
| Backgrounds |
mode |
buttons: Gradient, Solid, Image, Pattern |
Interactive controls work |
clicks Solid, .toHaveClass(/active/) |
✅ |
|
| Backgrounds |
size |
buttons: Cover, Contain, Auto, 50% |
Interactive controls work |
clicks Contain, verifies backgroundSize "contain" |
✅ |
|
| Backgrounds |
position |
buttons: Center, Top, Bottom, Left, Right |
Interactive controls work |
clicks Top, verifies backgroundPosition "top" |
✅ |
|
| Backgrounds |
repeat |
buttons: No-repeat, Repeat, Repeat-X, Repeat-Y |
Interactive controls work |
clicks Repeat, verifies backgroundRepeat "repeat" |
✅ |
|
| Backgrounds |
Code toggle |
button.demo-code-toggle |
Code panel toggles and copies |
clicks toggle, panel visible |
✅ |
|
| Backgrounds |
Copy button |
button.demo-copy-btn |
Code panel toggles and copies |
clicks Copy, no error |
✅ |
clipboard content not verified |
| Transitions |
property |
buttons: all, transform, background |
Interactive controls work |
clicks transform, .toHaveClass(/active/) |
✅ |
|
| Transitions |
duration |
range slider data-bind:duration |
Interactive controls work |
fills to 1.0, verifies duration |
✅ |
|
| Transitions |
timing |
buttons: Ease, Ease In, Ease Out, Linear, Bounce |
Interactive controls work |
clicks Linear, verifies transition timing |
✅ |
|
| Transitions |
Code toggle |
button.demo-code-toggle |
Code panel toggles and copies |
clicks toggle, panel visible |
✅ |
|
| Transitions |
Copy button |
button.demo-copy-btn |
Code panel toggles and copies |
clicks Copy, no error |
✅ |
clipboard content not verified |