Interaction Libraries
Interaction Library는 프로토파이 Component를 팀 멤버들과 공유할 수 있는 공간이며, 아래와 같이 세 종류의 라이브러리가 있습니다.
![[object Object]](https://cdn.sanity.io/images/vidqzkll/production/5c73d2eee43caa6bf79463e130be3aa65e73e5ee-2175x1269.png/interaction-libraries.png)
- Team Library (팀플랜 및 엔터프라이즈 플랜): 팀에 소속된 멤버는 누구나 Team Library를 만들고 Component를 추가하고 수정할 수 있는 멤버를 추가할 수 있습니다.
- Personal Library (모든 플랜): 여러 장치에서 접근할 수 있는 개인 클라우드 공간입니다.
- Public Library (모든 플랜): Public Library 안에는 Material Design과 iOS Component가 있으며, 모두에게 제공됩니다.
Creating Interaction Libraries
좌측 컴포넌트 패널에 위치한 + 버튼을 눌러서 새로운 Interaction Library를 만들 수 있습니다. 라이브러리 이름과 설명(옵션)을 입력한 후 Create 버튼을 눌러서 Interaction Library를 만듭니다.
![[object Object]](https://cdn.sanity.io/images/vidqzkll/production/05adbe1ac1779e0220bd13d89574613127d6ec21-875x749.png/interaction-libraries.png)
그러면 새로운 라이브러리 창이 열리고, 컴포넌트 패널에서 현재 열려있는 라이브러리 섹션에 '수정 진행 중' 이란 태그가 붙게 됩니다. 상단 배너는 현재 파일이 라이브러리임을 알려줍니다.
![[object Object]](https://cdn.sanity.io/images/vidqzkll/production/f5368ac806460a1aad49c9a868d1699282311f67-2004x1106.png/Interaction-Edit.png)
Publishing Interaction Libraries
라이브러리 파일을 Publish하면, 다른 팀 사용자가 가장 최신 Component를 사용할 수 있습니다. 라이브러리 파일을 저장한 뒤 보라색 배너 우측이나 ProtoPie Studio의 우측 상단 코너에 있는 Publish 버튼을 눌러주면 됩니다. Team Library의 경우, Editor 권한을 가진 멤버는 누구나 이 Component들을 사용할 수 있습니다.
![[object Object]](https://cdn.sanity.io/images/vidqzkll/production/a279198dcea1ffdde7515681542b9606a8750ca8-1450x800.png/publish.png)
Adding Component Instances
어떤 Interaction Library든 사용하고 싶은 Component를 캔버스로 드래그하여 사용할 수 있습니다. 하나의 캔버스에 여러 라이브러리의 Component를 Updating Interaction Libraries사용할 수도 있습니다.
![[object Object]](https://cdn.sanity.io/images/vidqzkll/production/d34c10967aa737c350d472f914aca413d198c73a-1450x800.png/adding_component_instances.png)
Updating Interaction Libraries
현재 사용 중인 Component가 포함된 라이브러리가 업데이트되면, Update Library 아이콘에 알림이 뜹니다. 클릭 후에 나타나는 Update Library 팝업창에서 업데이트할 라이브러리를 선택할 수 있습니다. 또한 팝업창 우측 상단에 있는 Refresh 아이콘을 클릭해 직접 업데이트 사항이 있는지 확인할 수 있습니다.
![[object Object]](https://cdn.sanity.io/images/vidqzkll/production/3060769106d48b6ce5c82b5d0bde5bc8ea05aa7c-1068x586.png/updating-interaction-libaries.png)
Export as New Library
현재 사용 중인 Component가 포함된 라이브러리가 업데이트되면, Library 아이콘에 알림이 뜹니다. 클릭 후에 나타나는 팝업창에서 업데이트할 라이브러리를 선택할 수 있습니다. 우측 상단에 있는 Update 아이콘을 클릭해 직접 최신 버전으로 업데이트할 수도 있습니다.
![[object Object]](https://cdn.sanity.io/images/vidqzkll/production/892a3df917d68bec80abc9e127993965ec9b1696-1450x800.png/export_as_new_library.png)
Export to Library
![[object Object]](https://cdn.sanity.io/images/vidqzkll/production/cbef9d760d475cc0882af9b1d17ff29e6576b462-1202x694.png/Export-to-library-1.png)
로컬 컴포넌트를 기존의 라이브러리에 추가하는 것도 가능합니다. 로컬 컴포넌트 섹션 우상단에 위치한 Export to Library 버튼을 클릭합니다.
![[object Object]](https://cdn.sanity.io/images/vidqzkll/production/e468bb86017d0d8052e0b8edd48b0c8bf15c20b9-1732x1270.png/Export-to-library-2.png)
팝업창이 열리면 추출할 로컬 컴포넌트를 선택한 후 업데이트할 라이브러리를 지정합니다. 또한 옵션을 통해 로컬 컴포넌트를 내보냄과 동시에 라이브러리를 퍼블리시 할 수 있습니다.
라이브러리 검색 및 필터링
이제 특정 라이브러리를 검색하고, 라이브러리 설정 모달의 드롭다운 메뉴를 통해 패널에 표시할 라이브러리를 선택할 수 있습니다. 이 향상된 기능을 통해 필요한 라이브러리를 더 쉽게 찾아보고 집중할 수 있습니다.
![[object Object]](https://cdn.sanity.io/images/vidqzkll/production/8b898cbb34a8652cb5d302211a91c3b5d8fa01ce-1874x1342.png/Filter-Libaries-1.png)
![[object Object]](https://cdn.sanity.io/images/vidqzkll/production/4ff01301382561e204ee54f7bac4fdcc00cf7850-1440x1494.png/Filter-Libraries-2.png)
Handling Conflicts
현재 작업 중인 라이브러리를 다른 멤버가 변경하고 Publish하는 경우, 경고 팝업창이 나타납니다. 현재 버전을 최신 버전으로 덮어씌우거나, 현재 버전을 버리고 다른 멤버가 Publish한 버전으로 업데이트할 수 있습니다.
![[object Object]](https://cdn.sanity.io/images/vidqzkll/production/0c03e1a69987075a755823da294947ea3179b18c-1580x870.png/image.png)