@@ -11,7 +11,6 @@ import {
1111 type ComponentProps ,
1212 type RefObject ,
1313} from "react" ;
14- import { useStore } from "@nanostores/react" ;
1514import { matchSorter } from "match-sorter" ;
1615import {
1716 Box ,
@@ -42,7 +41,6 @@ import { useClientSupports } from "~/shared/client-supports";
4241import { CopyPasteMenu , copyAttribute } from "./copy-paste-menu" ;
4342import { AddStyleInput } from "./add-style-input" ;
4443import { parseStyleInput } from "./parse-style-input" ;
45- import { $selectedInstanceKey } from "~/shared/awareness" ;
4644import type { DeleteProperty , SetProperty } from "../use-style-data" ;
4745
4846// Used to indent the values when they are on the next line. This way its easier to see
@@ -307,25 +305,21 @@ export type CssEditorApi = { showAddStyleInput: () => void } | undefined;
307305export const CssEditor = ( {
308306 deleteProperty,
309307 setProperty,
310- insertProperties ,
308+ addProperties ,
311309 styleMap,
312310 apiRef,
313311 showSearch = true ,
312+ recentProperties = [ ] ,
314313} : {
315314 deleteProperty : DeleteProperty ;
316315 setProperty : SetProperty ;
317- insertProperties : ( styleMap : StyleMap ) => void ;
316+ addProperties : ( styleMap : StyleMap ) => void ;
318317 styleMap : StyleMap ;
319318 apiRef ?: RefObject < CssEditorApi > ;
320319 showSearch ?: boolean ;
320+ recentProperties ?: Array < CssProperty > ;
321321} ) => {
322322 const [ isAdding , setIsAdding ] = useState ( false ) ;
323- const selectedInstanceKey = useStore ( $selectedInstanceKey ) ;
324- // Memorizing recent properties by instance id, so that when user switches between instances and comes back
325- // they are still in-place
326- const [ recentPropertiesMap , setRecentPropertiesMap ] = useState <
327- Map < string , Array < CssProperty > >
328- > ( new Map ( ) ) ;
329323 const addPropertyInputRef = useRef < HTMLInputElement > ( null ) ;
330324 const recentValueInputRef = useRef < HTMLInputElement > ( null ) ;
331325 const searchInputRef = useRef < HTMLInputElement > ( null ) ;
@@ -341,10 +335,6 @@ export const CssEditor = ({
341335
342336 const advancedProperties = Array . from ( styleMap . keys ( ) ) as Array < CssProperty > ;
343337
344- const recentProperties = selectedInstanceKey
345- ? ( recentPropertiesMap . get ( selectedInstanceKey ) ?? [ ] )
346- : [ ] ;
347-
348338 const currentProperties =
349339 searchProperties ??
350340 advancedProperties . filter (
@@ -358,28 +348,12 @@ export const CssEditor = ({
358348 setMinHeight ( containerRef . current ?. getBoundingClientRect ( ) . height ?? 0 ) ;
359349 } ;
360350
361- const updateRecentProperties = ( properties : Array < CssProperty > ) => {
362- if ( selectedInstanceKey === undefined ) {
363- return ;
364- }
365- const newRecentPropertiesMap = new Map ( recentPropertiesMap ) ;
366- newRecentPropertiesMap . set (
367- selectedInstanceKey ,
368- Array . from ( new Set ( properties ) )
369- ) ;
370- setRecentPropertiesMap ( newRecentPropertiesMap ) ;
371- } ;
372-
373351 const handleInsertStyles = ( cssText : string ) => {
374352 const styleMap = parseStyleInput ( cssText ) ;
375353 if ( styleMap . size === 0 ) {
376354 return new Map ( ) ;
377355 }
378- const insertedProperties = Array . from (
379- styleMap . keys ( )
380- ) as Array < CssProperty > ;
381- updateRecentProperties ( [ ...recentProperties , ...insertedProperties ] ) ;
382- insertProperties ( styleMap ) ;
356+ addProperties ( styleMap ) ;
383357 return styleMap ;
384358 } ;
385359
@@ -462,14 +436,7 @@ export const CssEditor = ({
462436 handleShowAddStyleInput ( ) ;
463437 }
464438 } }
465- onReset = { ( ) => {
466- updateRecentProperties (
467- recentProperties . filter (
468- ( recentProperty ) => recentProperty !== property
469- )
470- ) ;
471- afterChangingStyles ( ) ;
472- } }
439+ onReset = { afterChangingStyles }
473440 deleteProperty = { deleteProperty }
474441 setProperty = { setProperty }
475442 />
0 commit comments