Skip to content

Upgrade tailwind #81

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 17 commits into from
Mar 30, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3,202 changes: 1,449 additions & 1,753 deletions package-lock.json

Large diffs are not rendered by default.

45 changes: 21 additions & 24 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,13 @@
"scripts": {
"upgrade": "npx npm-check-updates -u -x 'codemirror'",
"postinstall": "electron-builder install-app-deps",
"postcss:build": "npx postcss src/renderer/main.css -o resources/public/css/main.css --verbose",
"postcss:watch": "npx postcss src/renderer/main.css -o resources/public/css/main.css --verbose -w",
"tailwindcss:build": "npx @tailwindcss/cli -i ./src/renderer/main.css -o ./resources/public/css/main.css --minify",
"tailwindcss:watch": "npx @tailwindcss/cli -i ./src/renderer/main.css -o ./resources/public/css/main.css --watch=always",
"shadow:build": "npx shadow-cljs release main preload renderer bootstrap",
"shadow:watch": "npx shadow-cljs watch main preload renderer bootstrap browser-test karma-test",
"dev": "npm run postcss:watch & npm run shadow:watch",
"build": "npm run postcss:build & npm run shadow:build",
"portfolio": "npx shadow-cljs watch portfolio & npm run postcss:watch",
"dev": "npm run tailwindcss:watch & npm run shadow:watch",
"build": "npm run tailwindcss:build & npm run shadow:build",
"portfolio": "npx shadow-cljs watch portfolio & npm run tailwindcss:watch",
"electron": "npx electron .",
"dist": "npx electron-builder",
"format": "clojure -M:format -m cljfmt.main fix src test portfolio",
Expand Down Expand Up @@ -63,7 +63,7 @@
},
"main": "resources/main.js",
"devDependencies": {
"@mdn/browser-compat-data": "5.6.43",
"@mdn/browser-compat-data": "6.0.1",
"@radix-ui/react-context-menu": "2.2.6",
"@radix-ui/react-dialog": "1.1.6",
"@radix-ui/react-dropdown-menu": "2.1.6",
Expand All @@ -76,16 +76,17 @@
"@radix-ui/react-switch": "1.1.3",
"@radix-ui/react-tooltip": "1.1.8",
"@repath-project/react-color": "2.19.4",
"@tailwindcss/cli": "4.0.17",
"@xzdarcy/react-timeline-editor": "0.1.9",
"acorn": "8.14.0",
"autoprefixer": "10.4.20",
"acorn": "8.14.1",
"autoprefixer": "10.4.21",
"blobs": "2.3.0-beta.2",
"buffer": "6.0.3",
"cmdk": "1.0.4",
"cmdk": "1.1.1",
"codemirror": "5.65.15",
"create-react-class": "15.7.0",
"electron": "34.3.0",
"electron-builder": "25.1.8",
"electron": "35.1.2",
"electron-builder": "26.0.12",
"highlight.js": "11.11.1",
"imagetracerjs": "1.2.6",
"js-beautify": "1.15.4",
Expand All @@ -94,19 +95,15 @@
"karma-cljs-test": "0.1.0",
"karma-electron": "7.3.0",
"karma-junit-reporter": "2.0.1",
"mdn-data": "2.17.0",
"mdn-data": "2.18.0",
"paper": "0.12.18",
"paperjs-offset": "1.0.8",
"path-browserify": "1.0.1",
"perfect-freehand": "1.2.2",
"postcss": "8.5.3",
"postcss-cli": "11.0.0",
"postcss-import": "16.1.0",
"postcss-nested": "7.0.2",
"puppeteer": "24.3.0",
"react": "19.0.0",
"puppeteer": "24.4.0",
"react": "19.1.0",
"react-d3-tree": "3.6.6",
"react-dom": "19.0.0",
"react-dom": "19.1.0",
"react-frame-component": "5.2.7",
"react-resizable-panels": "2.1.7",
"react-svg": "16.3.0",
Expand All @@ -116,18 +113,18 @@
"style-to-object": "1.0.8",
"svg-path-bbox": "2.1.0",
"svgpath": "2.6.0",
"tailwind-merge": "2.6.0",
"tailwindcss": "3.4.17"
"tailwind-merge": "3.0.2",
"tailwindcss": "4.0.17"
},
"dependencies": {
"electron-log": "5.3.1",
"electron-log": "5.3.3",
"electron-reloader": "1.2.3",
"electron-window-state": "5.0.3",
"font-scanner": "0.2.1",
"opentype.js": "1.3.4"
},
"overrides": {
"react": "19.0.0",
"react-dom": "19.0.0"
"react": "19.1.0",
"react-dom": "19.1.0"
}
}
9 changes: 0 additions & 9 deletions postcss.config.js

