= new Map([
   [WorkScreen.about, "release"],
   [WorkScreen.component, "beta"],
   [WorkScreen.layout, "beta"],
+  [WorkScreen.library, "beta"],
   [WorkScreen.icon, "release"],
   [WorkScreen.preview, "release"],
   [WorkScreen.live, "beta"],
diff --git a/app/lib/routing/work-screen.ts b/app/lib/routing/work-screen.ts
index 85ed16ca..a9a2be34 100644
--- a/app/lib/routing/work-screen.ts
+++ b/app/lib/routing/work-screen.ts
@@ -9,6 +9,7 @@ export enum WorkScreen {
   component = "component",
   preview = "preview",
   layout = "layout",
+  library = "library",
   icon = "icon",
   live = "live",
   lint = "lint",
diff --git a/packages/app-design-library/components/index.ts b/packages/app-design-library/components/index.ts
new file mode 100644
index 00000000..e69de29b
diff --git a/packages/app-design-library/components/smart-preview.tsx b/packages/app-design-library/components/smart-preview.tsx
new file mode 100644
index 00000000..8e3bc88c
--- /dev/null
+++ b/packages/app-design-library/components/smart-preview.tsx
@@ -0,0 +1,6 @@
+import { Preview } from "@ui/previewer";
+import React from "react";
+
+export function SmartPreview() {
+  return ;
+}
diff --git a/packages/app-design-library/config/index.tsx b/packages/app-design-library/config/index.tsx
new file mode 100644
index 00000000..5566c4a4
--- /dev/null
+++ b/packages/app-design-library/config/index.tsx
@@ -0,0 +1,135 @@
+import React from "react";
+
+export type Categroy =
+  | "interface"
+  | "layout"
+  | "basics"
+  | "media"
+  | "seo"
+  | "utils";
+import { keys } from "@code-features/flags";
+// import type { CameraDisplayFlag } from "@code-features/flags";
+
+export interface LibraryItem {
+  id: string;
+  name: string;
+  description: string | React.ReactElement;
+  category: Categroy;
+  fields?: {
+    [key: string]: {
+      placeholder?: string;
+      required?: boolean;
+      initial?: string;
+      type: "string";
+    };
+  };
+}
+
+const config: { [key: string]: LibraryItem } = {
+  // basics
+  [keys.flag_key__as_button]: {
+    id: keys.flag_key__as_button,
+    name: "Button",
+    category: "basics",
+    description: "Specifies the button",
+  },
+  [keys.flag_key__as_checkbox]: {
+    id: keys.flag_key__as_checkbox,
+    name: "Check box",
+    category: "basics",
+    description: "checkbox",
+  },
+  [keys.flag_key__as_input]: {
+    id: keys.flag_key__as_input,
+    name: "Input",
+    category: "basics",
+    description: "text input",
+  },
+  [keys.flag_key__as_slider]: {
+    id: keys.flag_key__as_slider,
+    name: "Slider",
+    category: "basics",
+    description: "slider",
+  },
+  [keys.flag_key__as_progress]: {
+    id: keys.flag_key__as_progress,
+    name: "Linear Progress",
+    category: "basics",
+    description: "linear progress bar",
+  },
+  // media
+  [keys.flag_key__camera]: {
+    id: keys.flag_key__camera,
+    name: "Camera view",
+    category: "media",
+    description: (
+      
+        Specifies the view to stream the primary camera stream.{" "}
+        (Preview will not work in Assistant due to security reasons)
+      
+    ),
+    fields: {
+      camera: {
+        initial: undefined,
+        placeholder: "Front / Back",
+        type: "string",
+      },
+    },
+  },
+  [keys.flag_key__x_google_maps_view]: {
+    id: keys.flag_key__x_google_maps_view,
+    name: "Google Maps",
+    category: "media",
+    description: google maps view
,
+    fields: {
+      location: {
+        required: true,
+        initial: "San Francisco",
+        placeholder: "San Francisco",
+        type: "string",
+      },
+    },
+  },
+  [keys.flag_key__x_youtube_view]: {
+    id: keys.flag_key__x_youtube_view,
+    name: "Youtube Video",
+    category: "media",
+    description: Embed a youtube video
,
+    fields: {
+      video: {
+        required: true,
+        initial: "LOZuxwVk7TU",
+        placeholder: "youtube.com/watch?v=XXXXXXXXXX",
+        type: "string",
+      },
+    },
+  },
+  // utils
+  [keys.flag_key__autofocus]: {
+    id: keys.flag_key__autofocus,
+    name: "Auto focus",
+    category: "utils",
+    description: "Set autofocus property",
+  },
+  // seo
+  [keys.flag_key__as_h1]: {
+    id: keys.flag_key__as_h1,
+    name: "Heading 1",
+    category: "seo",
+    description: "Set heading 1 tag",
+  },
+  [keys.flag_key__as_h2]: {
+    id: keys.flag_key__as_h2,
+    name: "Heading 2",
+    category: "seo",
+    description: "Set heading 2 tag",
+  },
+  [keys.flag_key__as_h3]: {
+    id: keys.flag_key__as_h3,
+    name: "Heading 3",
+    category: "seo",
+    description: "Set heading 3 tag",
+  },
+};
+
+export default config;
diff --git a/packages/app-design-library/core/index.ts b/packages/app-design-library/core/index.ts
new file mode 100644
index 00000000..e69de29b
diff --git a/packages/app-design-library/index.ts b/packages/app-design-library/index.ts
new file mode 100644
index 00000000..8a11d8c9
--- /dev/null
+++ b/packages/app-design-library/index.ts
@@ -0,0 +1 @@
+export { DesignLibraryScreen } from "./screen";
diff --git a/packages/app-design-library/package.json b/packages/app-design-library/package.json
new file mode 100644
index 00000000..3dd545f8
--- /dev/null
+++ b/packages/app-design-library/package.json
@@ -0,0 +1,8 @@
+{
+  "name": "@app/design-library",
+  "description": "design library (load components, add properties)",
+  "authors": "Grida.co",
+  "version": "0.0.0",
+  "private": false,
+  "dependencies": {}
+}
\ No newline at end of file
diff --git a/packages/app-design-library/screen.tsx b/packages/app-design-library/screen.tsx
new file mode 100644
index 00000000..a42accf5
--- /dev/null
+++ b/packages/app-design-library/screen.tsx
@@ -0,0 +1,248 @@
+import React from "react";
+import styled from "@emotion/styled";
+import { SmartPreview } from "./components/smart-preview";
+import AddIcon from "@material-ui/icons/Add";
+import RemoveIcon from "@material-ui/icons/Remove";
+import ArrowBackIcon from "@material-ui/icons/ArrowBack";
+import { useSingleSelection } from "plugin-app";
+import { parseFromName } from "@design-sdk/flags";
+import config from "./config";
+import { PluginSdk } from "@plugin-sdk/app";
+
+export function DesignLibraryScreen() {
+  const selection = useSingleSelection();
+  const usedFlags = selection ? parseFromName(selection.node.name) : {};
+  const currentId = "x-youtube-view";
+  const current = config[currentId];
+  const value = usedFlags[currentId];
+
+  return (
+    <>
+      
+       {
+          const name = await PluginSdk.getNodeName(selection.id);
+          const newname = name + "++";
+          PluginSdk.renameNode(selection.id, newname);
+          PluginSdk.notify("✅ applied");
+        }}
+        onRemove={() => {}}
+        onChange={() => {
+          // const name = await PluginSdk.getNodeName(selection.id);
+          // const newname = name + "++";
+          // PluginSdk.renameNode(selection.id, newname);
+        }}
+        fields={current.fields}
+      />
+    >
+  );
+}
+
+export function Container({
+  name,
+  description,
+  fields = {},
+  onAdd,
+  onChange,
+  onRemove,
+  disabled,
+  mode,
+  errorMessage,
+}: {
+  name: string;
+  description: string | React.ReactElement;
+  mode: "add" | "edit";
+  disabled?: boolean;
+  onAdd?: () => void;
+  onRemove?: () => void;
+  onChange?: (key: string, value: string) => void;
+  fields?: {
+    [key: string]: {
+      placeholder?: string;
+      initial?: string;
+      type: "string";
+    };
+  };
+  errorMessage?: string;
+}) {
+  const _icon_style = {
+    fontSize: 24,
+  };
+
+  return (
+    
+      
+        
+          {errorMessage ? {errorMessage} : <>>}
+          
+            {name}
+            {mode === "add" ? (
+              
+                
+              
+            ) : (
+              
+                
+              
+            )}
+          
+          {description}
+        
+        {Object.keys(fields).map((key) => {
+          const field = fields[key];
+          return (
+             {
+                onChange?.(key, e.target.value);
+              }}
+            />
+          );
+        })}
+      
+    
+  );
+}
+
+const ErrorMessage = styled.span`
+  color: rgba(255, 0, 0, 0.8);
+  text-overflow: ellipsis;
+  font-size: 12px;
+  font-family: "Helvetica Neue", sans-serif;
+  font-weight: 400;
+  text-align: left;
+`;
+
+const IconButton = styled.button`
+  cursor: pointer;
+  border: none;
+  background: none;
+
+  &:hover {
+    background: rgba(221, 221, 221, 0.2);
+  }
+
+  &:disabled {
+    opacity: 0.5;
+    cursor: not-allowed;
+  }
+`;
+
+const RootWrapperContainer = styled.div`
+  display: flex;
+  justify-content: space-between;
+  flex-direction: column;
+  align-items: flex-start;
+  flex: 1;
+  align-self: stretch;
+  background-color: white;
+  box-sizing: border-box;
+  padding: 24px 16px;
+  flex-shrink: 0;
+`;
+
+const Contents = styled.div`
+  display: flex;
+  justify-content: flex-start;
+  flex-direction: column;
+  align-items: flex-start;
+  gap: 24px;
+  align-self: stretch;
+  box-sizing: border-box;
+  flex-shrink: 0;
+`;
+
+const NameAndDescriptions = styled.div`
+  display: flex;
+  justify-content: flex-start;
+  flex-direction: column;
+  align-items: flex-start;
+  gap: 8px;
+  align-self: stretch;
+  box-sizing: border-box;
+  flex-shrink: 0;
+`;
+
+const NameAndControl = styled.div`
+  display: flex;
+  flex-direction: row;
+  align-items: center;
+  align-self: stretch;
+  box-sizing: border-box;
+  flex-shrink: 0;
+`;
+
+const Name = styled.span`
+  color: black;
+  flex: 1;
+  text-overflow: ellipsis;
+  font-size: 21px;
+  font-family: "Helvetica Neue", sans-serif;
+  font-weight: 700;
+  text-align: left;
+`;
+
+const Description = styled.span`
+  color: rgb(155, 155, 155);
+  text-overflow: ellipsis;
+  font-size: 14px;
+  font-family: "Helvetica Neue", sans-serif;
+  font-weight: 400;
+  text-align: left;
+  align-self: stretch;
+  flex-shrink: 0;
+`;
+
+const TextFieldOneLine = styled.input`
+  outline: none;
+  border: 1px solid transparent;
+  position: relative;
+  align-self: stretch;
+  flex-shrink: 0;
+  background-color: rgb(251, 251, 251);
+  border-radius: 4px;
+  padding: 14px 18px;
+
+  text-overflow: ellipsis;
+  font-size: 13px;
+  font-family: Roboto, sans-serif;
+  font-weight: 400;
+  text-align: left;
+  color: black;
+
+  ::placeholder {
+    color: rgb(163, 163, 163);
+  }
+
+  &:hover {
+    border: 1px solid rgba(0, 0, 0, 0.2);
+  }
+
+  &:focus {
+    border: 1px solid rgba(0, 0, 0, 0.5);
+  }
+`;
+
+// const Text = styled.span`
+//   color: rgb(19, 19, 19);
+//   text-overflow: ellipsis;
+//   font-size: 16px;
+//   font-family: "Helvetica Neue", sans-serif;
+//   font-weight: 500;
+//   text-align: center;
+// `;
diff --git a/packages/app-live-session/pages/main.tsx b/packages/app-live-session/pages/main.tsx
index 752e9b61..c58b4a74 100644
--- a/packages/app-live-session/pages/main.tsx
+++ b/packages/app-live-session/pages/main.tsx
@@ -74,7 +74,7 @@ export function LiveSessionPage() {
   useEffect(() => {
     if (session && session.entered && selection) {
       switch (selection.type) {
-        case SelectionType.single: {
+        case "single": {
           session.emmitSelect({
             event: "select",
             selectionType: selection.type,
diff --git a/packages/design-sdk b/packages/design-sdk
index 0ecc068f..843ff445 160000
--- a/packages/design-sdk
+++ b/packages/design-sdk
@@ -1 +1 @@
-Subproject commit 0ecc068f7399d31ccb99d98fbfc0e56e72717385
+Subproject commit 843ff44554f37de8122a83aecad11d3c08a389a8
diff --git a/packages/plugin-app/plugin-hooks/use-selection.ts b/packages/plugin-app/plugin-hooks/use-selection.ts
index 2efee302..9f9fb068 100644
--- a/packages/plugin-app/plugin-hooks/use-selection.ts
+++ b/packages/plugin-app/plugin-hooks/use-selection.ts
@@ -5,26 +5,21 @@ import {
 } from "@design-sdk/figma-node";
 import { detectIf } from "@reflect-ui/detection";
 
-export enum SelectionType {
-  "single", // updated with single selection
-  "multi", // updated with multi selection
-  "none", // nothing was selected - but not recognized as cancel (when it was none before)
-  "cancel", // Deselection
-}
+export type SelectionType = SelectionData["type"];
 
 interface SingleSelectionData {
-  type: SelectionType.single;
+  type: "single";
   node: IReflectNodeReference;
   id: string;
 }
 
 interface MultiSelectionData {
-  type: SelectionType.multi;
+  type: "multi";
   nodes: IReflectNodeReference[];
 }
 
 interface NoneSelectionData {
-  type: SelectionType.none;
+  type: "none";
 }
 
 type SelectionData =
@@ -56,7 +51,7 @@ export function useSelection(): SelectionData | undefined {
     function handleSelectionChange(node) {
       if (Array.isArray(node)) {
         setselectednode({
-          type: SelectionType.multi,
+          type: "multi",
           nodes: node,
         });
       } else {
@@ -65,19 +60,19 @@ export function useSelection(): SelectionData | undefined {
             // do not trigger selection change when same node is selected.
             // to trigger selection change on same node, user should unselect and select again.
             selectednode &&
-            selectednode.type == SelectionType.single &&
+            selectednode.type == "single" &&
             node.id == selectednode.id
           ) {
             return;
           }
           setselectednode({
-            type: SelectionType.single,
+            type: "single",
             node: node,
             id: node.id,
           });
         } else {
           setselectednode({
-            type: SelectionType.none,
+            type: "none",
           });
         }
       }
@@ -111,7 +106,7 @@ export function useSingleSelection(): SingleSelectionData | undefined {
   const selection = useSelection();
   useEffect(() => {
     if (selection) {
-      if (selection.type == SelectionType.single) {
+      if (selection.type == "single") {
         setSingle(selection);
       }
     }
@@ -125,7 +120,7 @@ export function usePairSelection(): _PairSelectionEvent {
   const selection = useSelection();
   useEffect(() => {
     if (selection) {
-      if (selection.type == SelectionType.multi) {
+      if (selection.type == "multi") {
         if (selection.nodes.length == 2) {
           setPair({
             first: selection.nodes[0],
@@ -147,13 +142,12 @@ export function usePairSelection(): _PairSelectionEvent {
  * @returns
  */
 export function useRangeSelection(min: number, max: number) {
-  const [rangedSelections, setRangedSelections] = useState(
-    null
-  );
+  const [rangedSelections, setRangedSelections] =
+    useState(null);
   const selection = useSelection();
   useEffect(() => {
     if (selection) {
-      if (selection.type == SelectionType.multi) {
+      if (selection.type == "multi") {
         if (selection.nodes.length >= min && selection.nodes.length < max) {
           setRangedSelections(selection);
         }
@@ -177,7 +171,7 @@ interface SelectionNodeMeta {
   meta: {
     type: ScaffoldMetaNodeType;
   };
-  type: SelectionType.single;
+  type: "single";
   node: IReflectNodeReference;
   id: string;
 }
@@ -187,9 +181,8 @@ export function useSingleSelectionWithMeta() {
   const selection = useSingleSelection();
   const { node } = selection;
 
-  let type_in_meta: ScaffoldMetaNodeType = _reflect_scene_node_type__to__scaffold_meta_node_type(
-    node
-  );
+  let type_in_meta: ScaffoldMetaNodeType =
+    _reflect_scene_node_type__to__scaffold_meta_node_type(node);
 
   return {
     meta: { type: type_in_meta },
@@ -218,8 +211,9 @@ function _reflect_scene_node_type__to__scaffold_meta_node_type(
     case ReflectSceneNodeType.instance:
       return "component-like";
     case ReflectSceneNodeType.frame:
-      const _detection_result_if_screen = detectIf.screen(node as any)
-        .result; /** TODO: remove `as any` */
+      const _detection_result_if_screen = detectIf.screen(
+        node as any
+      ).result; /** TODO: remove `as any` */
 
       if (_detection_result_if_screen) {
         return "screen";
diff --git a/packages/plugin-sdk-app/node-api.ts b/packages/plugin-sdk-app/node-api.ts
index 6667f818..69cfd350 100644
--- a/packages/plugin-sdk-app/node-api.ts
+++ b/packages/plugin-sdk-app/node-api.ts
@@ -2,6 +2,9 @@ import { PluginSdk } from "./plugin-sdk";
 import {
   PLUGIN_SDK_NS_GET_NODE,
   PLUGIN_SDK_EK_REQUEST_GET_NODE_BY_ID,
+  PLUGIN_SDK_EK_REQUEST_RENAME,
+  PLUGIN_SDK_NS_NODE,
+  PLUGIN_SDK_EK_REQUEST_NAME,
 } from "@plugin-sdk/core";
 export class NodeApi {
   constructor(private readonly id: string) {}
@@ -22,6 +25,24 @@ export class NodeApi {
     });
   }
 
+  async getName() {
+    return (
+      await PluginSdk.request<{ name: string }>({
+        namespace: PLUGIN_SDK_NS_NODE,
+        key: PLUGIN_SDK_EK_REQUEST_NAME,
+        data: { id: this.id, name: name },
+      })
+    ).name;
+  }
+
+  async rename(name: string) {
+    return await PluginSdk.request({
+      namespace: PLUGIN_SDK_NS_NODE,
+      key: PLUGIN_SDK_EK_REQUEST_RENAME,
+      data: { id: this.id, name: name },
+    });
+  }
+
   async resize(p: {
     width: number;
     height: number;
diff --git a/packages/plugin-sdk-app/plugin-sdk.ts b/packages/plugin-sdk-app/plugin-sdk.ts
index 1c136bf5..9f790880 100644
--- a/packages/plugin-sdk-app/plugin-sdk.ts
+++ b/packages/plugin-sdk-app/plugin-sdk.ts
@@ -38,6 +38,7 @@ import {
   target_platform,
   TargetPlatform,
   UIControlRequest,
+  RenameNodeRequest,
 } from "@plugin-sdk/core";
 import type { ReflectSceneNode } from "@design-sdk/figma-node";
 import { ASSISTANT_PLUGIN_NAMESPACE__NOCHANGE } from "@core/constant";
@@ -120,10 +121,18 @@ export class PluginSdk {
     return new NodeApi(id).get();
   }
 
+  static async getNodeName(id: string) {
+    return await new NodeApi(id).getName();
+  }
+
   static node(id: string): NodeApi {
     return new NodeApi(id);
   }
 
+  static renameNode(id: string, name: string) {
+    return new NodeApi(id).rename(name);
+  }
+
   static async getNodeImage(
     req: ImageExportRequest
   ): Promise {
diff --git a/packages/plugin-sdk-core/events.ts b/packages/plugin-sdk-core/events.ts
index e501def2..d5eabbef 100644
--- a/packages/plugin-sdk-core/events.ts
+++ b/packages/plugin-sdk-core/events.ts
@@ -47,6 +47,11 @@ export const PLUGIN_SDK_EK_REQUEST_RESIZE_NODE_BY_ID =
   "assistant/node/resize/by-id";
 export const PLUGIN_SDK_EK_REQUEST_REMOVE_NODE_BY_ID =
   "assistant/node/remove/by-id";
+export const PLUGIN_SDK_EK_REQUEST_RENAME = "assistant/node/rename";
+/**
+ * get name request
+ */
+export const PLUGIN_SDK_EK_REQUEST_NAME = "assistant/node/name";
 // endregion node access
 
 // region storage
diff --git a/packages/plugin-sdk-core/interfaces/index.ts b/packages/plugin-sdk-core/interfaces/index.ts
index 36d3ba21..c57183c5 100644
--- a/packages/plugin-sdk-core/interfaces/index.ts
+++ b/packages/plugin-sdk-core/interfaces/index.ts
@@ -6,3 +6,7 @@ export * from "./remote-api";
 export * from "./storage";
 export * from "./focus";
 export * from "./uicontrol";
+export * from "./rename";
+
+import type { RenameNodeRequest } from "./rename";
+export type NodeEditRequest = RenameNodeRequest;
diff --git a/packages/plugin-sdk-core/interfaces/rename/index.ts b/packages/plugin-sdk-core/interfaces/rename/index.ts
new file mode 100644
index 00000000..b92cfea3
--- /dev/null
+++ b/packages/plugin-sdk-core/interfaces/rename/index.ts
@@ -0,0 +1 @@
+export * from "./rename.requests";
diff --git a/packages/plugin-sdk-core/interfaces/rename/rename.requests.ts b/packages/plugin-sdk-core/interfaces/rename/rename.requests.ts
new file mode 100644
index 00000000..46243296
--- /dev/null
+++ b/packages/plugin-sdk-core/interfaces/rename/rename.requests.ts
@@ -0,0 +1,4 @@
+export interface RenameNodeRequest {
+  id: string;
+  name: string;
+}
diff --git a/packages/plugin-sdk-service/index.ts b/packages/plugin-sdk-service/index.ts
index 8d09670a..bf60025b 100644
--- a/packages/plugin-sdk-service/index.ts
+++ b/packages/plugin-sdk-service/index.ts
@@ -15,6 +15,8 @@ import {
   __PLUGIN_SDK_NAMESPACE_BASE_TOKEN,
   PLUGIN_SDK_NS_APP_REQUEST_CUSTOM_ALL,
   PLUGIN_SDK_NS_DRAG_AND_DROP,
+  PLUGIN_SDK_NS_NODE,
+  PLUGIN_SDK_EK_REQUEST_RENAME,
   PLUGIN_SDK_NS_META_API,
   PLUGIN_SDK_NS_NOTIFY_API,
   PLUGIN_SDK_NS_REMOTE_API,
@@ -47,6 +49,8 @@ import {
   MetaRequest,
   makeExportSetting,
   UIControlRequest,
+  NodeEditRequest,
+  PLUGIN_SDK_EK_REQUEST_NAME,
 } from "@plugin-sdk/core";
 
 import {
@@ -164,6 +168,11 @@ export class PluginSdkService {
       handleGetNodeEvent(handerProps);
     }
 
+    // node
+    else if (event.namespace == PLUGIN_SDK_NS_NODE) {
+      handleNodeEditEvent(handerProps);
+    }
+
     // storage
     else if (event.namespace == PLUGIN_SDK_NS_STORAGE) {
       handleStorageEvent(handerProps);
@@ -382,6 +391,24 @@ function handleGetNodeEvent(props: HanderProps<{ id: string }>) {
   }
 }
 
+function handleNodeEditEvent(props: HanderProps) {
+  switch (props.key) {
+    case PLUGIN_SDK_EK_REQUEST_RENAME: {
+      const node = figma.getNodeById(props.data.id);
+      node.name = props.data.name;
+      return response(props.id, {
+        name: node.name,
+      });
+    }
+    case PLUGIN_SDK_EK_REQUEST_NAME: {
+      const node = figma.getNodeById(props.data.id);
+      return response(props.id, {
+        name: node.name,
+      });
+    }
+  }
+}
+
 function handleFocus(props: HanderProps) {
   if (props.key == PLUGIN_SDK_EK_SIMPLE_FOCUS) {
     switch (target_platform.get()) {
@@ -411,9 +438,9 @@ async function handleExportEvent(event: HanderProps) {
         return undefined;
       }
       case TargetPlatform.figma: {
-        const r = await (figma.getNodeById(
-          event.data.id
-        ) as SceneNode).exportAsync({
+        const r = await (
+          figma.getNodeById(event.data.id) as SceneNode
+        ).exportAsync({
           ...makeExportSetting(event.data.opt),
         });
 
@@ -460,14 +487,8 @@ async function handleBrowserApiEvent(props: TransportPluginEvent) {
 
 function handleDragDropped(props: HanderProps) {
   console.log("handling drop event", props.data);
-  const {
-    dropPosition,
-    windowSize,
-    offset,
-    itemSize,
-    eventKey,
-    customData,
-  } = props.data;
+  const { dropPosition, windowSize, offset, itemSize, eventKey, customData } =
+    props.data;
 
   // Getting the position and size of the visible area of the canvas.
   const bounds = figma.viewport.bounds;
diff --git a/packages/ui-core/button-style/index.ts b/packages/ui-core/button-style/index.ts
index 6eb12446..51379634 100644
--- a/packages/ui-core/button-style/index.ts
+++ b/packages/ui-core/button-style/index.ts
@@ -6,7 +6,7 @@ export const ButtonStyle = css`
   /* margin-left: 5px !important; */
   height: 48px;
   font-size: 16px;
-  font-weight: bold;
+  font-weight: 500;
   border-radius: 4px;
   box-sizing: border-box;
   padding-top: 14px;
@@ -41,7 +41,7 @@ export const BlackButtonStyle = css`
 
 export const TextButtonBase = css`
   ${ButtonStyle}
-  border: 0;
+  border: none;
   color: #151617;
   background: transparent;
   &:hover {
diff --git a/packages/ui-previewer/preview-static-snapshot/index.tsx b/packages/ui-previewer/preview-static-snapshot/index.tsx
index 7c7e4111..2a1c34f6 100644
--- a/packages/ui-previewer/preview-static-snapshot/index.tsx
+++ b/packages/ui-previewer/preview-static-snapshot/index.tsx
@@ -72,8 +72,8 @@ export function StaticPreview(props: StaticPreviewProps) {
 
   return (
     })