@dxos/plugin-navtree 0.6.8-main.046e6cf

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. package/LICENSE +8 -0
  2. package/README.md +15 -0
  3. package/dist/lib/browser/chunk-U7MTKDFQ.mjs +13 -0
  4. package/dist/lib/browser/chunk-U7MTKDFQ.mjs.map +7 -0
  5. package/dist/lib/browser/index.mjs +1055 -0
  6. package/dist/lib/browser/index.mjs.map +7 -0
  7. package/dist/lib/browser/meta.json +1 -0
  8. package/dist/lib/browser/meta.mjs +11 -0
  9. package/dist/lib/browser/meta.mjs.map +7 -0
  10. package/dist/types/src/NavTreePlugin.d.ts +4 -0
  11. package/dist/types/src/NavTreePlugin.d.ts.map +1 -0
  12. package/dist/types/src/components/CommandsDialog.d.ts +5 -0
  13. package/dist/types/src/components/CommandsDialog.d.ts.map +1 -0
  14. package/dist/types/src/components/CommandsTrigger.d.ts +3 -0
  15. package/dist/types/src/components/CommandsTrigger.d.ts.map +1 -0
  16. package/dist/types/src/components/HaloButton.d.ts +12 -0
  17. package/dist/types/src/components/HaloButton.d.ts.map +1 -0
  18. package/dist/types/src/components/HaloButton.stories.d.ts +12 -0
  19. package/dist/types/src/components/HaloButton.stories.d.ts.map +1 -0
  20. package/dist/types/src/components/NavBarStart.d.ts +7 -0
  21. package/dist/types/src/components/NavBarStart.d.ts.map +1 -0
  22. package/dist/types/src/components/NavTreeContainer.d.ts +12 -0
  23. package/dist/types/src/components/NavTreeContainer.d.ts.map +1 -0
  24. package/dist/types/src/components/NavTreeDocumentTitle.d.ts +5 -0
  25. package/dist/types/src/components/NavTreeDocumentTitle.d.ts.map +1 -0
  26. package/dist/types/src/components/NavTreeFooter.d.ts +6 -0
  27. package/dist/types/src/components/NavTreeFooter.d.ts.map +1 -0
  28. package/dist/types/src/components/NotchStart.d.ts +3 -0
  29. package/dist/types/src/components/NotchStart.d.ts.map +1 -0
  30. package/dist/types/src/components/index.d.ts +6 -0
  31. package/dist/types/src/components/index.d.ts.map +1 -0
  32. package/dist/types/src/experimental/Tree.d.ts +56 -0
  33. package/dist/types/src/experimental/Tree.d.ts.map +1 -0
  34. package/dist/types/src/experimental/Tree.stories.d.ts +12 -0
  35. package/dist/types/src/experimental/Tree.stories.d.ts.map +1 -0
  36. package/dist/types/src/index.d.ts +5 -0
  37. package/dist/types/src/index.d.ts.map +1 -0
  38. package/dist/types/src/meta.d.ts +7 -0
  39. package/dist/types/src/meta.d.ts.map +1 -0
  40. package/dist/types/src/stories/Graph.stories.d.ts +17 -0
  41. package/dist/types/src/stories/Graph.stories.d.ts.map +1 -0
  42. package/dist/types/src/translations.d.ts +27 -0
  43. package/dist/types/src/translations.d.ts.map +1 -0
  44. package/dist/types/src/util.d.ts +32 -0
  45. package/dist/types/src/util.d.ts.map +1 -0
  46. package/package.json +77 -0
  47. package/src/NavTreePlugin.tsx +262 -0
  48. package/src/components/CommandsDialog.tsx +114 -0
  49. package/src/components/CommandsTrigger.tsx +34 -0
  50. package/src/components/HaloButton.stories.tsx +19 -0
  51. package/src/components/HaloButton.tsx +41 -0
  52. package/src/components/NavBarStart.tsx +48 -0
  53. package/src/components/NavTreeContainer.tsx +375 -0
  54. package/src/components/NavTreeDocumentTitle.tsx +17 -0
  55. package/src/components/NavTreeFooter.tsx +155 -0
  56. package/src/components/NotchStart.tsx +29 -0
  57. package/src/components/index.ts +9 -0
  58. package/src/experimental/Tree.stories.tsx +229 -0
  59. package/src/experimental/Tree.tsx +282 -0
  60. package/src/index.ts +10 -0
  61. package/src/meta.ts +12 -0
  62. package/src/stories/Graph.stories.tsx +162 -0
  63. package/src/translations.ts +28 -0
  64. package/src/util.ts +231 -0
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/NavTreePlugin.tsx", "../../../src/components/CommandsDialog.tsx", "../../../src/components/NavBarStart.tsx", "../../../src/components/NavTreeContainer.tsx", "../../../src/components/NavTreeFooter.tsx", "../../../src/util.ts", "../../../src/components/NavTreeDocumentTitle.tsx", "../../../src/components/NotchStart.tsx", "../../../src/components/HaloButton.tsx", "../../../src/components/CommandsTrigger.tsx", "../../../src/translations.ts", "../../../src/index.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { MagnifyingGlass, type IconProps } from '@phosphor-icons/react';\nimport React from 'react';\n\nimport {\n type GraphBuilderProvides,\n resolvePlugin,\n type MetadataRecordsProvides,\n type PluginDefinition,\n type SurfaceProvides,\n type TranslationsProvides,\n type Plugin,\n type IntentResolverProvides,\n parseIntentPlugin,\n LayoutAction,\n type GraphProvides,\n parseGraphPlugin,\n NavigationAction,\n} from '@dxos/app-framework';\nimport { createExtension, type Graph, isAction, isGraphNode, type Node } from '@dxos/app-graph';\nimport { Keyboard } from '@dxos/keyboard';\nimport { LocalStorageStore } from '@dxos/local-storage';\nimport { Path } from '@dxos/react-ui-mosaic';\nimport { type OpenItemIds } from '@dxos/react-ui-navtree';\nimport { getHostPlatform } from '@dxos/util';\n\nimport {\n CommandsDialogContent,\n NODE_TYPE,\n NavBarStart,\n NavTreeContainer,\n NavTreeDocumentTitle,\n NotchStart,\n} from './components';\nimport { CommandsTrigger } from './components/CommandsTrigger';\nimport meta, { KEY_BINDING, NAVTREE_PLUGIN } from './meta';\nimport translations from './translations';\nimport { expandOpenGraphNodes, getActions, getChildren, type NavTreeItem, type NavTreeItemGraphNode } from './util';\n\nexport type NavTreePluginProvides = SurfaceProvides &\n MetadataRecordsProvides &\n GraphBuilderProvides &\n TranslationsProvides &\n IntentResolverProvides;\n\ntype NavTreeState = { root?: NavTreeItemGraphNode; openItemIds: OpenItemIds };\n\nexport const NavTreePlugin = (): PluginDefinition<NavTreePluginProvides> => {\n const state = new LocalStorageStore<NavTreeState>('dxos.org/settings/navtree', {\n // TODO(thure): Do this dynamically.\n openItemIds: { root: true, 'dxos.org/plugin/space-spaces': true, 'dxos.org/plugin/files': true },\n });\n\n let graphPlugin: Plugin<GraphProvides> | undefined;\n let graph: Graph | undefined;\n\n const handleOpenItemIdsChange = (nextOpenItemIds: OpenItemIds) => {\n // TODO(thure): This might become a localstorage leak; openItemIds that no longer exist should be removed from this map.\n state.values.openItemIds = nextOpenItemIds;\n if (graph) {\n void expandOpenGraphNodes(graph, nextOpenItemIds);\n }\n };\n\n return {\n meta,\n ready: async (plugins) => {\n graphPlugin = resolvePlugin(plugins, parseGraphPlugin);\n graph = graphPlugin?.provides.graph;\n if (!graph) {\n return;\n }\n\n state.values.root = graph.root as NavTreeItemGraphNode;\n getChildren(graph, state.values.root);\n getActions(graph, state.values.root);\n\n state.prop({ key: 'openItemIds', storageKey: 'openItemIds', type: LocalStorageStore.json<OpenItemIds>() });\n\n void expandOpenGraphNodes(graph, state.values.openItemIds);\n\n // TODO(wittjosiah): Factor out.\n // TODO(wittjosiah): Handle removal of actions.\n graph.subscribeTraverse({\n visitor: (node, path) => {\n let shortcut: string | undefined;\n if (typeof node.properties.keyBinding === 'object') {\n const availablePlatforms = Object.keys(node.properties.keyBinding);\n const platform = getHostPlatform();\n shortcut = availablePlatforms.includes(platform)\n ? node.properties.keyBinding[platform]\n : platform === 'ios'\n ? node.properties.keyBinding.macos // Fallback to macos if ios-specific bindings not provided.\n : platform === 'linux' || platform === 'unknown'\n ? node.properties.keyBinding.windows // Fallback to windows if platform-specific bindings not provided.\n : undefined;\n } else {\n shortcut = node.properties.keyBinding;\n }\n\n if (shortcut && isAction(node)) {\n Keyboard.singleton.getContext(path.slice(0, -1).join('/')).bind({\n shortcut,\n handler: () => {\n void node.data({ node, caller: KEY_BINDING });\n },\n data: node.properties.label,\n });\n }\n },\n });\n\n // TODO(burdon): Create context and plugin.\n Keyboard.singleton.initialize();\n Keyboard.singleton.setCurrentContext(graphPlugin?.provides.graph.root.id);\n },\n unload: async () => {\n Keyboard.singleton.destroy();\n },\n provides: {\n metadata: {\n records: {\n [NODE_TYPE]: {\n parse: (item: NavTreeItem, type: string) => {\n switch (type) {\n case 'node':\n return item.node;\n case 'object':\n return item.node.data;\n case 'view-object':\n return { id: `${item.id}-view`, object: item.node.data };\n }\n },\n },\n },\n },\n surface: {\n component: ({ data, role }) => {\n switch (data.component) {\n case `${NAVTREE_PLUGIN}/Commands`: {\n const selected = typeof data.subject === 'string' ? data.subject : undefined;\n return <CommandsDialogContent selected={selected} />;\n }\n }\n\n switch (role) {\n case 'navigation':\n if (state.values.root && state.values.openItemIds) {\n return (\n <NavTreeContainer\n root={state.values.root}\n activeIds={data.activeIds as Set<string>}\n openItemIds={state.values.openItemIds}\n onOpenItemIdsChange={handleOpenItemIdsChange}\n attended={data.attended as Set<string>}\n popoverAnchorId={data.popoverAnchorId as string}\n />\n );\n }\n break;\n\n case 'document-title': {\n return <NavTreeDocumentTitle node={isGraphNode(data.activeNode) ? data.activeNode : undefined} />;\n }\n\n case 'navbar-start': {\n if (state.values.root && data.activeNode) {\n return {\n node: (\n <NavBarStart\n activeNode={data.activeNode as Node}\n popoverAnchorId={data.popoverAnchorId as string | undefined}\n />\n ),\n disposition: 'hoist',\n };\n }\n break;\n }\n\n case 'notch-start':\n return <NotchStart />;\n\n case 'search-input':\n return {\n node: <CommandsTrigger />,\n disposition: 'fallback',\n };\n }\n\n return null;\n },\n },\n intent: {\n resolver: (intent) => {\n switch (intent.action) {\n case NavigationAction.EXPOSE: {\n if (graph && intent.data?.id) {\n const path = graph.getPath({ target: intent.data.id });\n if (Array.isArray(path)) {\n const additionalOpenItems = [...Array(path.length - 1)].reduce((acc: OpenItemIds, _, index) => {\n const itemId = Path.create(...path.slice(1, index + 1));\n if (itemId.length > 0) {\n acc[itemId] = true;\n }\n return acc;\n }, {});\n state.values.openItemIds = {\n ...additionalOpenItems,\n ...state.values.openItemIds,\n };\n }\n }\n break;\n }\n }\n },\n },\n graph: {\n builder: (plugins) => {\n // TODO(burdon): Move to separate plugin (for keys and command k). Move bindings from LayoutPlugin.\n const intentPlugin = resolvePlugin(plugins, parseIntentPlugin);\n\n return [\n createExtension({\n id: NAVTREE_PLUGIN,\n filter: (node): node is Node<null> => node.id === 'root',\n actions: () => [\n {\n id: 'dxos.org/plugin/navtree/open-commands',\n data: async () => {\n await intentPlugin?.provides.intent.dispatch({\n action: LayoutAction.SET_LAYOUT,\n data: {\n element: 'dialog',\n component: `${NAVTREE_PLUGIN}/Commands`,\n dialogBlockAlign: 'start',\n },\n });\n },\n properties: {\n label: ['open commands label', { ns: NAVTREE_PLUGIN }],\n icon: (props: IconProps) => <MagnifyingGlass {...props} />,\n iconSymbol: 'ph--magnifying-glass--regular',\n keyBinding: {\n macos: 'meta+k',\n windows: 'ctrl+k',\n },\n },\n },\n ],\n }),\n ];\n },\n },\n translations,\n },\n };\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { DotOutline } from '@phosphor-icons/react';\nimport React, { useMemo, useState } from 'react';\n\nimport { useIntentDispatcher, LayoutAction } from '@dxos/app-framework';\nimport { type ActionLike, isActionGroup, isAction } from '@dxos/app-graph';\nimport { Keyboard, keySymbols } from '@dxos/keyboard';\nimport { useGraph } from '@dxos/plugin-graph';\nimport { Button, Dialog, useTranslation, toLocalizedString } from '@dxos/react-ui';\nimport { SearchList } from '@dxos/react-ui-searchlist';\nimport { descriptionText, getSize, mx } from '@dxos/react-ui-theme';\nimport { getHostPlatform } from '@dxos/util';\n\nimport { KEY_BINDING, NAVTREE_PLUGIN } from '../meta';\n\n// TODO(wittjosiah): This probably deserves its own plugin but for now it lives here w/ other navigation UI.\nexport const CommandsDialogContent = ({ selected: initial }: { selected?: string }) => {\n const { t } = useTranslation(NAVTREE_PLUGIN);\n const [selected, setSelected] = useState<string | undefined>(initial);\n const dispatch = useIntentDispatcher();\n const { graph } = useGraph();\n\n // Traverse graph.\n // TODO(burdon): Factor out commonality with shortcut dialog.\n const allActions = useMemo(() => {\n // TODO(burdon): Get from navtree (not keyboard).\n const current = Keyboard.singleton.getCurrentContext();\n const actionMap = new Set<string>();\n const actions: ActionLike[] = [];\n graph?.traverse({\n visitor: (node, path) => {\n if (\n (isAction(node) || isActionGroup(node)) &&\n !actionMap.has(node.id) &&\n current.startsWith(path.slice(0, -1).join('/'))\n ) {\n actionMap.add(node.id);\n actions.push(node);\n }\n },\n });\n\n actions.sort((a, b) => {\n return toLocalizedString(a.properties.label, t)\n ?.toLowerCase()\n .localeCompare(toLocalizedString(b.properties.label, t)?.toLowerCase());\n });\n\n // console.log(JSON.stringify(actions, undefined, 2));\n return actions;\n }, [graph]);\n\n const group = allActions.find(({ id }) => id === selected);\n const actions = isActionGroup(group) ? graph.actions(group) : allActions;\n\n return (\n <Dialog.Content classNames={['md:max-is-[30rem] overflow-hidden mbs-12']}>\n <Dialog.Title>{t('commands dialog title', { ns: NAVTREE_PLUGIN })}</Dialog.Title>\n\n {/* TODO(burdon): BUG: Overscrolls container. */}\n <SearchList.Root label={t('command list input placeholder')} classNames='flex flex-col grow overflow-hidden my-2'>\n <SearchList.Input placeholder={t('command list input placeholder')} classNames='px-1 my-2' />\n <SearchList.Content classNames='max-bs-[24rem] overflow-auto'>\n {actions?.map((action) => {\n const label = toLocalizedString(action.properties.label, t);\n const shortcut =\n typeof action.properties.keyBinding === 'string'\n ? action.properties.keyBinding\n : action.properties.keyBinding?.[getHostPlatform()];\n const Icon = action.properties.icon ?? DotOutline;\n return (\n <SearchList.Item\n value={label}\n key={action.id}\n onSelect={() => {\n if (action.properties.disabled) {\n return;\n }\n\n if (isActionGroup(action)) {\n setSelected(action.id);\n return;\n }\n\n void dispatch({ action: LayoutAction.SET_LAYOUT, data: { element: 'dialog', state: false } });\n setTimeout(() => {\n const node = graph.nodes(group ?? action, { relation: 'inbound' })[0];\n void (node && isAction(action) && action.data({ node, caller: KEY_BINDING }));\n });\n }}\n classNames='flex items-center gap-2'\n disabled={action.properties.disabled}\n {...(action.properties?.testId && { 'data-testid': action.properties.testId })}\n >\n <Icon className={mx(getSize(4), 'shrink-0', !action.properties.icon && 'invisible')} />\n <span className='grow truncate'>{label}</span>\n {shortcut && <span className={mx('shrink-0', descriptionText)}>{keySymbols(shortcut).join('')}</span>}\n </SearchList.Item>\n );\n })}\n </SearchList.Content>\n </SearchList.Root>\n\n <Dialog.Close asChild>\n <Button variant='primary' classNames='mbs-2'>\n {t('close label', { ns: 'os' })}\n </Button>\n </Dialog.Close>\n </Dialog.Content>\n );\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { DotsThreeVertical } from '@phosphor-icons/react';\nimport React, { Fragment } from 'react';\n\nimport { getGraph, type Node } from '@dxos/app-graph';\nimport { Popover, toLocalizedString, useTranslation } from '@dxos/react-ui';\nimport { PlankHeading } from '@dxos/react-ui-deck';\n\nimport { KEY_BINDING, NAVTREE_PLUGIN } from '../meta';\n\nconst TREE_ITEM_MAIN_HEADING = 'TreeItemMainHeading';\n\nexport const NavBarStart = ({ activeNode, popoverAnchorId }: { activeNode: Node; popoverAnchorId?: string }) => {\n const { t } = useTranslation(NAVTREE_PLUGIN);\n\n const ActionRoot =\n popoverAnchorId === `dxos.org/ui/${TREE_ITEM_MAIN_HEADING}/${activeNode.id}` ||\n popoverAnchorId === `dxos.org/ui/${KEY_BINDING}/${activeNode.id}`\n ? Popover.Anchor\n : Fragment;\n\n const Icon = activeNode.properties?.icon ?? DotsThreeVertical;\n const graph = getGraph(activeNode);\n const actions = graph.actions(activeNode);\n const label = toLocalizedString(activeNode.properties?.label, t);\n\n const menuTriggerLabel = t('node actions menu invoker label');\n\n return (\n <>\n <ActionRoot>\n <PlankHeading.ActionsMenu\n Icon={Icon}\n attendableId={activeNode.id}\n triggerLabel={menuTriggerLabel}\n actions={actions}\n onAction={(action) =>\n typeof action.data === 'function' && action.data({ node: action as Node, caller: TREE_ITEM_MAIN_HEADING })\n }\n />\n </ActionRoot>\n <PlankHeading.Label attendableId={activeNode.id}>{label}</PlankHeading.Label>\n </>\n );\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport React, { type ReactNode, useCallback, useMemo } from 'react';\n\nimport {\n NavigationAction,\n LayoutAction,\n Surface,\n SLUG_PATH_SEPARATOR,\n SLUG_COLLECTION_INDICATOR,\n useIntentDispatcher,\n} from '@dxos/app-framework';\nimport { getGraph, isAction, isActionLike } from '@dxos/app-graph';\nimport { ElevationProvider, useMediaQuery, useSidebars } from '@dxos/react-ui';\nimport { type MosaicDropEvent, type MosaicMoveEvent, Path } from '@dxos/react-ui-mosaic';\nimport {\n NavTree,\n type NavTreeItemNode,\n type NavTreeNode,\n getLevel,\n type NavTreeActionsNode,\n type NavTreeProps,\n type NavTreeItemMoveDetails,\n} from '@dxos/react-ui-navtree';\nimport { arrayMove } from '@dxos/util';\n\nimport { NavTreeFooter } from './NavTreeFooter';\nimport { NAVTREE_PLUGIN } from '../meta';\nimport {\n expandActions,\n expandChildren,\n getChildren,\n getParent,\n type NavTreeItem,\n type NavTreeItemGraphNode,\n resolveMigrationOperation,\n treeItemsFromRootNode,\n} from '../util';\n\n// TODO(thure): Is NavTree truly authoritative in this regard?\nexport const NODE_TYPE = 'dxos/app-graph/node';\n\nconst renderPresence = (node: NavTreeNode): ReactNode => (\n <Surface role='presence--glyph' data={{ object: node.data }} />\n);\n\nexport const NavTreeContainer = ({\n root,\n activeIds,\n openItemIds,\n onOpenItemIdsChange,\n attended,\n popoverAnchorId,\n}: {\n root: NavTreeItemGraphNode;\n activeIds: Set<string>;\n openItemIds: Record<string, true>;\n onOpenItemIdsChange: (nextOpenItemIds: Record<string, true>) => void;\n attended: Set<string>;\n popoverAnchorId?: string;\n}) => {\n const { closeNavigationSidebar } = useSidebars(NAVTREE_PLUGIN);\n const [isLg] = useMediaQuery('lg', { ssr: false });\n const dispatch = useIntentDispatcher();\n\n const graph = useMemo(() => getGraph(root), [root]);\n\n const items = treeItemsFromRootNode(graph, root, openItemIds);\n\n const loadDescendents = useCallback(\n (node: NavTreeNode | NavTreeActionsNode) => {\n void expandActions(graph, node as NavTreeItemGraphNode);\n if (!isActionLike(node)) {\n void expandChildren(graph, node as NavTreeItemGraphNode).then(() =>\n // Load one level deeper, which resolves some juddering observed on open/close.\n Promise.all(\n getChildren(graph, node as NavTreeItemGraphNode).flatMap((child) => [\n expandActions(graph, child),\n expandChildren(graph, child),\n ]),\n ),\n );\n }\n },\n [graph],\n );\n\n const handleNavigate = async ({ node, actions }: NavTreeItemNode) => {\n if (!node.data) {\n return;\n }\n\n // TODO(thure): Refactor opening related planks (comments in this case) to a generalized approach.\n await dispatch({\n action: NavigationAction.OPEN,\n data: {\n activeParts: node.data?.comments\n ? {\n main: [node.id],\n complementary: [`${node.id}${SLUG_PATH_SEPARATOR}comments${SLUG_COLLECTION_INDICATOR}`],\n }\n : {\n main: [node.id],\n },\n },\n });\n\n await dispatch({ action: LayoutAction.SCROLL_INTO_VIEW, data: { id: node.id } });\n\n const defaultAction = actions?.find((action) => action.properties?.disposition === 'default');\n if (isAction(defaultAction)) {\n void (defaultAction.data as () => void)();\n }\n !isLg && closeNavigationSidebar();\n };\n\n const handleItemOpenChange = ({ id, actions, path }: NavTreeItemNode, nextOpen: boolean) => {\n if (path) {\n if (nextOpen) {\n onOpenItemIdsChange({ ...openItemIds, [id]: true });\n } else {\n // TODO(thure): Filter vs single-remove, make setting?\n const { [id]: _, ...nextOpenItemIds } = openItemIds;\n onOpenItemIdsChange(nextOpenItemIds);\n }\n }\n // TODO(wittjosiah): This is a temporary solution to ensure spaces get enabled when they are expanded.\n const defaultAction = actions?.find((action) => action.properties?.disposition === 'default');\n if (isAction(defaultAction)) {\n void (defaultAction.data as () => void)();\n }\n };\n\n const resolveItemLevel = useCallback(\n (overPosition: number | undefined, activeId: string | undefined, levelOffset: number) => {\n if (!(typeof overPosition === 'number' && activeId)) {\n return 1;\n } else {\n const nextItems = arrayMove(\n items,\n items.findIndex(({ id }) => id === activeId),\n overPosition,\n );\n const previousItem: NavTreeItem | undefined = nextItems[overPosition - 1];\n const nextItem: NavTreeItem | undefined = nextItems[overPosition + 1];\n return Math.min(\n previousItem ? getLevel(previousItem?.path) + 1 : 1,\n Math.max(nextItem ? getLevel(nextItem?.path) : 1, getLevel(nextItems[overPosition].path) + levelOffset),\n );\n }\n },\n [items],\n );\n\n const handleMove: NavTreeProps['onMove'] = useCallback(\n ({ active, over, details }: MosaicMoveEvent<number, NavTreeItemMoveDetails>) => {\n const levelOffset = Math.floor((details?.delta?.x ?? 0) / 16);\n const overPosition = over.position ?? 0;\n\n const nextItems = arrayMove(\n items,\n items.findIndex(({ id }) => id === active.item.id),\n overPosition,\n );\n\n const previousItem: NavTreeItem | undefined = nextItems[overPosition - 1];\n const nextItem: NavTreeItem | undefined = nextItems[overPosition + 1];\n\n const activeNode = 'node' in active.item ? (active.item as NavTreeItem).node : undefined;\n\n if (!activeNode || !previousItem || !previousItem.path) {\n // console.log('[reject]', !activeNode, !previousItem, !previousItem.path);\n // log.warn('Top-level rearrange before the first item of the NavTree is unsupported at this time.');\n return { operation: 'reject' as const, details: { levelOffset } };\n }\n\n const overLevel = resolveItemLevel(overPosition, active.item.id, levelOffset);\n\n const previousLevel = getLevel(previousItem.path);\n\n // console.log('[over]', overLevel, previousLevel, levelOffset);\n\n if (previousLevel === overLevel - 1) {\n if (Path.hasChild(previousItem.id, active.item.id)) {\n // Previous is already parent of Active, rearrange.\n const operation = previousItem.node.properties.onRearrangeChildren\n ? ('rearrange' as const)\n : ('reject' as const);\n return { operation, details: { levelOffset } };\n } else {\n // Previous is not yet parent of Active, check transfer or copy.\n const operation = resolveMigrationOperation(graph, activeNode, previousItem.path, previousItem.node);\n // console.log('[migration result]', operation, 'Previous is not yet parent of Active, check transfer or copy.');\n return { operation, details: { levelOffset } };\n }\n } else if (previousLevel === overLevel) {\n const parent = getParent(graph, previousItem.node, previousItem.path);\n const parentPath = previousItem.path.slice(0, previousItem.path.length - 1);\n if (Path.siblings(previousItem.id, active.item.id)) {\n // Previous is already a sibling of Active, rearrange.\n const operation = parent?.properties.onRearrangeChildren ? ('rearrange' as const) : ('reject' as const);\n return { operation, details: { levelOffset } };\n } else {\n // Previous is not yet a sibling of Active, transfer/copy to Previous’s parent.\n const operation = resolveMigrationOperation(graph, activeNode, parentPath, parent);\n // console.log(\n // '[migration result]',\n // operation,\n // 'Previous is not yet a sibling of Active, transfer/copy to Previous’s parent.',\n // );\n return { operation, details: { levelOffset } };\n }\n } else if (nextItem && nextItem.path) {\n const nextLevel = getLevel(nextItem.path);\n if (nextLevel === overLevel) {\n const parent = getParent(graph, nextItem.node, nextItem.path);\n const parentPath = nextItem.path.slice(0, nextItem.path.length - 1);\n if (Path.siblings(nextItem.id, active.item.id)) {\n // Next is already a sibling of Active, rearrange.\n const operation = parent?.properties.onRearrangeChildren ? ('rearrange' as const) : ('reject' as const);\n return { operation, details: { levelOffset } };\n } else {\n // Next is not yet a sibling of Active, transfer to Next’s parent.\n const operation = resolveMigrationOperation(graph, activeNode, parentPath, parent);\n // console.log(\n // '[migration result]',\n // operation,\n // 'Next is not yet a sibling of Active, transfer to Next’s parent.',\n // );\n return { operation, details: { levelOffset } };\n }\n } else {\n // console.log('[migration result]', 'reject');\n return { operation: 'reject' as const, details: { levelOffset } };\n }\n } else {\n // console.log('[migration result]', 'reject');\n return { operation: 'reject' as const, details: { levelOffset } };\n }\n },\n [root, items],\n );\n\n const handleDrop = useCallback(\n ({ operation, active, over, details = {} }: MosaicDropEvent<number, NavTreeItemMoveDetails>) => {\n if (Path.first(over.path) !== root.id) {\n return undefined;\n }\n const { levelOffset = 0 } = details;\n const overPosition = over.position ?? 0;\n\n const nextItems = arrayMove(\n items,\n items.findIndex(({ id }) => id === active.item.id),\n overPosition,\n );\n\n const activeNode = 'node' in active.item ? (active.item as NavTreeItem).node : undefined;\n const activeParentId = Path.parent(active.item.id);\n\n if (!activeNode) {\n return undefined;\n }\n\n const activeParent = getParent(graph, activeNode, (active.item as NavTreeItem).path ?? []);\n\n if (operation === 'rearrange') {\n void activeParent?.properties.onRearrangeChildren?.(\n nextItems.filter(({ id }) => Path.hasChild(activeParentId, id)).map(({ node }) => node.data),\n );\n return null;\n } else {\n const previousItem: NavTreeItem | undefined = nextItems[overPosition - 1];\n const nextItem: NavTreeItem | undefined = nextItems[overPosition + 1];\n\n const overLevel = resolveItemLevel(overPosition, active.item.id, levelOffset);\n\n const previousLevel = getLevel(previousItem.path);\n\n if (operation === 'copy') {\n if (previousLevel === overLevel - 1) {\n void previousItem.node.properties.onCopy?.(activeNode, 0);\n return null;\n } else if (previousLevel === overLevel) {\n const parent = getParent(graph, previousItem.node, previousItem.path ?? []);\n void parent?.properties.onCopy?.(\n activeNode,\n getChildren(graph, parent).findIndex(({ id }) => id === previousItem.node.id) + 1,\n );\n return null;\n } else if (nextItem && nextItem.path) {\n const parent = getParent(graph, nextItem.node, nextItem.path ?? []);\n void parent?.properties.onCopy?.(\n activeNode,\n getChildren(graph, parent).findIndex(({ id }) => id === nextItem.node.id),\n );\n return null;\n }\n } else if (operation === 'transfer') {\n const onTransferEnd = activeParent?.properties.onTransferEnd;\n if (!onTransferEnd) {\n return undefined;\n } else if (previousLevel === overLevel - 1) {\n const onTransferStart = previousItem.node.properties.onTransferStart;\n if (onTransferStart) {\n void onTransferEnd(activeNode, previousItem.node);\n void onTransferStart(activeNode, 0);\n return null;\n }\n } else if (previousLevel === overLevel && previousItem.path) {\n const parent = getParent(graph, previousItem.node, previousItem.path);\n if (parent?.properties.onTransferStart) {\n void onTransferEnd(activeNode, previousItem.node);\n void parent.properties.onTransferStart(\n activeNode,\n getChildren(graph, parent).findIndex(({ id }) => id === previousItem.node.id) + 1,\n );\n return null;\n }\n } else if (nextItem && nextItem.path) {\n const parent = getParent(graph, nextItem.node, nextItem.path);\n if (parent?.properties.onTransferStart) {\n void onTransferEnd(activeNode, previousItem.node);\n void parent.properties.onTransferStart(\n activeNode,\n getChildren(graph, parent).findIndex(({ id }) => id === nextItem.node.id),\n );\n return null;\n }\n }\n }\n }\n return undefined;\n },\n [root, items],\n );\n\n const handleDragEnd = useCallback(() => {\n onOpenItemIdsChange({ ...openItemIds });\n }, [onOpenItemIdsChange, openItemIds]);\n\n return (\n <ElevationProvider elevation='chrome'>\n <div\n role='none'\n className='bs-full overflow-hidden row-span-3 grid grid-cols-1 grid-rows-[min-content_1fr_min-content]'\n >\n <Surface role='search-input' limit={1} />\n {/* TODO(thure): what gives this an inline `overflow: initial`? */}\n <div role='none' className='!overflow-y-auto'>\n <NavTree\n id={root.id}\n items={items}\n current={activeIds}\n attended={attended}\n type={NODE_TYPE}\n onNavigate={handleNavigate}\n onItemOpenChange={handleItemOpenChange}\n open={openItemIds}\n onMove={handleMove}\n onDrop={handleDrop}\n onDragEnd={handleDragEnd}\n popoverAnchorId={popoverAnchorId}\n renderPresence={renderPresence}\n resolveItemLevel={resolveItemLevel}\n loadDescendents={loadDescendents}\n />\n </div>\n <NavTreeFooter />\n </div>\n </ElevationProvider>\n );\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { ArrowSquareOut, GearSix, Warning } from '@phosphor-icons/react';\nimport { formatDistance } from 'date-fns/formatDistance';\nimport React from 'react';\n\nimport {\n SettingsAction,\n useResolvePlugin,\n parseNavigationPlugin,\n useIntentDispatcher,\n type LayoutPart,\n} from '@dxos/app-framework';\nimport { useConfig } from '@dxos/react-client';\nimport {\n Button,\n Tooltip,\n Popover,\n useSidebars,\n useTranslation,\n Link,\n Message,\n Trans,\n useDefaultValue,\n} from '@dxos/react-ui';\nimport { PlankHeading } from '@dxos/react-ui-deck';\nimport { getSize, mx } from '@dxos/react-ui-theme';\n\nimport { NAVTREE_PLUGIN } from '../meta';\n\nconst buttonStyles = 'pli-1.5 text-xs font-normal';\n\nconst repo = 'https://github.com/dxos/dxos';\n\nexport const NavTreeFooter = (props: { layoutPart?: LayoutPart }) => {\n const layoutPart = useDefaultValue(props.layoutPart, 'sidebar');\n const config = useConfig();\n const { t } = useTranslation(NAVTREE_PLUGIN);\n const { navigationSidebarOpen } = useSidebars(NAVTREE_PLUGIN);\n const dispatch = useIntentDispatcher();\n const { version, timestamp, commitHash } = config.values.runtime?.app?.build ?? {};\n const navigationPlugin = useResolvePlugin(parseNavigationPlugin);\n\n const releaseUrl =\n config.values.runtime?.app?.env?.DX_ENVIRONMENT === 'production'\n ? `${repo}/releases/tag/v${version}`\n : `${repo}/commit/${commitHash}`;\n\n const previewUrl = 'https://docs.dxos.org/composer#technology-preview';\n\n return (\n <div\n role='none'\n className={mx(\n 'bs-[--rail-size] pbe-[env(safe-area-inset-bottom)] box-content separator-separator border-bs pli-1 flex justify-end',\n layoutPart === 'complementary' && 'md:justify-end flex-row-reverse',\n )}\n >\n <Popover.Root>\n <Popover.Trigger asChild>\n <Button variant='ghost' classNames={buttonStyles} {...(!navigationSidebarOpen && { tabIndex: -1 })}>\n v{version}\n </Button>\n </Popover.Trigger>\n <Popover.Portal>\n <Popover.Content\n side='top'\n role='message'\n classNames='z-[12] bg-warning-500 max-is-[min(calc(100vw-16px),40ch)]'\n >\n <Message.Root valence='warning' className='rounded-be-none p-5'>\n <Message.Title>\n <Warning weight='duotone' className='inline mie-2 is-6 bs-6' />\n <span>{t('warning title')}</span>\n </Message.Title>\n <Message.Body>\n {t('technology preview message')}\n <br />\n <Link href={previewUrl} target='_blank' rel='noreferrer' variant='neutral'>\n {t('learn more label')}\n <ArrowSquareOut className='inline mis-1' weight='bold' />\n </Link>\n </Message.Body>\n </Message.Root>\n <div role='none' className='plb-4 pli-5 space-b-2 text-base'>\n {timestamp && (\n <p>\n {t('released message', {\n released: formatDistance(new Date(timestamp), new Date(), { addSuffix: true }),\n })}\n <br />\n <Link href={releaseUrl} target='_blank' rel='noreferrer' variant='neutral'>\n {t('see release label')}\n <ArrowSquareOut className='inline mis-1' weight='bold' />\n </Link>\n </p>\n )}\n <p>\n <Trans\n {...{\n t,\n i18nKey: 'powered by dxos message',\n components: {\n dxos: <Link href='https://dxos.org' target='_blank' rel='noreferrer' variant='neutral' />,\n },\n }}\n />\n </p>\n </div>\n <Popover.Arrow />\n </Popover.Content>\n </Popover.Portal>\n </Popover.Root>\n\n <Tooltip.Root>\n <Tooltip.Trigger asChild>\n {/* TODO(burdon): Reconcile with action created by LayoutPlugin. */}\n <Button\n variant='ghost'\n classNames={buttonStyles}\n data-testid='treeView.openSettings'\n data-joyride='welcome/settings'\n {...(!navigationSidebarOpen && { tabIndex: -1 })}\n onClick={() => dispatch({ action: SettingsAction.OPEN })}\n >\n <span className='sr-only'>{t('open settings label')}</span>\n <GearSix className={mx(getSize(4), 'rotate-90')} />\n </Button>\n </Tooltip.Trigger>\n <Tooltip.Portal>\n <Tooltip.Content classNames='z-[12]'>\n {t('open settings label')}\n <Tooltip.Arrow />\n </Tooltip.Content>\n </Tooltip.Portal>\n </Tooltip.Root>\n\n {/* NOTE(thure): Unpinning from the NavTree’s default position in Deck is temporarily disabled. */}\n {navigationPlugin?.meta.id === 'dxos.org/plugin/deck' && (\n <PlankHeading.Controls\n variant='hide-disabled'\n capabilities={{\n incrementStart: false,\n incrementEnd: false,\n }}\n onClick={(_type) => {\n // TODO(Zan): If we inmplement pinning again, we should dispatch here.\n }}\n />\n )}\n </div>\n );\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport {\n type Action,\n type Node,\n type NodeFilter,\n type Graph,\n ACTION_TYPE,\n ACTION_GROUP_TYPE,\n isAction,\n} from '@dxos/app-graph';\nimport { Path } from '@dxos/react-ui-mosaic';\nimport {\n type NavTreeActionNode,\n type NavTreeItemActions,\n type NavTreeItemNode,\n type NavTreeItemNodeProperties,\n type OpenItemIds,\n} from '@dxos/react-ui-navtree';\nimport { type MaybePromise, nonNullable } from '@dxos/util';\n\nexport type NavTreeItemGraphNode = Node<\n any,\n NavTreeItemNodeProperties &\n Partial<{\n persistenceClass: string;\n persistenceKey: string;\n acceptPersistenceClass: Set<string>;\n acceptPersistenceKey: Set<string>;\n onRearrangeChildren: (nextOrder: NavTreeItemGraphNode[]) => MaybePromise<void>;\n onCopy: (activeNode: NavTreeItemGraphNode, index?: number) => MaybePromise<void>;\n onTransferStart: (activeNode: NavTreeItemGraphNode, index?: number) => MaybePromise<void>;\n onTransferEnd: (activeNode: NavTreeItemGraphNode, destinationParent: NavTreeItemGraphNode) => MaybePromise<void>;\n }>\n>;\nexport type NavTreeItem = NavTreeItemNode<NavTreeItemGraphNode>;\n\nexport const getParent = (\n graph: Graph,\n node: NavTreeItemGraphNode,\n path: string[],\n): NavTreeItemGraphNode | undefined => {\n const parentId = path[path.length - 2];\n return graph.nodes(node, { relation: 'inbound' }).find((n) => n.id === parentId) as NavTreeItemGraphNode | undefined;\n};\n\nexport const getPersistenceParent = (\n graph: Graph,\n node: NavTreeItemGraphNode,\n path: string[],\n persistenceClass: string,\n): NavTreeItemGraphNode | null => {\n if (node.properties.acceptPersistenceClass?.has(persistenceClass)) {\n return node;\n } else {\n const parent = getParent(graph, node, path);\n return parent ? getPersistenceParent(graph, parent, path.slice(0, path.length - 1), persistenceClass) : null;\n }\n};\n\nexport const resolveMigrationOperation = (\n graph: Graph,\n activeNode: NavTreeItemGraphNode,\n destinationPath: string[],\n destinationRelatedNode?: NavTreeItemGraphNode,\n): 'transfer' | 'copy' | 'reject' => {\n const activeClass = activeNode.properties.persistenceClass;\n if (destinationRelatedNode && activeClass) {\n const persistenceParent = getPersistenceParent(graph, destinationRelatedNode, destinationPath, activeClass);\n if (persistenceParent) {\n const activeKey = activeNode.properties.persistenceKey;\n if (activeKey && persistenceParent?.properties.acceptPersistenceKey) {\n return persistenceParent.properties.acceptPersistenceKey.has(activeKey) &&\n destinationRelatedNode.properties.onTransferStart\n ? 'transfer'\n : destinationRelatedNode.properties.onCopy\n ? 'copy'\n : 'reject';\n } else {\n return 'reject';\n }\n } else {\n return 'reject';\n }\n } else {\n return 'reject';\n }\n};\n\n// TODO(wittjosiah): Move into node implementation?\nexport const sortActions = (actions: Action[]): Action[] =>\n actions.sort((a, b) => {\n if (a.properties.disposition === b.properties.disposition) {\n return 0;\n }\n\n if (a.properties.disposition === 'toolbar') {\n return -1;\n }\n\n return 1;\n });\n\nexport const getTreeItemNode = (treeItems: NavTreeItemNode[], path?: string[]): NavTreeItemNode | undefined => {\n if (!path) {\n return undefined;\n }\n\n return treeItems.find((treeItem) => {\n return treeItem.path && !treeItem.path.find((id, index) => path[index] !== id);\n });\n};\n\nexport const getChildren = (\n graph: Graph,\n node: NavTreeItemGraphNode,\n filter?: NodeFilter,\n path: string[] = [],\n): NavTreeItemGraphNode[] => {\n return graph\n .nodes(node, { relation: 'outbound', filter })\n .map((n) => {\n // Break cycles.\n const nextPath = [...path, node.id];\n return nextPath.includes(n.id) ? undefined : (n as NavTreeItemGraphNode);\n })\n .filter(nonNullable) as NavTreeItemGraphNode[];\n};\n\ntype FlattenedActions = Required<Pick<NavTreeItemNode, 'actions' | 'groupedActions'>>;\n\nexport const getActions = (graph: Graph, node: NavTreeItemGraphNode): FlattenedActions => {\n return graph.actions(node).reduce(\n (acc: FlattenedActions, arg) => {\n acc.actions.push(arg as unknown as NavTreeItemActions[number]);\n if (!isAction(arg)) {\n const actionGroup = graph.actions(arg);\n acc.groupedActions[arg.id] = actionGroup as unknown as NavTreeActionNode[];\n }\n return acc;\n },\n { actions: [], groupedActions: {} },\n );\n};\n\nexport const expandChildrenAndActions = (graph: Graph, node: Node) => {\n return Promise.all([expandChildren(graph, node), expandActions(graph, node)]);\n};\n\nexport const expandChildren = (graph: Graph, node: Node) => {\n return graph.expand(node, 'outbound');\n};\n\nexport const expandActions = (graph: Graph, node: Node) => {\n return Promise.all([graph.expand(node, 'outbound', ACTION_TYPE), graph.expand(node, 'outbound', ACTION_GROUP_TYPE)]);\n};\n\nfunction* navTreeItemVisitor(\n graph: Graph,\n node: NavTreeItemGraphNode,\n openItemIds: OpenItemIds,\n path: string[] = [],\n filter?: NodeFilter,\n): Generator<NavTreeItem> {\n const l0Children = getChildren(graph, node, filter, path);\n const { actions: l0Actions, groupedActions: l0GroupedActions } = getActions(graph, node);\n\n const stack: NavTreeItem[] = [\n {\n id: node.id,\n node,\n path: [],\n parentOf: (l0Children ?? []).map(({ id }) => id),\n actions: l0Actions,\n groupedActions: l0GroupedActions,\n },\n ];\n\n while (stack.length > 0) {\n const nextItem = stack.pop()!;\n if ((nextItem.path?.length ?? 0) > 0) {\n yield nextItem;\n }\n const { id, node, path } = nextItem;\n const children = getChildren(graph, node, filter, path);\n if (path?.length === 0 || (id ?? 'never') in openItemIds) {\n for (let i = children.length - 1; i >= 0; i--) {\n const child = children[i] as NavTreeItemGraphNode;\n const childPath = path ? [...path, child.id] : [child.id];\n const childChildren = getChildren(graph, child, filter, childPath);\n const { actions: childActions, groupedActions: childGroupedActions } = getActions(graph, child);\n stack.push({\n id: Path.create(...childPath),\n node: child,\n path: childPath,\n ...((childChildren?.length ?? 0) > 0 && {\n parentOf: childChildren!.map(({ id }) => Path.create(...childPath, id)),\n }),\n actions: childActions,\n groupedActions: childGroupedActions,\n });\n }\n }\n }\n}\n\n/**\n * Get a reactive tree node from a graph node.\n */\nexport const treeItemsFromRootNode = (\n graph: Graph,\n rootNode: NavTreeItemGraphNode,\n openItemIds: OpenItemIds,\n path: string[] = [],\n filter?: NodeFilter,\n): NavTreeItem[] => {\n return Array.from(navTreeItemVisitor(graph, rootNode, openItemIds, path, filter));\n};\n\nexport const expandOpenGraphNodes = (graph: Graph, openItemIds: OpenItemIds) => {\n return Promise.all(\n Object.keys(openItemIds)\n .map((openItemId) => {\n const node = graph.findNode(Path.last(openItemId));\n return node && expandChildrenAndActions(graph, node as NavTreeItemGraphNode);\n })\n .filter(nonNullable),\n );\n};\n", "//\n// Copyright 2023 DXOS.org\n//\nimport { useEffect } from 'react';\n\nimport { type Node } from '@dxos/app-graph';\nimport { toLocalizedString, useTranslation } from '@dxos/react-ui';\n\nimport { NAVTREE_PLUGIN } from '../meta';\n\nexport const NavTreeDocumentTitle = ({ node }: { node?: Node }) => {\n const { t } = useTranslation(NAVTREE_PLUGIN);\n useEffect(() => {\n document.title = node ? toLocalizedString(node.properties.label, t) : t('current app name', { ns: 'appkit' });\n }, [node?.properties?.label]);\n return null;\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport React from 'react';\n\nimport { useIntentDispatcher, useResolvePlugin } from '@dxos/app-framework';\nimport { ClientAction } from '@dxos/plugin-client/meta';\nimport { parseObservabilityPlugin } from '@dxos/plugin-observability';\nimport { useIdentity } from '@dxos/react-client/halo';\n\nimport { HaloButton } from './HaloButton';\n\n// TODO(thure): Refactor to be handled by a more appropriate plugin (ClientPlugin?).\nexport const NotchStart = () => {\n const identity = useIdentity();\n const observabilityPlugin = useResolvePlugin(parseObservabilityPlugin);\n const dispatch = useIntentDispatcher();\n return (\n <HaloButton\n size={8}\n identityKey={identity?.identityKey.toHex()}\n hue={identity?.profile?.data?.hue}\n emoji={identity?.profile?.data?.emoji}\n internal={observabilityPlugin?.provides?.observability?.group === 'dxos'}\n onClick={() => dispatch({ action: ClientAction.SHARE_IDENTITY })}\n />\n );\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport React from 'react';\n\nimport { ConnectionState, useNetworkStatus } from '@dxos/react-client/mesh';\nimport { Avatar, type Size } from '@dxos/react-ui';\nimport { focusRing, mx } from '@dxos/react-ui-theme';\nimport { hexToFallback } from '@dxos/util';\n\nconst INTERNAL = 'https://avatars.githubusercontent.com/u/57182821';\n\nexport type HaloButtonProps = {\n size?: Size;\n identityKey?: string;\n hue?: string;\n emoji?: string;\n internal?: boolean;\n onClick?: () => void;\n};\n\nexport const HaloButton = (props: HaloButtonProps) => {\n const { onClick, identityKey, internal, size = 8 } = props;\n const fallbackValue = hexToFallback(identityKey ?? '0');\n const { swarm: connectionState } = useNetworkStatus();\n return (\n <button className={mx(focusRing, 'rounded grid place-items-center')} onClick={onClick}>\n <Avatar.Root\n size={size}\n variant='circle'\n status={connectionState === ConnectionState.OFFLINE ? 'error' : internal ? 'internal' : 'active'}\n hue={props.hue || fallbackValue.hue}\n >\n <Avatar.Frame data-testid='treeView.haloButton' data-joyride='welcome/halo'>\n {internal ? <Avatar.Image href={INTERNAL} /> : <Avatar.Fallback text={props.emoji || fallbackValue.emoji} />}\n </Avatar.Frame>\n </Avatar.Root>\n </button>\n );\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { MagnifyingGlass } from '@phosphor-icons/react';\nimport React from 'react';\n\nimport { LayoutAction, useIntent } from '@dxos/app-framework';\nimport { Button, useTranslation } from '@dxos/react-ui';\nimport { getSize } from '@dxos/react-ui-theme';\n\nimport { NAVTREE_PLUGIN } from '../meta';\n\n// TODO(thure): Refactor to be handled by a more appropriate plugin.\nexport const CommandsTrigger = () => {\n const { dispatch } = useIntent();\n const { t } = useTranslation(NAVTREE_PLUGIN);\n return (\n <Button\n classNames='pis-3 pie-2 gap-2 mli-1 mbs-1 min-bs-0 bs-[--rail-action] justify-start'\n onClick={() =>\n dispatch({\n action: LayoutAction.SET_LAYOUT,\n data: { element: 'dialog', component: `${NAVTREE_PLUGIN}/Commands`, dialogBlockAlign: 'start' },\n })\n }\n >\n <span className='fg-description text-base font-normal grow text-start'>\n {t('command list input placeholder')}\n </span>\n <MagnifyingGlass className={getSize(5)} />\n </Button>\n );\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { translations as navtreeTranslations } from '@dxos/react-ui-navtree';\n\nimport { NAVTREE_PLUGIN } from './meta';\n\nexport default [\n {\n 'en-US': {\n [NAVTREE_PLUGIN]: {\n 'open settings label': 'Settings',\n 'open commands label': 'Search commands',\n 'commands dialog title': 'Commands',\n 'command list input placeholder': 'Search for commands…',\n 'node actions menu invoker label': 'More options',\n 'warning title': 'WARNING',\n 'technology preview message': 'Composer is still in technology preview.',\n 'learn more label': 'Learn more',\n 'released message': 'This version released {{released}}.',\n 'see release label': 'See release on GitHub',\n 'powered by dxos message': 'Powered by <dxos>DXOS</dxos>',\n },\n },\n },\n ...navtreeTranslations,\n];\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { NavTreePlugin } from './NavTreePlugin';\n\nexport default NavTreePlugin;\n\nexport * from './NavTreePlugin';\nexport * from './util';\n"],
5
+ "mappings": "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",
6
+ "names": ["MagnifyingGlass", "React", "resolvePlugin", "parseIntentPlugin", "LayoutAction", "parseGraphPlugin", "NavigationAction", "createExtension", "isAction", "isGraphNode", "Keyboard", "LocalStorageStore", "Path", "getHostPlatform", "DotOutline", "React", "useMemo", "useState", "useIntentDispatcher", "LayoutAction", "isActionGroup", "isAction", "Keyboard", "keySymbols", "useGraph", "Button", "Dialog", "useTranslation", "toLocalizedString", "SearchList", "descriptionText", "getSize", "mx", "getHostPlatform", "CommandsDialogContent", "selected", "initial", "t", "useTranslation", "NAVTREE_PLUGIN", "setSelected", "useState", "dispatch", "useIntentDispatcher", "graph", "useGraph", "allActions", "useMemo", "current", "Keyboard", "singleton", "getCurrentContext", "actionMap", "Set", "actions", "traverse", "visitor", "node", "path", "isAction", "isActionGroup", "has", "id", "startsWith", "slice", "join", "add", "push", "sort", "a", "b", "toLocalizedString", "properties", "label", "toLowerCase", "localeCompare", "group", "find", "Dialog", "Content", "classNames", "Title", "ns", "SearchList", "Root", "Input", "placeholder", "map", "action", "shortcut", "keyBinding", "getHostPlatform", "Icon", "icon", "DotOutline", "Item", "value", "key", "onSelect", "disabled", "LayoutAction", "SET_LAYOUT", "data", "element", "state", "setTimeout", "nodes", "relation", "caller", "KEY_BINDING", "testId", "className", "mx", "getSize", "span", "descriptionText", "keySymbols", "Close", "asChild", "Button", "variant", "DotsThreeVertical", "React", "Fragment", "getGraph", "Popover", "toLocalizedString", "useTranslation", "PlankHeading", "TREE_ITEM_MAIN_HEADING", "NavBarStart", "activeNode", "popoverAnchorId", "t", "useTranslation", "NAVTREE_PLUGIN", "ActionRoot", "id", "KEY_BINDING", "Popover", "Anchor", "Fragment", "Icon", "properties", "icon", "DotsThreeVertical", "graph", "getGraph", "actions", "label", "toLocalizedString", "menuTriggerLabel", "React", "PlankHeading", "ActionsMenu", "attendableId", "triggerLabel", "onAction", "action", "data", "node", "caller", "Label", "React", "useCallback", "useMemo", "NavigationAction", "LayoutAction", "Surface", "SLUG_PATH_SEPARATOR", "SLUG_COLLECTION_INDICATOR", "useIntentDispatcher", "getGraph", "isAction", "isActionLike", "ElevationProvider", "useMediaQuery", "useSidebars", "Path", "NavTree", "getLevel", "arrayMove", "ArrowSquareOut", "GearSix", "Warning", "formatDistance", "React", "SettingsAction", "useResolvePlugin", "parseNavigationPlugin", "useIntentDispatcher", "useConfig", "Button", "Tooltip", "Popover", "useSidebars", "useTranslation", "Link", "Message", "Trans", "useDefaultValue", "PlankHeading", "getSize", "mx", "buttonStyles", "repo", "NavTreeFooter", "props", "layoutPart", "useDefaultValue", "config", "useConfig", "t", "useTranslation", "NAVTREE_PLUGIN", "navigationSidebarOpen", "useSidebars", "dispatch", "useIntentDispatcher", "version", "timestamp", "commitHash", "values", "runtime", "app", "build", "navigationPlugin", "useResolvePlugin", "parseNavigationPlugin", "releaseUrl", "env", "DX_ENVIRONMENT", "previewUrl", "React", "div", "role", "className", "mx", "Popover", "Root", "Trigger", "asChild", "Button", "variant", "classNames", "tabIndex", "Portal", "Content", "side", "Message", "valence", "Title", "Warning", "weight", "span", "Body", "br", "Link", "href", "target", "rel", "ArrowSquareOut", "p", "released", "formatDistance", "Date", "addSuffix", "Trans", "i18nKey", "components", "dxos", "Arrow", "Tooltip", "data-testid", "data-joyride", "onClick", "action", "SettingsAction", "OPEN", "GearSix", "getSize", "meta", "id", "PlankHeading", "Controls", "capabilities", "incrementStart", "incrementEnd", "_type", "ACTION_TYPE", "ACTION_GROUP_TYPE", "isAction", "Path", "nonNullable", "getParent", "graph", "node", "path", "parentId", "length", "nodes", "relation", "find", "n", "id", "getPersistenceParent", "persistenceClass", "properties", "acceptPersistenceClass", "has", "parent", "slice", "resolveMigrationOperation", "activeNode", "destinationPath", "destinationRelatedNode", "activeClass", "persistenceParent", "activeKey", "persistenceKey", "acceptPersistenceKey", "onTransferStart", "onCopy", "sortActions", "actions", "sort", "a", "b", "disposition", "getTreeItemNode", "treeItems", "undefined", "treeItem", "index", "getChildren", "filter", "map", "nextPath", "includes", "nonNullable", "getActions", "reduce", "acc", "arg", "push", "isAction", "actionGroup", "groupedActions", "expandChildrenAndActions", "Promise", "all", "expandChildren", "expandActions", "expand", "ACTION_TYPE", "ACTION_GROUP_TYPE", "navTreeItemVisitor", "openItemIds", "l0Children", "l0Actions", "l0GroupedActions", "stack", "parentOf", "nextItem", "pop", "children", "i", "child", "childPath", "childChildren", "childActions", "childGroupedActions", "Path", "create", "treeItemsFromRootNode", "rootNode", "Array", "from", "expandOpenGraphNodes", "Object", "keys", "openItemId", "findNode", "last", "NODE_TYPE", "renderPresence", "node", "React", "Surface", "role", "data", "object", "NavTreeContainer", "root", "activeIds", "openItemIds", "onOpenItemIdsChange", "attended", "popoverAnchorId", "closeNavigationSidebar", "useSidebars", "NAVTREE_PLUGIN", "isLg", "useMediaQuery", "ssr", "dispatch", "useIntentDispatcher", "graph", "useMemo", "getGraph", "items", "treeItemsFromRootNode", "loadDescendents", "useCallback", "expandActions", "isActionLike", "expandChildren", "then", "Promise", "all", "getChildren", "flatMap", "child", "handleNavigate", "actions", "action", "NavigationAction", "OPEN", "activeParts", "comments", "main", "id", "complementary", "SLUG_PATH_SEPARATOR", "SLUG_COLLECTION_INDICATOR", "LayoutAction", "SCROLL_INTO_VIEW", "defaultAction", "find", "properties", "disposition", "isAction", "handleItemOpenChange", "path", "nextOpen", "_", "nextOpenItemIds", "resolveItemLevel", "overPosition", "activeId", "levelOffset", "nextItems", "arrayMove", "findIndex", "previousItem", "nextItem", "Math", "min", "getLevel", "max", "handleMove", "active", "over", "details", "floor", "delta", "x", "position", "item", "activeNode", "undefined", "operation", "overLevel", "previousLevel", "Path", "hasChild", "onRearrangeChildren", "resolveMigrationOperation", "parent", "getParent", "parentPath", "slice", "length", "siblings", "nextLevel", "handleDrop", "first", "activeParentId", "activeParent", "filter", "map", "onCopy", "onTransferEnd", "onTransferStart", "handleDragEnd", "ElevationProvider", "elevation", "div", "className", "limit", "NavTree", "current", "type", "onNavigate", "onItemOpenChange", "open", "onMove", "onDrop", "onDragEnd", "NavTreeFooter", "useEffect", "toLocalizedString", "useTranslation", "NavTreeDocumentTitle", "node", "t", "useTranslation", "NAVTREE_PLUGIN", "useEffect", "document", "title", "toLocalizedString", "properties", "label", "ns", "React", "useIntentDispatcher", "useResolvePlugin", "ClientAction", "parseObservabilityPlugin", "useIdentity", "React", "ConnectionState", "useNetworkStatus", "Avatar", "focusRing", "mx", "hexToFallback", "INTERNAL", "HaloButton", "props", "onClick", "identityKey", "internal", "size", "fallbackValue", "hexToFallback", "swarm", "connectionState", "useNetworkStatus", "React", "button", "className", "mx", "focusRing", "Avatar", "Root", "variant", "status", "ConnectionState", "OFFLINE", "hue", "Frame", "data-testid", "data-joyride", "Image", "href", "Fallback", "text", "emoji", "NotchStart", "identity", "useIdentity", "observabilityPlugin", "useResolvePlugin", "parseObservabilityPlugin", "dispatch", "useIntentDispatcher", "React", "HaloButton", "size", "identityKey", "toHex", "hue", "profile", "data", "emoji", "internal", "provides", "observability", "group", "onClick", "action", "ClientAction", "SHARE_IDENTITY", "MagnifyingGlass", "React", "LayoutAction", "useIntent", "Button", "useTranslation", "getSize", "CommandsTrigger", "dispatch", "useIntent", "t", "useTranslation", "NAVTREE_PLUGIN", "React", "Button", "classNames", "onClick", "action", "LayoutAction", "SET_LAYOUT", "data", "element", "component", "dialogBlockAlign", "span", "className", "MagnifyingGlass", "getSize", "translations", "navtreeTranslations", "NAVTREE_PLUGIN", "navtreeTranslations", "NavTreePlugin", "state", "LocalStorageStore", "openItemIds", "root", "graphPlugin", "graph", "handleOpenItemIdsChange", "nextOpenItemIds", "values", "expandOpenGraphNodes", "meta", "ready", "plugins", "resolvePlugin", "parseGraphPlugin", "provides", "getChildren", "getActions", "prop", "key", "storageKey", "type", "json", "subscribeTraverse", "visitor", "node", "path", "shortcut", "properties", "keyBinding", "availablePlatforms", "Object", "keys", "platform", "getHostPlatform", "includes", "macos", "windows", "undefined", "isAction", "Keyboard", "singleton", "getContext", "slice", "join", "bind", "handler", "data", "caller", "KEY_BINDING", "label", "initialize", "setCurrentContext", "id", "unload", "destroy", "metadata", "records", "NODE_TYPE", "parse", "item", "object", "surface", "component", "role", "NAVTREE_PLUGIN", "selected", "subject", "React", "CommandsDialogContent", "NavTreeContainer", "activeIds", "onOpenItemIdsChange", "attended", "popoverAnchorId", "NavTreeDocumentTitle", "isGraphNode", "activeNode", "NavBarStart", "disposition", "NotchStart", "CommandsTrigger", "intent", "resolver", "action", "NavigationAction", "EXPOSE", "getPath", "target", "Array", "isArray", "additionalOpenItems", "length", "reduce", "acc", "_", "index", "itemId", "Path", "create", "builder", "intentPlugin", "parseIntentPlugin", "createExtension", "filter", "actions", "dispatch", "LayoutAction", "SET_LAYOUT", "element", "dialogBlockAlign", "ns", "icon", "props", "MagnifyingGlass", "iconSymbol", "translations", "NavTreePlugin"]
7
+ }
@@ -0,0 +1 @@
1
+ {"inputs":{"packages/plugins/plugin-navtree/src/meta.ts":{"bytes":1024,"imports":[],"format":"esm"},"packages/plugins/plugin-navtree/src/components/CommandsDialog.tsx":{"bytes":16947,"imports":[{"path":"@phosphor-icons/react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-graph","kind":"import-statement","external":true},{"path":"@dxos/keyboard","kind":"import-statement","external":true},{"path":"@dxos/plugin-graph","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-searchlist","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-navtree/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/plugin-navtree/src/components/NavBarStart.tsx":{"bytes":6009,"imports":[{"path":"@phosphor-icons/react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-graph","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-deck","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-navtree/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/plugin-navtree/src/components/NavTreeFooter.tsx":{"bytes":18072,"imports":[{"path":"@phosphor-icons/react","kind":"import-statement","external":true},{"path":"date-fns/formatDistance","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-deck","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-navtree/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/plugin-navtree/src/util.ts":{"bytes":23279,"imports":[{"path":"@dxos/app-graph","kind":"import-statement","external":true},{"path":"@dxos/react-ui-mosaic","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"format":"esm"},"packages/plugins/plugin-navtree/src/components/NavTreeContainer.tsx":{"bytes":48568,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-graph","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-mosaic","kind":"import-statement","external":true},{"path":"@dxos/react-ui-navtree","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-navtree/src/components/NavTreeFooter.tsx","kind":"import-statement","original":"./NavTreeFooter"},{"path":"packages/plugins/plugin-navtree/src/meta.ts","kind":"import-statement","original":"../meta"},{"path":"packages/plugins/plugin-navtree/src/util.ts","kind":"import-statement","original":"../util"}],"format":"esm"},"packages/plugins/plugin-navtree/src/components/NavTreeDocumentTitle.tsx":{"bytes":2287,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-navtree/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/plugin-navtree/src/components/HaloButton.tsx":{"bytes":4991,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-client/mesh","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"format":"esm"},"packages/plugins/plugin-navtree/src/components/NotchStart.tsx":{"bytes":3865,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-client/meta","kind":"import-statement","external":true},{"path":"@dxos/plugin-observability","kind":"import-statement","external":true},{"path":"@dxos/react-client/halo","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-navtree/src/components/HaloButton.tsx","kind":"import-statement","original":"./HaloButton"}],"format":"esm"},"packages/plugins/plugin-navtree/src/components/index.ts":{"bytes":953,"imports":[{"path":"packages/plugins/plugin-navtree/src/components/CommandsDialog.tsx","kind":"import-statement","original":"./CommandsDialog"},{"path":"packages/plugins/plugin-navtree/src/components/NavBarStart.tsx","kind":"import-statement","original":"./NavBarStart"},{"path":"packages/plugins/plugin-navtree/src/components/NavTreeContainer.tsx","kind":"import-statement","original":"./NavTreeContainer"},{"path":"packages/plugins/plugin-navtree/src/components/NavTreeDocumentTitle.tsx","kind":"import-statement","original":"./NavTreeDocumentTitle"},{"path":"packages/plugins/plugin-navtree/src/components/NotchStart.tsx","kind":"import-statement","original":"./NotchStart"}],"format":"esm"},"packages/plugins/plugin-navtree/src/components/CommandsTrigger.tsx":{"bytes":4136,"imports":[{"path":"@phosphor-icons/react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-navtree/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/plugin-navtree/src/translations.ts":{"bytes":3044,"imports":[{"path":"@dxos/react-ui-navtree","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-navtree/src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"packages/plugins/plugin-navtree/src/NavTreePlugin.tsx":{"bytes":32716,"imports":[{"path":"@phosphor-icons/react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-graph","kind":"import-statement","external":true},{"path":"@dxos/keyboard","kind":"import-statement","external":true},{"path":"@dxos/local-storage","kind":"import-statement","external":true},{"path":"@dxos/react-ui-mosaic","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-navtree/src/components/index.ts","kind":"import-statement","original":"./components"},{"path":"packages/plugins/plugin-navtree/src/components/CommandsTrigger.tsx","kind":"import-statement","original":"./components/CommandsTrigger"},{"path":"packages/plugins/plugin-navtree/src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"packages/plugins/plugin-navtree/src/translations.ts","kind":"import-statement","original":"./translations"},{"path":"packages/plugins/plugin-navtree/src/util.ts","kind":"import-statement","original":"./util"}],"format":"esm"},"packages/plugins/plugin-navtree/src/index.ts":{"bytes":875,"imports":[{"path":"packages/plugins/plugin-navtree/src/NavTreePlugin.tsx","kind":"import-statement","original":"./NavTreePlugin"},{"path":"packages/plugins/plugin-navtree/src/NavTreePlugin.tsx","kind":"import-statement","original":"./NavTreePlugin"},{"path":"packages/plugins/plugin-navtree/src/util.ts","kind":"import-statement","original":"./util"}],"format":"esm"}},"outputs":{"packages/plugins/plugin-navtree/dist/lib/browser/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":82896},"packages/plugins/plugin-navtree/dist/lib/browser/index.mjs":{"imports":[{"path":"packages/plugins/plugin-navtree/dist/lib/browser/chunk-U7MTKDFQ.mjs","kind":"import-statement"},{"path":"@phosphor-icons/react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-graph","kind":"import-statement","external":true},{"path":"@dxos/keyboard","kind":"import-statement","external":true},{"path":"@dxos/local-storage","kind":"import-statement","external":true},{"path":"@dxos/react-ui-mosaic","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@phosphor-icons/react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-graph","kind":"import-statement","external":true},{"path":"@dxos/keyboard","kind":"import-statement","external":true},{"path":"@dxos/plugin-graph","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-searchlist","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@phosphor-icons/react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-graph","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-deck","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-graph","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-mosaic","kind":"import-statement","external":true},{"path":"@dxos/react-ui-navtree","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@phosphor-icons/react","kind":"import-statement","external":true},{"path":"date-fns/formatDistance","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-deck","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"@dxos/app-graph","kind":"import-statement","external":true},{"path":"@dxos/react-ui-mosaic","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-client/meta","kind":"import-statement","external":true},{"path":"@dxos/plugin-observability","kind":"import-statement","external":true},{"path":"@dxos/react-client/halo","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-client/mesh","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@phosphor-icons/react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"@dxos/react-ui-navtree","kind":"import-statement","external":true}],"exports":["NavTreePlugin","default","expandActions","expandChildren","expandChildrenAndActions","expandOpenGraphNodes","getActions","getChildren","getParent","getPersistenceParent","getTreeItemNode","resolveMigrationOperation","sortActions","treeItemsFromRootNode"],"entryPoint":"packages/plugins/plugin-navtree/src/index.ts","inputs":{"packages/plugins/plugin-navtree/src/NavTreePlugin.tsx":{"bytesInOutput":7751},"packages/plugins/plugin-navtree/src/components/CommandsDialog.tsx":{"bytesInOutput":4146},"packages/plugins/plugin-navtree/src/components/index.ts":{"bytesInOutput":0},"packages/plugins/plugin-navtree/src/components/NavBarStart.tsx":{"bytesInOutput":1488},"packages/plugins/plugin-navtree/src/components/NavTreeContainer.tsx":{"bytesInOutput":11010},"packages/plugins/plugin-navtree/src/components/NavTreeFooter.tsx":{"bytesInOutput":5275},"packages/plugins/plugin-navtree/src/util.ts":{"bytesInOutput":4902},"packages/plugins/plugin-navtree/src/components/NavTreeDocumentTitle.tsx":{"bytesInOutput":441},"packages/plugins/plugin-navtree/src/components/NotchStart.tsx":{"bytesInOutput":879},"packages/plugins/plugin-navtree/src/components/HaloButton.tsx":{"bytesInOutput":1237},"packages/plugins/plugin-navtree/src/components/CommandsTrigger.tsx":{"bytesInOutput":1042},"packages/plugins/plugin-navtree/src/translations.ts":{"bytesInOutput":814},"packages/plugins/plugin-navtree/src/index.ts":{"bytesInOutput":33}},"bytes":40400},"packages/plugins/plugin-navtree/dist/lib/browser/meta.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/plugins/plugin-navtree/dist/lib/browser/meta.mjs":{"imports":[{"path":"packages/plugins/plugin-navtree/dist/lib/browser/chunk-U7MTKDFQ.mjs","kind":"import-statement"}],"exports":["KEY_BINDING","NAVTREE_PLUGIN","default"],"entryPoint":"packages/plugins/plugin-navtree/src/meta.ts","inputs":{},"bytes":193},"packages/plugins/plugin-navtree/dist/lib/browser/chunk-U7MTKDFQ.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":444},"packages/plugins/plugin-navtree/dist/lib/browser/chunk-U7MTKDFQ.mjs":{"imports":[],"exports":["KEY_BINDING","NAVTREE_PLUGIN","meta_default"],"inputs":{"packages/plugins/plugin-navtree/src/meta.ts":{"bytesInOutput":125}},"bytes":277}}}
@@ -0,0 +1,11 @@
1
+ import {
2
+ KEY_BINDING,
3
+ NAVTREE_PLUGIN,
4
+ meta_default
5
+ } from "./chunk-U7MTKDFQ.mjs";
6
+ export {
7
+ KEY_BINDING,
8
+ NAVTREE_PLUGIN,
9
+ meta_default as default
10
+ };
11
+ //# sourceMappingURL=meta.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }
@@ -0,0 +1,4 @@
1
+ import { type GraphBuilderProvides, type MetadataRecordsProvides, type PluginDefinition, type SurfaceProvides, type TranslationsProvides, type IntentResolverProvides } from '@dxos/app-framework';
2
+ export type NavTreePluginProvides = SurfaceProvides & MetadataRecordsProvides & GraphBuilderProvides & TranslationsProvides & IntentResolverProvides;
3
+ export declare const NavTreePlugin: () => PluginDefinition<NavTreePluginProvides>;
4
+ //# sourceMappingURL=NavTreePlugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NavTreePlugin.d.ts","sourceRoot":"","sources":["../../../src/NavTreePlugin.tsx"],"names":[],"mappings":"AAOA,OAAO,EACL,KAAK,oBAAoB,EAEzB,KAAK,uBAAuB,EAC5B,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,oBAAoB,EAEzB,KAAK,sBAAsB,EAM5B,MAAM,qBAAqB,CAAC;AAqB7B,MAAM,MAAM,qBAAqB,GAAG,eAAe,GACjD,uBAAuB,GACvB,oBAAoB,GACpB,oBAAoB,GACpB,sBAAsB,CAAC;AAIzB,eAAO,MAAM,aAAa,QAAO,gBAAgB,CAAC,qBAAqB,CAmNtE,CAAC"}
@@ -0,0 +1,5 @@
1
+ import React from 'react';
2
+ export declare const CommandsDialogContent: ({ selected: initial }: {
3
+ selected?: string;
4
+ }) => React.JSX.Element;
5
+ //# sourceMappingURL=CommandsDialog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CommandsDialog.d.ts","sourceRoot":"","sources":["../../../../src/components/CommandsDialog.tsx"],"names":[],"mappings":"AAKA,OAAO,KAA4B,MAAM,OAAO,CAAC;AAcjD,eAAO,MAAM,qBAAqB,0BAA2B;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,sBA8FjF,CAAC"}
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ export declare const CommandsTrigger: () => React.JSX.Element;
3
+ //# sourceMappingURL=CommandsTrigger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CommandsTrigger.d.ts","sourceRoot":"","sources":["../../../../src/components/CommandsTrigger.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,MAAM,OAAO,CAAC;AAS1B,eAAO,MAAM,eAAe,yBAmB3B,CAAC"}
@@ -0,0 +1,12 @@
1
+ import React from 'react';
2
+ import { type Size } from '@dxos/react-ui';
3
+ export type HaloButtonProps = {
4
+ size?: Size;
5
+ identityKey?: string;
6
+ hue?: string;
7
+ emoji?: string;
8
+ internal?: boolean;
9
+ onClick?: () => void;
10
+ };
11
+ export declare const HaloButton: (props: HaloButtonProps) => React.JSX.Element;
12
+ //# sourceMappingURL=HaloButton.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HaloButton.d.ts","sourceRoot":"","sources":["../../../../src/components/HaloButton.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAU,KAAK,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAMnD,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB,CAAC;AAEF,eAAO,MAAM,UAAU,UAAW,eAAe,sBAkBhD,CAAC"}
@@ -0,0 +1,12 @@
1
+ import '@dxosTheme';
2
+ import React from 'react';
3
+ declare const _default: {
4
+ title: string;
5
+ component: (props: import("./HaloButton").HaloButtonProps) => React.JSX.Element;
6
+ actions: {
7
+ argTypesRegex: string;
8
+ };
9
+ };
10
+ export default _default;
11
+ export declare const Normal: (props: any) => React.JSX.Element;
12
+ //# sourceMappingURL=HaloButton.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HaloButton.stories.d.ts","sourceRoot":"","sources":["../../../../src/components/HaloButton.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,YAAY,CAAC;AAEpB,OAAO,KAAK,MAAM,OAAO,CAAC;;;;;;;;AAI1B,wBAIE;AAEF,eAAO,MAAM,MAAM,UAAW,GAAG,sBAEhC,CAAC"}
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ import { type Node } from '@dxos/app-graph';
3
+ export declare const NavBarStart: ({ activeNode, popoverAnchorId }: {
4
+ activeNode: Node;
5
+ popoverAnchorId?: string;
6
+ }) => React.JSX.Element;
7
+ //# sourceMappingURL=NavBarStart.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NavBarStart.d.ts","sourceRoot":"","sources":["../../../../src/components/NavBarStart.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAExC,OAAO,EAAY,KAAK,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAQtD,eAAO,MAAM,WAAW,oCAAqC;IAAE,UAAU,EAAE,IAAI,CAAC;IAAC,eAAe,CAAC,EAAE,MAAM,CAAA;CAAE,sBAgC1G,CAAC"}
@@ -0,0 +1,12 @@
1
+ import React from 'react';
2
+ import { type NavTreeItemGraphNode } from '../util';
3
+ export declare const NODE_TYPE = "dxos/app-graph/node";
4
+ export declare const NavTreeContainer: ({ root, activeIds, openItemIds, onOpenItemIdsChange, attended, popoverAnchorId, }: {
5
+ root: NavTreeItemGraphNode;
6
+ activeIds: Set<string>;
7
+ openItemIds: Record<string, true>;
8
+ onOpenItemIdsChange: (nextOpenItemIds: Record<string, true>) => void;
9
+ attended: Set<string>;
10
+ popoverAnchorId?: string;
11
+ }) => React.JSX.Element;
12
+ //# sourceMappingURL=NavTreeContainer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NavTreeContainer.d.ts","sourceRoot":"","sources":["../../../../src/components/NavTreeContainer.tsx"],"names":[],"mappings":"AAIA,OAAO,KAA+C,MAAM,OAAO,CAAC;AA0BpE,OAAO,EAML,KAAK,oBAAoB,EAG1B,MAAM,SAAS,CAAC;AAGjB,eAAO,MAAM,SAAS,wBAAwB,CAAC;AAM/C,eAAO,MAAM,gBAAgB,sFAO1B;IACD,IAAI,EAAE,oBAAoB,CAAC;IAC3B,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAClC,mBAAmB,EAAE,CAAC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,IAAI,CAAC;IACrE,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,sBAwTA,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { type Node } from '@dxos/app-graph';
2
+ export declare const NavTreeDocumentTitle: ({ node }: {
3
+ node?: Node;
4
+ }) => null;
5
+ //# sourceMappingURL=NavTreeDocumentTitle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NavTreeDocumentTitle.d.ts","sourceRoot":"","sources":["../../../../src/components/NavTreeDocumentTitle.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAK5C,eAAO,MAAM,oBAAoB,aAAc;IAAE,IAAI,CAAC,EAAE,IAAI,CAAA;CAAE,SAM7D,CAAC"}
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ import { type LayoutPart } from '@dxos/app-framework';
3
+ export declare const NavTreeFooter: (props: {
4
+ layoutPart?: LayoutPart;
5
+ }) => React.JSX.Element;
6
+ //# sourceMappingURL=NavTreeFooter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NavTreeFooter.d.ts","sourceRoot":"","sources":["../../../../src/components/NavTreeFooter.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAKL,KAAK,UAAU,EAChB,MAAM,qBAAqB,CAAC;AAsB7B,eAAO,MAAM,aAAa,UAAW;IAAE,UAAU,CAAC,EAAE,UAAU,CAAA;CAAE,sBAsH/D,CAAC"}
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ export declare const NotchStart: () => React.JSX.Element;
3
+ //# sourceMappingURL=NotchStart.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NotchStart.d.ts","sourceRoot":"","sources":["../../../../src/components/NotchStart.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AAU1B,eAAO,MAAM,UAAU,yBActB,CAAC"}
@@ -0,0 +1,6 @@
1
+ export * from './CommandsDialog';
2
+ export * from './NavBarStart';
3
+ export * from './NavTreeContainer';
4
+ export * from './NavTreeDocumentTitle';
5
+ export * from './NotchStart';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/index.ts"],"names":[],"mappings":"AAIA,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,cAAc,CAAC"}
@@ -0,0 +1,56 @@
1
+ import { type Icon, type IconProps } from '@phosphor-icons/react';
2
+ import React, { type HTMLAttributes, type PropsWithChildren } from 'react';
3
+ import { type ClassNameValue, type Size } from '@dxos/react-ui';
4
+ export declare const IconButton: ({ Icon, classNames, size, onClick, ...props }: {
5
+ Icon: Icon;
6
+ classNames?: ClassNameValue;
7
+ size?: Size;
8
+ } & Pick<IconProps, "weight"> & Pick<HTMLAttributes<HTMLDivElement>, "onClick">) => React.JSX.Element;
9
+ export type TreeNodeData = {
10
+ id: string;
11
+ title: string;
12
+ Icon?: Icon;
13
+ color?: string;
14
+ children?: TreeNodeData[];
15
+ };
16
+ export type TreeIteratorNode = {
17
+ node: TreeNodeData;
18
+ depth: number;
19
+ };
20
+ export declare function visitor(node: TreeNodeData, open: ItemMap): Generator<TreeIteratorNode>;
21
+ export declare const visitNodes: <T>(node: TreeNodeData, callback: (node: TreeNodeData, depth: number) => T, depth?: number) => T | undefined;
22
+ export type ItemMap<T = boolean> = Record<TreeNodeData['id'], T>;
23
+ export type TreeNodeProps = {
24
+ node: TreeNodeData;
25
+ depth?: number;
26
+ getSlots?: (node: TreeNodeData, open: boolean, depth: number, ancestors: TreeNodeData[]) => {
27
+ root?: string;
28
+ header?: string;
29
+ } | undefined;
30
+ open?: ItemMap;
31
+ selected?: ItemMap;
32
+ active?: ItemMap;
33
+ onChangeOpen?: (id: string, open: boolean) => void;
34
+ onChangeSelected?: (id: string, select: boolean) => void;
35
+ onMenuAction?: (id: string, action: string) => void;
36
+ };
37
+ export declare const Title: ({ node: { title } }: Pick<TreeNodeProps, "node">) => React.JSX.Element;
38
+ export declare const Grid: ({ className, ...props }: PropsWithChildren<{
39
+ className?: string;
40
+ }> & HTMLAttributes<HTMLDivElement>) => React.JSX.Element;
41
+ export declare const TreeNodeRow: (props: TreeNodeProps & {
42
+ className?: string;
43
+ }) => React.JSX.Element;
44
+ export declare const TreeNode: (props: TreeNodeProps & {
45
+ ancestors?: TreeNodeData[];
46
+ }) => React.JSX.Element;
47
+ export declare const TreeChildNodes: ({ className, ...props }: TreeNodeProps & {
48
+ ancestors?: TreeNodeData[];
49
+ className?: string;
50
+ }) => React.JSX.Element;
51
+ export type TreeProps = {
52
+ className?: string;
53
+ showRoot?: boolean;
54
+ } & TreeNodeProps;
55
+ export declare const Tree: ({ className, showRoot, ...props }: TreeProps) => React.JSX.Element;
56
+ //# sourceMappingURL=Tree.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Tree.d.ts","sourceRoot":"","sources":["../../../../src/experimental/Tree.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import '@dxosTheme';
2
+ import { type JSX } from 'react';
3
+ import { type TreeProps } from './Tree';
4
+ declare const _default: {
5
+ title: string;
6
+ component: ({ className, showRoot, ...props }: TreeProps) => JSX.Element;
7
+ decorators: import("@storybook/react/*").Decorator[];
8
+ };
9
+ export default _default;
10
+ export declare const Default: () => JSX.Element;
11
+ export declare const Visitor: () => JSX.Element;
12
+ //# sourceMappingURL=Tree.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Tree.stories.d.ts","sourceRoot":"","sources":["../../../../src/experimental/Tree.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,YAAY,CAAC;AAGpB,OAAc,EAAE,KAAK,GAAG,EAA+C,MAAM,OAAO,CAAC;AAMrF,OAAO,EAAyC,KAAK,SAAS,EAAuB,MAAM,QAAQ,CAAC;;;;;;AAIpG,wBAIE;AA2FF,eAAO,MAAM,OAAO,mBAEnB,CAAC;AAEF,eAAO,MAAM,OAAO,mBAenB,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { NavTreePlugin } from './NavTreePlugin';
2
+ export default NavTreePlugin;
3
+ export * from './NavTreePlugin';
4
+ export * from './util';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,eAAe,aAAa,CAAC;AAE7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,QAAQ,CAAC"}
@@ -0,0 +1,7 @@
1
+ export declare const NAVTREE_PLUGIN = "dxos.org/plugin/navtree";
2
+ export declare const KEY_BINDING = "KeyBinding";
3
+ declare const _default: {
4
+ id: string;
5
+ };
6
+ export default _default;
7
+ //# sourceMappingURL=meta.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../../../src/meta.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,cAAc,4BAA4B,CAAC;AAGxD,eAAO,MAAM,WAAW,eAAe,CAAC;;;;AAExC,wBAEE"}
@@ -0,0 +1,17 @@
1
+ import '@dxosTheme';
2
+ import React from 'react';
3
+ declare const _default: {
4
+ title: string;
5
+ component: ({ id, items, current, attended, open, type, popoverAnchorId, onNavigate, onItemOpenChange, renderPresence, onOver, onDrop, onMove, onDragEnd, resolveItemLevel, indentation, loadDescendents, classNames, }: import("@dxos/react-ui-navtree").NavTreeProps) => React.JSX.Element;
6
+ parameters: {
7
+ layout: string;
8
+ };
9
+ decorators: import("@storybook/react/*").Decorator[];
10
+ };
11
+ export default _default;
12
+ export declare const Default: {
13
+ render: ({ debug }: {
14
+ debug?: boolean;
15
+ }) => React.JSX.Element;
16
+ };
17
+ //# sourceMappingURL=Graph.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Graph.stories.d.ts","sourceRoot":"","sources":["../../../../src/stories/Graph.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,YAAY,CAAC;AAGpB,OAAO,KAA4B,MAAM,OAAO,CAAC;;;;;;;;;AA+HjD,wBAkBE;AAEF,eAAO,MAAM,OAAO;wBACE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE;CAMxC,CAAC"}