From 70155c2e79298e50248c537d71e90ef11d78a224 Mon Sep 17 00:00:00 2001 From: Andrey Antukh Date: Thu, 2 Apr 2026 21:39:54 +0000 Subject: [PATCH] :recycle: Convert layout-item-menu and sub-components to * suffix, update all call sites --- .../sidebar/options/menus/layout_item.cljs | 88 +++++++++---------- .../sidebar/options/shapes/bool.cljs | 19 ++-- .../sidebar/options/shapes/circle.cljs | 20 ++--- .../sidebar/options/shapes/frame.cljs | 25 +++--- .../sidebar/options/shapes/group.cljs | 19 ++-- .../sidebar/options/shapes/multiple.cljs | 19 ++-- .../sidebar/options/shapes/path.cljs | 20 ++--- .../sidebar/options/shapes/rect.cljs | 19 ++-- .../sidebar/options/shapes/svg_raw.cljs | 19 ++-- .../sidebar/options/shapes/text.cljs | 19 ++-- 10 files changed, 128 insertions(+), 139 deletions(-) diff --git a/frontend/src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs b/frontend/src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs index db8e378e19..c82fc6f977 100644 --- a/frontend/src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs +++ b/frontend/src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs @@ -423,9 +423,8 @@ :on-click on-type-change'} deprecated-icon/margin]])) -(mf/defc element-behaviour-horizontal - {::mf/props :obj - ::mf/private true} +(mf/defc element-behaviour-horizontal* + {::mf/private true} [{:keys [^boolean is-auto ^boolean has-fill value on-change]}] [:div {:class (stl/css-case :horizontal-behaviour true @@ -457,9 +456,8 @@ :title "Fit content (Horizontal)" :id "behaviour-h-auto"}])]]) -(mf/defc element-behaviour-vertical - {::mf/props :obj - ::mf/private true} +(mf/defc element-behaviour-vertical* + {::mf/private true} [{:keys [^boolean is-auto ^boolean has-fill value on-change]}] [:div {:class (stl/css-case :vertical-behaviour true @@ -493,8 +491,7 @@ :title "Fit content (Vertical)" :id "behaviour-v-auto"}])]]) -(mf/defc align-self-row - {::mf/props :obj} +(mf/defc align-self-row* [{:keys [^boolean is-col value on-change]}] [:& radio-buttons {:selected (d/name value) :decode-fn keyword @@ -723,16 +720,15 @@ :value (get values :layout-item-max-h) :nillable true}]])])])) -(mf/defc layout-item-menu - {::mf/memo #{:ids :values :type :is-layout-child? :is-grid-parent :is-flex-parent? :is-grid-layout? :is-flex-layout? :applied-tokens} - ::mf/props :obj} +(mf/defc layout-item-menu* + {::mf/wrap [mf/memo]} [{:keys [ids values - ^boolean is-layout-child? - ^boolean is-layout-container? - ^boolean is-grid-parent? - ^boolean is-flex-parent? - ^boolean is-flex-layout? - ^boolean is-grid-layout? + ^boolean is-layout-child + ^boolean is-layout-container + ^boolean is-grid-parent + ^boolean is-flex-parent + ^boolean is-flex-layout + ^boolean is-grid-layout applied-tokens]}] (let [selection-parents* (mf/use-memo (mf/deps ids) #(refs/parents-by-ids ids)) @@ -745,16 +741,16 @@ is-col? (every? ctl/col? selection-parents) ^boolean - is-layout-child? (and is-layout-child? (not is-absolute?)) + is-layout-child (and is-layout-child (not is-absolute?)) state* (mf/use-state true) open? (deref state*) toggle-content (mf/use-fn #(swap! state* not)) - has-content? (or is-layout-child? - is-flex-parent? - is-grid-parent? - is-layout-container?) + has-content? (or is-layout-child + is-flex-parent + is-grid-parent + is-layout-container) ;; Align self align-self (:layout-item-align-self values) @@ -763,24 +759,24 @@ title (cond - (and is-layout-container? - is-flex-layout? - (not is-layout-child?)) + (and is-layout-container + is-flex-layout + (not is-layout-child)) "Flex board" - (and is-layout-container? - is-grid-layout? - (not is-layout-child?)) + (and is-layout-container + is-grid-layout + (not is-layout-child)) "Grid board" - (and is-layout-container? - (not is-layout-child?)) + (and is-layout-container + (not is-layout-child)) "Layout board" - is-flex-parent? + is-flex-parent "Flex element" - is-grid-parent? + is-grid-parent "Grid element" :else @@ -855,7 +851,7 @@ :title-spacing-empty (not has-content?))}]] (when open? [:div {:class (stl/css :flex-element-menu)} - (when (or is-layout-child? is-absolute?) + (when (or is-layout-child is-absolute?) [:div {:class (stl/css :position-row)} [:div {:class (stl/css :position-options)} [:& radio-buttons {:selected (if is-absolute? "absolute" "static") @@ -883,26 +879,26 @@ [:div {:class (stl/css :behavior-row)} [:div {:class (stl/css-case :behaviour-menu true - :wrap (and ^boolean is-layout-child? - ^boolean is-layout-container?))} - [:& element-behaviour-horizontal - {:is-auto is-layout-container? - :has-fill is-layout-child? + :wrap (and ^boolean is-layout-child + ^boolean is-layout-container))} + [:> element-behaviour-horizontal* + {:is-auto is-layout-container + :has-fill is-layout-child :value (:layout-item-h-sizing values) :on-change on-behaviour-h-change}] - [:& element-behaviour-vertical - {:is-auto is-layout-container? - :has-fill is-layout-child? + [:> element-behaviour-vertical* + {:is-auto is-layout-container + :has-fill is-layout-child :value (:layout-item-v-sizing values) :on-change on-behaviour-v-change}]]] - (when (and is-layout-child? is-flex-parent?) + (when (and is-layout-child is-flex-parent) [:div {:class (stl/css :align-row)} - [:& align-self-row {:is-col is-col? - :value align-self - :on-change on-align-self-change}]]) + [:> align-self-row* {:is-col is-col? + :value align-self + :on-change on-align-self-change}]]) - (when is-layout-child? + (when is-layout-child [:> margin-section* {:value (:layout-item-margin values) :type (:layout-item-margin-type values) :on-type-change on-margin-type-change diff --git a/frontend/src/app/main/ui/workspace/sidebar/options/shapes/bool.cljs b/frontend/src/app/main/ui/workspace/sidebar/options/shapes/bool.cljs index fc9321a124..5661f749a5 100644 --- a/frontend/src/app/main/ui/workspace/sidebar/options/shapes/bool.cljs +++ b/frontend/src/app/main/ui/workspace/sidebar/options/shapes/bool.cljs @@ -16,7 +16,7 @@ [app.main.ui.workspace.sidebar.options.menus.grid-cell :as grid-cell] [app.main.ui.workspace.sidebar.options.menus.layer :refer [layer-attrs layer-menu*]] [app.main.ui.workspace.sidebar.options.menus.layout-container :refer [layout-container-flex-attrs layout-container-menu*]] - [app.main.ui.workspace.sidebar.options.menus.layout-item :refer [layout-item-attrs layout-item-menu]] + [app.main.ui.workspace.sidebar.options.menus.layout-item :refer [layout-item-attrs layout-item-menu*]] [app.main.ui.workspace.sidebar.options.menus.measures :refer [measure-attrs measures-menu*]] [app.main.ui.workspace.sidebar.options.menus.shadow :refer [shadow-menu*]] [app.main.ui.workspace.sidebar.options.menus.stroke :refer [stroke-attrs stroke-menu*]] @@ -107,15 +107,14 @@ :cell (ctl/get-cell-by-shape-id (first parents) (first ids))}]) (when is-layout-child? - [:& layout-item-menu - {:ids ids - :type type - :values layout-item-values - :is-layout-child? true - :is-flex-parent? is-flex-parent? - :is-grid-parent? is-grid-parent? - :applied-tokens applied-tokens - :shape shape}]) + [:> layout-item-menu* {:ids ids + :type type + :values layout-item-values + :is-layout-child true + :is-flex-parent is-flex-parent? + :is-grid-parent is-grid-parent? + :applied-tokens applied-tokens + :shape shape}]) (when (or (not ^boolean is-layout-child?) ^boolean is-layout-child-absolute?) [:> constraints-menu* {:ids ids diff --git a/frontend/src/app/main/ui/workspace/sidebar/options/shapes/circle.cljs b/frontend/src/app/main/ui/workspace/sidebar/options/shapes/circle.cljs index 376a702b15..b8c449892c 100644 --- a/frontend/src/app/main/ui/workspace/sidebar/options/shapes/circle.cljs +++ b/frontend/src/app/main/ui/workspace/sidebar/options/shapes/circle.cljs @@ -16,7 +16,7 @@ [app.main.ui.workspace.sidebar.options.menus.grid-cell :as grid-cell] [app.main.ui.workspace.sidebar.options.menus.layer :refer [layer-attrs layer-menu*]] [app.main.ui.workspace.sidebar.options.menus.layout-container :refer [layout-container-flex-attrs layout-container-menu*]] - [app.main.ui.workspace.sidebar.options.menus.layout-item :refer [layout-item-attrs layout-item-menu]] + [app.main.ui.workspace.sidebar.options.menus.layout-item :refer [layout-item-attrs layout-item-menu*]] [app.main.ui.workspace.sidebar.options.menus.measures :refer [measure-attrs measures-menu*]] [app.main.ui.workspace.sidebar.options.menus.shadow :refer [shadow-menu*]] [app.main.ui.workspace.sidebar.options.menus.stroke :refer [stroke-attrs stroke-menu*]] @@ -106,15 +106,15 @@ :cell (ctl/get-cell-by-shape-id (first parents) (first ids))}]) (when is-layout-child? - [:& layout-item-menu {:ids ids - :type type - :values layout-item-values - :is-layout-child? true - :is-layout-container? false - :is-flex-parent? is-flex-parent? - :is-grid-parent? is-grid-parent? - :applied-tokens applied-tokens - :shape shape}]) + [:> layout-item-menu* {:ids ids + :type type + :values layout-item-values + :is-layout-child true + :is-layout-container false + :is-flex-parent is-flex-parent? + :is-grid-parent is-grid-parent? + :applied-tokens applied-tokens + :shape shape}]) (when (or (not ^boolean is-layout-child?) ^boolean is-layout-child-absolute?) [:> constraints-menu* {:ids ids diff --git a/frontend/src/app/main/ui/workspace/sidebar/options/shapes/frame.cljs b/frontend/src/app/main/ui/workspace/sidebar/options/shapes/frame.cljs index e7db108c68..a653a93d34 100644 --- a/frontend/src/app/main/ui/workspace/sidebar/options/shapes/frame.cljs +++ b/frontend/src/app/main/ui/workspace/sidebar/options/shapes/frame.cljs @@ -20,7 +20,7 @@ [app.main.ui.workspace.sidebar.options.menus.grid-cell :as grid-cell] [app.main.ui.workspace.sidebar.options.menus.layer :refer [layer-attrs layer-menu*]] [app.main.ui.workspace.sidebar.options.menus.layout-container :refer [layout-container-flex-attrs layout-container-menu*]] - [app.main.ui.workspace.sidebar.options.menus.layout-item :refer [layout-item-attrs layout-item-menu]] + [app.main.ui.workspace.sidebar.options.menus.layout-item :refer [layout-item-attrs layout-item-menu*]] [app.main.ui.workspace.sidebar.options.menus.measures :refer [select-measure-keys measures-menu*]] [app.main.ui.workspace.sidebar.options.menus.shadow :refer [shadow-menu*]] [app.main.ui.workspace.sidebar.options.menus.stroke :refer [stroke-attrs stroke-menu*]] @@ -126,18 +126,17 @@ :cell (ctl/get-cell-by-shape-id (first parents) (first ids))}]) (when (or is-layout-child? is-layout-container?) - [:& layout-item-menu - {:ids ids - :type shape-type - :values layout-item-values - :is-flex-parent? is-flex-parent? - :is-grid-parent? is-grid-parent? - :is-flex-layout? is-flex-layout? - :is-grid-layout? is-grid-layout? - :is-layout-child? is-layout-child? - :applied-tokens applied-tokens - :is-layout-container? is-layout-container? - :shape shape}]) + [:> layout-item-menu* {:ids ids + :type shape-type + :values layout-item-values + :is-flex-parent is-flex-parent? + :is-grid-parent is-grid-parent? + :is-flex-layout is-flex-layout? + :is-grid-layout is-grid-layout? + :is-layout-child is-layout-child? + :applied-tokens applied-tokens + :is-layout-container is-layout-container? + :shape shape}]) (when (or (not ^boolean is-layout-child?) ^boolean is-layout-child-absolute?) [:> constraints-menu* {:ids ids diff --git a/frontend/src/app/main/ui/workspace/sidebar/options/shapes/group.cljs b/frontend/src/app/main/ui/workspace/sidebar/options/shapes/group.cljs index 672e749301..59908792b9 100644 --- a/frontend/src/app/main/ui/workspace/sidebar/options/shapes/group.cljs +++ b/frontend/src/app/main/ui/workspace/sidebar/options/shapes/group.cljs @@ -19,7 +19,7 @@ [app.main.ui.workspace.sidebar.options.menus.grid-cell :as grid-cell] [app.main.ui.workspace.sidebar.options.menus.layer :refer [layer-menu*]] [app.main.ui.workspace.sidebar.options.menus.layout-container :refer [layout-container-flex-attrs layout-container-menu*]] - [app.main.ui.workspace.sidebar.options.menus.layout-item :refer [layout-item-menu]] + [app.main.ui.workspace.sidebar.options.menus.layout-item :refer [layout-item-menu*]] [app.main.ui.workspace.sidebar.options.menus.measures :refer [measures-menu*]] [app.main.ui.workspace.sidebar.options.menus.shadow :refer [shadow-menu*]] [app.main.ui.workspace.sidebar.options.menus.stroke :refer [stroke-menu*]] @@ -132,15 +132,14 @@ :cell (ctl/get-cell-by-shape-id (first parents) (first ids))}]) (when is-layout-child? - [:& layout-item-menu - {:type type - :ids layout-item-ids - :is-layout-child? true - :is-layout-container? false - :is-flex-parent? is-flex-parent? - :is-grid-parent? is-grid-parent? - :applied-tokens applied-tokens - :values layout-item-values}]) + [:> layout-item-menu* {:type type + :ids layout-item-ids + :is-layout-child true + :is-layout-container false + :is-flex-parent is-flex-parent? + :is-grid-parent is-grid-parent? + :applied-tokens applied-tokens + :values layout-item-values}]) (when (or (not ^boolean is-layout-child?) ^boolean is-layout-child-absolute?) [:> constraints-menu* {:ids constraint-ids :values constraint-values}]) diff --git a/frontend/src/app/main/ui/workspace/sidebar/options/shapes/multiple.cljs b/frontend/src/app/main/ui/workspace/sidebar/options/shapes/multiple.cljs index aef4dac737..cda6e86045 100644 --- a/frontend/src/app/main/ui/workspace/sidebar/options/shapes/multiple.cljs +++ b/frontend/src/app/main/ui/workspace/sidebar/options/shapes/multiple.cljs @@ -28,7 +28,7 @@ [app.main.ui.workspace.sidebar.options.menus.fill :as fill] [app.main.ui.workspace.sidebar.options.menus.layer :refer [layer-attrs layer-menu*]] [app.main.ui.workspace.sidebar.options.menus.layout-container :refer [layout-container-flex-attrs layout-container-menu*]] - [app.main.ui.workspace.sidebar.options.menus.layout-item :refer [layout-item-attrs layout-item-menu]] + [app.main.ui.workspace.sidebar.options.menus.layout-item :refer [layout-item-attrs layout-item-menu*]] [app.main.ui.workspace.sidebar.options.menus.measures :refer [select-measure-keys measure-attrs measures-menu*]] [app.main.ui.workspace.sidebar.options.menus.shadow :refer [shadow-attrs shadow-menu*]] [app.main.ui.workspace.sidebar.options.menus.stroke :refer [stroke-attrs stroke-menu*]] @@ -464,15 +464,14 @@ :multiple true}] (when (or is-layout-child? has-flex-layout-container?) - [:& layout-item-menu - {:type type - :ids layout-item-ids - :is-layout-child? all-layout-child? - :is-layout-container? all-flex-layout-container? - :is-flex-parent? is-flex-parent? - :is-grid-parent? is-grid-parent? - :applied-tokens layout-item-tokens - :values layout-item-values}]) + [:> layout-item-menu* {:type type + :ids layout-item-ids + :is-layout-child all-layout-child? + :is-layout-container all-flex-layout-container? + :is-flex-parent is-flex-parent? + :is-grid-parent is-grid-parent? + :applied-tokens layout-item-tokens + :values layout-item-values}]) (when-not (or (empty? constraint-ids) ^boolean is-layout-child?) [:> constraints-menu* {:ids constraint-ids :values constraint-values}]) diff --git a/frontend/src/app/main/ui/workspace/sidebar/options/shapes/path.cljs b/frontend/src/app/main/ui/workspace/sidebar/options/shapes/path.cljs index 1632041892..d655c7ef64 100644 --- a/frontend/src/app/main/ui/workspace/sidebar/options/shapes/path.cljs +++ b/frontend/src/app/main/ui/workspace/sidebar/options/shapes/path.cljs @@ -16,7 +16,7 @@ [app.main.ui.workspace.sidebar.options.menus.grid-cell :as grid-cell] [app.main.ui.workspace.sidebar.options.menus.layer :refer [layer-attrs layer-menu*]] [app.main.ui.workspace.sidebar.options.menus.layout-container :refer [layout-container-flex-attrs layout-container-menu*]] - [app.main.ui.workspace.sidebar.options.menus.layout-item :refer [layout-item-attrs layout-item-menu]] + [app.main.ui.workspace.sidebar.options.menus.layout-item :refer [layout-item-attrs layout-item-menu*]] [app.main.ui.workspace.sidebar.options.menus.measures :refer [measure-attrs measures-menu*]] [app.main.ui.workspace.sidebar.options.menus.shadow :refer [shadow-menu*]] [app.main.ui.workspace.sidebar.options.menus.stroke :refer [stroke-attrs stroke-menu*]] @@ -106,15 +106,15 @@ :cell (ctl/get-cell-by-shape-id (first parents) (first ids))}]) (when is-layout-child? - [:& layout-item-menu {:ids ids - :type type - :values layout-item-values - :is-layout-child? true - :is-layout-container? false - :is-flex-parent? is-flex-parent? - :is-grid-parent? is-grid-parent? - :applied-tokens applied-tokens - :shape shape}]) + [:> layout-item-menu* {:ids ids + :type type + :values layout-item-values + :is-layout-child true + :is-layout-container false + :is-flex-parent is-flex-parent? + :is-grid-parent is-grid-parent? + :applied-tokens applied-tokens + :shape shape}]) (when (or (not ^boolean is-layout-child?) ^boolean is-layout-child-absolute?) [:> constraints-menu* {:ids ids diff --git a/frontend/src/app/main/ui/workspace/sidebar/options/shapes/rect.cljs b/frontend/src/app/main/ui/workspace/sidebar/options/shapes/rect.cljs index 4c2e11bacc..64fbb3846a 100644 --- a/frontend/src/app/main/ui/workspace/sidebar/options/shapes/rect.cljs +++ b/frontend/src/app/main/ui/workspace/sidebar/options/shapes/rect.cljs @@ -16,7 +16,7 @@ [app.main.ui.workspace.sidebar.options.menus.grid-cell :as grid-cell] [app.main.ui.workspace.sidebar.options.menus.layer :refer [layer-attrs layer-menu*]] [app.main.ui.workspace.sidebar.options.menus.layout-container :refer [layout-container-flex-attrs layout-container-menu*]] - [app.main.ui.workspace.sidebar.options.menus.layout-item :refer [layout-item-attrs layout-item-menu]] + [app.main.ui.workspace.sidebar.options.menus.layout-item :refer [layout-item-attrs layout-item-menu*]] [app.main.ui.workspace.sidebar.options.menus.measures :refer [measure-attrs measures-menu*]] [app.main.ui.workspace.sidebar.options.menus.shadow :refer [shadow-menu*]] [app.main.ui.workspace.sidebar.options.menus.stroke :refer [stroke-attrs stroke-menu*]] @@ -106,15 +106,14 @@ :cell (ctl/get-cell-by-shape-id (first parents) (first ids))}]) (when ^boolean is-layout-child? - [:& layout-item-menu - {:ids ids - :type type - :values layout-item-values - :is-layout-child? true - :is-flex-parent? is-flex-parent? - :applied-tokens applied-tokens - :is-grid-parent? is-grid-parent? - :shape shape}]) + [:> layout-item-menu* {:ids ids + :type type + :values layout-item-values + :is-layout-child true + :is-flex-parent is-flex-parent? + :applied-tokens applied-tokens + :is-grid-parent is-grid-parent? + :shape shape}]) (when (or (not ^boolean is-layout-child?) ^boolean is-layout-child-absolute?) [:> constraints-menu* {:ids ids diff --git a/frontend/src/app/main/ui/workspace/sidebar/options/shapes/svg_raw.cljs b/frontend/src/app/main/ui/workspace/sidebar/options/shapes/svg_raw.cljs index 8857093bee..75a2c3bd3a 100644 --- a/frontend/src/app/main/ui/workspace/sidebar/options/shapes/svg_raw.cljs +++ b/frontend/src/app/main/ui/workspace/sidebar/options/shapes/svg_raw.cljs @@ -17,7 +17,7 @@ [app.main.ui.workspace.sidebar.options.menus.fill :as fill] [app.main.ui.workspace.sidebar.options.menus.grid-cell :as grid-cell] [app.main.ui.workspace.sidebar.options.menus.layout-container :refer [layout-container-flex-attrs layout-container-menu*]] - [app.main.ui.workspace.sidebar.options.menus.layout-item :refer [layout-item-attrs layout-item-menu]] + [app.main.ui.workspace.sidebar.options.menus.layout-item :refer [layout-item-attrs layout-item-menu*]] [app.main.ui.workspace.sidebar.options.menus.measures :refer [measure-attrs measures-menu*]] [app.main.ui.workspace.sidebar.options.menus.shadow :refer [shadow-menu*]] [app.main.ui.workspace.sidebar.options.menus.stroke :refer [stroke-attrs stroke-menu*]] @@ -173,15 +173,14 @@ :cell (ctl/get-cell-by-shape-id (first parents) (first ids))}]) (when is-layout-child? - [:& layout-item-menu - {:ids ids - :type type - :values layout-item-values - :is-layout-child? true - :is-flex-parent? is-flex-parent? - :is-grid-parent? is-grid-parent? - :applied-tokens applied-tokens - :shape shape}]) + [:> layout-item-menu* {:ids ids + :type type + :values layout-item-values + :is-layout-child true + :is-flex-parent is-flex-parent? + :is-grid-parent is-grid-parent? + :applied-tokens applied-tokens + :shape shape}]) (when (or (not ^boolean is-layout-child?) ^boolean is-layout-child-absolute?) [:> constraints-menu* {:ids ids diff --git a/frontend/src/app/main/ui/workspace/sidebar/options/shapes/text.cljs b/frontend/src/app/main/ui/workspace/sidebar/options/shapes/text.cljs index 8629e0910f..1aa940e0e2 100644 --- a/frontend/src/app/main/ui/workspace/sidebar/options/shapes/text.cljs +++ b/frontend/src/app/main/ui/workspace/sidebar/options/shapes/text.cljs @@ -22,7 +22,7 @@ [app.main.ui.workspace.sidebar.options.menus.grid-cell :as grid-cell] [app.main.ui.workspace.sidebar.options.menus.layer :refer [layer-attrs layer-menu*]] [app.main.ui.workspace.sidebar.options.menus.layout-container :refer [layout-container-flex-attrs layout-container-menu*]] - [app.main.ui.workspace.sidebar.options.menus.layout-item :refer [layout-item-attrs layout-item-menu]] + [app.main.ui.workspace.sidebar.options.menus.layout-item :refer [layout-item-attrs layout-item-menu*]] [app.main.ui.workspace.sidebar.options.menus.measures :refer [measure-attrs measures-menu*]] [app.main.ui.workspace.sidebar.options.menus.shadow :refer [shadow-menu*]] [app.main.ui.workspace.sidebar.options.menus.stroke :refer [stroke-attrs stroke-menu*]] @@ -161,15 +161,14 @@ :cell (ctl/get-cell-by-shape-id (first parents) (first ids))}]) (when is-layout-child? - [:& layout-item-menu - {:ids ids - :type type - :values layout-item-values - :is-layout-child? true - :is-flex-parent? is-flex-parent? - :is-grid-parent? is-grid-parent? - :applied-tokens applied-tokens - :shape shape}]) + [:> layout-item-menu* {:ids ids + :type type + :values layout-item-values + :is-layout-child true + :is-flex-parent is-flex-parent? + :is-grid-parent is-grid-parent? + :applied-tokens applied-tokens + :shape shape}]) (when (or (not ^boolean is-layout-child?) ^boolean is-layout-child-absolute?) [:> constraints-menu*