I have been using Clojure, ClojureScript, lein, shadow-cljs, Emacs, and CIDER to work on a Clojure/ClojureScript dynamic web app project.
Usually, I build the project by executing the command cider-jack-in-cljs in Emacs, choosing shadow-cljs, then shadow for REPL type, and, finally, app for building option.
On the source code of the project we have:
(defn splitter-panel-title
[text]
[title
:label text
:level :level3
:style {:margin-top "20px"}])
Notice the style without a direct prefix of bracket or curly bracket :style {:margin-top "20px"}. Also, in a smaller frequency, we have:
(defn left-panel
[]
[box
:size "auto"
:child [:div {:style rounded-panel}
[splitter-panel-title [:code ":panel-1"]]]])
Notice the style with curly bracket {:style rounded-panel}. Finally, we also have:
(defn header-view []
[:div
[:div
[:style
{:type "text/css"}]]])
Note the bracket [:style.
Why is :style on re-frame sometimes used with brackets, with curly brackets, and without anything? What is the rule behind the use of each approach?
If my understanding is correct, this is an-inline style in Re-frame. The last two examples are inside a div tag. But each of them uses a different approach.
Is the bracket, the curly bracket, and the non-use of bracket connected somehow to Javascript and/or CSS syntax?
Thanks