This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2024-03-15
Channels
- # announcements (1)
- # architecture (8)
- # babashka (7)
- # beginners (5)
- # biff (8)
- # calva (24)
- # cider (9)
- # clerk (14)
- # clj-kondo (7)
- # clojars (14)
- # clojure (49)
- # clojure-europe (11)
- # clojure-nl (1)
- # clojure-norway (90)
- # clojure-uk (3)
- # clojurescript (5)
- # core-typed (70)
- # cursive (35)
- # data-science (4)
- # datalevin (6)
- # datomic (2)
- # emacs (3)
- # fulcro (1)
- # holy-lambda (1)
- # hyperfiddle (5)
- # lsp (26)
- # malli (28)
- # off-topic (9)
- # re-frame (21)
- # releases (1)
- # shadow-cljs (7)
- # squint (6)
- # testing (14)
Thanks to squint... now i can use pandacss (typescript first css in js) in clojurescript! https://panda-css.com/
it just compile cljs into plain jsx which pandacss's static analyzer can understand. (they can't understand Google closure compiler output)
<Button color={"primary"} hierarchy={"primary"}>primary - primary</Button>
<Button shape={"round"} color={"primary"} hierarchy={"primary"}>primary - primary</Button>
<Button color={"primary"} hierarchy={"secondary"}>primary - secondary</Button>
<Button color={"gray"} hierarchy={"primary"}>gray - primary</Button>
<Button color={"negative"} hierarchy={"primary"}>negative - primary</Button>
@U06LXGPQM5W Thanks for sharing. Could you tell more about how you are you using squint? I also see references to reagent, which doesn't work in squint, so are you using a combination of CLJS and squint or so?
I use shadow-cljs and closure compiler for dev and production build. But panda can't understand it. I create cljsToTsx hook with squint (the code) I preprocess my code (like [button -> #jsx [Button ) before give the code to squint. it's only for pandacss' static analyzer. So the complie output is not runnable. But the panda can track the usage of jsx prop, css and recipe, and generate css file for them.
Squint is good for js/ts tooling which rely on static analysis. :)