From b1333abf34d6035189bf710a46ab3acc2c20572d Mon Sep 17 00:00:00 2001
From: Isaac Roberts <119639439+madebyisaacr@users.noreply.github.com>
Date: Mon, 15 Jun 2026 19:09:26 -0400
Subject: [PATCH 1/6] CSV import
---
plugins/csv-import/src/App.css | 6 +---
.../src/components/CollectionIcon.tsx | 29 +------------------
2 files changed, 2 insertions(+), 33 deletions(-)
diff --git a/plugins/csv-import/src/App.css b/plugins/csv-import/src/App.css
index dc6853860..e669c2204 100644
--- a/plugins/csv-import/src/App.css
+++ b/plugins/csv-import/src/App.css
@@ -17,16 +17,12 @@ body {
align-items: center;
text-align: left;
height: 100%;
- gap: 15px;
+ gap: 10px;
padding-left: 15px;
padding-right: 15px;
padding-bottom: 15px;
}
-[data-framer-styles="prerelease"] .import-collection {
- gap: 10px;
-}
-
.select-csv-file {
display: flex;
flex-direction: column;
diff --git a/plugins/csv-import/src/components/CollectionIcon.tsx b/plugins/csv-import/src/components/CollectionIcon.tsx
index eabb081e6..ac7fca987 100644
--- a/plugins/csv-import/src/components/CollectionIcon.tsx
+++ b/plugins/csv-import/src/components/CollectionIcon.tsx
@@ -1,9 +1,5 @@
-import { useMemo } from "react"
-
export function CollectionIcon() {
- const isPrerelease = useMemo(() => document.body.getAttribute("data-framer-styles") === "prerelease", [])
-
- return isPrerelease ? (
+ return (
- ) : (
-
)
}
From 551ddd6f70101389a7f81b1af1688e2333cdeb23 Mon Sep 17 00:00:00 2001
From: Isaac Roberts <119639439+madebyisaacr@users.noreply.github.com>
Date: Mon, 15 Jun 2026 19:13:36 -0400
Subject: [PATCH 2/6] Renamer
---
plugins/renamer/src/App.css | 67 +----
plugins/renamer/src/components/LayerIcon.tsx | 282 +++++++------------
plugins/renamer/src/components/Tabs.tsx | 18 --
3 files changed, 105 insertions(+), 262 deletions(-)
diff --git a/plugins/renamer/src/App.css b/plugins/renamer/src/App.css
index 83d124ff6..55cd3c7e9 100644
--- a/plugins/renamer/src/App.css
+++ b/plugins/renamer/src/App.css
@@ -45,48 +45,19 @@
display: flex;
align-items: center;
flex-shrink: 0;
- padding: 15px;
- position: relative;
-}
-
-[data-framer-styles="prerelease"] .tabs {
padding: 0 15px;
-}
-
-.tabs:before {
- content: "";
- position: absolute;
- top: 0;
- left: 15px;
- right: 15px;
- height: 1px;
- background-color: var(--framer-color-divider);
- z-index: 1;
-}
-
-[data-framer-styles="prerelease"] .tabs:before {
- display: none;
+ position: relative;
}
.tabs-container {
position: relative;
display: flex;
+ width: 100%;
+ height: auto;
flex-direction: row;
align-items: center;
- justify-content: space-around;
- background-color: var(--framer-color-bg-tertiary);
- border-radius: 8px;
- width: 100%;
- padding: 2px;
- height: 30px;
-}
-
-[data-framer-styles="prerelease"] .tabs-container {
justify-content: start;
- background-color: transparent;
- border-radius: 0;
padding: 10px 0;
- height: auto;
border-top: 1px solid var(--framer-color-divider);
border-bottom: 1px solid var(--framer-color-divider);
}
@@ -95,15 +66,9 @@
position: relative;
background: none !important;
border: 0;
- flex: 1;
- height: 100%;
color: #999999;
font-weight: 500;
user-select: none;
- transition: color 200ms ease;
-}
-
-[data-framer-styles="prerelease"] .tab {
flex: none;
width: fit-content;
height: 30px;
@@ -113,20 +78,9 @@
background-color 100ms ease;
}
-.tab:not(.active):hover {
- color: var(--framer-color-text-secondary);
-}
-
-[data-framer-styles="prerelease"] .tab:not(.active):hover {
- color: #999999;
-}
-
.tab.active {
color: var(--framer-color-text);
font-weight: 600;
-}
-
-[data-framer-styles="prerelease"] .tab.active {
background-color: var(--framer-color-bg-tertiary) !important;
}
@@ -257,17 +211,6 @@
inset: 0;
}
-body:not([data-framer-styles="prerelease"]) .results-container:before {
- content: "";
- position: absolute;
- top: 0;
- left: 15px;
- right: 15px;
- height: 1px;
- background-color: var(--framer-color-divider);
- z-index: 1;
-}
-
.results-container.is-scrollable:after {
content: "";
position: absolute;
@@ -283,10 +226,6 @@ body:not([data-framer-styles="prerelease"]) .results-container:before {
flex: 1;
height: 100%;
overflow-y: auto;
- padding: 15px;
-}
-
-[data-framer-styles="prerelease"] .container {
padding: 10px 15px;
}
diff --git a/plugins/renamer/src/components/LayerIcon.tsx b/plugins/renamer/src/components/LayerIcon.tsx
index 9d73e6abe..9165c18b7 100644
--- a/plugins/renamer/src/components/LayerIcon.tsx
+++ b/plugins/renamer/src/components/LayerIcon.tsx
@@ -1,4 +1,3 @@
-import { useMemo } from "react"
import type { IndexNodeType } from "../search/types"
interface Props {
@@ -7,190 +6,113 @@ interface Props {
}
export default function LayerIcon({ type, isBreakpoint }: Props) {
- const isPrerelease = useMemo(() => document.body.getAttribute("data-framer-styles") === "prerelease", [])
-
let icon = null
- if (isPrerelease) {
- switch (type) {
- case "TextNode":
- icon = (
-
- )
- break
- case "FrameNode":
- icon = isBreakpoint ? (
-
- ) : (
-
- )
- break
-
- case "ComponentInstanceNode":
- icon = (
-
- )
- break
+
+
+
+ )
+ break
+ case "FrameNode":
+ icon = isBreakpoint ? (
+
+ ) : (
+
+ )
+ break
- default:
- icon = null
- }
- } else {
- switch (type) {
- case "TextNode":
- icon = (
-
- )
- break
-
- case "FrameNode":
- icon = isBreakpoint ? (
-
- ) : (
-
- )
- break
-
- case "ComponentInstanceNode":
- icon = (
-
- )
- break
+ case "ComponentInstanceNode":
+ icon = (
+
+ )
+ break
- default:
- icon = null
- }
+ default:
+ icon = null
}
return
{icon}
diff --git a/plugins/renamer/src/components/Tabs.tsx b/plugins/renamer/src/components/Tabs.tsx
index 52d05ca97..481bea90b 100644
--- a/plugins/renamer/src/components/Tabs.tsx
+++ b/plugins/renamer/src/components/Tabs.tsx
@@ -1,5 +1,4 @@
import cx from "classnames"
-import { useMemo } from "react"
interface TabItem {
label: string
@@ -12,26 +11,9 @@ interface Props {
}
export default function Tabs({ items }: Props) {
- const isPrerelease = useMemo(() => document.body.getAttribute("data-framer-styles") === "prerelease", [])
- const activeIndex = items.findIndex(item => item.active)
-
return (
- {!isPrerelease && (
-
- {activeIndex !== -1 && (
-
- )}
-
- )}
-
{items.map((item, index) => (