From 1fb4a44b6baf0f8b238ed643ad4f3128f6cb8d3f Mon Sep 17 00:00:00 2001 From: Seth Trowbridge Date: Tue, 21 Oct 2025 08:59:37 -0400 Subject: [PATCH] min-width responsive --- main.ts | 42 +++++++++++++++++++++++++++--------------- 1 file changed, 27 insertions(+), 15 deletions(-) diff --git a/main.ts b/main.ts index a7c52c5..f3164a0 100644 --- a/main.ts +++ b/main.ts @@ -3,18 +3,18 @@ type EnumDefinition = [property:string, options:Record = Record>; type RecursiveObject> = { - [F in keyof Obj]: Obj[F][2] extends Sig ? ((...args:Parameters)=>RecursiveObject)&{ - [E in keyof Obj[F][1]]:RecursiveObject + [F in keyof Obj]: Obj[F][2] extends Sig ? ((...args:Parameters)=>RecursiveObject&Array>)&{ + [E in keyof Obj[F][1]]:RecursiveObject&Array> } : { - [E in keyof Obj[F][1]]:RecursiveObject + [E in keyof Obj[F][1]]:RecursiveObject&Array> } } function Block>(options:Fields):()=>RecursiveObject { return ()=>{ - const list = []; + const list = ["@media(min-width:0px){"]; let fieldLookup = {}; const proxyOuter = new Proxy( @@ -27,12 +27,18 @@ function Block{}] -}); +const styles = Block( +{ + Pos:["position", {Abs:"absolute", Rel:"relative"}], + Display:[ "display", {Flex:"flex", Grid:"grid", None:"none", Block:"block", InlineBlock:"inline-block"}], + Left:[ "left", {Auto:"auto"}, (left)=>{}] +} +); -const userDeclaredStyleBlock = styles() -.Pos.Abs -.Left(10) -.Display.Block +const userDeclaredStyleBlock = +styles() + .Pos.Abs + .Left(10) +[512] + .Pos.Rel + .Left.Auto -console.log(userDeclaredStyleBlock().join("")); +// internal stringification +console.log(userDeclaredStyleBlock().join("")+"}"); function Sheet>>(userClasses:UserClasses):{[Class in keyof UserClasses]:string} {