Skip to content

Commit 8888966

Browse files
author
ChenYong
committed
add comp-tabs, comp-placeholder; alpha release
1 parent 6902384 commit 8888966

File tree

7 files changed

+1125
-16
lines changed

7 files changed

+1125
-16
lines changed

calcit.cirru

Lines changed: 997 additions & 7 deletions
Large diffs are not rendered by default.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
"author": "jiyinyiyong",
2121
"license": "MIT",
2222
"devDependencies": {
23-
"shadow-cljs": "^2.9.10"
23+
"shadow-cljs": "^2.9.12"
2424
},
2525
"dependencies": {}
2626
}

release.edn

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
{:version "0.3.14"
1+
{:version "0.3.15-a1"
22
:group-id "respo"
33
:artifact-id "ui"
44
:description "Tiny collection of styles used in Respo"

shadow-cljs.edn

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33
:cache-blockers #{cumulo-util.build}
44
:dependencies [
55
[mvc-works/hsl "0.1.2"]
6-
[mvc-works/shell-page "0.1.10"]
7-
[respo "0.12.1"]
6+
[mvc-works/shell-page "0.1.13-a3"]
7+
[respo "0.12.3-a1"]
88
[respo/router "0.4.0"]
99
[respo/markdown "0.2.5"]
1010
[cumulo/util "0.1.12"]

src/respo_ui/comp.cljs

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
2+
(ns respo-ui.comp
3+
(:require [respo.core
4+
:refer
5+
[defcomp div list-> input textarea button span select option a <>]]
6+
[respo.comp.space :refer [=<]]
7+
[respo-ui.core :as ui]
8+
[hsl.core :refer [hsl]]))
9+
10+
(defcomp
11+
comp-placeholder
12+
(text)
13+
(div
14+
{:style (merge
15+
ui/center
16+
{:padding 16,
17+
:font-family ui/font-fancy,
18+
:color (hsl 0 0 80),
19+
:font-size 12,
20+
:font-style :italic})}
21+
(<> text)))
22+
23+
(defn comp-sidebar [] )
24+
25+
(defcomp
26+
comp-tabs
27+
(options tabs on-route)
28+
(list->
29+
{:style (merge
30+
(if (:vertical? options) ui/column ui/row)
31+
{:padding "8px 16px 0", :width (:width options)}
32+
(:style options))}
33+
(->> tabs
34+
(map
35+
(fn [info]
36+
[(:name info)
37+
(div
38+
{:style (merge
39+
{:padding "0 8px",
40+
:font-family ui/font-fancy,
41+
:font-weight 300,
42+
:cursor :pointer,
43+
:font-size 16,
44+
:color (hsl 0 0 70),
45+
:line-height "32px"}
46+
(if (= (:selected options) (:name info))
47+
{:font-weight 500, :color (hsl 0 0 30)})),
48+
:on-click (fn [e d!] (on-route info d!))}
49+
(<> (:title info)))])))))

src/respo_ui/comp/components.cljs

Lines changed: 73 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,74 @@
11

22
(ns respo-ui.comp.components
3-
(:require [respo.core :refer [defcomp div a <>]] [respo.comp.space :refer [=<]]))
3+
(:require [respo.core :refer [defcomp >> div a <> pre code]]
4+
[respo.comp.space :refer [=<]]
5+
[respo-ui.comp :refer [comp-tabs comp-placeholder]]
6+
[respo-ui.core :as ui]
7+
[hsl.core :refer [hsl]]))
8+
9+
(defcomp
10+
comp-snippet
11+
(text)
12+
(pre
13+
{:style {:font-size 12,
14+
:font-family ui/font-code,
15+
:color (hsl 0 0 40),
16+
:line-height "18px"}}
17+
(code {:inner-text text})))
18+
19+
(def style-title
20+
{:margin-top 40, :font-size 18, :font-family ui/font-fancy, :color (hsl 0 0 70)})
21+
22+
(defcomp
23+
comp-demo-placeholder
24+
()
25+
(div
26+
{:style style-title}
27+
(div {} (<> "Placeholder demo"))
28+
(comp-placeholder "This is a demo")
29+
(comp-placeholder "中文 Demo")
30+
(comp-snippet
31+
"respo-ui.comp/comp-placeholder\n\n(comp-placeholder \"demo\")\n(comp-placeholder \"中文\")")))
32+
33+
(defcomp
34+
comp-demo-tabs
35+
(states)
36+
(let [cursor (:cursor states)
37+
state (or (:data states) {:selected nil})
38+
en-tabs [{:name :book, :title "Book"}
39+
{:name :card, :title "Card"}
40+
{:name :pl, :title "Programming language"}]]
41+
(div
42+
{}
43+
(div {:style style-title} (<> "Tabs demo"))
44+
(comp-tabs
45+
{:selected (:selected state)}
46+
en-tabs
47+
(fn [info d!]
48+
(println "selected" info)
49+
(d! cursor (assoc state :selected (:name info)))))
50+
(comp-tabs
51+
{:selected (:selected state)}
52+
[{:name :book, :title "书本"} {:name :card, :title "纸牌"} {:name :pl, :title "编程语言"}]
53+
(fn [info d!]
54+
(println "selected" info)
55+
(d! cursor (assoc state :selected (:name info)))))
56+
(comp-tabs
57+
{:selected (:selected state), :style {:border-bottom (str "1px solid " (hsl 0 0 90))}}
58+
en-tabs
59+
(fn [info d!]
60+
(println "selected" info)
61+
(d! cursor (assoc state :selected (:name info)))))
62+
(comp-snippet
63+
"respo-ui.comp/comp-tabs\n\n(comp-tabs\n {:selected (:selected state) :style {}}\n [{:name :book, :title \"Book\"}\n {:name :card, :title \"Card\"}\n {:name :pl, :title \"Programming language\"}]\n (fn [info d!]\n (println \"selected\" info)\n (d! cursor (assoc state :selected (:name info)))))")
64+
(comp-tabs
65+
{:selected (:selected state), :vertical? true, :width 200, :style {}}
66+
en-tabs
67+
(fn [info d!]
68+
(println "selected" info)
69+
(d! cursor (assoc state :selected (:name info)))))
70+
(comp-snippet
71+
"respo-ui.comp/comp-tabs\n\n(comp-tabs\n {:selected (:selected state) :style {}, :vertical? true, :width 200}\n tabs (fn [info d!]))"))))
472

573
(defn render-entry [url title] (div {} (a {:href url, :inner-text title})))
674

@@ -9,7 +77,7 @@
977
(states)
1078
(let [state (or (:data states) false)]
1179
(div
12-
{}
80+
{:style {:padding-bottom "50vh"}}
1381
(div
1482
{}
1583
(<> "There are also components follow the guidelines of Respo UI:")
@@ -26,4 +94,6 @@
2694
(a
2795
{:href "https://github.com/Respo/respo-ui/blob/master/src/respo_ui/comp/components.cljs",
2896
:target "_blank",
29-
:inner-text "Source"})))))
97+
:inner-text "Source"}))
98+
(comp-demo-placeholder)
99+
(comp-demo-tabs (>> states :tabs)))))

src/respo_ui/page.cljs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
(merge
2121
base-info
2222
{:styles [(<< "http://~(get-ip!):8100/main.css") "/entry/main.css"],
23-
:scripts ["/client.js"],
23+
:scripts [{:src "/client.js", :defer? true}],
2424
:inline-styles []})))
2525

2626
(def page-routes
@@ -38,7 +38,7 @@
3838
(merge
3939
base-info
4040
{:styles [(:release-ui config/site)],
41-
:scripts (map #(-> % :output-name prefix-cdn) assets),
41+
:scripts (map #({:src (-> % :output-name prefix-cdn), :defer? true}) assets),
4242
:ssr "respo-ssr",
4343
:inline-styles [(slurp "./entry/main.css")]}))))
4444

0 commit comments

Comments
 (0)