Skip to content
This repository was archived by the owner on Feb 17, 2025. It is now read-only.

Commit e929fd7

Browse files
author
Sean Dawson
committed
feat: remove react-dom dependency
After testing with the browser plugin it seems like we don't actually need to use a ReactDOM portal for tooltips. Removing the dependency on react-dom reduces the bundle size quite a bit.
1 parent a6c8461 commit e929fd7

File tree

1 file changed

+7
-9
lines changed

1 file changed

+7
-9
lines changed

src/main/mule_preview/client/components.cljs

+7-9
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
"The react components that render the Mule preview"
33
(:require
44
[reagent.core :as r]
5-
["react-dom" :as react-dom]
65
[clojure.string :refer [split replace]]
76
[lambdaisland.uri :refer [join]]
87
["react-popper" :refer [Manager Reference Popper]])
@@ -121,14 +120,13 @@
121120

122121
(defn popper [change-record labels location showing-atom anchor-el]
123122
; TODO: Remove this dependency on react-dom
124-
(when @showing-atom (react-dom/createPortal
125-
(r/as-element [:div {:class "mp-popover-root"}
126-
[:> Popper {:placement "auto" :reference-element @anchor-el}
127-
(fn [props]
128-
(let [{:keys [ref style placement]} (js->clj props :keywordize-keys true)]
129-
(r/as-element [:div {:ref ref :style style :data-placement placement :class placement}
130-
(tooltip change-record labels location placement)])))]])
131-
(.-body js/document))))
123+
(when @showing-atom
124+
[:div {:class "mp-popover-root"}
125+
[:> Popper {:placement "auto" :reference-element @anchor-el}
126+
(fn [props]
127+
(let [{:keys [ref style placement]} (js->clj props :keywordize-keys true)]
128+
(r/as-element [:div {:ref ref :style style :data-placement placement :class placement}
129+
(tooltip change-record labels location placement)])))]]))
132130

133131
(defn mule-component-inner [{:keys [name description css-class content-root location change-record showing-atom labels mappings]}]
134132
(let [anchor-el (clojure.core/atom nil)

0 commit comments

Comments
 (0)