diff --git a/packages/ui/src/components/NestedSelectPopup.svelte b/packages/ui/src/components/NestedSelectPopup.svelte
new file mode 100644
index 0000000000..3be6c1e7cb
--- /dev/null
+++ b/packages/ui/src/components/NestedSelectPopup.svelte
@@ -0,0 +1,174 @@
+
+
+
+
+
+
diff --git a/packages/ui/src/index.ts b/packages/ui/src/index.ts
index b489add087..c6d7e18e7a 100644
--- a/packages/ui/src/index.ts
+++ b/packages/ui/src/index.ts
@@ -288,6 +288,7 @@ export { default as EmbeddedHTML } from './components/EmbeddedHTML.svelte'
export { default as EmbeddedPDF } from './components/EmbeddedPDF.svelte'
export { default as NestedMenu } from './components/NestedMenu.svelte'
export { default as NestedDropdown } from './components/NestedDropdown.svelte'
+export { default as NestedSelectPopup } from './components/NestedSelectPopup.svelte'
export { default as StatusBarButton } from './components/StatusBarButton.svelte'
export { default as AppLoading } from './components/AppLoading.svelte'
diff --git a/packages/ui/src/types.ts b/packages/ui/src/types.ts
index c45f2af041..637681540a 100644
--- a/packages/ui/src/types.ts
+++ b/packages/ui/src/types.ts
@@ -13,12 +13,8 @@
// limitations under the License.
//
import type { AccountRole, Blob, Permission, Ref, Timestamp, TypedSpace } from '@hcengineering/core'
-import type {
- Asset,
- IntlString,
- /* Metadata, Plugin, plugin, */ Resource /*, Service */
-} from '@hcengineering/platform'
-import { /* getContext, */ type ComponentType } from 'svelte'
+import type { Asset, IntlString, Resource } from '@hcengineering/platform'
+import { type ComponentType } from 'svelte'
/**
* Describe a browser URI location parsed to path, query and fragment.
@@ -343,6 +339,10 @@ export interface DropdownIntlItem {
keys?: string[]
}
+export interface NestedSelectItem extends DropdownIntlItem {
+ children?: NestedSelectItem[]
+}
+
export interface PopupOptions {
props: Record
showOverlay: boolean
diff --git a/plugins/card-resources/src/components/navigator/TypesSelector.svelte b/plugins/card-resources/src/components/navigator/TypesSelector.svelte
index 6288c174e6..ab5c0cbdb4 100644
--- a/plugins/card-resources/src/components/navigator/TypesSelector.svelte
+++ b/plugins/card-resources/src/components/navigator/TypesSelector.svelte
@@ -13,22 +13,86 @@
// limitations under the License.
-->