浏览代码

Merge branch 'master' into feat/db

Gabriel Horner 1 年之前
父节点
当前提交
b55fe07768

+ 24 - 7
bb.edn

@@ -32,15 +32,32 @@
   dev:app-watch
   dev:app-watch
   logseq.tasks.dev.mobile/app-watch
   logseq.tasks.dev.mobile/app-watch
 
 
-  dev:build-publishing
-  logseq.tasks.dev/build-publishing
+  -dev:build-publishing-frontend
+  logseq.tasks.dev/build-publishing-frontend
+
+  dev:publishing-backend
+  logseq.tasks.dev/publishing-backend
+
+  -dev:publishing-release
+  {:depends [-dev:build-publishing-frontend]
+   :doc "Build release publishing spa app given graph and output dirs"
+   :task (run 'dev:publishing-backend)}
+
+  -dev:watch-publishing-frontend
+  logseq.tasks.dev/watch-publishing-frontend
+
+  -dev:watch-publishing-backend
+  logseq.tasks.dev/watch-publishing-backend
+
+  -dev:publishing-dev
+  {:depends [-dev:watch-publishing-frontend -dev:watch-publishing-backend]
+   :doc "Watch dev publishing spa app given graph and output dirs"}
 
 
   dev:publishing
   dev:publishing
-  {:depends [dev:build-publishing]
-   :doc "Build publishing spa app given graph and output dirs"
-   :task (apply shell {:dir "scripts"}
-                "yarn -s nbb-logseq -cp src -m logseq.tasks.dev.publishing"
-                (into ["static"] *command-line-args*))}
+  {:doc "Builds full publishing app given graph and output dirs. Append --dev to watch frontend"
+   :task (if ((set *command-line-args*) "--dev")
+           (run '-dev:publishing-dev {:parallel true})
+           (run '-dev:publishing-release))}
 
 
   dev:validate-db
   dev:validate-db
   {:doc "Validate a DB graph's datascript schema"
   {:doc "Validate a DB graph's datascript schema"

+ 1 - 4
deps/publishing/src/logseq/publishing/export.cljs

@@ -42,10 +42,7 @@
                 (fs/symlinkSync (node-path/join source-static-dir "js" "publishing" "cljs-runtime")
                 (fs/symlinkSync (node-path/join source-static-dir "js" "publishing" "cljs-runtime")
                                 (node-path/join output-static-dir "js" "cljs-runtime")))
                                 (node-path/join output-static-dir "js" "cljs-runtime")))
             ;; remove publishing-dir
             ;; remove publishing-dir
-            _ (when-not dev? (p/all (map (fn [file]
-                                           (fs/rmSync (node-path/join publishing-dir file)))
-                                         (fs/readdirSync publishing-dir))))
-            _ (when-not dev? (fs/rmdirSync publishing-dir))
+            _ (when-not dev? (fse/remove publishing-dir))
             ;; remove source map files
             ;; remove source map files
             _ (p/all (map (fn [file]
             _ (p/all (map (fn [file]
                             (fs/rmSync (node-path/join output-static-dir "js" (str file ".map")) #js {:force true}))
                             (fs/rmSync (node-path/join output-static-dir "js" (str file ".map")) #js {:force true}))

+ 11 - 4
docs/dev-practices.md

@@ -320,13 +320,20 @@ point out:
   ```sh
   ```sh
   # One time setup
   # One time setup
   $ cd scripts && yarn install && cd -
   $ cd scripts && yarn install && cd -
-  # Build a release export
+
+  # Build a release publishing app
   $ bb dev:publishing /path/to/graph-dir tmp/publish
   $ bb dev:publishing /path/to/graph-dir tmp/publish
-  # OR build a dev export with `clojure -M:cljs watch publishing` and then
+
+  # OR build a dev publishing app that watches frontend changes
   $ bb dev:publishing /path/to/graph-dir tmp/publish --dev
   $ bb dev:publishing /path/to/graph-dir tmp/publish --dev
 
 
-  # View the app in a browser
-  $ python3 -m http.server 8080 -d tmp/db-publish &; open http://localhost:8080
+  # View the publishing app in a browser
+  $ python3 -m http.server 8080 -d tmp/publish &; open http://localhost:8080
+
+  # Rebuild the publishing backend for dev/release.
+  # Handy when making backend changes in deps/publishing or
+  # to test a different graph
+  $ bb dev:publishing-backend /path/graph-dir tmp/publish
 
 
   ```
   ```
 
 

+ 0 - 8
package.json

@@ -161,14 +161,6 @@
         "yargs-parser": "20.2.4"
         "yargs-parser": "20.2.4"
     },
     },
     "resolutions": {
     "resolutions": {
-        "**/postcss": "8.4.17",
-        "**/postcss-colormin": "5.3.0",
-        "**/postcss-convert-values": "5.1.2",
-        "**/postcss-js": "4.0.0",
-        "**/postcss-merge-longhand": "5.1.6",
-        "**/postcss-merge-rules": "5.1.2",
-        "**/postcss-minify-params": "5.1.3",
-        "**/postcss-reduce-initial": "5.1.0",
         "pixi-graph-fork/@pixi/app": "6.2.0",
         "pixi-graph-fork/@pixi/app": "6.2.0",
         "pixi-graph-fork/@pixi/constants": "6.2.0",
         "pixi-graph-fork/@pixi/constants": "6.2.0",
         "pixi-graph-fork/@pixi/core": "6.2.0",
         "pixi-graph-fork/@pixi/core": "6.2.0",

+ 37 - 12
scripts/src/logseq/tasks/dev.clj

@@ -4,6 +4,7 @@
   (:require [babashka.process :refer [shell]]
   (:require [babashka.process :refer [shell]]
             [babashka.fs :as fs]
             [babashka.fs :as fs]
             [babashka.cli :as cli]
             [babashka.cli :as cli]
+            [logseq.tasks.util :as task-util]
             [clojure.java.io :as io]
             [clojure.java.io :as io]
             [clojure.pprint :as pp]
             [clojure.pprint :as pp]
             [clojure.edn :as edn]
             [clojure.edn :as edn]
@@ -41,17 +42,6 @@
                    (pp/pprint (edn/read-string (:out (shell {:out :string} "node ./static/gen-malli-kondo-config.js")))))]
                    (pp/pprint (edn/read-string (:out (shell {:out :string} "node ./static/gen-malli-kondo-config.js")))))]
       (spit config-edn config))))
       (spit config-edn config))))
 
 
-(defn build-publishing
-  "Builds release publishing asset when files have changed"
-  [& _args]
-  (if-let [_files (and (not (System/getenv "SKIP_ASSET"))
-                       (seq (set (fs/modified-since (fs/file "static/js/publishing/main.js")
-                                                    (fs/glob "." "{src/main,deps/graph-parser/src}/**")))))]
-    (do
-      (println "Building publishing js asset...")
-      (shell "clojure -M:cljs release publishing"))
-    (println "Publishing js asset is up to date")))
-
 (defn diff-datoms
 (defn diff-datoms
   "Runs data/diff on two edn files written by dev:db-datoms"
   "Runs data/diff on two edn files written by dev:db-datoms"
   [file1 file2 & args]
   [file1 file2 & args]
@@ -66,4 +56,39 @@
                        drop-last
                        drop-last
                        ;; Remove nils as we're only interested in diffs
                        ;; Remove nils as we're only interested in diffs
                        (mapv #(vec (remove nil? %))))]
                        (mapv #(vec (remove nil? %))))]
-    (pp/pprint data-diff)))
+    (pp/pprint data-diff)))
+
+(defn build-publishing-frontend
+  "Builds frontend release publishing asset when files have changed"
+  [& _args]
+  (if-let [_files (and (not (System/getenv "SKIP_ASSET"))
+                       (seq (set (fs/modified-since (fs/file "static/js/publishing/main.js")
+                                                    (fs/glob "." "{src/main,deps/graph-parser/src}/**")))))]
+    (do
+      (println "Building publishing js asset...")
+      (shell "clojure -M:cljs release publishing"))
+    (println "Publishing js asset is up to date")))
+
+(defn publishing-backend
+  "Builds publishing backend and copies over supporting frontend assets"
+  [& args]
+  (apply shell {:dir "scripts"}
+         "yarn -s nbb-logseq -cp src -m logseq.tasks.dev.publishing"
+         (into ["static"] args)))
+
+(defn watch-publishing-frontend
+  [& _args]
+  (shell "clojure -M:cljs watch publishing"))
+
+(defn watch-publishing-backend
+  "Builds publishing backend once watch-publishing-frontend has built initial frontend"
+  [& args]
+  (let [start-time (java.time.Instant/now)]
+    (Thread/sleep 3000)
+    (loop [n 1000]
+      (if (and (fs/exists? "static/js/publishing/main.js")
+               (task-util/file-modified-later-than? "static/js/publishing/main.js" start-time))
+        (apply publishing-backend args)
+        (do (println "Waiting for publishing frontend to build...")
+            (Thread/sleep 1000)
+            (recur (inc n)))))))

+ 4 - 1
scripts/src/logseq/tasks/lang.clj

@@ -172,7 +172,10 @@
    :nl #{:plugins :type :left-side-bar/nav-recent-pages :plugin/update}
    :nl #{:plugins :type :left-side-bar/nav-recent-pages :plugin/update}
    :pl #{:port}
    :pl #{:port}
    :pt-BR #{:plugins :right-side-bar/flashcards :settings-page/enable-flashcards :page/backlinks
    :pt-BR #{:plugins :right-side-bar/flashcards :settings-page/enable-flashcards :page/backlinks
-            :host :settings-page/tab-editor :shortcut.category/plugins :whiteboard/link}
+            :host :settings-page/tab-editor :shortcut.category/plugins :whiteboard/link :settings-of-plugins :whiteboard
+            :whiteboards :on-boarding/quick-tour-journal-page-desc-2 :plugin/downloads :right-side-bar/history-global
+            :right-side-bar/whiteboards :search-item/whiteboard :settings-page/enable-whiteboards :settings-page/plugin-system
+            :shortcut.category/whiteboard :command.whiteboard/zoom-in :command.whiteboard/zoom-out}
    :pt-PT #{:plugins :settings-of-plugins :plugin/downloads :right-side-bar/flashcards
    :pt-PT #{:plugins :settings-of-plugins :plugin/downloads :right-side-bar/flashcards
             :settings-page/enable-flashcards :settings-page/plugin-system}
             :settings-page/enable-flashcards :settings-page/plugin-system}
    :nb-NO #{:port :type :whiteboard :right-side-bar/flashcards :right-side-bar/whiteboards
    :nb-NO #{:port :type :whiteboard :right-side-bar/flashcards :right-side-bar/whiteboards

+ 3 - 2
shadow-cljs.edn

@@ -98,11 +98,12 @@
 
 
   :publishing {:target :browser
   :publishing {:target :browser
                :module-loader true
                :module-loader true
-               :js-options    {:ignore-asset-requires true
+               :js-options    {;; handle `require(xxx.css)`
+                               :ignore-asset-requires true
                                :resolve {"react" {:target :global
                                :resolve {"react" {:target :global
                                                   :global "React"}
                                                   :global "React"}
                                          "react-dom" {:target :global
                                          "react-dom" {:target :global
-                                                      :global "ReactDOM"}}} ;; handle `require(xxx.css)`
+                                                      :global "ReactDOM"}}}
                :modules       {:shared
                :modules       {:shared
                                {:entries []}
                                {:entries []}
                                :main
                                :main

+ 349 - 167
src/resources/dicts/pt-br.edn

@@ -63,50 +63,50 @@
  :on-boarding/section-computer "computador"
  :on-boarding/section-computer "computador"
  :on-boarding/section-journals "Notas diárias"
  :on-boarding/section-journals "Notas diárias"
  :on-boarding/section-pages "PÁGINAS"
  :on-boarding/section-pages "PÁGINAS"
-:on-boarding/section-phone "telefone"
-:on-boarding/section-app "Aplicativo interno"
-:on-boarding/section-config "Arquivo de configuração"
-:query/config-property-settings "Configurações de propriedades para esta consulta:"
-:bug-report/main-title "Relatório de bug"
-:bug-report/clipboard-inspector-title "Inspetor de dados da área de transferência"
-:bug-report/main-desc "Você pode nos ajudar enviando um relatório de bug? Vamos resolver isso o mais rápido possível."
-:bug-report/section-clipboard-title "O bug que você encontrou está relacionado a esses recursos?"
-:bug-report/section-clipboard-desc "Você pode usar essas ferramentas úteis para nos fornecer informações adicionais."
-:bug-report/section-clipboard-btn-title "Auxiliar da área de transferência"
-:bug-report/section-clipboard-btn-desc "Inspetar e coletar dados da área de transferência"
-:bug-report/section-issues-title "Ou..."
-:bug-report/section-issues-desc "Se não houver ferramentas disponíveis para coletar informações adicionais, relate o bug diretamente."
-:bug-report/section-issues-btn-title "Enviar um relatório de bug"
-:bug-report/section-issues-btn-desc "Ajude a melhorar o Logseq!"
-:bug-report/inspector-page-desc-1 "Pressione Ctrl+V / ⌘+V para inspecionar os dados da área de transferência"
-:bug-report/inspector-page-desc-2 "ou clique aqui para colar se estiver usando a versão mobile"
-:bug-report/inspector-page-placeholder "Pressione e segure aqui para colar se estiver no mobile"
-:bug-report/inspector-page-tip "Algum problema? Sem problemas, clique para voltar para o passo anterior."
-:bug-report/inspector-page-btn-back "Voltar"
-:bug-report/inspector-page-btn-copy "Copiar o resultado"
-:bug-report/inspector-page-copy-notif "Copiado para a área de transferência!"
-:bug-report/inspector-page-btn-create-issue "Criar uma issue"
-:bug-report/inspector-page-desc-clipboard "Aqui estão os dados lidos da área de transferência."
-:bug-report/inspector-page-desc-copy "Se for seguro compartilhar, clique no botão de cópia."
-:bug-report/inspector-page-desc-create-issue "Agora você pode relatar o resultado colado na sua área de transferência. Cole o resultado na seção 'Contexto Adicional' e indique de onde você copiou o conteúdo original. Obrigado!"
-:help/title-usage "Uso"
-:help/title-community "Comunidade"
-:help/title-development "Desenvolvimento"
-:help/title-about "Sobre"
-:help/title-terms "Termos"
-:help/start "Começando"
-:help/about "Sobre o Logseq"
-:help/roadmap "Roteiro"
-:help/bug "Relatório de bug"
-:help/feature "Solicitação de recurso"
-:help/changelog "Registro de alterações"
-:help/blog "Blog do Logseq"
-:help/docs "Documentação"
-:help/privacy "Política de privacidade"
-:help/terms "Termos"
-:help/forum-community "Comunidade do Fórum"
-:help/awesome-logseq "Incrível Logseq"
-:help/shortcuts "Atalhos de teclado"
+ :on-boarding/section-phone "telefone"
+ :on-boarding/section-app "Aplicativo interno"
+ :on-boarding/section-config "Arquivo de configuração"
+ :query/config-property-settings "Configurações de propriedades para esta consulta:"
+ :bug-report/main-title "Relatório de bug"
+ :bug-report/clipboard-inspector-title "Inspetor de dados da área de transferência"
+ :bug-report/main-desc "Você pode nos ajudar enviando um relatório de bug? Vamos resolver isso o mais rápido possível."
+ :bug-report/section-clipboard-title "O bug que você encontrou está relacionado a esses recursos?"
+ :bug-report/section-clipboard-desc "Você pode usar essas ferramentas úteis para nos fornecer informações adicionais."
+ :bug-report/section-clipboard-btn-title "Auxiliar da área de transferência"
+ :bug-report/section-clipboard-btn-desc "Inspetar e coletar dados da área de transferência"
+ :bug-report/section-issues-title "Ou..."
+ :bug-report/section-issues-desc "Se não houver ferramentas disponíveis para coletar informações adicionais, relate o bug diretamente."
+ :bug-report/section-issues-btn-title "Enviar um relatório de bug"
+ :bug-report/section-issues-btn-desc "Ajude a melhorar o Logseq!"
+ :bug-report/inspector-page-desc-1 "Pressione Ctrl+V / ⌘+V para inspecionar os dados da área de transferência"
+ :bug-report/inspector-page-desc-2 "ou clique aqui para colar se estiver usando a versão mobile"
+ :bug-report/inspector-page-placeholder "Pressione e segure aqui para colar se estiver no mobile"
+ :bug-report/inspector-page-tip "Algum problema? Sem problemas, clique para voltar para o passo anterior."
+ :bug-report/inspector-page-btn-back "Voltar"
+ :bug-report/inspector-page-btn-copy "Copiar o resultado"
+ :bug-report/inspector-page-copy-notif "Copiado para a área de transferência!"
+ :bug-report/inspector-page-btn-create-issue "Criar uma issue"
+ :bug-report/inspector-page-desc-clipboard "Aqui estão os dados lidos da área de transferência."
+ :bug-report/inspector-page-desc-copy "Se for seguro compartilhar, clique no botão de cópia."
+ :bug-report/inspector-page-desc-create-issue "Agora você pode relatar o resultado colado na sua área de transferência. Cole o resultado na seção 'Contexto Adicional' e indique de onde você copiou o conteúdo original. Obrigado!"
+ :help/title-usage "Uso"
+ :help/title-community "Comunidade"
+ :help/title-development "Desenvolvimento"
+ :help/title-about "Sobre"
+ :help/title-terms "Termos"
+ :help/start "Começando"
+ :help/about "Sobre o Logseq"
+ :help/roadmap "Roteiro"
+ :help/bug "Relatório de bug"
+ :help/feature "Solicitação de recurso"
+ :help/changelog "Registro de alterações"
+ :help/blog "Blog do Logseq"
+ :help/docs "Documentação"
+ :help/privacy "Política de privacidade"
+ :help/terms "Termos"
+ :help/forum-community "Comunidade do Fórum"
+ :help/awesome-logseq "Incrível Logseq"
+ :help/shortcuts "Atalhos de teclado"
  :help/shortcuts-triggers "Gatilhos"
  :help/shortcuts-triggers "Gatilhos"
  :help/shortcut "Atalho"
  :help/shortcut "Atalho"
  :help/slash-autocomplete "Barra de preenchimento automático"
  :help/slash-autocomplete "Barra de preenchimento automático"
@@ -374,116 +374,116 @@
  :whiteboard/arrow-head "Cabeça da seta"
  :whiteboard/arrow-head "Cabeça da seta"
  :whiteboard/bold "Negrito"
  :whiteboard/bold "Negrito"
  :whiteboard/italic "Itálico"
  :whiteboard/italic "Itálico"
-:whiteboard/undo "Desfazer"
-:whiteboard/redo "Refazer"
-:whiteboard/zoom-in "Aumentar zoom"
-:whiteboard/zoom-out "Diminuir zoom"
-:whiteboard/select "Selecionar"
-:whiteboard/pan "Arrastar"
-:whiteboard/add-block-or-page "Adicionar bloco ou página"
-:whiteboard/draw "Desenhar"
-:whiteboard/highlight "Destacar"
-:whiteboard/eraser "Borracha"
-:whiteboard/connector "Conector"
-:whiteboard/text "Texto"
-:whiteboard/color "Cor"
-:whiteboard/select-custom-color "Selecionar cor personalizada"
-:whiteboard/opacity "Opacidade"
-:whiteboard/extra-small "Extra Pequeno"
-:whiteboard/small "Pequeno"
-:whiteboard/medium "Médio"
-:whiteboard/large "Grande"
-:whiteboard/extra-large "Extra Grande"
-:whiteboard/huge "Enorme"
-:whiteboard/scale-level "Nível de escala"
-:whiteboard/rectangle "Retângulo"
-:whiteboard/circle "Círculo"
-:whiteboard/triangle "Triângulo"
-:whiteboard/shape "Forma"
-:whiteboard/open-page "Abrir página"
-:whiteboard/open-page-in-sidebar "Abrir página na barra lateral"
-:whiteboard/remove-link "Remover link"
-:whiteboard/link "Link"
-:whiteboard/references "Referências"
-:whiteboard/link-to-any-page-or-block "Link para qualquer página ou bloco"
-:whiteboard/start-typing-to-search "Comece a digitar para pesquisar..."
-:whiteboard/new-block-no-colon "Novo bloco"
-:whiteboard/new-block "Novo bloco:"
-:whiteboard/new-page "Nova página:"
-:whiteboard/new-whiteboard "Novo whiteboard"
-:whiteboard/search-only-blocks "Pesquisar apenas blocos"
-:whiteboard/search-only-pages "Pesquisar apenas páginas"
-:whiteboard/cache-outdated "O cache está desatualizado. Clique no botão 'Re-indexar' no menu suspenso do grafo."
-:whiteboard/shape-quick-links "Links Rápidos de Forma"
-:whiteboard/edit-pdf "Editar PDF"
-:whiteboard/dashboard-card-new-whiteboard "Novo whiteboard"
-:whiteboard/dashboard-card-created "Criado "
-:whiteboard/dashboard-card-edited "Editado "
-:whiteboard/toggle-grid "Alternar grade"
-:whiteboard/snap-to-grid "Encaixar na grade"
-:whiteboard/toggle-pen-mode "Alternar modo de caneta"
-:flashcards/modal-welcome-title "Hora de criar um cartão!"
-:flashcards/modal-welcome-desc-1 "Você pode adicionar \"#card\" a qualquer bloco para transformá-lo em um cartão ou acionar \"/cloze\" para adicionar algumas partes ocultas."
-:flashcards/modal-welcome-desc-2 "Você pode "
-:flashcards/modal-welcome-desc-3 "clique neste link"
-:flashcards/modal-welcome-desc-4 " para verificar a documentação."
-:flashcards/modal-btn-show-answers "Mostrar respostas"
-:flashcards/modal-btn-hide-answers "Esconder respostas"
-:flashcards/modal-btn-show-clozes "Mostrar partes ocultas"
-:flashcards/modal-btn-next-card "Próximo"
-:flashcards/modal-btn-reset "Redefinir"
-  :flashcards/modal-btn-reset-tip "Redefina este cartão para que você possa revisá-lo imediatamente."
-  :flashcards/modal-btn-forgotten "Esquecido"
-  :flashcards/modal-btn-remembered "Lembrado"
-  :flashcards/modal-btn-recall "Levou um tempo para lembrar"
-  :flashcards/modal-finished "Parabéns, você revisou todos os cartões para esta consulta, nos vemos na próxima vez! 💯"
-  :flashcards/modal-select-all "Todos"
-  :flashcards/modal-select-switch "Alternar para"
-  :flashcards/modal-current-total "Atual/Total"
-  :flashcards/modal-overdue-total "Atrasado/Total"
-  :flashcards/modal-toggle-preview-mode "Alternar modo de pré-visualização"
-  :flashcards/modal-toggle-random-mode "Alternar modo aleatório"
+ :whiteboard/undo "Desfazer"
+ :whiteboard/redo "Refazer"
+ :whiteboard/zoom-in "Aumentar zoom"
+ :whiteboard/zoom-out "Diminuir zoom"
+ :whiteboard/select "Selecionar"
+ :whiteboard/pan "Arrastar"
+ :whiteboard/add-block-or-page "Adicionar bloco ou página"
+ :whiteboard/draw "Desenhar"
+ :whiteboard/highlight "Destacar"
+ :whiteboard/eraser "Borracha"
+ :whiteboard/connector "Conector"
+ :whiteboard/text "Texto"
+ :whiteboard/color "Cor"
+ :whiteboard/select-custom-color "Selecionar cor personalizada"
+ :whiteboard/opacity "Opacidade"
+ :whiteboard/extra-small "Extra Pequeno"
+ :whiteboard/small "Pequeno"
+ :whiteboard/medium "Médio"
+ :whiteboard/large "Grande"
+ :whiteboard/extra-large "Extra Grande"
+ :whiteboard/huge "Enorme"
+ :whiteboard/scale-level "Nível de escala"
+ :whiteboard/rectangle "Retângulo"
+ :whiteboard/circle "Círculo"
+ :whiteboard/triangle "Triângulo"
+ :whiteboard/shape "Forma"
+ :whiteboard/open-page "Abrir página"
+ :whiteboard/open-page-in-sidebar "Abrir página na barra lateral"
+ :whiteboard/remove-link "Remover link"
+ :whiteboard/link "Link"
+ :whiteboard/references "Referências"
+ :whiteboard/link-to-any-page-or-block "Link para qualquer página ou bloco"
+ :whiteboard/start-typing-to-search "Comece a digitar para pesquisar..."
+ :whiteboard/new-block-no-colon "Novo bloco"
+ :whiteboard/new-block "Novo bloco:"
+ :whiteboard/new-page "Nova página:"
+ :whiteboard/new-whiteboard "Novo whiteboard"
+ :whiteboard/search-only-blocks "Pesquisar apenas blocos"
+ :whiteboard/search-only-pages "Pesquisar apenas páginas"
+ :whiteboard/cache-outdated "O cache está desatualizado. Clique no botão 'Re-indexar' no menu suspenso do grafo."
+ :whiteboard/shape-quick-links "Links Rápidos de Forma"
+ :whiteboard/edit-pdf "Editar PDF"
+ :whiteboard/dashboard-card-new-whiteboard "Novo whiteboard"
+ :whiteboard/dashboard-card-created "Criado "
+ :whiteboard/dashboard-card-edited "Editado "
+ :whiteboard/toggle-grid "Alternar grade"
+ :whiteboard/snap-to-grid "Encaixar na grade"
+ :whiteboard/toggle-pen-mode "Alternar modo de caneta"
+ :flashcards/modal-welcome-title "Hora de criar um cartão!"
+ :flashcards/modal-welcome-desc-1 "Você pode adicionar \"#card\" a qualquer bloco para transformá-lo em um cartão ou acionar \"/cloze\" para adicionar algumas partes ocultas."
+ :flashcards/modal-welcome-desc-2 "Você pode "
+ :flashcards/modal-welcome-desc-3 "clique neste link"
+ :flashcards/modal-welcome-desc-4 " para verificar a documentação."
+ :flashcards/modal-btn-show-answers "Mostrar respostas"
+ :flashcards/modal-btn-hide-answers "Esconder respostas"
+ :flashcards/modal-btn-show-clozes "Mostrar partes ocultas"
+ :flashcards/modal-btn-next-card "Próximo"
+ :flashcards/modal-btn-reset "Redefinir"
+ :flashcards/modal-btn-reset-tip "Redefina este cartão para que você possa revisá-lo imediatamente."
+ :flashcards/modal-btn-forgotten "Esquecido"
+ :flashcards/modal-btn-remembered "Lembrado"
+ :flashcards/modal-btn-recall "Levou um tempo para lembrar"
+ :flashcards/modal-finished "Parabéns, você revisou todos os cartões para esta consulta, nos vemos na próxima vez! 💯"
+ :flashcards/modal-select-all "Todos"
+ :flashcards/modal-select-switch "Alternar para"
+ :flashcards/modal-current-total "Atual/Total"
+ :flashcards/modal-overdue-total "Atrasado/Total"
+ :flashcards/modal-toggle-preview-mode "Alternar modo de pré-visualização"
+ :flashcards/modal-toggle-random-mode "Alternar modo aleatório"
 
 
-  :home "Início"
-  :new-page "Nova página:"
-  :new-graph "Adicionar novo grafo"
-  :graph "Grafo"
-  :graph/all-graphs "Todos os grafos"
-  :graph/local-graphs "Grafos locais:"
-  :graph/remote-graphs "Grafos remotos:"
-  :export "Exportar"
-  :export-graph "Exportar grafo"
-  :export-page "Exportar página"
-  :export-markdown "Exportar como Markdown padrão (sem propriedades de bloco)"
-  :export-opml "Exportar como OPML"
-  :export-public-pages "Exportar páginas públicas"
-  :export-json "Exportar como JSON"
-  :export-roam-json "Exportar como Roam JSON"
-  :export-edn "Exportar como EDN"
-  :export-transparent-background "Fundo transparente"
-  :export-copy-to-clipboard "Copiar para a área de transferência"
-  :export-copied-to-clipboard "Copiado para a área de transferência!"
-  :export-save-to-file "Salvar em arquivo"
-  :all-graphs "Todos os grafos"
-  :all-pages "Todas as páginas"
-  :all-whiteboards "Todos os whiteboards"
-  :all-files "Todos os arquivos"
-  :remove-orphaned-pages "Remover páginas órfãs?"
-  :all-journals "Todos os diários"
-  :settings "Configurações"
-  :plugins "Plugins"
-  :themes "Temas"
-  :relaunch-confirm-to-work "Necessita reiniciar o aplicativo para funcionar. Deseja reiniciá-lo agora?"
-  :import "Importar"
-  :importing "Importando"
-  :join-community "Junte-se à comunidade"
-  :discourse-title "Nosso fórum!"
-  :help-shortcut-title "Clique para verificar os atalhos e outras dicas"
-  :loading "Carregando..."
-  :parsing-files "Analisando arquivos"
-  :loading-files "Carregando arquivos"
-  :login "Entrar"
-  :logout "Sair"
+ :home "Início"
+ :new-page "Nova página:"
+ :new-graph "Adicionar novo grafo"
+ :graph "Grafo"
+ :graph/all-graphs "Todos os grafos"
+ :graph/local-graphs "Grafos locais:"
+ :graph/remote-graphs "Grafos remotos:"
+ :export "Exportar"
+ :export-graph "Exportar grafo"
+ :export-page "Exportar página"
+ :export-markdown "Exportar como Markdown padrão (sem propriedades de bloco)"
+ :export-opml "Exportar como OPML"
+ :export-public-pages "Exportar páginas públicas"
+ :export-json "Exportar como JSON"
+ :export-roam-json "Exportar como Roam JSON"
+ :export-edn "Exportar como EDN"
+ :export-transparent-background "Fundo transparente"
+ :export-copy-to-clipboard "Copiar para a área de transferência"
+ :export-copied-to-clipboard "Copiado para a área de transferência!"
+ :export-save-to-file "Salvar em arquivo"
+ :all-graphs "Todos os grafos"
+ :all-pages "Todas as páginas"
+ :all-whiteboards "Todos os whiteboards"
+ :all-files "Todos os arquivos"
+ :remove-orphaned-pages "Remover páginas órfãs?"
+ :all-journals "Todos os diários"
+ :settings "Configurações"
+ :plugins "Plugins"
+ :themes "Temas"
+ :relaunch-confirm-to-work "Necessita reiniciar o aplicativo para funcionar. Deseja reiniciá-lo agora?"
+ :import "Importar"
+ :importing "Importando"
+ :join-community "Junte-se à comunidade"
+ :discourse-title "Nosso fórum!"
+ :help-shortcut-title "Clique para verificar os atalhos e outras dicas"
+ :loading "Carregando..."
+ :parsing-files "Analisando arquivos"
+ :loading-files "Carregando arquivos"
+ :login "Entrar"
+ :logout "Sair"
  :logout-user "Sair ({1})"
  :logout-user "Sair ({1})"
  :download "Baixar"
  :download "Baixar"
  :language "Idioma"
  :language "Idioma"
@@ -496,7 +496,7 @@
 
 
  :help/shortcut-page-title "Atalhos de teclado"
  :help/shortcut-page-title "Atalhos de teclado"
 
 
-  :plugin/installed "Instalado"
+ :plugin/installed "Instalado"
  :plugin/installed-plugin "Plugin instalado: {1}"
  :plugin/installed-plugin "Plugin instalado: {1}"
  :plugin/not-installed "Não instalado"
  :plugin/not-installed "Não instalado"
  :plugin/installing "Instalando"
  :plugin/installing "Instalando"
@@ -530,22 +530,22 @@
  :plugin/unpacked-tips "Selecione o diretório do plugin"
  :plugin/unpacked-tips "Selecione o diretório do plugin"
  :plugin/contribute "✨ Escreva e envie um novo plugin"
  :plugin/contribute "✨ Escreva e envie um novo plugin"
  :plugin/up-to-date "Está atualizado {1}"
  :plugin/up-to-date "Está atualizado {1}"
-:plugin/custom-js-alert "Encontrado o arquivo custom.js, permitir a execução? (Se você não entende o conteúdo deste arquivo, é recomendável não permitir a execução, pois isso tem certos riscos de segurança.)"
-:plugin/security-warning "Os plugins podem acessar o seu grafo e os seus arquivos locais, fazer requisições de rede.
+ :plugin/custom-js-alert "Encontrado o arquivo custom.js, permitir a execução? (Se você não entende o conteúdo deste arquivo, é recomendável não permitir a execução, pois isso tem certos riscos de segurança.)"
+ :plugin/security-warning "Os plugins podem acessar o seu grafo e os seus arquivos locais, fazer requisições de rede.
      Eles também podem causar corrupção ou perda de dados. Estamos trabalhando em regras de acesso adequadas para os seus grafos.
      Eles também podem causar corrupção ou perda de dados. Estamos trabalhando em regras de acesso adequadas para os seus grafos.
      Enquanto isso, certifique-se de fazer backups regulares dos seus grafos e só instale os plugins quando puder ler e
      Enquanto isso, certifique-se de fazer backups regulares dos seus grafos e só instale os plugins quando puder ler e
      entender o código-fonte."
      entender o código-fonte."
-:plugin/search-plugin "Pesquisar plugins"
-:plugin/open-preferences "Abrir Preferências"
-:plugin/open-logseq-dir "Abrir"
-:plugin/remote-error "Erro remoto: "
-:plugin/checking-for-updates "Verificando atualizações de plugins ..."
-:plugin/list-of-updates "Atualizações de plugins: "
-:plugin/auto-check-for-updates "Verificação automática de atualizações"
-:plugin.install-from-file/menu-title "Instalar a partir de plugins.edn"
-:plugin.install-from-file/title "Instalar plugins a partir de plugins.edn"
-:plugin.install-from-file/notice "Os seguintes plugins substituirão os seus plugins:"
-:plugin.install-from-file/success "Todos os plugins foram instalados!"
+ :plugin/search-plugin "Pesquisar plugins"
+ :plugin/open-preferences "Abrir Preferências"
+ :plugin/open-logseq-dir "Abrir"
+ :plugin/remote-error "Erro remoto: "
+ :plugin/checking-for-updates "Verificando atualizações de plugins ..."
+ :plugin/list-of-updates "Atualizações de plugins: "
+ :plugin/auto-check-for-updates "Verificação automática de atualizações"
+ :plugin.install-from-file/menu-title "Instalar a partir de plugins.edn"
+ :plugin.install-from-file/title "Instalar plugins a partir de plugins.edn"
+ :plugin.install-from-file/notice "Os seguintes plugins substituirão os seus plugins:"
+ :plugin.install-from-file/success "Todos os plugins foram instalados!"
 
 
  :pdf/copy-ref "Copiar referência"
  :pdf/copy-ref "Copiar referência"
  :pdf/copy-text "Copiar texto"
  :pdf/copy-text "Copiar texto"
@@ -612,6 +612,188 @@
  :header/go-back                     "Voltar"
  :header/go-back                     "Voltar"
  :header/go-forward                  "Avançar"
  :header/go-forward                  "Avançar"
 
 
+ :command.auto-complete/complete "Auto-completar: Escolher item selecionado"
+ :command.auto-complete/next "Auto-completar: Selecionar próximo item"
+ :command.auto-complete/open-link "Auto-completar: Abrir item selecionado no navegador"
+ :command.auto-complete/prev "Auto-completar: Selecionar item anterior"
+ :command.auto-complete/shift-complete "Auto-completar: Abrir item selecionado na barra lateral"
+ :command.cards/forgotten "Cartões: esquecidos"
+ :command.cards/next-card "Cartões: próximo cartão"
+ :command.cards/recall "Cartões: lembrar em algum tempo"
+ :command.cards/remembered "Cartões: lembrados"
+ :command.cards/toggle-answers "Cartões: mostrar/ocultar respostas/ocultados"
+ :command.command/run "Executar comando git"
+ :command.command/toggle-favorite "Adicionar/remover dos favoritos"
+ :command.command-palette/toggle "Pesquisar comandos"
+ :command.date-picker/complete "Seletor de data: Escolher dia selecionado"
+ :command.date-picker/next-day "Seletor de data: Selecionar próximo dia"
+ :command.date-picker/next-week "Seletor de data: Selecionar próxima semana"
+ :command.date-picker/prev-day "Seletor de data: Selecionar dia anterior"
+ :command.date-picker/prev-week "Seletor de data: Selecionar semana anterior"
+ :command.dev/show-block-ast "(Dev) Mostrar AST do bloco"
+ :command.dev/show-block-data "(Dev) Mostrar dados do bloco"
+ :command.dev/show-page-ast "(Dev) Mostrar AST da página"
+ :command.dev/show-page-data "(Dev) Mostrar dados da página"
+ :command.editor/backspace "Backspace / Apagar"
+ :command.editor/backward-kill-word "Excluir uma palavra com backspace"
+ :command.editor/backward-word "Mover cursor para trás da palavra"
+ :command.editor/beginning-of-block "Mover cursor para o início de um bloco"
+ :command.editor/bold "Negrito"
+ :command.editor/clear-block "Excluir conteúdo inteiro do bloco"
+ :command.editor/collapse-block-children "Contrair"
+ :command.editor/copy "Copiar (copia seleção ou referência de bloco)"
+ :command.editor/copy-current-file "Copiar arquivo atual"
+ :command.editor/copy-embed "Copiar incorporação de bloco apontando para o bloco atual"
+ :command.editor/copy-page-url "Copiar URL da página"
+ :command.editor/copy-text "Copiar seleções como texto"
+ :command.editor/cut "Cortar"
+ :command.editor/cycle-todo "Rotacionar o estado TODO do item atual"
+ :command.editor/delete "Delete / Tecla Excluir"
+ :command.editor/delete-selection "Excluir blocos selecionados"
+ :command.editor/down "Mover cursor para baixo / Selecionar para baixo"
+ :command.editor/end-of-block "Mover cursor para o final de um bloco"
+ :command.editor/escape-editing "Sair da edição"
+ :command.editor/expand-block-children "Expandir"
+ :command.editor/follow-link "Seguir link sob o cursor"
+ :command.editor/forward-kill-word "Excluir uma palavra com tecla delete"
+ :command.editor/forward-word "Mover cursor para frente da palavra"
+ :command.editor/highlight "Destacar"
+ :command.editor/indent "Indentar bloco"
+ :command.editor/insert-link "Link de HTML"
+ :command.editor/insert-youtube-timestamp "Inserir timestamp do YouTube"
+ :command.editor/italics "Itálico"
+ :command.editor/kill-line-after "Excluir linha após a posição do cursor"
+ :command.editor/kill-line-before "Excluir linha antes da posição do cursor"
+ :command.editor/left "Mover cursor para a esquerda / Abrir bloco selecionado no início"
+ :command.editor/move-block-down "Mover bloco para baixo"
+ :command.editor/move-block-up "Mover bloco para cima"
+ :command.editor/new-block "Criar novo bloco"
+ :command.editor/new-line "Nova linha no bloco atual"
+ :command.editor/new-whiteboard "Novo whiteboard"
+ :command.editor/open-edit "Editar bloco selecionado"
+ :command.editor/open-file-in-default-app "Abrir arquivo no aplicativo padrão"
+ :command.editor/open-file-in-directory "Abrir arquivo no diretório pai"
+ :command.editor/open-link-in-sidebar "Abrir link na barra lateral"
+ :command.editor/outdent "Diminuir recuo do bloco"
+ :command.editor/paste-text-in-one-block-at-point "Colar texto em um bloco no lugar"
+ :command.editor/redo "Refazer"
+ :command.editor/replace-block-reference-at-point "Substituir referência de bloco pelo seu conteúdo no lugar"
+ :command.editor/right "Mover cursor para a direita / Abrir bloco selecionado no final"
+ :command.editor/select-all-blocks "Selecionar todos os blocos"
+ :command.editor/select-block-down "Selecionar bloco abaixo"
+ :command.editor/select-block-up "Selecionar bloco acima"
+ :command.editor/select-down "Selecionar conteúdo abaixo"
+ :command.editor/select-parent "Selecionar bloco pai"
+ :command.editor/select-up "Selecionar conteúdo acima"
+ :command.editor/strike-through "Riscar"
+ :command.editor/toggle-number-list "Alternar lista numerada"
+ :command.editor/toggle-open-blocks "Alternar blocos abertos (contrair ou expandir todos os blocos)"
+ :command.editor/toggle-undo-redo-mode "Alternar modo desfazer/refazer (global ou apenas nesta página)"
+ :command.editor/undo "Desfazer"
+ :command.editor/up "Mover cursor para cima / Selecionar para cima"
+ :command.editor/zoom-in "Dar zoom no bloco em edição / Avançar caso contrário"
+ :command.editor/zoom-out "Dar zoom out no bloco em edição / Retroceder caso contrário"
+ :command.git/commit "Criar commit git com mensagem"
+ :command.go/all-graphs "Ir para todos os grafos"
+ :command.go/all-pages "Ir para todas as páginas"
+ :command.go/backward "Retroceder"
+ :command.go/electron-find-in-page "Encontrar texto na página"
+ :command.go/electron-jump-to-the-next "Pular para a próxima correspondência na sua busca na barra de pesquisa"
+ :command.go/electron-jump-to-the-previous "Pular para a correspondência anterior na sua busca na barra de pesquisa"
+ :command.go/flashcards "Alternar cartões de memorização"
+ :command.go/forward "Avançar"
+ :command.go/graph-view "Ir para visualização de grafo"
+ :command.go/home "Ir para a página inicial"
+ :command.go/journals "Ir para diários"
+ :command.go/keyboard-shortcuts "Ir para atalhos de teclado"
+ :command.go/next-journal "Ir para o próximo diário"
+ :command.go/prev-journal "Ir para o diário anterior"
+ :command.go/search "Pesquisar páginas e blocos"
+ :command.go/search-in-page "Pesquisar blocos na página"
+ :command.go/tomorrow "Ir para amanhã"
+ :command.go/whiteboards "Ir para whiteboards"
+ :command.graph/add "Adicionar um grafo"
+ :command.graph/export-as-html "Exportar páginas de grafos públicos como HTML"
+ :command.graph/open "Selecionar grafo para abrir"
+ :command.graph/re-index "Reindexar grafo atual"
+ :command.graph/remove "Remover um grafo"
+ :command.misc/copy "Copiar"
+ :command.pdf/close "PDF: Fechar documento PDF atual"
+ :command.pdf/find "PDF: Pesquisar texto do documento PDF atual"
+ :command.pdf/next-page "PDF: Próxima página do documento PDF atual"
+ :command.pdf/previous-page "PDF: Página anterior do documento PDF atual"
+ :command.search/re-index "Reconstruir índice de pesquisa"
+ :command.sidebar/clear "Limpar todos na barra lateral direita"
+ :command.sidebar/close-top "Fechar o item superior na barra lateral direita"
+ :command.sidebar/open-today-page "Abrir a página de hoje na barra lateral direita"
+ :command.ui/clear-all-notifications "Limpar todas as notificações"
+ :command.ui/cycle-color "Mudar cor"
+ :command.ui/cycle-color-off "Desativar mudança de cor"
+ :command.ui/goto-plugins "Ir para o painel de plugins"
+ :command.ui/install-plugins-from-file "Instalar plugins do arquivo plugins.edn"
+ :command.ui/select-theme-color "Selecionar cores de tema disponíveis"
+ :command.ui/toggle-brackets "Alternar se deve exibir colchetes"
+ :command.ui/toggle-contents "Alternar conteúdo na barra lateral"
+ :command.ui/toggle-document-mode "Alternar modo de documento"
+ :command.ui/toggle-help "Alternar ajuda"
+ :command.ui/toggle-left-sidebar "Alternar barra lateral esquerda"
+ :command.ui/toggle-right-sidebar "Alternar barra lateral direita"
+ :command.ui/toggle-settings "Alternar configurações"
+ :command.ui/toggle-theme "Alternar entre tema escuro/claro"
+ :command.ui/toggle-wide-mode "Alternar modo amplo"
+ :command.whiteboard/bring-forward "Mover para frente"
+ :command.whiteboard/bring-to-front "Mover para a frente"
+ :command.whiteboard/clone-down "Clonar para baixo"
+ :command.whiteboard/clone-left "Clonar para a esquerda"
+ :command.whiteboard/clone-right "Clonar para a direita"
+ :command.whiteboard/clone-up "Clonar para cima"
+ :command.whiteboard/connector "Ferramenta de conexão"
+ :command.whiteboard/ellipse "Ferramenta de elipse"
+ :command.whiteboard/eraser "Ferramenta de borracha"
+ :command.whiteboard/group "Seleção de grupo"
+ :command.whiteboard/highlighter "Ferramenta de marca-texto"
+ :command.whiteboard/lock "Travar seleção"
+ :command.whiteboard/pan "Ferramenta de movimentação"
+ :command.whiteboard/pencil "Ferramenta de lápis"
+ :command.whiteboard/portal "Ferramenta de portal"
+ :command.whiteboard/rectangle "Ferramenta de retângulo"
+ :command.whiteboard/reset-zoom "Redefinir zoom"
+ :command.whiteboard/select "Ferramenta de seleção"
+ :command.whiteboard/send-backward "Mover para trás"
+ :command.whiteboard/send-to-back "Mover para trás"
+ :command.whiteboard/text "Ferramenta de texto"
+ :command.whiteboard/toggle-grid "Alternar grade do canvas"
+ :command.whiteboard/ungroup "Desagrupar seleção"
+ :command.whiteboard/unlock "Destravar seleção"
+ :command.whiteboard/zoom-to-fit "Zoom para desenho"
+ :command.whiteboard/zoom-to-selection "Zoom para ajustar à seleção"
+ :command.window/close "Fechar janela"
+ :help/search "Pesquisar páginas/blocos/comandos"
+ :linked-references/filter-directions "Clique para incluir e shift-clique para excluir. Clique novamente para remover."
+ :linked-references/filter-excludes "Excluir: "
+ :linked-references/filter-heading "Filtrar"
+ :linked-references/filter-includes "Incluir: "
+ :linked-references/reference-count (fn [filtered-count total] (str (when filtered-count (str filtered-count " de ")) total (if (= total 1) " Referência Vinculada" " Referências Vinculadas")))
+ :settings-page/git-commit-on-close "Commitar mudanças no Git ao fechar a janela"
+ :unlinked-references/reference-count (fn [total] (str total (if (= total 1) " Referência Não-Vinculada" " Referências Não-Vinculadas")))
+ :whiteboard/reference-count (fn [refs-count] (if (= refs-count 1) "Referência" "Referências"))
+
+ ;; Allowed duplicates - start
+ :settings-of-plugins "Plugins"
+ :whiteboard "Whiteboard"
+ :whiteboards "Whiteboards"
+ :on-boarding/quick-tour-journal-page-desc-2 "[[link]]"
+ :plugin/downloads "Downloads"
+ :right-side-bar/history-global "global"
+ :right-side-bar/whiteboards "Whiteboards"
+ :search-item/whiteboard "Whiteboard"
+ :settings-page/enable-whiteboards "Whiteboards"
+ :settings-page/plugin-system "Plugins"
+ :shortcut.category/whiteboard "Whiteboard"
+ :command.whiteboard/zoom-in "Zoom in"
+ :command.whiteboard/zoom-out "Zoom out"
+ ;; Allowed duplicates - end
+
  ;; Os comandos estão aninhados por enquanto para permanecerem sincronizados com o sistema de atalhos.
  ;; Os comandos estão aninhados por enquanto para permanecerem sincronizados com o sistema de atalhos.
  ;; Outras linguagens não devem aninhar chaves em :commands
  ;; Outras linguagens não devem aninhar chaves em :commands
 
 

+ 59 - 37
yarn.lock

@@ -1654,7 +1654,7 @@ browserify-zlib@^0.2.0:
   dependencies:
   dependencies:
     pako "~1.0.5"
     pako "~1.0.5"
 
 
-browserslist@^4.0.0, browserslist@^4.12.0, browserslist@^4.16.6, browserslist@^4.20.3, browserslist@^4.21.10, browserslist@^4.21.4, browserslist@^4.21.9:
+browserslist@^4.0.0, browserslist@^4.12.0, browserslist@^4.21.10, browserslist@^4.21.4, browserslist@^4.21.9:
   version "4.21.11"
   version "4.21.11"
   resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.11.tgz#35f74a3e51adc4d193dcd76ea13858de7b8fecb8"
   resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.11.tgz#35f74a3e51adc4d193dcd76ea13858de7b8fecb8"
   integrity sha512-xn1UXOKUz7DjdGlg9RrUr0GGiWzI97UQJnugHtH0OLDfJB7jMgoIkYvRIEO1l9EeEERVqeqLYOcFBW9ldjypbQ==
   integrity sha512-xn1UXOKUz7DjdGlg9RrUr0GGiWzI97UQJnugHtH0OLDfJB7jMgoIkYvRIEO1l9EeEERVqeqLYOcFBW9ldjypbQ==
@@ -5100,6 +5100,11 @@ nanoid@^3.3.4:
   resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.6.tgz#443380c856d6e9f9824267d960b4236ad583ea4c"
   resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.6.tgz#443380c856d6e9f9824267d960b4236ad583ea4c"
   integrity sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==
   integrity sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==
 
 
+nanoid@^3.3.7:
+  version "3.3.7"
+  resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.7.tgz#d0c301a691bc8d54efa0a2226ccf3fe2fd656bd8"
+  integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==
+
 nanomatch@^1.2.9:
 nanomatch@^1.2.9:
   version "1.2.13"
   version "1.2.13"
   resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119"
   resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119"
@@ -5901,22 +5906,22 @@ [email protected]:
     slash "^4.0.0"
     slash "^4.0.0"
     yargs "^17.0.0"
     yargs "^17.0.0"
 
 
-[email protected], postcss-colormin@^5.3.1:
-  version "5.3.0"
-  resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-5.3.0.tgz#3cee9e5ca62b2c27e84fce63affc0cfb5901956a"
-  integrity sha512-WdDO4gOFG2Z8n4P8TWBpshnL3JpmNmJwdnfP2gbk2qBA8PWwOYcmjmI/t3CmMeL72a7Hkd+x/Mg9O2/0rD54Pg==
+postcss-colormin@^5.3.1:
+  version "5.3.1"
+  resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-5.3.1.tgz#86c27c26ed6ba00d96c79e08f3ffb418d1d1988f"
+  integrity sha512-UsWQG0AqTFQmpBegeLLc1+c3jIqBNB0zlDGRWR+dQ3pRKJL1oeMzyqmH3o2PIfn9MBdNrVPWhDbT769LxCTLJQ==
   dependencies:
   dependencies:
-    browserslist "^4.16.6"
+    browserslist "^4.21.4"
     caniuse-api "^3.0.0"
     caniuse-api "^3.0.0"
     colord "^2.9.1"
     colord "^2.9.1"
     postcss-value-parser "^4.2.0"
     postcss-value-parser "^4.2.0"
 
 
-[email protected], postcss-convert-values@^5.1.3:
-  version "5.1.2"
-  resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-5.1.2.tgz#31586df4e184c2e8890e8b34a0b9355313f503ab"
-  integrity sha512-c6Hzc4GAv95B7suy4udszX9Zy4ETyMCgFPUDtWjdFTKH1SE9eFY/jEpHSwTH1QPuwxHpWslhckUQWbNRM4ho5g==
+postcss-convert-values@^5.1.3:
+  version "5.1.3"
+  resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-5.1.3.tgz#04998bb9ba6b65aa31035d669a6af342c5f9d393"
+  integrity sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA==
   dependencies:
   dependencies:
-    browserslist "^4.20.3"
+    browserslist "^4.21.4"
     postcss-value-parser "^4.2.0"
     postcss-value-parser "^4.2.0"
 
 
 postcss-discard-comments@^5.1.2:
 postcss-discard-comments@^5.1.2:
@@ -5980,10 +5985,10 @@ postcss-import@^15.1.0:
     read-cache "^1.0.0"
     read-cache "^1.0.0"
     resolve "^1.1.7"
     resolve "^1.1.7"
 
 
-[email protected], postcss-js@^4.0.1:
-  version "4.0.0"
-  resolved "https://registry.yarnpkg.com/postcss-js/-/postcss-js-4.0.0.tgz#31db79889531b80dc7bc9b0ad283e418dce0ac00"
-  integrity sha512-77QESFBwgX4irogGVPgQ5s07vLvFqWr228qZY+w6lW599cRlK/HmnlivnnVUxkjHnCu4J16PDMHcH+e+2HbvTQ==
+postcss-js@^4.0.1:
+  version "4.0.1"
+  resolved "https://registry.yarnpkg.com/postcss-js/-/postcss-js-4.0.1.tgz#61598186f3703bab052f1c4f7d805f3991bee9d2"
+  integrity sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==
   dependencies:
   dependencies:
     camelcase-css "^2.0.1"
     camelcase-css "^2.0.1"
 
 
@@ -6007,20 +6012,20 @@ postcss-media-query-parser@^0.2.3:
   resolved "https://registry.yarnpkg.com/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz#27b39c6f4d94f81b1a73b8f76351c609e5cef244"
   resolved "https://registry.yarnpkg.com/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz#27b39c6f4d94f81b1a73b8f76351c609e5cef244"
   integrity sha512-3sOlxmbKcSHMjlUXQZKQ06jOswE7oVkXPxmZdoB1r5l0q6gTFTQSHxNxOrCccElbW7dxNytifNEo8qidX2Vsig==
   integrity sha512-3sOlxmbKcSHMjlUXQZKQ06jOswE7oVkXPxmZdoB1r5l0q6gTFTQSHxNxOrCccElbW7dxNytifNEo8qidX2Vsig==
 
 
-[email protected], postcss-merge-longhand@^5.1.7:
-  version "5.1.6"
-  resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-5.1.6.tgz#f378a8a7e55766b7b644f48e5d8c789ed7ed51ce"
-  integrity sha512-6C/UGF/3T5OE2CEbOuX7iNO63dnvqhGZeUnKkDeifebY0XqkkvrctYSZurpNE902LDf2yKwwPFgotnfSoPhQiw==
+postcss-merge-longhand@^5.1.7:
+  version "5.1.7"
+  resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-5.1.7.tgz#24a1bdf402d9ef0e70f568f39bdc0344d568fb16"
+  integrity sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ==
   dependencies:
   dependencies:
     postcss-value-parser "^4.2.0"
     postcss-value-parser "^4.2.0"
-    stylehacks "^5.1.0"
+    stylehacks "^5.1.1"
 
 
-[email protected], postcss-merge-rules@^5.1.4:
-  version "5.1.2"
-  resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-5.1.2.tgz#7049a14d4211045412116d79b751def4484473a5"
-  integrity sha512-zKMUlnw+zYCWoPN6yhPjtcEdlJaMUZ0WyVcxTAmw3lkkN/NDMRkOkiuctQEoWAOvH7twaxUUdvBWl0d4+hifRQ==
+postcss-merge-rules@^5.1.4:
+  version "5.1.4"
+  resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-5.1.4.tgz#2f26fa5cacb75b1402e213789f6766ae5e40313c"
+  integrity sha512-0R2IuYpgU93y9lhVbO/OylTtKMVcHb67zjWIfCiKR9rWL3GUk1677LAqD/BcHizukdZEjT8Ru3oHRoAYoJy44g==
   dependencies:
   dependencies:
-    browserslist "^4.16.6"
+    browserslist "^4.21.4"
     caniuse-api "^3.0.0"
     caniuse-api "^3.0.0"
     cssnano-utils "^3.1.0"
     cssnano-utils "^3.1.0"
     postcss-selector-parser "^6.0.5"
     postcss-selector-parser "^6.0.5"
@@ -6041,12 +6046,12 @@ postcss-minify-gradients@^5.1.1:
     cssnano-utils "^3.1.0"
     cssnano-utils "^3.1.0"
     postcss-value-parser "^4.2.0"
     postcss-value-parser "^4.2.0"
 
 
-[email protected], postcss-minify-params@^5.1.4:
-  version "5.1.3"
-  resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-5.1.3.tgz#ac41a6465be2db735099bbd1798d85079a6dc1f9"
-  integrity sha512-bkzpWcjykkqIujNL+EVEPOlLYi/eZ050oImVtHU7b4lFS82jPnsCb44gvC6pxaNt38Els3jWYDHTjHKf0koTgg==
+postcss-minify-params@^5.1.4:
+  version "5.1.4"
+  resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-5.1.4.tgz#c06a6c787128b3208b38c9364cfc40c8aa5d7352"
+  integrity sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw==
   dependencies:
   dependencies:
-    browserslist "^4.16.6"
+    browserslist "^4.21.4"
     cssnano-utils "^3.1.0"
     cssnano-utils "^3.1.0"
     postcss-value-parser "^4.2.0"
     postcss-value-parser "^4.2.0"
 
 
@@ -6142,12 +6147,12 @@ postcss-ordered-values@^5.1.3:
     cssnano-utils "^3.1.0"
     cssnano-utils "^3.1.0"
     postcss-value-parser "^4.2.0"
     postcss-value-parser "^4.2.0"
 
 
-[email protected], postcss-reduce-initial@^5.1.2:
-  version "5.1.0"
-  resolved "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-5.1.0.tgz#fc31659ea6e85c492fb2a7b545370c215822c5d6"
-  integrity sha512-5OgTUviz0aeH6MtBjHfbr57tml13PuedK/Ecg8szzd4XRMbYxH4572JFG067z+FqBIf6Zp/d+0581glkvvWMFw==
+postcss-reduce-initial@^5.1.2:
+  version "5.1.2"
+  resolved "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-5.1.2.tgz#798cd77b3e033eae7105c18c9d371d989e1382d6"
+  integrity sha512-dE/y2XRaqAi6OvjzD22pjTUQ8eOfc6m/natGHgKFBK9DxFmIm69YmaRVQrGgFlEfc1HePIurY0TmDeROK05rIg==
   dependencies:
   dependencies:
-    browserslist "^4.16.6"
+    browserslist "^4.21.4"
     caniuse-api "^3.0.0"
     caniuse-api "^3.0.0"
 
 
 postcss-reduce-transforms@^5.1.0:
 postcss-reduce-transforms@^5.1.0:
@@ -6233,7 +6238,7 @@ postcss-value-parser@^4.0.0, postcss-value-parser@^4.1.0, postcss-value-parser@^
   resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514"
   resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514"
   integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==
   integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==
 
 
[email protected], postcss@^7.0.14, postcss@^7.0.2, postcss@^7.0.21, postcss@^7.0.26, postcss@^7.0.32, postcss@^7.0.35, postcss@^7.0.6, postcss@^8.2.1, postcss@^8.4.23:
[email protected], postcss@^8.2.1:
   version "8.4.17"
   version "8.4.17"
   resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.17.tgz#f87863ec7cd353f81f7ab2dec5d67d861bbb1be5"
   resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.17.tgz#f87863ec7cd353f81f7ab2dec5d67d861bbb1be5"
   integrity sha512-UNxNOLQydcOFi41yHNMcKRZ39NeXlr8AxGuZJsdub8vIb12fHzcq37DTU/QtbI6WLxNg2gF9Z+8qtRwTj1UI1Q==
   integrity sha512-UNxNOLQydcOFi41yHNMcKRZ39NeXlr8AxGuZJsdub8vIb12fHzcq37DTU/QtbI6WLxNg2gF9Z+8qtRwTj1UI1Q==
@@ -6242,6 +6247,23 @@ [email protected], postcss@^7.0.14, postcss@^7.0.2, postcss@^7.0.21, postcss@^7.0.2
     picocolors "^1.0.0"
     picocolors "^1.0.0"
     source-map-js "^1.0.2"
     source-map-js "^1.0.2"
 
 
+postcss@^7.0.14, postcss@^7.0.2, postcss@^7.0.21, postcss@^7.0.26, postcss@^7.0.32, postcss@^7.0.35, postcss@^7.0.6:
+  version "7.0.39"
+  resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.39.tgz#9624375d965630e2e1f2c02a935c82a59cb48309"
+  integrity sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==
+  dependencies:
+    picocolors "^0.2.1"
+    source-map "^0.6.1"
+
+postcss@^8.4.23:
+  version "8.4.33"
+  resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.33.tgz#1378e859c9f69bf6f638b990a0212f43e2aaa742"
+  integrity sha512-Kkpbhhdjw2qQs2O2DGX+8m5OVqEcbB9HRBvuYM9pgrjEFUg30A9LmXNlTAUj4S9kgtGyrMbTzVjH7E+s5Re2yg==
+  dependencies:
+    nanoid "^3.3.7"
+    picocolors "^1.0.0"
+    source-map-js "^1.0.2"
+
 [email protected]:
 [email protected]:
   version "1.10.2"
   version "1.10.2"
   resolved "https://registry.yarnpkg.com/posthog-js/-/posthog-js-1.10.2.tgz#74d6c84f9675b65dfd4ff6f4051ed8d3cb974076"
   resolved "https://registry.yarnpkg.com/posthog-js/-/posthog-js-1.10.2.tgz#74d6c84f9675b65dfd4ff6f4051ed8d3cb974076"
@@ -7426,7 +7448,7 @@ style-search@^0.1.0:
   resolved "https://registry.yarnpkg.com/style-search/-/style-search-0.1.0.tgz#7958c793e47e32e07d2b5cafe5c0bf8e12e77902"
   resolved "https://registry.yarnpkg.com/style-search/-/style-search-0.1.0.tgz#7958c793e47e32e07d2b5cafe5c0bf8e12e77902"
   integrity sha512-Dj1Okke1C3uKKwQcetra4jSuk0DqbzbYtXipzFlFMZtowbF1x7BKJwB9AayVMyFARvU8EDrZdcax4At/452cAg==
   integrity sha512-Dj1Okke1C3uKKwQcetra4jSuk0DqbzbYtXipzFlFMZtowbF1x7BKJwB9AayVMyFARvU8EDrZdcax4At/452cAg==
 
 
-stylehacks@^5.1.0:
+stylehacks@^5.1.1:
   version "5.1.1"
   version "5.1.1"
   resolved "https://registry.yarnpkg.com/stylehacks/-/stylehacks-5.1.1.tgz#7934a34eb59d7152149fa69d6e9e56f2fc34bcc9"
   resolved "https://registry.yarnpkg.com/stylehacks/-/stylehacks-5.1.1.tgz#7934a34eb59d7152149fa69d6e9e56f2fc34bcc9"
   integrity sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw==
   integrity sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw==