diff --git a/.github/workflows/upload.yaml b/.github/workflows/upload.yaml index 6d50e96..d46d612 100644 --- a/.github/workflows/upload.yaml +++ b/.github/workflows/upload.yaml @@ -19,15 +19,15 @@ jobs: - uses: supplypike/setup-bin@v3 with: - uri: 'https://github.com/calcit-lang/calcit/releases/download/0.8.2/cr' + uri: 'https://github.com/calcit-lang/calcit/releases/download/0.8.13/cr' name: 'cr' - version: '0.8.2' + version: '0.8.13' - uses: supplypike/setup-bin@v3 with: - uri: 'https://github.com/calcit-lang/calcit/releases/download/0.8.2/caps' + uri: 'https://github.com/calcit-lang/calcit/releases/download/0.8.13/caps' name: 'caps' - version: '0.8.2' + version: '0.8.13' - name: "compiles to js" run: > caps --ci && cr --emit-js --once diff --git a/calcit.cirru b/calcit.cirru index 7c8393d..ba15f1a 100644 --- a/calcit.cirru +++ b/calcit.cirru @@ -44,10 +44,6 @@ |j $ %{} :Leaf (:at 1624560959106) (:by |rJG4IHzWf) (:text |comp-bg) |r $ %{} :Expr (:at 1624560959106) (:by |rJG4IHzWf) :data $ {} - |t $ %{} :Expr (:at 1630153074223) (:by |rJG4IHzWf) - :data $ {} - |T $ %{} :Leaf (:at 1630153331129) (:by |rJG4IHzWf) (:text |println) - |j $ %{} :Leaf (:at 1630153619326) (:by |rJG4IHzWf) (:text "|\"@@@@@@@@@@@@@@@@\n@\n@ Well, code is not minified on purpose~\n@\n@ although it's still bundled with Vite.\n@\n@@@@@@@@@@@@@@@@") |v $ %{} :Expr (:at 1624560962669) (:by |rJG4IHzWf) :data $ {} |D $ %{} :Leaf (:at 1646331288774) (:by |rJG4IHzWf) (:text |;) @@ -342,6 +338,16 @@ |wT $ %{} :Expr (:at 1695549673285) (:by |rJG4IHzWf) :data $ {} |T $ %{} :Leaf (:at 1695549676009) (:by |rJG4IHzWf) (:text |comp-snippet-demo) + |b $ %{} :Expr (:at 1701364322268) (:by |rJG4IHzWf) + :data $ {} + |T $ %{} :Leaf (:at 1701364322704) (:by |rJG4IHzWf) (:text |>>) + |b $ %{} :Leaf (:at 1701364325491) (:by |rJG4IHzWf) (:text |states) + |h $ %{} :Leaf (:at 1701364335883) (:by |rJG4IHzWf) (:text |:snippets) + |wj $ %{} :Expr (:at 1701365609329) (:by |rJG4IHzWf) + :data $ {} + |T $ %{} :Leaf (:at 1701365609987) (:by |rJG4IHzWf) (:text |=<) + |X $ %{} :Leaf (:at 1701365614413) (:by |rJG4IHzWf) (:text |nil) + |b $ %{} :Leaf (:at 1701365611426) (:by |rJG4IHzWf) (:text |8) |x $ %{} :Expr (:at 1695549057514) (:by |rJG4IHzWf) :data $ {} |T $ %{} :Leaf (:at 1695549064564) (:by |rJG4IHzWf) (:text |comp-promotions) @@ -744,6 +750,21 @@ :data $ {} |T $ %{} :Leaf (:at 1695550886881) (:by |rJG4IHzWf) (:text |:flex-wrap) |b $ %{} :Leaf (:at 1695550887619) (:by |rJG4IHzWf) (:text |:wrap) + |P $ %{} :Expr (:at 1701365777354) (:by |rJG4IHzWf) + :data $ {} + |T $ %{} :Leaf (:at 1701365777354) (:by |rJG4IHzWf) (:text |div) + |b $ %{} :Expr (:at 1701365777354) (:by |rJG4IHzWf) + :data $ {} + |T $ %{} :Leaf (:at 1701365777354) (:by |rJG4IHzWf) (:text |{}) + |b $ %{} :Expr (:at 1701365777354) (:by |rJG4IHzWf) + :data $ {} + |T $ %{} :Leaf (:at 1701365777354) (:by |rJG4IHzWf) (:text |:class-name) + |b $ %{} :Leaf (:at 1701365777354) (:by |rJG4IHzWf) (:text |css/row-middle) + |h $ %{} :Expr (:at 1701365777354) (:by |rJG4IHzWf) + :data $ {} + |T $ %{} :Leaf (:at 1701365777354) (:by |rJG4IHzWf) (:text |add-link) + |b $ %{} :Leaf (:at 1701365777354) (:by |rJG4IHzWf) (:text "|\"GitHub") + |h $ %{} :Leaf (:at 1701365777354) (:by |rJG4IHzWf) (:text "|\"https://github.com/calcit-lang/calcit/") |T $ %{} :Expr (:at 1695549069745) (:by |rJG4IHzWf) :data $ {} |T $ %{} :Leaf (:at 1695549070726) (:by |rJG4IHzWf) (:text |div) @@ -754,45 +775,21 @@ :data $ {} |T $ %{} :Leaf (:at 1695549948725) (:by |rJG4IHzWf) (:text |:class-name) |b $ %{} :Leaf (:at 1695549951683) (:by |rJG4IHzWf) (:text |css/row-middle) - |h $ %{} :Expr (:at 1695549072047) (:by |rJG4IHzWf) - :data $ {} - |T $ %{} :Leaf (:at 1695549074276) (:by |rJG4IHzWf) (:text |button) - |b $ %{} :Expr (:at 1695549075091) (:by |rJG4IHzWf) + |h $ %{} :Expr (:at 1701365880854) (:by |rJG4IHzWf) :data $ {} - |T $ %{} :Leaf (:at 1695549075354) (:by |rJG4IHzWf) (:text |{}) - |b $ %{} :Expr (:at 1695549075666) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1701365881728) (:by |rJG4IHzWf) (:text |:style) + |b $ %{} :Expr (:at 1701365881950) (:by |rJG4IHzWf) :data $ {} - |T $ %{} :Leaf (:at 1695549077931) (:by |rJG4IHzWf) (:text |:inner-text) - |b $ %{} :Leaf (:at 1695549907803) (:by |rJG4IHzWf) (:text "|\"Play snippets") - |h $ %{} :Expr (:at 1695549081597) (:by |rJG4IHzWf) - :data $ {} - |T $ %{} :Leaf (:at 1695549085274) (:by |rJG4IHzWf) (:text |:class-name) - |b $ %{} :Expr (:at 1695549095604) (:by |rJG4IHzWf) - :data $ {} - |D $ %{} :Leaf (:at 1695549098824) (:by |rJG4IHzWf) (:text |str-spaced) - |T $ %{} :Leaf (:at 1695549089269) (:by |rJG4IHzWf) (:text |css/button) - |b $ %{} :Leaf (:at 1695549108119) (:by |rJG4IHzWf) (:text |style-promo-button) - |h $ %{} :Leaf (:at 1695549247300) (:by |rJG4IHzWf) (:text |style-main-button) - |l $ %{} :Expr (:at 1695549210210) (:by |rJG4IHzWf) - :data $ {} - |T $ %{} :Leaf (:at 1695549211915) (:by |rJG4IHzWf) (:text |:on-click) - |b $ %{} :Expr (:at 1695549214522) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1701365882238) (:by |rJG4IHzWf) (:text |{}) + |b $ %{} :Expr (:at 1701365882508) (:by |rJG4IHzWf) :data $ {} - |T $ %{} :Leaf (:at 1695549214721) (:by |rJG4IHzWf) (:text |fn) - |b $ %{} :Expr (:at 1695549215323) (:by |rJG4IHzWf) - :data $ {} - |T $ %{} :Leaf (:at 1695549215558) (:by |rJG4IHzWf) (:text |e) - |b $ %{} :Leaf (:at 1695549216301) (:by |rJG4IHzWf) (:text |d!) - |h $ %{} :Expr (:at 1695549216770) (:by |rJG4IHzWf) - :data $ {} - |T $ %{} :Leaf (:at 1695549219294) (:by |rJG4IHzWf) (:text |js/window.open) - |b $ %{} :Leaf (:at 1695549227758) (:by |rJG4IHzWf) (:text "|\"http://repo.calcit-lang.org/calcit-wasm-play/") - |h $ %{} :Leaf (:at 1695549232964) (:by |rJG4IHzWf) (:text "|\"_blank") - |j $ %{} :Expr (:at 1695549238995) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1701365883199) (:by |rJG4IHzWf) (:text |:gap) + |b $ %{} :Leaf (:at 1701365885589) (:by |rJG4IHzWf) (:text "|\"8px") + |f $ %{} :Expr (:at 1701365878301) (:by |rJG4IHzWf) :data $ {} - |T $ %{} :Leaf (:at 1695549239521) (:by |rJG4IHzWf) (:text |=<) - |b $ %{} :Leaf (:at 1695549239910) (:by |rJG4IHzWf) (:text |8) - |h $ %{} :Leaf (:at 1695549240427) (:by |rJG4IHzWf) (:text |nil) + |T $ %{} :Leaf (:at 1701365878301) (:by |rJG4IHzWf) (:text |add-link) + |b $ %{} :Leaf (:at 1701365878301) (:by |rJG4IHzWf) (:text "|\"Browse APIs") + |h $ %{} :Leaf (:at 1701365878301) (:by |rJG4IHzWf) (:text "|\"http://apis.calcit-lang.org") |l $ %{} :Expr (:at 1695549072047) (:by |rJG4IHzWf) :data $ {} |T $ %{} :Leaf (:at 1695549074276) (:by |rJG4IHzWf) (:text |button) @@ -826,31 +823,40 @@ |T $ %{} :Leaf (:at 1695549219294) (:by |rJG4IHzWf) (:text |js/window.open) |b $ %{} :Leaf (:at 1695549502543) (:by |rJG4IHzWf) (:text "|\"http://repo.calcit-lang.org/guidebook/") |h $ %{} :Leaf (:at 1695549232964) (:by |rJG4IHzWf) (:text "|\"_blank") - |o $ %{} :Expr (:at 1695549931816) (:by |rJG4IHzWf) - :data $ {} - |T $ %{} :Leaf (:at 1695549932453) (:by |rJG4IHzWf) (:text |=<) - |b $ %{} :Leaf (:at 1695549933293) (:by |rJG4IHzWf) (:text |8) - |h $ %{} :Leaf (:at 1695549934578) (:by |rJG4IHzWf) (:text |nil) - |q $ %{} :Expr (:at 1695549942865) (:by |rJG4IHzWf) + |s $ %{} :Expr (:at 1701365872861) (:by |rJG4IHzWf) :data $ {} - |T $ %{} :Leaf (:at 1695549942865) (:by |rJG4IHzWf) (:text |add-link) - |b $ %{} :Leaf (:at 1695549986796) (:by |rJG4IHzWf) (:text "|\"Browse APIs") - |h $ %{} :Leaf (:at 1695549942865) (:by |rJG4IHzWf) (:text "|\"http://apis.calcit-lang.org") - |b $ %{} :Expr (:at 1695550014272) (:by |rJG4IHzWf) - :data $ {} - |T $ %{} :Leaf (:at 1695550014663) (:by |rJG4IHzWf) (:text |div) - |b $ %{} :Expr (:at 1695550014909) (:by |rJG4IHzWf) - :data $ {} - |T $ %{} :Leaf (:at 1695550015197) (:by |rJG4IHzWf) (:text |{}) - |b $ %{} :Expr (:at 1695550017978) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1701365872861) (:by |rJG4IHzWf) (:text |button) + |b $ %{} :Expr (:at 1701365872861) (:by |rJG4IHzWf) :data $ {} - |T $ %{} :Leaf (:at 1695550017978) (:by |rJG4IHzWf) (:text |:class-name) - |b $ %{} :Leaf (:at 1695550017978) (:by |rJG4IHzWf) (:text |css/row-middle) - |h $ %{} :Expr (:at 1695550038409) (:by |rJG4IHzWf) - :data $ {} - |T $ %{} :Leaf (:at 1695550038409) (:by |rJG4IHzWf) (:text |add-link) - |b $ %{} :Leaf (:at 1695550038409) (:by |rJG4IHzWf) (:text "|\"GitHub") - |h $ %{} :Leaf (:at 1695550038409) (:by |rJG4IHzWf) (:text "|\"https://github.com/calcit-lang/calcit/") + |T $ %{} :Leaf (:at 1701365872861) (:by |rJG4IHzWf) (:text |{}) + |b $ %{} :Expr (:at 1701365872861) (:by |rJG4IHzWf) + :data $ {} + |T $ %{} :Leaf (:at 1701365872861) (:by |rJG4IHzWf) (:text |:inner-text) + |b $ %{} :Leaf (:at 1701365872861) (:by |rJG4IHzWf) (:text "|\"Play snippets") + |h $ %{} :Expr (:at 1701365872861) (:by |rJG4IHzWf) + :data $ {} + |T $ %{} :Leaf (:at 1701365872861) (:by |rJG4IHzWf) (:text |:class-name) + |b $ %{} :Expr (:at 1701365872861) (:by |rJG4IHzWf) + :data $ {} + |T $ %{} :Leaf (:at 1701365872861) (:by |rJG4IHzWf) (:text |str-spaced) + |b $ %{} :Leaf (:at 1701365872861) (:by |rJG4IHzWf) (:text |css/button) + |h $ %{} :Leaf (:at 1701365872861) (:by |rJG4IHzWf) (:text |style-promo-button) + |l $ %{} :Leaf (:at 1701365872861) (:by |rJG4IHzWf) (:text |style-main-button) + |l $ %{} :Expr (:at 1701365872861) (:by |rJG4IHzWf) + :data $ {} + |T $ %{} :Leaf (:at 1701365872861) (:by |rJG4IHzWf) (:text |:on-click) + |b $ %{} :Expr (:at 1701365872861) (:by |rJG4IHzWf) + :data $ {} + |T $ %{} :Leaf (:at 1701365872861) (:by |rJG4IHzWf) (:text |fn) + |b $ %{} :Expr (:at 1701365872861) (:by |rJG4IHzWf) + :data $ {} + |T $ %{} :Leaf (:at 1701365872861) (:by |rJG4IHzWf) (:text |e) + |b $ %{} :Leaf (:at 1701365872861) (:by |rJG4IHzWf) (:text |d!) + |h $ %{} :Expr (:at 1701365872861) (:by |rJG4IHzWf) + :data $ {} + |T $ %{} :Leaf (:at 1701365872861) (:by |rJG4IHzWf) (:text |js/window.open) + |b $ %{} :Leaf (:at 1701365872861) (:by |rJG4IHzWf) (:text "|\"http://repo.calcit-lang.org/calcit-wasm-play/") + |h $ %{} :Leaf (:at 1701365872861) (:by |rJG4IHzWf) (:text "|\"_blank") |comp-snippet-demo $ %{} :CodeEntry (:doc |) :code $ %{} :Expr (:at 1695549676856) (:by |rJG4IHzWf) :data $ {} @@ -858,29 +864,166 @@ |b $ %{} :Leaf (:at 1695549676856) (:by |rJG4IHzWf) (:text |comp-snippet-demo) |h $ %{} :Expr (:at 1695549676856) (:by |rJG4IHzWf) :data $ {} - |l $ %{} :Expr (:at 1695549680305) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1701364333008) (:by |rJG4IHzWf) (:text |states) + |l $ %{} :Expr (:at 1701364339405) (:by |rJG4IHzWf) :data $ {} - |T $ %{} :Leaf (:at 1695549680770) (:by |rJG4IHzWf) (:text |div) - |b $ %{} :Expr (:at 1695549681076) (:by |rJG4IHzWf) + |D $ %{} :Leaf (:at 1701364341874) (:by |rJG4IHzWf) (:text |let) + |L $ %{} :Expr (:at 1701364342163) (:by |rJG4IHzWf) :data $ {} - |T $ %{} :Leaf (:at 1695549681416) (:by |rJG4IHzWf) (:text |{}) - |h $ %{} :Expr (:at 1695549685783) (:by |rJG4IHzWf) + |T $ %{} :Expr (:at 1701364344334) (:by |rJG4IHzWf) + :data $ {} + |T $ %{} :Leaf (:at 1701364344033) (:by |rJG4IHzWf) (:text |cursor) + |b $ %{} :Expr (:at 1701364347296) (:by |rJG4IHzWf) + :data $ {} + |T $ %{} :Leaf (:at 1701364346284) (:by |rJG4IHzWf) (:text |:cursor) + |b $ %{} :Leaf (:at 1701364348432) (:by |rJG4IHzWf) (:text |states) + |b $ %{} :Expr (:at 1701364349262) (:by |rJG4IHzWf) + :data $ {} + |T $ %{} :Leaf (:at 1701364349825) (:by |rJG4IHzWf) (:text |state) + |b $ %{} :Expr (:at 1701364350145) (:by |rJG4IHzWf) + :data $ {} + |T $ %{} :Leaf (:at 1701364357154) (:by |rJG4IHzWf) (:text |either) + |b $ %{} :Expr (:at 1701364581883) (:by |rJG4IHzWf) + :data $ {} + |D $ %{} :Leaf (:at 1701364583983) (:by |rJG4IHzWf) (:text |:data) + |T $ %{} :Leaf (:at 1701364354192) (:by |rJG4IHzWf) (:text |states) + |h $ %{} :Leaf (:at 1701364375672) (:by |rJG4IHzWf) (:text |:tag-match) + |T $ %{} :Expr (:at 1695549680305) (:by |rJG4IHzWf) :data $ {} - |T $ %{} :Leaf (:at 1695549687762) (:by |rJG4IHzWf) (:text |pre) - |b $ %{} :Expr (:at 1695549688124) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1695549680770) (:by |rJG4IHzWf) (:text |div) + |b $ %{} :Expr (:at 1695549681076) (:by |rJG4IHzWf) :data $ {} - |T $ %{} :Leaf (:at 1695549688379) (:by |rJG4IHzWf) (:text |{}) - |X $ %{} :Expr (:at 1695549778998) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1695549681416) (:by |rJG4IHzWf) (:text |{}) + |b $ %{} :Expr (:at 1701364416388) (:by |rJG4IHzWf) :data $ {} - |T $ %{} :Leaf (:at 1695549786856) (:by |rJG4IHzWf) (:text |:class-name) - |b $ %{} :Leaf (:at 1695549790107) (:by |rJG4IHzWf) (:text |style-snippet) - |b $ %{} :Expr (:at 1695549689883) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1701364446780) (:by |rJG4IHzWf) (:text |:class-name) + |b $ %{} :Leaf (:at 1701365243701) (:by |rJG4IHzWf) (:text |css/row) + |h $ %{} :Expr (:at 1701365386436) (:by |rJG4IHzWf) :data $ {} - |T $ %{} :Leaf (:at 1695549693879) (:by |rJG4IHzWf) (:text |:innerHTML) - |b $ %{} :Expr (:at 1695549697524) (:by |rJG4IHzWf) + |T $ %{} :Leaf (:at 1701365387330) (:by |rJG4IHzWf) (:text |:style) + |b $ %{} :Expr (:at 1701365387664) (:by |rJG4IHzWf) :data $ {} - |T $ %{} :Leaf (:at 1695549723110) (:by |rJG4IHzWf) (:text |cirru-color/generateHtml) - |b $ %{} :Leaf (:at 1695549753093) (:by |rJG4IHzWf) (:text "|\"defcomp comp-link (link)\n tag-match link $ \n :link title sub-title url\n div ({})\n a $ {} (:href url)\n :inner-text title\n :target \"\\\"_blank\"\n :class-name style-display-link\n =< 8 nil\n <> sub-title $ str-spaced css/font-fancy style-sub-title\n") + |T $ %{} :Leaf (:at 1701365387970) (:by |rJG4IHzWf) (:text |{}) + |b $ %{} :Expr (:at 1701365388649) (:by |rJG4IHzWf) + :data $ {} + |T $ %{} :Leaf (:at 1701365390074) (:by |rJG4IHzWf) (:text |:flex-wrap) + |b $ %{} :Leaf (:at 1701365390811) (:by |rJG4IHzWf) (:text |:wrap) + |q $ %{} :Expr (:at 1701365476222) (:by |rJG4IHzWf) + :data $ {} + |T $ %{} :Leaf (:at 1701365476222) (:by |rJG4IHzWf) (:text |comp-tabs) + |b $ %{} :Expr (:at 1701365476222) (:by |rJG4IHzWf) + :data $ {} + |T $ %{} :Leaf (:at 1701365476222) (:by |rJG4IHzWf) (:text |{}) + |b $ %{} :Expr (:at 1701365476222) (:by |rJG4IHzWf) + :data $ {} + |T $ %{} :Leaf (:at 1701365476222) (:by |rJG4IHzWf) (:text |:selected) + |b $ %{} :Leaf (:at 1701365476222) (:by |rJG4IHzWf) (:text |state) + |h $ %{} :Expr (:at 1701365476222) (:by |rJG4IHzWf) + :data $ {} + |T $ %{} :Leaf (:at 1701365476222) (:by |rJG4IHzWf) (:text |:vertical?) + |b $ %{} :Leaf (:at 1701365476222) (:by |rJG4IHzWf) (:text |true) + |l $ %{} :Expr (:at 1701365476222) (:by |rJG4IHzWf) + :data $ {} + |T $ %{} :Leaf (:at 1701365476222) (:by |rJG4IHzWf) (:text |:style) + |b $ %{} :Expr (:at 1701365476222) (:by |rJG4IHzWf) + :data $ {} + |T $ %{} :Leaf (:at 1701365476222) (:by |rJG4IHzWf) (:text |{}) + |b $ %{} :Expr (:at 1701365476222) (:by |rJG4IHzWf) + :data $ {} + |T $ %{} :Leaf (:at 1701365476222) (:by |rJG4IHzWf) (:text |:margin-top) + |b $ %{} :Leaf (:at 1701365476222) (:by |rJG4IHzWf) (:text |20) + |h $ %{} :Expr (:at 1701365476222) (:by |rJG4IHzWf) + :data $ {} + |T $ %{} :Leaf (:at 1701365476222) (:by |rJG4IHzWf) (:text |:padding) + |b $ %{} :Leaf (:at 1701365476222) (:by |rJG4IHzWf) (:text "|\"0 8px") + |l $ %{} :Expr (:at 1701365476222) (:by |rJG4IHzWf) + :data $ {} + |T $ %{} :Leaf (:at 1701365476222) (:by |rJG4IHzWf) (:text |:min-width) + |b $ %{} :Leaf (:at 1701365528588) (:by |rJG4IHzWf) (:text |160) + |h $ %{} :Expr (:at 1701365476222) (:by |rJG4IHzWf) + :data $ {} + |T $ %{} :Leaf (:at 1701365476222) (:by |rJG4IHzWf) (:text |[]) + |b $ %{} :Expr (:at 1701365476222) (:by |rJG4IHzWf) + :data $ {} + |T $ %{} :Leaf (:at 1701365476222) (:by |rJG4IHzWf) (:text |&{}) + |b $ %{} :Leaf (:at 1701365476222) (:by |rJG4IHzWf) (:text |:name) + |h $ %{} :Leaf (:at 1701365476222) (:by |rJG4IHzWf) (:text |:tag-match) + |l $ %{} :Leaf (:at 1701365476222) (:by |rJG4IHzWf) (:text |:title) + |o $ %{} :Leaf (:at 1701365476222) (:by |rJG4IHzWf) (:text "||Pattern matching") + |h $ %{} :Expr (:at 1701365476222) (:by |rJG4IHzWf) + :data $ {} + |T $ %{} :Leaf (:at 1701365476222) (:by |rJG4IHzWf) (:text |&{}) + |b $ %{} :Leaf (:at 1701365476222) (:by |rJG4IHzWf) (:text |:name) + |h $ %{} :Leaf (:at 1701365476222) (:by |rJG4IHzWf) (:text |:component) + |l $ %{} :Leaf (:at 1701365476222) (:by |rJG4IHzWf) (:text |:title) + |o $ %{} :Leaf (:at 1701365476222) (:by |rJG4IHzWf) (:text ||Component) + |l $ %{} :Expr (:at 1701365476222) (:by |rJG4IHzWf) + :data $ {} + |T $ %{} :Leaf (:at 1701365476222) (:by |rJG4IHzWf) (:text |&{}) + |b $ %{} :Leaf (:at 1701365476222) (:by |rJG4IHzWf) (:text |:name) + |h $ %{} :Leaf (:at 1701365476222) (:by |rJG4IHzWf) (:text |:persistent-data) + |l $ %{} :Leaf (:at 1701365476222) (:by |rJG4IHzWf) (:text |:title) + |o $ %{} :Leaf (:at 1701365476222) (:by |rJG4IHzWf) (:text "||Persistent data") + |o $ %{} :Expr (:at 1701365476222) (:by |rJG4IHzWf) + :data $ {} + |T $ %{} :Leaf (:at 1701365476222) (:by |rJG4IHzWf) (:text |&{}) + |b $ %{} :Leaf (:at 1701365476222) (:by |rJG4IHzWf) (:text |:name) + |h $ %{} :Leaf (:at 1701365476222) (:by |rJG4IHzWf) (:text |:pipeline) + |l $ %{} :Leaf (:at 1701365476222) (:by |rJG4IHzWf) (:text |:title) + |o $ %{} :Leaf (:at 1701365476222) (:by |rJG4IHzWf) (:text "||Pipeline macro") + |l $ %{} :Expr (:at 1701365476222) (:by |rJG4IHzWf) + :data $ {} + |T $ %{} :Leaf (:at 1701365476222) (:by |rJG4IHzWf) (:text |fn) + |b $ %{} :Expr (:at 1701365476222) (:by |rJG4IHzWf) + :data $ {} + |T $ %{} :Leaf (:at 1701365476222) (:by |rJG4IHzWf) (:text |info) + |b $ %{} :Leaf (:at 1701365476222) (:by |rJG4IHzWf) (:text |d!) + |h $ %{} :Expr (:at 1701365476222) (:by |rJG4IHzWf) + :data $ {} + |T $ %{} :Leaf (:at 1701365476222) (:by |rJG4IHzWf) (:text |d!) + |b $ %{} :Leaf (:at 1701365476222) (:by |rJG4IHzWf) (:text |cursor) + |h $ %{} :Expr (:at 1701365476222) (:by |rJG4IHzWf) + :data $ {} + |T $ %{} :Leaf (:at 1701365476222) (:by |rJG4IHzWf) (:text |:name) + |b $ %{} :Leaf (:at 1701365476222) (:by |rJG4IHzWf) (:text |info) + |s $ %{} :Expr (:at 1701365490516) (:by |rJG4IHzWf) + :data $ {} + |T $ %{} :Leaf (:at 1701365490516) (:by |rJG4IHzWf) (:text |pre) + |b $ %{} :Expr (:at 1701365490516) (:by |rJG4IHzWf) + :data $ {} + |T $ %{} :Leaf (:at 1701365490516) (:by |rJG4IHzWf) (:text |{}) + |b $ %{} :Expr (:at 1701365490516) (:by |rJG4IHzWf) + :data $ {} + |T $ %{} :Leaf (:at 1701365490516) (:by |rJG4IHzWf) (:text |:class-name) + |b $ %{} :Expr (:at 1701365490516) (:by |rJG4IHzWf) + :data $ {} + |T $ %{} :Leaf (:at 1701365490516) (:by |rJG4IHzWf) (:text |str-spaced) + |b $ %{} :Leaf (:at 1701365490516) (:by |rJG4IHzWf) (:text |css/expand) + |h $ %{} :Leaf (:at 1701365490516) (:by |rJG4IHzWf) (:text |style-snippet) + |h $ %{} :Expr (:at 1701365490516) (:by |rJG4IHzWf) + :data $ {} + |T $ %{} :Leaf (:at 1701365490516) (:by |rJG4IHzWf) (:text |:style) + |b $ %{} :Expr (:at 1701365490516) (:by |rJG4IHzWf) + :data $ {} + |T $ %{} :Leaf (:at 1701365490516) (:by |rJG4IHzWf) (:text |{}) + |b $ %{} :Expr (:at 1701365490516) (:by |rJG4IHzWf) + :data $ {} + |T $ %{} :Leaf (:at 1701365490516) (:by |rJG4IHzWf) (:text |:min-width) + |b $ %{} :Leaf (:at 1701365490516) (:by |rJG4IHzWf) (:text |300) + |l $ %{} :Expr (:at 1701365490516) (:by |rJG4IHzWf) + :data $ {} + |T $ %{} :Leaf (:at 1701365490516) (:by |rJG4IHzWf) (:text |:innerHTML) + |b $ %{} :Expr (:at 1701365490516) (:by |rJG4IHzWf) + :data $ {} + |T $ %{} :Leaf (:at 1701365490516) (:by |rJG4IHzWf) (:text |cirru-color/generateHtml) + |b $ %{} :Expr (:at 1701365490516) (:by |rJG4IHzWf) + :data $ {} + |T $ %{} :Leaf (:at 1701365490516) (:by |rJG4IHzWf) (:text |trim) + |b $ %{} :Expr (:at 1701365490516) (:by |rJG4IHzWf) + :data $ {} + |T $ %{} :Leaf (:at 1701365490516) (:by |rJG4IHzWf) (:text |pick-demo) + |b $ %{} :Leaf (:at 1701365490516) (:by |rJG4IHzWf) (:text |state) + |h $ %{} :Leaf (:at 1701365490516) (:by |rJG4IHzWf) (:text "|\"defcomp comp-link (link)\n tag-match link $ \n :link title sub-title url\n div ({})\n a $ {} (:href url)\n :inner-text title\n :target \"\\\"_blank\"\n :class-name style-display-link\n =< 8 nil\n <> sub-title $ str-spaced css/font-fancy style-sub-title\n") |comp-visual $ %{} :CodeEntry (:doc |) :code $ %{} :Expr (:at 1695551235747) (:by |rJG4IHzWf) :data $ {} @@ -934,6 +1077,42 @@ :data $ {} |T $ %{} :Leaf (:at 1695551244621) (:by |rJG4IHzWf) (:text |:src) |b $ %{} :Leaf (:at 1695551245891) (:by |rJG4IHzWf) (:text "|\"https://cos-sh.tiye.me/cos-up/00c992c3061ed59d8c7d533b7a31433b-calcit-editor.png") + |demo-component $ %{} :CodeEntry (:doc |) + :code $ %{} :Expr (:at 1701365018689) (:by |rJG4IHzWf) + :data $ {} + |T $ %{} :Leaf (:at 1701365018689) (:by |rJG4IHzWf) (:text |def) + |b $ %{} :Leaf (:at 1701365018689) (:by |rJG4IHzWf) (:text |demo-component) + |h $ %{} :Expr (:at 1701365019649) (:by |rJG4IHzWf) + :data $ {} + |T $ %{} :Leaf (:at 1701365019649) (:by |rJG4IHzWf) (:text |inline-content!) + |b $ %{} :Leaf (:at 1701365099990) (:by |rJG4IHzWf) (:text "|\"content/demo/comp.cirru") + |demo-persistent-data $ %{} :CodeEntry (:doc |) + :code $ %{} :Expr (:at 1701365125366) (:by |rJG4IHzWf) + :data $ {} + |T $ %{} :Leaf (:at 1701365125366) (:by |rJG4IHzWf) (:text |def) + |b $ %{} :Leaf (:at 1701365125366) (:by |rJG4IHzWf) (:text |demo-persistent-data) + |h $ %{} :Expr (:at 1701365133161) (:by |rJG4IHzWf) + :data $ {} + |T $ %{} :Leaf (:at 1701365133161) (:by |rJG4IHzWf) (:text |inline-content!) + |b $ %{} :Leaf (:at 1701365152039) (:by |rJG4IHzWf) (:text "|\"content/demo/persistent-data.cirru") + |demo-pipeline $ %{} :CodeEntry (:doc |) + :code $ %{} :Expr (:at 1701364992486) (:by |rJG4IHzWf) + :data $ {} + |T $ %{} :Leaf (:at 1701364992486) (:by |rJG4IHzWf) (:text |def) + |b $ %{} :Leaf (:at 1701364992486) (:by |rJG4IHzWf) (:text |demo-pipeline) + |h $ %{} :Expr (:at 1701364994363) (:by |rJG4IHzWf) + :data $ {} + |T $ %{} :Leaf (:at 1701364994363) (:by |rJG4IHzWf) (:text |inline-content!) + |b $ %{} :Leaf (:at 1701365002415) (:by |rJG4IHzWf) (:text "|\"content/demo/pipeline.cirru") + |demo-tag-match $ %{} :CodeEntry (:doc |) + :code $ %{} :Expr (:at 1701364965699) (:by |rJG4IHzWf) + :data $ {} + |T $ %{} :Leaf (:at 1701364965699) (:by |rJG4IHzWf) (:text |def) + |b $ %{} :Leaf (:at 1701364965699) (:by |rJG4IHzWf) (:text |demo-tag-match) + |h $ %{} :Expr (:at 1701364965699) (:by |rJG4IHzWf) + :data $ {} + |T $ %{} :Leaf (:at 1701364968180) (:by |rJG4IHzWf) (:text |inline-content!) + |b $ %{} :Leaf (:at 1701364975282) (:by |rJG4IHzWf) (:text "|\"content/demo/tag-match.cirru") |inline-content! $ %{} :CodeEntry (:doc |) :code $ %{} :Expr (:at 1624513560832) (:by |rJG4IHzWf) :data $ {} @@ -946,6 +1125,35 @@ :data $ {} |T $ %{} :Leaf (:at 1624513568668) (:by |rJG4IHzWf) (:text |read-file) |j $ %{} :Leaf (:at 1624513569467) (:by |rJG4IHzWf) (:text |path) + |pick-demo $ %{} :CodeEntry (:doc |) + :code $ %{} :Expr (:at 1701364941763) (:by |rJG4IHzWf) + :data $ {} + |T $ %{} :Leaf (:at 1701364941763) (:by |rJG4IHzWf) (:text |defn) + |b $ %{} :Leaf (:at 1701364941763) (:by |rJG4IHzWf) (:text |pick-demo) + |h $ %{} :Expr (:at 1701364941763) (:by |rJG4IHzWf) + :data $ {} + |T $ %{} :Leaf (:at 1701364944713) (:by |rJG4IHzWf) (:text |k) + |l $ %{} :Expr (:at 1701364945639) (:by |rJG4IHzWf) + :data $ {} + |T $ %{} :Leaf (:at 1701364948712) (:by |rJG4IHzWf) (:text |case-default) + |b $ %{} :Leaf (:at 1701364950234) (:by |rJG4IHzWf) (:text |k) + |e $ %{} :Leaf (:at 1701364981836) (:by |rJG4IHzWf) (:text |demo-tag-match) + |h $ %{} :Expr (:at 1701364950697) (:by |rJG4IHzWf) + :data $ {} + |T $ %{} :Leaf (:at 1701364953162) (:by |rJG4IHzWf) (:text |:tag-match) + |b $ %{} :Leaf (:at 1701364965183) (:by |rJG4IHzWf) (:text |demo-tag-match) + |l $ %{} :Expr (:at 1701364950697) (:by |rJG4IHzWf) + :data $ {} + |T $ %{} :Leaf (:at 1701364989061) (:by |rJG4IHzWf) (:text |:pipeline) + |b $ %{} :Leaf (:at 1701364992075) (:by |rJG4IHzWf) (:text |demo-pipeline) + |o $ %{} :Expr (:at 1701364950697) (:by |rJG4IHzWf) + :data $ {} + |T $ %{} :Leaf (:at 1701365015457) (:by |rJG4IHzWf) (:text |:component) + |b $ %{} :Leaf (:at 1701365018174) (:by |rJG4IHzWf) (:text |demo-component) + |q $ %{} :Expr (:at 1701365116292) (:by |rJG4IHzWf) + :data $ {} + |T $ %{} :Leaf (:at 1701365119704) (:by |rJG4IHzWf) (:text |:persistent-data) + |b $ %{} :Leaf (:at 1701365124114) (:by |rJG4IHzWf) (:text |demo-persistent-data) |style-bg $ %{} :CodeEntry (:doc |) :code $ %{} :Expr (:at 1691881775056) (:by |rJG4IHzWf) :data $ {} @@ -1409,10 +1617,6 @@ :data $ {} |T $ %{} :Leaf (:at 1695549798301) (:by |rJG4IHzWf) (:text |:line-height) |b $ %{} :Leaf (:at 1695549810854) (:by |rJG4IHzWf) (:text "|\"24px") - |h $ %{} :Expr (:at 1695550125694) (:by |rJG4IHzWf) - :data $ {} - |T $ %{} :Leaf (:at 1695550128896) (:by |rJG4IHzWf) (:text |:max-width) - |b $ %{} :Leaf (:at 1695550155495) (:by |rJG4IHzWf) (:text "|\"calc(100vw - 64px)") |l $ %{} :Expr (:at 1695550157574) (:by |rJG4IHzWf) :data $ {} |T $ %{} :Leaf (:at 1695550160270) (:by |rJG4IHzWf) (:text |:overflow) @@ -1535,6 +1739,13 @@ :data $ {} |T $ %{} :Leaf (:at 1695546292503) (:by |rJG4IHzWf) (:text |doc-features) |b $ %{} :Leaf (:at 1695546299257) (:by |rJG4IHzWf) (:text |doc-columns) + |zY $ %{} :Expr (:at 1701364284772) (:by |rJG4IHzWf) + :data $ {} + |T $ %{} :Leaf (:at 1701364293234) (:by |rJG4IHzWf) (:text |respo-ui.comp) + |b $ %{} :Leaf (:at 1701364294795) (:by |rJG4IHzWf) (:text |:refer) + |h $ %{} :Expr (:at 1701364295029) (:by |rJG4IHzWf) + :data $ {} + |T $ %{} :Leaf (:at 1701364297333) (:by |rJG4IHzWf) (:text |comp-tabs) |app.config $ %{} :FileEntry :defs $ {} |cdn? $ %{} :CodeEntry (:doc |) @@ -1770,6 +1981,10 @@ :data $ {} |T $ %{} :Leaf (:at 1499755354983) (:by |root) (:text |println) |j $ %{} :Leaf (:at 1499755354983) (:by |root) (:text "||App started.") + |z $ %{} :Expr (:at 1701364528047) (:by |rJG4IHzWf) + :data $ {} + |T $ %{} :Leaf (:at 1701364528047) (:by |rJG4IHzWf) (:text |println) + |b $ %{} :Leaf (:at 1701364528047) (:by |rJG4IHzWf) (:text "|\"@@@@@@@@@@@@@@@@\n@\n@ Well, code is not minified on purpose~\n@\n@ although it's still bundled with Vite.\n@\n@@@@@@@@@@@@@@@@") |mount-target $ %{} :CodeEntry (:doc |) :code $ %{} :Expr (:at 1499755354983) (:by nil) :data $ {} @@ -1777,8 +1992,7 @@ |j $ %{} :Leaf (:at 1499755354983) (:by |root) (:text |mount-target) |r $ %{} :Expr (:at 1499755354983) (:by nil) :data $ {} - |T $ %{} :Leaf (:at 1499755354983) (:by |root) (:text |.querySelector) - |j $ %{} :Leaf (:at 1499755354983) (:by |root) (:text |js/document) + |j $ %{} :Leaf (:at 1701364257467) (:by |rJG4IHzWf) (:text |js/document.querySelector) |r $ %{} :Leaf (:at 1499755354983) (:by |root) (:text ||.app) |persist-storage! $ %{} :CodeEntry (:doc |) :code $ %{} :Expr (:at 1533919515671) (:by |rJG4IHzWf) @@ -2216,6 +2430,13 @@ :data $ {} |T $ %{} :Leaf (:at 1695547096127) (:by |rJG4IHzWf) (:text |[]) |X $ %{} :Expr (:at 1695567764091) (:by |rJG4IHzWf) + :data $ {} + |T $ %{} :Leaf (:at 1695567764680) (:by |rJG4IHzWf) (:text |::) + |b $ %{} :Leaf (:at 1695567766284) (:by |rJG4IHzWf) (:text |:link) + |h $ %{} :Leaf (:at 1701366852210) (:by |rJG4IHzWf) (:text "|\"Calcit 相比 Clojure 一些有意思的元编程能力 #226") + |l $ %{} :Leaf (:at 1695567773711) (:by |rJG4IHzWf) (:text |nil) + |o $ %{} :Leaf (:at 1701366858906) (:by |rJG4IHzWf) (:text "|\"https://github.com/calcit-lang/calcit/discussions/226") + |Z $ %{} :Expr (:at 1695567764091) (:by |rJG4IHzWf) :data $ {} |T $ %{} :Leaf (:at 1695567764680) (:by |rJG4IHzWf) (:text |::) |b $ %{} :Leaf (:at 1695567766284) (:by |rJG4IHzWf) (:text |:link) diff --git a/compact.cirru b/compact.cirru index 2f5f427..4b16e4e 100644 --- a/compact.cirru +++ b/compact.cirru @@ -12,7 +12,7 @@ a $ {} (:inner-text title) (:class-name css/link) (:href url) (:target "\"_blank") |comp-bg $ %{} :CodeEntry (:doc |) :code $ quote - defcomp comp-bg () (println "\"@@@@@@@@@@@@@@@@\n@\n@ Well, code is not minified on purpose~\n@\n@ although it's still bundled with Vite.\n@\n@@@@@@@@@@@@@@@@") + defcomp comp-bg () ; img $ {} (:src "\"http://cdn.tiye.me/logo/calcit.png") :style $ {} (:width "\"60vw") (:z-index -10) (:min-width "\"480px") (:position :fixed) (:opacity 0.12) (:right 0) (:top "\"10vh") div $ {} @@ -55,7 +55,8 @@ <> "\"an interpreter for calcit snapshot, and hot code swapping friendly." =< nil 8 =< nil 24 - comp-snippet-demo + comp-snippet-demo $ >> states :snippets + =< nil 8 comp-promotions list-> {} $ :class-name style-cards-containers @@ -120,23 +121,38 @@ :style $ {} (:flex-wrap :wrap) div {} $ :class-name css/row-middle - button $ {} (:inner-text "\"Play snippets") - :class-name $ str-spaced css/button style-promo-button style-main-button - :on-click $ fn (e d!) (js/window.open "\"http://repo.calcit-lang.org/calcit-wasm-play/" "\"_blank") - =< 8 nil + add-link "\"GitHub" "\"https://github.com/calcit-lang/calcit/" + div + {} (:class-name css/row-middle) + :style $ {} (:gap "\"8px") + add-link "\"Browse APIs" "\"http://apis.calcit-lang.org" button $ {} (:inner-text "\"Guidebook") :class-name $ str-spaced css/button style-promo-button :on-click $ fn (e d!) (js/window.open "\"http://repo.calcit-lang.org/guidebook/" "\"_blank") - =< 8 nil - add-link "\"Browse APIs" "\"http://apis.calcit-lang.org" - div - {} $ :class-name css/row-middle - add-link "\"GitHub" "\"https://github.com/calcit-lang/calcit/" + button $ {} (:inner-text "\"Play snippets") + :class-name $ str-spaced css/button style-promo-button style-main-button + :on-click $ fn (e d!) (js/window.open "\"http://repo.calcit-lang.org/calcit-wasm-play/" "\"_blank") |comp-snippet-demo $ %{} :CodeEntry (:doc |) :code $ quote - defcomp comp-snippet-demo () $ div ({}) - pre $ {} (:class-name style-snippet) - :innerHTML $ cirru-color/generateHtml "\"defcomp comp-link (link)\n tag-match link $ \n :link title sub-title url\n div ({})\n a $ {} (:href url)\n :inner-text title\n :target \"\\\"_blank\"\n :class-name style-display-link\n =< 8 nil\n <> sub-title $ str-spaced css/font-fancy style-sub-title\n" + defcomp comp-snippet-demo (states) + let + cursor $ :cursor states + state $ either (:data states) :tag-match + div + {} (:class-name css/row) + :style $ {} (:flex-wrap :wrap) + comp-tabs + {} (:selected state) (:vertical? true) + :style $ {} (:margin-top 20) (:padding "\"0 8px") (:min-width 160) + [] (&{} :name :tag-match :title "|Pattern matching") (&{} :name :component :title |Component) (&{} :name :persistent-data :title "|Persistent data") (&{} :name :pipeline :title "|Pipeline macro") + fn (info d!) + d! cursor $ :name info + pre $ {} + :class-name $ str-spaced css/expand style-snippet + :style $ {} (:min-width 300) + :innerHTML $ cirru-color/generateHtml + trim $ pick-demo state + , "\"defcomp comp-link (link)\n tag-match link $ \n :link title sub-title url\n div ({})\n a $ {} (:href url)\n :inner-text title\n :target \"\\\"_blank\"\n :class-name style-display-link\n =< 8 nil\n <> sub-title $ str-spaced css/font-fancy style-sub-title\n" |comp-visual $ %{} :CodeEntry (:doc |) :code $ quote defcomp comp-visual () $ div ({}) @@ -145,9 +161,25 @@ {} $ :style {} $ :display :flex img $ {} (:class-name style-editor-img) (:src "\"https://cos-sh.tiye.me/cos-up/00c992c3061ed59d8c7d533b7a31433b-calcit-editor.png") + |demo-component $ %{} :CodeEntry (:doc |) + :code $ quote + def demo-component $ inline-content! "\"content/demo/comp.cirru" + |demo-persistent-data $ %{} :CodeEntry (:doc |) + :code $ quote + def demo-persistent-data $ inline-content! "\"content/demo/persistent-data.cirru" + |demo-pipeline $ %{} :CodeEntry (:doc |) + :code $ quote + def demo-pipeline $ inline-content! "\"content/demo/pipeline.cirru" + |demo-tag-match $ %{} :CodeEntry (:doc |) + :code $ quote + def demo-tag-match $ inline-content! "\"content/demo/tag-match.cirru" |inline-content! $ %{} :CodeEntry (:doc |) :code $ quote defmacro inline-content! (path) (read-file path) + |pick-demo $ %{} :CodeEntry (:doc |) + :code $ quote + defn pick-demo (k) + case-default k demo-tag-match (:tag-match demo-tag-match) (:pipeline demo-pipeline) (:component demo-component) (:persistent-data demo-persistent-data) |style-bg $ %{} :CodeEntry (:doc |) :code $ quote defstyle style-bg $ {} @@ -220,7 +252,6 @@ :background-color $ hsl 0 0 100 :border $ str "\"1px solid " (hsl 0 0 90) :line-height "\"24px" - :max-width "\"calc(100vw - 64px)" :overflow :auto |style-sub-title $ %{} :CodeEntry (:doc |) :code $ quote @@ -240,6 +271,7 @@ respo.css :refer $ defstyle respo-ui.css :as css app.schema :refer $ doc-features doc-columns + respo-ui.comp :refer $ comp-tabs |app.config $ %{} :FileEntry :defs $ {} |cdn? $ %{} :CodeEntry (:doc |) @@ -282,9 +314,10 @@ when (some? raw) dispatch! :hydrate-storage $ extract-cirru-edn (js/JSON.parse raw) println "|App started." + println "\"@@@@@@@@@@@@@@@@\n@\n@ Well, code is not minified on purpose~\n@\n@ although it's still bundled with Vite.\n@\n@@@@@@@@@@@@@@@@" |mount-target $ %{} :CodeEntry (:doc |) :code $ quote - def mount-target $ .querySelector js/document |.app + def mount-target $ js/document.querySelector |.app |persist-storage! $ %{} :CodeEntry (:doc |) :code $ quote defn persist-storage! () $ .setItem js/localStorage (:storage-key config/site) @@ -332,7 +365,7 @@ :: :column "\"Frameworks" $ [] (:: :link |Respo "|virtual DOM library" |https://github.com/Respo/respo.calcit) (:: :link |Phlox "|virtual DOM like wrapper on top of PIXI" |https://github.com/Quamolit/phlox.calcit) (:: :link "\"Lagopus" "\"thin WebGPU abstraction" "\"https://github.com/Triadica/lagopus") (:: :link |Quamolit "|what if we make animations in React's way?" |https://github.com/Quamolit/quamolit.calcit) (:: :link |Quaterfoil "|thin virtual DOM wrapper over three.js" |https://github.com/Quamolit/quatrefoil.calcit) (:: :link |Cumulo "|template for tiny realtime apps" |https://github.com/Cumulo/cumulo-workflow.calcit) :: :column "\"Tools" $ [] (:: :link "|Calcit IR viewer" nil |https://github.com/calcit-lang/calcit-ir-viewer) (:: :link "|Calcit Error viewer" nil |https://github.com/calcit-lang/calcit-error-viewer) (:: :link "\"Calcit binding for clipboard" nil "\"https://github.com/calcit-lang/calcit-clipboard") (:: :link "\"Calcit JSON" "\"JSON binding" "\"https://github.com/calcit-lang/calcit-json") :: :column "\"Videos" $ [] (:: :link "\"Calcit 开发记录: list-match 语法" nil "\"https://www.bilibili.com/video/BV1Su4y1X7kg/") (:: :link "\"Calcit 0.7 变更记录, Tag, Tuple 和多态" nil "\"https://www.bilibili.com/video/BV11L411v7Vk/") (:: :link "\"Calcit 更新: caps 命令下载依赖" nil "\"https://www.bilibili.com/video/BV11A41127UW/") (:: :link "\"Calcit 开发记录: bundle_calcit 增加热替换支持" nil "\"https://www.bilibili.com/video/BV1WU4y1S7KK/") (:: :link "|Calcit-js 开发的阶段介绍 2021-11" nil |https://www.bilibili.com/video/BV1Yg411K73P) (:: :link "|calcit-js 开发记录(21-01-22) 关于 ternary-tree.ts 重构" nil |https://www.bilibili.com/video/BV1Ht4y167Fg) (:: :link "|calcit-js 阶段介绍(2021-01)" nil |https://www.bilibili.com/video/BV1H5411n7su) (:: :link "|calcit-runner 阶段记录介绍(2021-01)" nil |https://www.bilibili.com/video/BV1cK4y1W7dZ) - :: :column "\"Articles" $ [] (:: :link "\"design decision: rename \"keyword\" to \"tag\" #209" nil "\"https://github.com/calcit-lang/calcit/discussions/209") (:: :link "|Calcit 脚本语言一些基础介绍" nil |https://zhuanlan.zhihu.com/p/394791973) (:: :link "|Introducing calcit-js: toy language inspired by cljs" nil |https://clojureverse.org/t/introducing-calcit-js-toy-language-inspired-by-cljs/7097) (:: :link "|An indentation way to Lisp" nil |https://github.com/calcit-lang/calcit-runner/discussions/123) (:: :link "|Problems encountered in generating js" nil |https://github.com/calcit-lang/calcit-runner.nim/discussions/148) (:: :link "|calcit-js 的 JavaScript 代码生成与疑难" nil |https://github.com/calcit-lang/calcit-runner.nim/discussions/184) (:: :link "|ternary-tree.ts: 关于初期的性能优化(on early optimizations)" nil |https://github.com/calcit-lang/ternary-tree.ts/discussions/7) (:: :link "|A trick for cheaper persistent list in JavaScript" nil |https://clojureverse.org/t/a-trick-for-cheaper-persistent-list-in-javascript/7172) + :: :column "\"Articles" $ [] (:: :link "\"Calcit 相比 Clojure 一些有意思的元编程能力 #226" nil "\"https://github.com/calcit-lang/calcit/discussions/226") (:: :link "\"design decision: rename \"keyword\" to \"tag\" #209" nil "\"https://github.com/calcit-lang/calcit/discussions/209") (:: :link "|Calcit 脚本语言一些基础介绍" nil |https://zhuanlan.zhihu.com/p/394791973) (:: :link "|Introducing calcit-js: toy language inspired by cljs" nil |https://clojureverse.org/t/introducing-calcit-js-toy-language-inspired-by-cljs/7097) (:: :link "|An indentation way to Lisp" nil |https://github.com/calcit-lang/calcit-runner/discussions/123) (:: :link "|Problems encountered in generating js" nil |https://github.com/calcit-lang/calcit-runner.nim/discussions/148) (:: :link "|calcit-js 的 JavaScript 代码生成与疑难" nil |https://github.com/calcit-lang/calcit-runner.nim/discussions/184) (:: :link "|ternary-tree.ts: 关于初期的性能优化(on early optimizations)" nil |https://github.com/calcit-lang/ternary-tree.ts/discussions/7) (:: :link "|A trick for cheaper persistent list in JavaScript" nil |https://clojureverse.org/t/a-trick-for-cheaper-persistent-list-in-javascript/7172) |doc-features $ %{} :CodeEntry (:doc |) :code $ quote def doc-features $ [] (:: :feature "\"Immutable" "\"Values and states are represented in different data structures, which is the semantics from functional programming. Internally it's [rpds](https://docs.rs/rpds/) in Rust and a custom [2-3 tree](https://github.com/calcit-lang/ternary-tree.ts) in JavaScript.") (:: :feature "\"Lisp(Code is Data)" "\"Calcit-js was designed based on experiences from ClojureScript, with a bunch of builtin macros. It offers similar experiences to ClojureScript. So Calcit offers much power via macros, while keeping its core simple.") (:: :feature "\"Indentations-based Syntax" "\"With `bundle_calcit` command, Calcit code can be written as an indentation-based language. So you don't have to match parentheses like in Clojure. It also means now you need to handle indentations very carefully.") (:: :feature "\"Hot code swapping" "\"Calcit was built with hot swapping in mind. Combined with [calcit-editor](https://github.com/calcit-lang/editor), it watches code changes by default, and re-runs program on updates. For calcit-js, it works with Vite and Webpack to reload, learning from Elm, ClojureScript and React.") (:: :feature "\"ES Modules Syntax" "\"To leverage the power of modern browsers with help of Vite, we need another ClojureScript that emits `import`/`export` for Vite. Calcit-js does this! And this page is built with Calcit-js as well, open Console to find out more.") diff --git a/content/cirru.md b/content/cirru.md index 92edfa0..a8f3665 100644 --- a/content/cirru.md +++ b/content/cirru.md @@ -1,25 +1,7 @@ +### Editors -### Cirru +Calcit adopts idea of structural editing, using an auto-layout code editor. [@calcit/editor](https://github.com/calcit-lang/editor) is Calcit's default editor. You may find more about the ideas in [Structural Editing](http://guide.calcit-lang.org/structural-editor.html) section. Snapshot of editor is saved in "Cirru EDN" data format. -Also see [Cirru Project](http://cirru.org/) for higher goals of auto-layout code editor, which is Calcit's default editor. +Also see [Cirru Project](http://cirru.org/) for previous work on structural editing. -Example of a `compact.cirru` file generated from calcit-editor: - -```cirru -{} (:package |app) - :configs $ {} (:init-fn |app.main/main!) (:reload-fn |app.main/reload!) - :modules $ [] - :files $ {} - |app.main $ %{} :FileEntry - :defs $ {} - |main! $ quote - defn main! () (+ 1 2) - |reload! $ quote - defn reload! () - :ns $ quote - ns app.main $ :require -``` - -If you want to write in a text editor, check out `bundle_calcit` command in project. 也可以查看相关中文[介绍视频](https://www.bilibili.com/video/BV1ry4y1W7VW?from=search&seid=17614445788882056969). - -There's also a "Cirru EDN" format for data. +If you want to write in a text editor, check out `bundle_calcit` command in project. A boilerplate can be find in [minimal-calcit](https://github.com/calcit-lang/minimal-calcit). 也可以查看相关中文[介绍视频](https://www.bilibili.com/video/BV1ry4y1W7VW?from=search&seid=17614445788882056969). diff --git a/content/demo/comp.cirru b/content/demo/comp.cirru new file mode 100644 index 0000000..a9b4052 --- /dev/null +++ b/content/demo/comp.cirru @@ -0,0 +1,10 @@ +defcomp comp-link (link) + tag-match link $ + :link title sub-title url + div ({}) + a $ {} (:href url) + :inner-text title + :target "\"_blank" + :class-name style-display-link + =< 8 nil + <> sub-title $ str-spaced css/font-fancy style-sub-title diff --git a/content/demo/persistent-data.cirru b/content/demo/persistent-data.cirru new file mode 100644 index 0000000..3898ce4 --- /dev/null +++ b/content/demo/persistent-data.cirru @@ -0,0 +1,5 @@ + +-> ({}) + assoc :a 1 + assoc-in ([] :b :c) 2 + update :a $ fn (a) (inc a) diff --git a/content/demo/pipeline.cirru b/content/demo/pipeline.cirru new file mode 100644 index 0000000..bfe1794 --- /dev/null +++ b/content/demo/pipeline.cirru @@ -0,0 +1,6 @@ + +-> 100 range + filter $ fn (x) + > n 50 + map $ fn (x) (* x x) + w-log diff --git a/content/demo/tag-match.cirru b/content/demo/tag-match.cirru new file mode 100644 index 0000000..d41cc80 --- /dev/null +++ b/content/demo/tag-match.cirru @@ -0,0 +1,5 @@ + +tag-match shape + (:circle base radius) $ println "Circle with radius:" radius + (:rect base width height) $ println "Rect with height:" height + _ $ println "Unknown shape" diff --git a/package.json b/package.json index ed44532..2da6a87 100644 --- a/package.json +++ b/package.json @@ -1,11 +1,11 @@ { "dependencies": { - "@calcit/procs": "^0.8.2", + "@calcit/procs": "^0.8.13", "cirru-color": "^0.2.3" }, "devDependencies": { "bottom-tip": "^0.1.5", - "vite": "^4.4.9" + "vite": "^5.0.4" }, "version": "0.0.1" } diff --git a/yarn.lock b/yarn.lock index 6e68037..19057cb 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,10 +2,10 @@ # yarn lockfile v1 -"@calcit/procs@^0.8.2": - version "0.8.2" - resolved "https://registry.yarnpkg.com/@calcit/procs/-/procs-0.8.2.tgz#c27060b9ac686a1a6e548eb1ceb6bffae0e9ae7d" - integrity sha512-rJH4LcuUXtGTDSmD3NIxtW1YP6cwFXcytVmiJsqfnOFfeU8dhT6Tn2//TfOwcdOtjMU2p8+Ttga0gV8GPmO0hg== +"@calcit/procs@^0.8.13": + version "0.8.13" + resolved "https://registry.yarnpkg.com/@calcit/procs/-/procs-0.8.13.tgz#115d6d43ae22b0f63f34dcfac2b619c47ea28f50" + integrity sha512-VfQdrO0Chnn9apOA/qLAGXnI9PFuFeFwr6dUCNobKlNoiF+ZAFjIAZBbmVB57L9MDHrikmCDtiJ7KefM5NHtVg== dependencies: "@calcit/ternary-tree" "0.0.23" "@cirru/parser.ts" "^0.0.6" @@ -26,115 +26,175 @@ resolved "https://registry.yarnpkg.com/@cirru/writer.ts/-/writer.ts-0.1.4.tgz#4b5851d002ab7c4891457bf8c707f09620c8f122" integrity sha512-Uy3Y7jjLdaxLW9ajZuIS9rp+dhaSVU95hRRwvnP6E16PwgPl+zGs6Xqn1L7Lqw07ypujrdBBdFQyRJOLc6IHQQ== -"@esbuild/android-arm64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz#984b4f9c8d0377443cc2dfcef266d02244593622" - integrity sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ== - -"@esbuild/android-arm@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.18.20.tgz#fedb265bc3a589c84cc11f810804f234947c3682" - integrity sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw== - -"@esbuild/android-x64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.18.20.tgz#35cf419c4cfc8babe8893d296cd990e9e9f756f2" - integrity sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg== - -"@esbuild/darwin-arm64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz#08172cbeccf95fbc383399a7f39cfbddaeb0d7c1" - integrity sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA== - -"@esbuild/darwin-x64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz#d70d5790d8bf475556b67d0f8b7c5bdff053d85d" - integrity sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ== - -"@esbuild/freebsd-arm64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz#98755cd12707f93f210e2494d6a4b51b96977f54" - integrity sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw== - -"@esbuild/freebsd-x64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz#c1eb2bff03915f87c29cece4c1a7fa1f423b066e" - integrity sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ== - -"@esbuild/linux-arm64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz#bad4238bd8f4fc25b5a021280c770ab5fc3a02a0" - integrity sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA== - -"@esbuild/linux-arm@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz#3e617c61f33508a27150ee417543c8ab5acc73b0" - integrity sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg== - -"@esbuild/linux-ia32@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz#699391cccba9aee6019b7f9892eb99219f1570a7" - integrity sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA== - -"@esbuild/linux-loong64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz#e6fccb7aac178dd2ffb9860465ac89d7f23b977d" - integrity sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg== - -"@esbuild/linux-mips64el@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz#eeff3a937de9c2310de30622a957ad1bd9183231" - integrity sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ== - -"@esbuild/linux-ppc64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz#2f7156bde20b01527993e6881435ad79ba9599fb" - integrity sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA== - -"@esbuild/linux-riscv64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz#6628389f210123d8b4743045af8caa7d4ddfc7a6" - integrity sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A== - -"@esbuild/linux-s390x@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz#255e81fb289b101026131858ab99fba63dcf0071" - integrity sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ== - -"@esbuild/linux-x64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz#c7690b3417af318a9b6f96df3031a8865176d338" - integrity sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w== - -"@esbuild/netbsd-x64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz#30e8cd8a3dded63975e2df2438ca109601ebe0d1" - integrity sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A== - -"@esbuild/openbsd-x64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz#7812af31b205055874c8082ea9cf9ab0da6217ae" - integrity sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg== - -"@esbuild/sunos-x64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz#d5c275c3b4e73c9b0ecd38d1ca62c020f887ab9d" - integrity sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ== - -"@esbuild/win32-arm64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz#73bc7f5a9f8a77805f357fab97f290d0e4820ac9" - integrity sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg== - -"@esbuild/win32-ia32@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz#ec93cbf0ef1085cc12e71e0d661d20569ff42102" - integrity sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g== - -"@esbuild/win32-x64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz#786c5f41f043b07afb1af37683d7c33668858f6d" - integrity sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ== +"@esbuild/android-arm64@0.19.8": + version "0.19.8" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.19.8.tgz#fb7130103835b6d43ea499c3f30cfb2b2ed58456" + integrity sha512-B8JbS61bEunhfx8kasogFENgQfr/dIp+ggYXwTqdbMAgGDhRa3AaPpQMuQU0rNxDLECj6FhDzk1cF9WHMVwrtA== + +"@esbuild/android-arm@0.19.8": + version "0.19.8" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.19.8.tgz#b46e4d9e984e6d6db6c4224d72c86b7757e35bcb" + integrity sha512-31E2lxlGM1KEfivQl8Yf5aYU/mflz9g06H6S15ITUFQueMFtFjESRMoDSkvMo8thYvLBax+VKTPlpnx+sPicOA== + +"@esbuild/android-x64@0.19.8": + version "0.19.8" + resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.19.8.tgz#a13db9441b5a4f4e4fec4a6f8ffacfea07888db7" + integrity sha512-rdqqYfRIn4jWOp+lzQttYMa2Xar3OK9Yt2fhOhzFXqg0rVWEfSclJvZq5fZslnz6ypHvVf3CT7qyf0A5pM682A== + +"@esbuild/darwin-arm64@0.19.8": + version "0.19.8" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.19.8.tgz#49f5718d36541f40dd62bfdf84da9c65168a0fc2" + integrity sha512-RQw9DemMbIq35Bprbboyf8SmOr4UXsRVxJ97LgB55VKKeJOOdvsIPy0nFyF2l8U+h4PtBx/1kRf0BelOYCiQcw== + +"@esbuild/darwin-x64@0.19.8": + version "0.19.8" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.19.8.tgz#75c5c88371eea4bfc1f9ecfd0e75104c74a481ac" + integrity sha512-3sur80OT9YdeZwIVgERAysAbwncom7b4bCI2XKLjMfPymTud7e/oY4y+ci1XVp5TfQp/bppn7xLw1n/oSQY3/Q== + +"@esbuild/freebsd-arm64@0.19.8": + version "0.19.8" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.8.tgz#9d7259fea4fd2b5f7437b52b542816e89d7c8575" + integrity sha512-WAnPJSDattvS/XtPCTj1tPoTxERjcTpH6HsMr6ujTT+X6rylVe8ggxk8pVxzf5U1wh5sPODpawNicF5ta/9Tmw== + +"@esbuild/freebsd-x64@0.19.8": + version "0.19.8" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.19.8.tgz#abac03e1c4c7c75ee8add6d76ec592f46dbb39e3" + integrity sha512-ICvZyOplIjmmhjd6mxi+zxSdpPTKFfyPPQMQTK/w+8eNK6WV01AjIztJALDtwNNfFhfZLux0tZLC+U9nSyA5Zg== + +"@esbuild/linux-arm64@0.19.8": + version "0.19.8" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.19.8.tgz#c577932cf4feeaa43cb9cec27b89cbe0df7d9098" + integrity sha512-z1zMZivxDLHWnyGOctT9JP70h0beY54xDDDJt4VpTX+iwA77IFsE1vCXWmprajJGa+ZYSqkSbRQ4eyLCpCmiCQ== + +"@esbuild/linux-arm@0.19.8": + version "0.19.8" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.19.8.tgz#d6014d8b98b5cbc96b95dad3d14d75bb364fdc0f" + integrity sha512-H4vmI5PYqSvosPaTJuEppU9oz1dq2A7Mr2vyg5TF9Ga+3+MGgBdGzcyBP7qK9MrwFQZlvNyJrvz6GuCaj3OukQ== + +"@esbuild/linux-ia32@0.19.8": + version "0.19.8" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.19.8.tgz#2379a0554307d19ac4a6cdc15b08f0ea28e7a40d" + integrity sha512-1a8suQiFJmZz1khm/rDglOc8lavtzEMRo0v6WhPgxkrjcU0LkHj+TwBrALwoz/OtMExvsqbbMI0ChyelKabSvQ== + +"@esbuild/linux-loong64@0.19.8": + version "0.19.8" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.19.8.tgz#e2a5bbffe15748b49356a6cd7b2d5bf60c5a7123" + integrity sha512-fHZWS2JJxnXt1uYJsDv9+b60WCc2RlvVAy1F76qOLtXRO+H4mjt3Tr6MJ5l7Q78X8KgCFudnTuiQRBhULUyBKQ== + +"@esbuild/linux-mips64el@0.19.8": + version "0.19.8" + resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.19.8.tgz#1359331e6f6214f26f4b08db9b9df661c57cfa24" + integrity sha512-Wy/z0EL5qZYLX66dVnEg9riiwls5IYnziwuju2oUiuxVc+/edvqXa04qNtbrs0Ukatg5HEzqT94Zs7J207dN5Q== + +"@esbuild/linux-ppc64@0.19.8": + version "0.19.8" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.19.8.tgz#9ba436addc1646dc89dae48c62d3e951ffe70951" + integrity sha512-ETaW6245wK23YIEufhMQ3HSeHO7NgsLx8gygBVldRHKhOlD1oNeNy/P67mIh1zPn2Hr2HLieQrt6tWrVwuqrxg== + +"@esbuild/linux-riscv64@0.19.8": + version "0.19.8" + resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.19.8.tgz#fbcf0c3a0b20f40b5fc31c3b7695f0769f9de66b" + integrity sha512-T2DRQk55SgoleTP+DtPlMrxi/5r9AeFgkhkZ/B0ap99zmxtxdOixOMI570VjdRCs9pE4Wdkz7JYrsPvsl7eESg== + +"@esbuild/linux-s390x@0.19.8": + version "0.19.8" + resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.19.8.tgz#989e8a05f7792d139d5564ffa7ff898ac6f20a4a" + integrity sha512-NPxbdmmo3Bk7mbNeHmcCd7R7fptJaczPYBaELk6NcXxy7HLNyWwCyDJ/Xx+/YcNH7Im5dHdx9gZ5xIwyliQCbg== + +"@esbuild/linux-x64@0.19.8": + version "0.19.8" + resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.19.8.tgz#b187295393a59323397fe5ff51e769ec4e72212b" + integrity sha512-lytMAVOM3b1gPypL2TRmZ5rnXl7+6IIk8uB3eLsV1JwcizuolblXRrc5ShPrO9ls/b+RTp+E6gbsuLWHWi2zGg== + +"@esbuild/netbsd-x64@0.19.8": + version "0.19.8" + resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.19.8.tgz#c1ec0e24ea82313cb1c7bae176bd5acd5bde7137" + integrity sha512-hvWVo2VsXz/8NVt1UhLzxwAfo5sioj92uo0bCfLibB0xlOmimU/DeAEsQILlBQvkhrGjamP0/el5HU76HAitGw== + +"@esbuild/openbsd-x64@0.19.8": + version "0.19.8" + resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.19.8.tgz#0c5b696ac66c6d70cf9ee17073a581a28af9e18d" + integrity sha512-/7Y7u77rdvmGTxR83PgaSvSBJCC2L3Kb1M/+dmSIvRvQPXXCuC97QAwMugBNG0yGcbEGfFBH7ojPzAOxfGNkwQ== + +"@esbuild/sunos-x64@0.19.8": + version "0.19.8" + resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.19.8.tgz#2a697e1f77926ff09fcc457d8f29916d6cd48fb1" + integrity sha512-9Lc4s7Oi98GqFA4HzA/W2JHIYfnXbUYgekUP/Sm4BG9sfLjyv6GKKHKKVs83SMicBF2JwAX6A1PuOLMqpD001w== + +"@esbuild/win32-arm64@0.19.8": + version "0.19.8" + resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.19.8.tgz#ec029e62a2fca8c071842ecb1bc5c2dd20b066f1" + integrity sha512-rq6WzBGjSzihI9deW3fC2Gqiak68+b7qo5/3kmB6Gvbh/NYPA0sJhrnp7wgV4bNwjqM+R2AApXGxMO7ZoGhIJg== + +"@esbuild/win32-ia32@0.19.8": + version "0.19.8" + resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.19.8.tgz#cbb9a3146bde64dc15543e48afe418c7a3214851" + integrity sha512-AIAbverbg5jMvJznYiGhrd3sumfwWs8572mIJL5NQjJa06P8KfCPWZQ0NwZbPQnbQi9OWSZhFVSUWjjIrn4hSw== + +"@esbuild/win32-x64@0.19.8": + version "0.19.8" + resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.19.8.tgz#c8285183dbdb17008578dbacb6e22748709b4822" + integrity sha512-bfZ0cQ1uZs2PqpulNL5j/3w+GDhP36k1K5c38QdQg+Swy51jFZWWeIkteNsufkQxp986wnqRRsb/bHbY1WQ7TA== + +"@rollup/rollup-android-arm-eabi@4.6.1": + version "4.6.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.6.1.tgz#0ea289f68ff248b50fea5716ca9f65f7d4dba3ae" + integrity sha512-0WQ0ouLejaUCRsL93GD4uft3rOmB8qoQMU05Kb8CmMtMBe7XUDLAltxVZI1q6byNqEtU7N1ZX1Vw5lIpgulLQA== + +"@rollup/rollup-android-arm64@4.6.1": + version "4.6.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.6.1.tgz#27c8c67fc5de574874085a1b480ac65b3e18378e" + integrity sha512-1TKm25Rn20vr5aTGGZqo6E4mzPicCUD79k17EgTLAsXc1zysyi4xXKACfUbwyANEPAEIxkzwue6JZ+stYzWUTA== + +"@rollup/rollup-darwin-arm64@4.6.1": + version "4.6.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.6.1.tgz#c5735c042980c85495411af7183dd20294763bd8" + integrity sha512-cEXJQY/ZqMACb+nxzDeX9IPLAg7S94xouJJCNVE5BJM8JUEP4HeTF+ti3cmxWeSJo+5D+o8Tc0UAWUkfENdeyw== + +"@rollup/rollup-darwin-x64@4.6.1": + version "4.6.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.6.1.tgz#af844bd54abb73ca3c9cf89a31eec17861d1375d" + integrity sha512-LoSU9Xu56isrkV2jLldcKspJ7sSXmZWkAxg7sW/RfF7GS4F5/v4EiqKSMCFbZtDu2Nc1gxxFdQdKwkKS4rwxNg== + +"@rollup/rollup-linux-arm-gnueabihf@4.6.1": + version "4.6.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.6.1.tgz#5e972f63c441eaf859551039b3f18db9b035977d" + integrity sha512-EfI3hzYAy5vFNDqpXsNxXcgRDcFHUWSx5nnRSCKwXuQlI5J9dD84g2Usw81n3FLBNsGCegKGwwTVsSKK9cooSQ== + +"@rollup/rollup-linux-arm64-gnu@4.6.1": + version "4.6.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.6.1.tgz#f4cfbc71e3b6fdb395b28b1472414e181515c72d" + integrity sha512-9lhc4UZstsegbNLhH0Zu6TqvDfmhGzuCWtcTFXY10VjLLUe4Mr0Ye2L3rrtHaDd/J5+tFMEuo5LTCSCMXWfUKw== + +"@rollup/rollup-linux-arm64-musl@4.6.1": + version "4.6.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.6.1.tgz#6a94c691830dc29bf708de7c640f494996130893" + integrity sha512-FfoOK1yP5ksX3wwZ4Zk1NgyGHZyuRhf99j64I5oEmirV8EFT7+OhUZEnP+x17lcP/QHJNWGsoJwrz4PJ9fBEXw== + +"@rollup/rollup-linux-x64-gnu@4.6.1": + version "4.6.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.6.1.tgz#f07bae3f7dc532d9ea5ab36c9071db329f9a1efb" + integrity sha512-DNGZvZDO5YF7jN5fX8ZqmGLjZEXIJRdJEdTFMhiyXqyXubBa0WVLDWSNlQ5JR2PNgDbEV1VQowhVRUh+74D+RA== + +"@rollup/rollup-linux-x64-musl@4.6.1": + version "4.6.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.6.1.tgz#357a34fdbf410af88ce48bd802bea6462bb9a8bc" + integrity sha512-RkJVNVRM+piYy87HrKmhbexCHg3A6Z6MU0W9GHnJwBQNBeyhCJG9KDce4SAMdicQnpURggSvtbGo9xAWOfSvIQ== + +"@rollup/rollup-win32-arm64-msvc@4.6.1": + version "4.6.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.6.1.tgz#b6e97fd38281667e35297033393cd1101f4a31be" + integrity sha512-v2FVT6xfnnmTe3W9bJXl6r5KwJglMK/iRlkKiIFfO6ysKs0rDgz7Cwwf3tjldxQUrHL9INT/1r4VA0n9L/F1vQ== + +"@rollup/rollup-win32-ia32-msvc@4.6.1": + version "4.6.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.6.1.tgz#a95db026c640c8128bfd38546d85342f2329beaf" + integrity sha512-YEeOjxRyEjqcWphH9dyLbzgkF8wZSKAKUkldRY6dgNR5oKs2LZazqGB41cWJ4Iqqcy9/zqYgmzBkRoVz3Q9MLw== + +"@rollup/rollup-win32-x64-msvc@4.6.1": + version "4.6.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.6.1.tgz#45785b5caf83200a34a9867ba50d69560880c120" + integrity sha512-0zfTlFAIhgz8V2G8STq8toAjsYYA6eci1hnXuyOTUFnymrtJwnS6uGKiv3v5UrPZkBlamLvrLV2iiaeqCKzb0A== bottom-tip@^0.1.5: version "0.1.5" @@ -173,33 +233,33 @@ error@^4.3.0: string-template "~0.2.0" xtend "~4.0.0" -esbuild@^0.18.10: - version "0.18.20" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.18.20.tgz#4709f5a34801b43b799ab7d6d82f7284a9b7a7a6" - integrity sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA== +esbuild@^0.19.3: + version "0.19.8" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.19.8.tgz#ad05b72281d84483fa6b5345bd246c27a207b8f1" + integrity sha512-l7iffQpT2OrZfH2rXIp7/FkmaeZM0vxbxN9KfiCwGYuZqzMg/JdvX26R31Zxn/Pxvsrg3Y9N6XTcnknqDyyv4w== optionalDependencies: - "@esbuild/android-arm" "0.18.20" - "@esbuild/android-arm64" "0.18.20" - "@esbuild/android-x64" "0.18.20" - "@esbuild/darwin-arm64" "0.18.20" - "@esbuild/darwin-x64" "0.18.20" - "@esbuild/freebsd-arm64" "0.18.20" - "@esbuild/freebsd-x64" "0.18.20" - "@esbuild/linux-arm" "0.18.20" - "@esbuild/linux-arm64" "0.18.20" - "@esbuild/linux-ia32" "0.18.20" - "@esbuild/linux-loong64" "0.18.20" - "@esbuild/linux-mips64el" "0.18.20" - "@esbuild/linux-ppc64" "0.18.20" - "@esbuild/linux-riscv64" "0.18.20" - "@esbuild/linux-s390x" "0.18.20" - "@esbuild/linux-x64" "0.18.20" - "@esbuild/netbsd-x64" "0.18.20" - "@esbuild/openbsd-x64" "0.18.20" - "@esbuild/sunos-x64" "0.18.20" - "@esbuild/win32-arm64" "0.18.20" - "@esbuild/win32-ia32" "0.18.20" - "@esbuild/win32-x64" "0.18.20" + "@esbuild/android-arm" "0.19.8" + "@esbuild/android-arm64" "0.19.8" + "@esbuild/android-x64" "0.19.8" + "@esbuild/darwin-arm64" "0.19.8" + "@esbuild/darwin-x64" "0.19.8" + "@esbuild/freebsd-arm64" "0.19.8" + "@esbuild/freebsd-x64" "0.19.8" + "@esbuild/linux-arm" "0.19.8" + "@esbuild/linux-arm64" "0.19.8" + "@esbuild/linux-ia32" "0.19.8" + "@esbuild/linux-loong64" "0.19.8" + "@esbuild/linux-mips64el" "0.19.8" + "@esbuild/linux-ppc64" "0.19.8" + "@esbuild/linux-riscv64" "0.19.8" + "@esbuild/linux-s390x" "0.19.8" + "@esbuild/linux-x64" "0.19.8" + "@esbuild/netbsd-x64" "0.19.8" + "@esbuild/openbsd-x64" "0.19.8" + "@esbuild/sunos-x64" "0.19.8" + "@esbuild/win32-arm64" "0.19.8" + "@esbuild/win32-ia32" "0.19.8" + "@esbuild/win32-x64" "0.19.8" ev-store@^7.0.0: version "7.0.0" @@ -208,7 +268,7 @@ ev-store@^7.0.0: dependencies: individual "^3.0.0" -fsevents@~2.3.2: +fsevents@~2.3.2, fsevents@~2.3.3: version "2.3.3" resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== @@ -239,9 +299,9 @@ min-document@^2.19.0: dom-walk "^0.1.0" nanoid@^3.3.6: - version "3.3.6" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.6.tgz#443380c856d6e9f9824267d960b4236ad583ea4c" - integrity sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA== + version "3.3.7" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.7.tgz#d0c301a691bc8d54efa0a2226ccf3fe2fd656bd8" + integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g== nanoid@^4.0.1: version "4.0.2" @@ -258,10 +318,10 @@ picocolors@^1.0.0: resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== -postcss@^8.4.27: - version "8.4.30" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.30.tgz#0e0648d551a606ef2192a26da4cabafcc09c1aa7" - integrity sha512-7ZEao1g4kd68l97aWG/etQKPKq07us0ieSZ2TnFDk11i0ZfDW2AwKHYU8qv4MZKqN2fdBfg+7q0ES06UA73C1g== +postcss@^8.4.31: + version "8.4.31" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.31.tgz#92b451050a9f914da6755af352bdc0192508656d" + integrity sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ== dependencies: nanoid "^3.3.6" picocolors "^1.0.0" @@ -272,11 +332,23 @@ process@^0.11.10: resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" integrity sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A== -rollup@^3.27.1: - version "3.29.2" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-3.29.2.tgz#cbc76cd5b03b9f9e93be991d23a1dff9c6d5b740" - integrity sha512-CJouHoZ27v6siztc21eEQGo0kIcE5D1gVPA571ez0mMYb25LGYGKnVNXpEj5MGlepmDWGXNjDB5q7uNiPHC11A== +rollup@^4.2.0: + version "4.6.1" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.6.1.tgz#351501c86b5b4f976dde8c5837516452b59921f8" + integrity sha512-jZHaZotEHQaHLgKr8JnQiDT1rmatjgKlMekyksz+yk9jt/8z9quNjnKNRoaM0wd9DC2QKXjmWWuDYtM3jfF8pQ== optionalDependencies: + "@rollup/rollup-android-arm-eabi" "4.6.1" + "@rollup/rollup-android-arm64" "4.6.1" + "@rollup/rollup-darwin-arm64" "4.6.1" + "@rollup/rollup-darwin-x64" "4.6.1" + "@rollup/rollup-linux-arm-gnueabihf" "4.6.1" + "@rollup/rollup-linux-arm64-gnu" "4.6.1" + "@rollup/rollup-linux-arm64-musl" "4.6.1" + "@rollup/rollup-linux-x64-gnu" "4.6.1" + "@rollup/rollup-linux-x64-musl" "4.6.1" + "@rollup/rollup-win32-arm64-msvc" "4.6.1" + "@rollup/rollup-win32-ia32-msvc" "4.6.1" + "@rollup/rollup-win32-x64-msvc" "4.6.1" fsevents "~2.3.2" source-map-js@^1.0.2: @@ -303,16 +375,16 @@ virtual-dom@^2.1.1: x-is-array "0.1.0" x-is-string "0.1.0" -vite@^4.4.9: - version "4.4.9" - resolved "https://registry.yarnpkg.com/vite/-/vite-4.4.9.tgz#1402423f1a2f8d66fd8d15e351127c7236d29d3d" - integrity sha512-2mbUn2LlUmNASWwSCNSJ/EG2HuSRTnVNaydp6vMCm5VIqJsjMfbIWtbH2kDuwUVW5mMUKKZvGPX/rqeqVvv1XA== +vite@^5.0.4: + version "5.0.4" + resolved "https://registry.yarnpkg.com/vite/-/vite-5.0.4.tgz#d984d2aaa8bac30f1ca9b9eea9b97e052f88c307" + integrity sha512-RzAr8LSvM8lmhB4tQ5OPcBhpjOZRZjuxv9zO5UcxeoY2bd3kP3Ticd40Qma9/BqZ8JS96Ll/jeBX9u+LJZrhVg== dependencies: - esbuild "^0.18.10" - postcss "^8.4.27" - rollup "^3.27.1" + esbuild "^0.19.3" + postcss "^8.4.31" + rollup "^4.2.0" optionalDependencies: - fsevents "~2.3.2" + fsevents "~2.3.3" x-is-array@0.1.0: version "0.1.0"