This file was deleted.

2 changes: 1 addition & 1 deletion resources/public/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
<link rel="stylesheet" href="css/main.css">
</head>

<body>
<body class="absolute inset-0 m-0 p-0 bg-secondary overflow-hidden select-none font-sans">
<div id="app">
<div class="loader"></div>
</div>
Expand Down
30 changes: 18 additions & 12 deletions src/renderer/app/views.cljs
Original file line number Diff line number Diff line change
Expand Up @@ -43,9 +43,9 @@
[m]
(interpose ", " (map (fn [[k v]]
^{:key k}
[:span (str (name k) ": " (if (number? v)
(.toFixed v 2)
(coll->str v)))]) m)))
[:span (str (name k) ": " (if (number? v)
(.toFixed v 2)
(coll->str v)))]) m)))

(defn debug-rows
[]
Expand Down Expand Up @@ -189,12 +189,15 @@
9 [105 147]
10 [74 105]})

(defn home [recent-documents]
(defn home
[recent-documents]
[:div.flex.overflow-hidden
[ui/scroll-area
[:div.flex.justify-center.p-2
[:div.justify-between.flex.w-full.lg:w-auto
[:div.bg-primary.p-6.lg:p-12.flex.max-w-screen-xl.w-full.gap-8
[:div.justify-between.flex.w-full
{:class "lg:w-auto"}
[:div.bg-primary.p-6.flex.w-full.gap-8
{:class "lg:p-12 max-w-(--breakpoint-xl)"}
[:div.flex-1
[:h1.text-4xl.mb-1.font-light config/app-name]

Expand All @@ -215,15 +218,15 @@
{:onValueChange #(rf/dispatch [::document.e/new-from-template
(get paper-size %)])}
[:> Select/Trigger
{:class "button px-2 overlay rounded"
{:class "button px-2 overlay rounded-sm"
:aria-label "Select size"}
[:div.flex.items-center.gap-2
[:> Select/Value {:placeholder "Select template"}]
[:> Select/Icon
[ui/icon "chevron-down"]]]]
[:> Select/Portal
[:> Select/Content
{:class "menu-content rounded select-content"
{:class "menu-content rounded-sm select-content"
:style {:min-width "auto"}}

[:> Select/Viewport {:class "select-viewport"}
Expand Down Expand Up @@ -286,7 +289,8 @@
"https://repath.studio/roadmap/changelog/"])}
"Changelog"]]]

[:div.hidden.md:block.flex-1
[:div.hidden.flex-1
{:class "md:block"}
[:img {:src "./img/icon.svg"}]]]]]]])

(defn root
Expand All @@ -302,8 +306,9 @@
(if (seq @documents)
[:div.flex.h-full.flex-1.overflow-hidden.gap-px
(when @tree-visible
[:div.flex-col.hidden.md:flex.overflow-hidden
{:style {:width "227px"}}
[:div.flex-col.hidden.overflow-hidden
{:class "md:flex"
:style {:width "227px"}}
[document.v/actions]
[tree.v/root]])
[:div.flex.flex-col.flex-1.overflow-hidden.h-full
Expand All @@ -313,7 +318,8 @@
[editor]]
[:div.flex
(when @properties-visible
[:div.hidden.md:flex
[:div.hidden
{:class "md:flex"}
[:div.flex.flex-col.h-full.w-80
[ui/scroll-area
(tool.hierarchy/right-panel @active-tool)]
Expand Down
40 changes: 20 additions & 20 deletions src/renderer/attribute/impl/d.cljs
Original file line number Diff line number Diff line change
Expand Up @@ -52,51 +52,51 @@
(defmethod segment-form :default
[segment i]
[:div.grid.grid-cols-4.gap-px
[:label.px-1 "x"]
[:input
[:label.form-element.px-1 "x"]
[:input.form-element
{:key (str "x-" i) :default-value (nth segment 1)}]
[:label.px-1 "y"]
[:input
[:label.form-element.px-1 "y"]
[:input.form-element
{:key (str "y-" i) :default-value (nth segment 2)}]])

(defmethod segment-form :h
[segment i]
[:input {:key (str "width-" i) :default-value (nth segment 1)}])
[:input.form-element {:key (str "width-" i) :default-value (nth segment 1)}])

(defmethod segment-form :v
[segment i]
[:input {:key (str "height-" i) :default-value (nth segment 1)}])
[:input.form-element {:key (str "height-" i) :default-value (nth segment 1)}])

(defmethod segment-form :z [_segment _i])

(defmethod segment-form :a
[segment i]
[:div
[:div.grid.grid-cols-4.gap-px
[:label.px-1 "rx"]
[:input
[:label.form-element.px-1 "rx"]
[:input.form-element
{:key (str "rx-" i) :default-value (nth segment 1)}]
[:label.px-1 "ry"]
[:input
[:label.form-element.px-1 "ry"]
[:input.form-element
{:key (str "ry-" i) :default-value (nth segment 2)}]]
[:div.grid.grid-cols-2.gap-px
[:label.px-1.text-nowrap "x-axis-rotation"]
[:input
[:label.form-element.px-1.text-nowrap "x-axis-rotation"]
[:input.form-element
{:key (str "x-axis-rotation-" i) :default-value (nth segment 3)}]]
[:div.grid.grid-cols-2.gap-px
[:label.px-1.text-nowrap "large-arc-flag"]
[:input
[:label.form-element.px-1.text-nowrap "large-arc-flag"]
[:input.form-element
{:key (str "large-arc-flag-" i) :default-value (nth segment 4)}]]
[:div.grid.grid-cols-2.gap-px
[:label.px-1.text-nowrap "sweep-flag"]
[:input
[:label.form-element.px-1.text-nowrap "sweep-flag"]
[:input.form-element
{:key (str "sweep-flag" i) :default-value (nth segment 5)}]]
[:div.grid.grid-cols-4.gap-px
[:label.px-1 "x"]
[:input
[:label.form-element.px-1 "x"]
[:input.form-element
{:key (str "x-" i) :default-value (nth segment 6)}]
[:label.px-1. "y"]
[:input
[:label.form-element.px-1. "y"]
[:input.form-element
{:key (str "y-" i) :default-value (nth segment 7)}]]])

(defn segment-row
Expand Down
6 changes: 3 additions & 3 deletions src/renderer/attribute/impl/points.cljs
Original file line number Diff line number Diff line change
Expand Up @@ -28,10 +28,10 @@
[i [x y] points]
[:div.grid.grid-flow-col.gap-px
{:style {:grid-template-columns "minmax(0, 40px) 3fr 3fr 26px"}}
[:label.px-1.bg-transparent i]
[:input.bg-transparent
[:label.form-element.px-1.bg-transparent i]
[:input.form-element.bg-transparent
{:key (str "x-" i) :default-value x}]
[:input.bg-transparent
[:input.form-element.bg-transparent
{:key (str "y-" i) :default-value y}]
[:button.button.bg-transparent.text-muted.h-full.rounded
{:on-click #(remove-nth points i)}
Expand Down
18 changes: 10 additions & 8 deletions src/renderer/attribute/views.cljs
Original file line number Diff line number Diff line change
Expand Up @@ -40,9 +40,10 @@
[support-data]
[:<>
[:h4.font-bold.mb-1 "Browser compatibility"]
[:div.flex.mb-4.gap-px
(for [[browser {:keys [version_added]}] support-data]
^{:key browser} [browser-support browser version_added])]])
[ui/scroll-area
[:div.flex.mb-4.gap-px
(for [[browser {:keys [version_added]}] support-data]
^{:key browser} [browser-support browser version_added])]]])

(defn info-button
[url label]
Expand Down Expand Up @@ -83,7 +84,7 @@
(defn form-input
[k v {:keys [disabled placeholder] :as attrs}]
[:div.relative.flex.form-input.flex-1
[:input
[:input.form-element
(merge attrs
{:key v
:id (name k)
Expand All @@ -92,8 +93,9 @@
:on-blur #(on-change-handler! % k v)
:on-key-down #(keyb/input-key-down-handler! % v on-change-handler! k v)})]
(when-not (or (empty? (str v)) disabled)
[:button.button.bg-primary.text-muted.absolute.h-full.right-0.clear-input-button.hover:bg-transparent.invisible.p-1
{:on-pointer-down #(rf/dispatch [::element.e/remove-attr k])}
[:button.button.bg-primary.text-muted.absolute.h-full.right-0.clear-input-button.invisible.p-1
{:class "hover:bg-transparent"
:on-pointer-down #(rf/dispatch [::element.e/remove-attr k])}
[ui/icon "times"]])])

(defmethod hierarchy/form-element :default
Expand Down Expand Up @@ -134,7 +136,7 @@
[ui/icon "chevron-down"]]]
[:> Select/Portal
[:> Select/Content
{:class "menu-content rounded select-content"
{:class "menu-content rounded-sm select-content"
:on-key-down #(.stopPropagation %)}
[:> Select/ScrollUpButton
{:class "select-scroll-button"}
Expand Down Expand Up @@ -178,7 +180,7 @@
(= (:key clicked-element) key))]
[:> HoverCard/Root
[:> HoverCard/Trigger
[:label.w-28.truncate
[:label.form-element.w-28.truncate
{:for (name k)
:class (when active "text-active")} k]]
[:> HoverCard/Portal
Expand Down
Loading