@dxos/plugin-simple-layout 0.0.0 → 0.8.4-main.21d9917
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.
- package/dist/lib/browser/chunk-CLPGTNWJ.mjs +29 -0
- package/dist/lib/browser/chunk-CLPGTNWJ.mjs.map +7 -0
- package/dist/lib/browser/chunk-FK4M7GJV.mjs +613 -0
- package/dist/lib/browser/chunk-FK4M7GJV.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +94 -0
- package/dist/lib/browser/index.mjs.map +7 -0
- package/dist/lib/browser/meta.json +1 -0
- package/dist/lib/browser/operation-resolver-LTB63NKP.mjs +168 -0
- package/dist/lib/browser/operation-resolver-LTB63NKP.mjs.map +7 -0
- package/dist/lib/browser/react-root-6ARAPH3O.mjs +21 -0
- package/dist/lib/browser/react-root-6ARAPH3O.mjs.map +7 -0
- package/dist/lib/browser/react-surface-SO7B23GS.mjs +39 -0
- package/dist/lib/browser/react-surface-SO7B23GS.mjs.map +7 -0
- package/dist/lib/browser/spotlight-dismiss-VSNOPETH.mjs +66 -0
- package/dist/lib/browser/spotlight-dismiss-VSNOPETH.mjs.map +7 -0
- package/dist/lib/browser/state-H4IGICBB.mjs +45 -0
- package/dist/lib/browser/state-H4IGICBB.mjs.map +7 -0
- package/dist/lib/browser/url-handler-7CFGTLNG.mjs +54 -0
- package/dist/lib/browser/url-handler-7CFGTLNG.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-EGFZAVBD.mjs +614 -0
- package/dist/lib/node-esm/chunk-EGFZAVBD.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-MUVVYBUE.mjs +31 -0
- package/dist/lib/node-esm/chunk-MUVVYBUE.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +95 -0
- package/dist/lib/node-esm/index.mjs.map +7 -0
- package/dist/lib/node-esm/meta.json +1 -0
- package/dist/lib/node-esm/operation-resolver-7O6O7T4Q.mjs +169 -0
- package/dist/lib/node-esm/operation-resolver-7O6O7T4Q.mjs.map +7 -0
- package/dist/lib/node-esm/react-root-2CPA2ZUS.mjs +22 -0
- package/dist/lib/node-esm/react-root-2CPA2ZUS.mjs.map +7 -0
- package/dist/lib/node-esm/react-surface-FKAV56MO.mjs +40 -0
- package/dist/lib/node-esm/react-surface-FKAV56MO.mjs.map +7 -0
- package/dist/lib/node-esm/spotlight-dismiss-L5PCWIJG.mjs +68 -0
- package/dist/lib/node-esm/spotlight-dismiss-L5PCWIJG.mjs.map +7 -0
- package/dist/lib/node-esm/state-QIU2LMLT.mjs +46 -0
- package/dist/lib/node-esm/state-QIU2LMLT.mjs.map +7 -0
- package/dist/lib/node-esm/url-handler-4LYP3JM7.mjs +55 -0
- package/dist/lib/node-esm/url-handler-4LYP3JM7.mjs.map +7 -0
- package/dist/types/src/SimpleLayoutPlugin.d.ts +7 -0
- package/dist/types/src/SimpleLayoutPlugin.d.ts.map +1 -0
- package/dist/types/src/capabilities/index.d.ts +7 -0
- package/dist/types/src/capabilities/index.d.ts.map +1 -0
- package/dist/types/src/capabilities/operation-resolver/index.d.ts +3 -0
- package/dist/types/src/capabilities/operation-resolver/index.d.ts.map +1 -0
- package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts +5 -0
- package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts.map +1 -0
- package/dist/types/src/capabilities/react-root/index.d.ts +6 -0
- package/dist/types/src/capabilities/react-root/index.d.ts.map +1 -0
- package/dist/types/src/capabilities/react-root/react-root.d.ts +9 -0
- package/dist/types/src/capabilities/react-root/react-root.d.ts.map +1 -0
- package/dist/types/src/capabilities/react-surface/index.d.ts +3 -0
- package/dist/types/src/capabilities/react-surface/index.d.ts.map +1 -0
- package/dist/types/src/capabilities/react-surface/react-surface.d.ts +5 -0
- package/dist/types/src/capabilities/react-surface/react-surface.d.ts.map +1 -0
- package/dist/types/src/capabilities/spotlight-dismiss/index.d.ts +3 -0
- package/dist/types/src/capabilities/spotlight-dismiss/index.d.ts.map +1 -0
- package/dist/types/src/capabilities/spotlight-dismiss/spotlight-dismiss.d.ts +14 -0
- package/dist/types/src/capabilities/spotlight-dismiss/spotlight-dismiss.d.ts.map +1 -0
- package/dist/types/src/capabilities/state/index.d.ts +13 -0
- package/dist/types/src/capabilities/state/index.d.ts.map +1 -0
- package/dist/types/src/capabilities/state/state.d.ts +19 -0
- package/dist/types/src/capabilities/state/state.d.ts.map +1 -0
- package/dist/types/src/capabilities/url-handler/index.d.ts +3 -0
- package/dist/types/src/capabilities/url-handler/index.d.ts.map +1 -0
- package/dist/types/src/capabilities/url-handler/url-handler.d.ts +10 -0
- package/dist/types/src/capabilities/url-handler/url-handler.d.ts.map +1 -0
- package/dist/types/src/components/ContentError.d.ts +5 -0
- package/dist/types/src/components/ContentError.d.ts.map +1 -0
- package/dist/types/src/components/ContentError.stories.d.ts +35 -0
- package/dist/types/src/components/ContentError.stories.d.ts.map +1 -0
- package/dist/types/src/components/ContentLoading.d.ts +3 -0
- package/dist/types/src/components/ContentLoading.d.ts.map +1 -0
- package/dist/types/src/components/ContentLoading.stories.d.ts +13 -0
- package/dist/types/src/components/ContentLoading.stories.d.ts.map +1 -0
- package/dist/types/src/components/Dialog/Dialog.d.ts +3 -0
- package/dist/types/src/components/Dialog/Dialog.d.ts.map +1 -0
- package/dist/types/src/components/Dialog/index.d.ts +2 -0
- package/dist/types/src/components/Dialog/index.d.ts.map +1 -0
- package/dist/types/src/components/Home/Home.d.ts +7 -0
- package/dist/types/src/components/Home/Home.d.ts.map +1 -0
- package/dist/types/src/components/Home/index.d.ts +2 -0
- package/dist/types/src/components/Home/index.d.ts.map +1 -0
- package/dist/types/src/components/Popover/Popover.d.ts +4 -0
- package/dist/types/src/components/Popover/Popover.d.ts.map +1 -0
- package/dist/types/src/components/Popover/index.d.ts +2 -0
- package/dist/types/src/components/Popover/index.d.ts.map +1 -0
- package/dist/types/src/components/SimpleLayout/Banner.d.ts +8 -0
- package/dist/types/src/components/SimpleLayout/Banner.d.ts.map +1 -0
- package/dist/types/src/components/SimpleLayout/Main.d.ts +9 -0
- package/dist/types/src/components/SimpleLayout/Main.d.ts.map +1 -0
- package/dist/types/src/components/SimpleLayout/NavBar.d.ts +8 -0
- package/dist/types/src/components/SimpleLayout/NavBar.d.ts.map +1 -0
- package/dist/types/src/components/SimpleLayout/NavBar.stories.d.ts +39 -0
- package/dist/types/src/components/SimpleLayout/NavBar.stories.d.ts.map +1 -0
- package/dist/types/src/components/SimpleLayout/SimpleLayout.d.ts +3 -0
- package/dist/types/src/components/SimpleLayout/SimpleLayout.d.ts.map +1 -0
- package/dist/types/src/components/SimpleLayout/SimpleLayout.stories.d.ts +37 -0
- package/dist/types/src/components/SimpleLayout/SimpleLayout.stories.d.ts.map +1 -0
- package/dist/types/src/components/SimpleLayout/index.d.ts +2 -0
- package/dist/types/src/components/SimpleLayout/index.d.ts.map +1 -0
- package/dist/types/src/components/Workspace/Workspace.d.ts +9 -0
- package/dist/types/src/components/Workspace/Workspace.d.ts.map +1 -0
- package/dist/types/src/components/Workspace/index.d.ts +2 -0
- package/dist/types/src/components/Workspace/index.d.ts.map +1 -0
- package/dist/types/src/components/hooks.d.ts +5 -0
- package/dist/types/src/components/hooks.d.ts.map +1 -0
- package/dist/types/src/components/index.d.ts +6 -0
- package/dist/types/src/components/index.d.ts.map +1 -0
- package/dist/types/src/hooks/index.d.ts +2 -0
- package/dist/types/src/hooks/index.d.ts.map +1 -0
- package/dist/types/src/hooks/useSimpleLayoutState.d.ts +7 -0
- package/dist/types/src/hooks/useSimpleLayoutState.d.ts.map +1 -0
- package/dist/types/src/index.d.ts +2 -0
- package/dist/types/src/index.d.ts.map +1 -0
- package/dist/types/src/meta.d.ts +3 -0
- package/dist/types/src/meta.d.ts.map +1 -0
- package/dist/types/src/translations.d.ts +20 -0
- package/dist/types/src/translations.d.ts.map +1 -0
- package/dist/types/src/types/capabilities.d.ts +31 -0
- package/dist/types/src/types/capabilities.d.ts.map +1 -0
- package/dist/types/src/types/events.d.ts +6 -0
- package/dist/types/src/types/events.d.ts.map +1 -0
- package/dist/types/src/types/index.d.ts +3 -0
- package/dist/types/src/types/index.d.ts.map +1 -0
- package/dist/types/tsconfig.tsbuildinfo +1 -0
- package/package.json +29 -24
- package/src/SimpleLayoutPlugin.ts +20 -4
- package/src/capabilities/index.ts +3 -0
- package/src/capabilities/operation-resolver/operation-resolver.ts +82 -39
- package/src/capabilities/react-surface/index.ts +7 -0
- package/src/capabilities/react-surface/react-surface.tsx +40 -0
- package/src/capabilities/spotlight-dismiss/index.ts +7 -0
- package/src/{hooks/useSpotlightDismiss.ts → capabilities/spotlight-dismiss/spotlight-dismiss.ts} +31 -40
- package/src/capabilities/state/state.tsx +21 -32
- package/src/capabilities/url-handler/index.ts +7 -0
- package/src/capabilities/url-handler/url-handler.ts +80 -0
- package/src/components/Dialog/Dialog.tsx +14 -14
- package/src/components/Home/Home.tsx +53 -61
- package/src/components/Popover/Popover.tsx +45 -27
- package/src/components/SimpleLayout/Banner.tsx +50 -28
- package/src/components/SimpleLayout/Main.tsx +40 -44
- package/src/components/SimpleLayout/NavBar.tsx +18 -41
- package/src/components/SimpleLayout/SimpleLayout.stories.tsx +2 -9
- package/src/components/SimpleLayout/SimpleLayout.tsx +0 -1
- package/src/components/Workspace/Workspace.tsx +115 -0
- package/src/components/Workspace/index.ts +5 -0
- package/src/components/hooks.ts +30 -0
- package/src/components/index.ts +1 -0
- package/src/hooks/index.ts +1 -1
- package/src/hooks/useSimpleLayoutState.ts +30 -0
- package/src/types/capabilities.ts +8 -1
- package/src/types/events.ts +14 -0
- package/src/types/index.ts +1 -0
- /package/src/components/SimpleLayout/{NavBarstories.tsx → NavBar.stories.tsx} +0 -0
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/components/Home/Home.tsx", "../../../src/components/hooks.ts", "../../../src/components/SimpleLayout/SimpleLayout.tsx", "../../../src/components/Dialog/Dialog.tsx", "../../../src/hooks/useSimpleLayoutState.ts", "../../../src/components/ContentError.tsx", "../../../src/components/Popover/Popover.tsx", "../../../src/components/SimpleLayout/Main.tsx", "../../../src/components/ContentLoading.tsx", "../../../src/components/SimpleLayout/Banner.tsx", "../../../src/components/SimpleLayout/NavBar.tsx", "../../../src/components/Workspace/Workspace.tsx"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport React, { useCallback, useEffect, useMemo, useRef } from 'react';\n\nimport { Common } from '@dxos/app-framework';\nimport { useAppGraph, useOperationInvoker } from '@dxos/app-framework/react';\nimport { Node, useConnections } from '@dxos/plugin-graph';\nimport { Avatar, Icon, Toolbar, toLocalizedString, useTranslation } from '@dxos/react-ui';\nimport { Card, Layout, Mosaic, type StackTileComponent } from '@dxos/react-ui-mosaic';\nimport { SearchList, useSearchListItem, useSearchListResults } from '@dxos/react-ui-searchlist';\nimport { mx } from '@dxos/ui-theme';\nimport { byPosition } from '@dxos/util';\n\nimport { meta } from '../../meta';\nimport { useLoadDescendents } from '../hooks';\n\nexport type HomeProps = {};\n\n/**\n * Home screen.\n */\nexport const Home = (_: HomeProps) => {\n const { t } = useTranslation(meta.id);\n const userAccountItem = useItemsByDisposition('user-account')[0];\n const pinnedItems = useItemsByDisposition('pin-end', true);\n const workspaceItems = useItemsByDisposition('workspace');\n useLoadDescendents(Node.RootId);\n\n const items = useMemo(\n () => [...(userAccountItem ? [userAccountItem] : []), ...pinnedItems, ...workspaceItems],\n [userAccountItem, pinnedItems, workspaceItems],\n );\n\n const { results, handleSearch } = useSearchListResults({\n items,\n extract: (node) => toLocalizedString(node.properties.label, t),\n });\n\n return (\n <Layout.Main toolbar>\n <SearchList.Root onSearch={handleSearch}>\n <Toolbar.Root>\n <SearchList.Input placeholder={t('search placeholder')} autoFocus />\n </Toolbar.Root>\n <SearchList.Content>\n <Mosaic.Container asChild>\n <Mosaic.Viewport padding>\n <Mosaic.Stack items={results} getId={(node) => node.id} Tile={WorkspaceTile} />\n </Mosaic.Viewport>\n </Mosaic.Container>\n </SearchList.Content>\n </SearchList.Root>\n </Layout.Main>\n );\n};\n\nconst WorkspaceTile: StackTileComponent<Node.Node> = ({ data }) => {\n const { t } = useTranslation(meta.id);\n const { invokePromise } = useOperationInvoker();\n const { selectedValue, registerItem, unregisterItem } = useSearchListItem();\n const ref = useRef<HTMLDivElement>(null);\n\n const handleSelect = useCallback(\n () => invokePromise(Common.LayoutOperation.SwitchWorkspace, { subject: data.id }),\n [invokePromise, data.id],\n );\n\n useLoadDescendents(data.id);\n\n const name = toLocalizedString(data.properties.label, t);\n const isSelected = selectedValue === data.id;\n\n // Register this workspace with the search context.\n useEffect(() => {\n if (ref.current) {\n registerItem(data.id, ref.current, handleSelect);\n }\n\n return () => unregisterItem(data.id);\n }, [data.id, handleSelect, registerItem, unregisterItem]);\n\n // Scroll into view when selected.\n useEffect(() => {\n if (isSelected && ref.current) {\n ref.current.scrollIntoView({ block: 'nearest', behavior: 'smooth' });\n }\n }, [isSelected]);\n\n return (\n <Card.Root\n ref={ref}\n role='button'\n fullWidth\n tabIndex={-1} // TODO(burdon): Use Mosaic.Focus.\n data-selected={isSelected}\n classNames={mx('dx-focus-ring', isSelected && 'bg-hoverOverlay')}\n onClick={handleSelect}\n >\n <Card.Toolbar density='coarse'>\n <Avatar.Root>\n <Avatar.Content\n icon={data.properties.icon}\n hue={data.properties.hue}\n hueVariant='transparent'\n variant='square'\n size={12}\n fallback={name}\n />\n <Avatar.Label>{name}</Avatar.Label>\n <Icon icon='ph--caret-right--regular' />\n </Avatar.Root>\n </Card.Toolbar>\n </Card.Root>\n );\n};\n\n/** Filters nodes by disposition. */\nconst filterItems = (node: Node.Node, disposition: string) => {\n return node.properties.disposition === disposition;\n};\n\n/** Returns root-level items filtered by disposition. */\nconst useItemsByDisposition = (disposition: string, sort = false) => {\n const { graph } = useAppGraph();\n const connections = useConnections(graph, Node.RootId);\n const filtered = connections.filter((node) => filterItems(node, disposition));\n return sort ? filtered.toSorted((a, b) => byPosition(a.properties, b.properties)) : filtered;\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { useEffect } from 'react';\n\nimport { useAppGraph } from '@dxos/app-framework/react';\nimport { Graph } from '@dxos/plugin-graph';\n\n/**\n * Hook to expand graph nodes two levels deep when directly linked to.\n */\nexport const useLoadDescendents = (nodeId?: string) => {\n const { graph } = useAppGraph();\n\n useEffect(() => {\n const frame = requestAnimationFrame(() => {\n if (nodeId) {\n // First level: expand the node itself.\n Graph.expand(graph, nodeId, 'outbound');\n // Second level: expand each child.\n Graph.getConnections(graph, nodeId, 'outbound').forEach((child) => {\n Graph.expand(graph, child.id, 'outbound');\n });\n }\n });\n\n return () => cancelAnimationFrame(frame);\n }, [nodeId, graph]);\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport React from 'react';\n\nimport { Dialog } from '../Dialog';\nimport { PopoverContent, PopoverRoot } from '../Popover';\n\nimport { Main } from './Main';\n\nexport const SimpleLayout = () => {\n return (\n <PopoverRoot>\n <Main />\n <Dialog />\n <PopoverContent />\n </PopoverRoot>\n );\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport React from 'react';\n\nimport { Surface } from '@dxos/app-framework/react';\nimport { AlertDialog, Dialog as NaturalDialog } from '@dxos/react-ui';\n\nimport { useSimpleLayoutState } from '../../hooks';\nimport { ContentError } from '../ContentError';\n\nexport const Dialog = () => {\n const { state, updateState } = useSimpleLayoutState();\n\n const DialogRoot = state.dialogType === 'alert' ? AlertDialog.Root : NaturalDialog.Root;\n const DialogOverlay = state.dialogType === 'alert' ? AlertDialog.Overlay : NaturalDialog.Overlay;\n\n return (\n <DialogRoot\n modal={state.dialogBlockAlign !== 'end'}\n open={state.dialogOpen}\n onOpenChange={(nextOpen) => updateState((s) => ({ ...s, dialogOpen: nextOpen }))}\n >\n {state.dialogBlockAlign === 'end' ? (\n <Surface role='dialog' data={state.dialogContent} limit={1} fallback={ContentError} />\n ) : (\n <DialogOverlay\n blockAlign={state.dialogBlockAlign}\n classNames={state.dialogOverlayClasses}\n style={state.dialogOverlayStyle}\n >\n <Surface role='dialog' data={state.dialogContent} limit={1} fallback={ContentError} />\n </DialogOverlay>\n )}\n </DialogRoot>\n );\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { RegistryContext, useAtomValue } from '@effect-atom/atom-react';\nimport { useCallback, useContext } from 'react';\n\nimport { useCapability } from '@dxos/app-framework/react';\n\nimport { type SimpleLayoutState, SimpleLayoutState as SimpleLayoutStateCapability } from '../types';\n\nexport type SimpleLayoutStateHook = {\n state: SimpleLayoutState;\n updateState: (fn: (current: SimpleLayoutState) => SimpleLayoutState) => void;\n};\n\nexport const useSimpleLayoutState = (): SimpleLayoutStateHook => {\n const registry = useContext(RegistryContext);\n const stateAtom = useCapability(SimpleLayoutStateCapability);\n const state = useAtomValue(stateAtom);\n\n const updateState = useCallback(\n (fn: (current: SimpleLayoutState) => SimpleLayoutState) => {\n registry.set(stateAtom, fn(registry.get(stateAtom)));\n },\n [registry, stateAtom],\n );\n\n return { state, updateState };\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport React from 'react';\n\nimport { useTranslation } from '@dxos/react-ui';\nimport { descriptionMessage, mx } from '@dxos/ui-theme';\n\nimport { meta } from '../meta';\n\n// TODO(burdon): Factor out.\nexport const ContentError = ({ error }: { error?: Error }) => {\n const { t } = useTranslation(meta.id);\n const errorString = error?.toString() ?? '';\n return (\n <div role='none' className='grid place-items-center overflow-y-auto attention-surface'>\n <p role='alert' className={mx(descriptionMessage, 'p-2 break-all rounded-sm')}>\n {error ? errorString : t('error fallback message')}\n </p>\n </div>\n );\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { createContext } from '@radix-ui/react-context';\nimport React, { type PropsWithChildren, useCallback, useEffect, useMemo, useRef, useState } from 'react';\n\nimport { Surface } from '@dxos/app-framework/react';\nimport { Popover, type PopoverContentInteractOutsideEvent, toLocalizedString, useTranslation } from '@dxos/react-ui';\nimport { Card } from '@dxos/react-ui-mosaic';\n\nimport { useSimpleLayoutState } from '../../hooks';\nimport { meta } from '../../meta';\n\nconst DEBOUNCE_DELAY = 40;\n\ntype LayoutPopoverContextValue = {\n setOpen: (open: boolean) => void;\n};\n\nconst [LayoutPopoverProvider, useLayoutPopoverContext] = createContext<LayoutPopoverContextValue>('LayoutPopover');\n\nexport const PopoverRoot = ({ children }: PropsWithChildren) => {\n const { state } = useSimpleLayoutState();\n const [open, setOpen] = useState(false);\n const virtualRef = useRef<HTMLButtonElement | null>(null);\n const [virtualIter, setVirtualIter] = useState(0);\n const debounceRef = useRef<NodeJS.Timeout | null>(null);\n\n // TODO(thure): This is a workaround for the race condition between displaying a Popover and either rendering\n // the anchor further down the tree or measuring the virtual trigger's client rect.\n useEffect(() => {\n setOpen(false);\n if (state.popoverOpen) {\n if (debounceRef.current) {\n clearTimeout(debounceRef.current);\n }\n if (state.popoverAnchor && virtualRef.current !== state.popoverAnchor) {\n virtualRef.current = state.popoverAnchor ?? null;\n setVirtualIter((iter) => iter + 1);\n }\n debounceRef.current = setTimeout(() => setOpen(true), DEBOUNCE_DELAY);\n }\n }, [state.popoverOpen, state.popoverAnchorId, state.popoverAnchor, state.popoverContent]);\n\n return (\n <LayoutPopoverProvider setOpen={setOpen}>\n <Popover.Root modal={false} open={open}>\n {state.popoverAnchor && <Popover.VirtualTrigger key={virtualIter} virtualRef={virtualRef} />}\n {children}\n </Popover.Root>\n </LayoutPopoverProvider>\n );\n};\n\nexport const PopoverContent = () => {\n const { t } = useTranslation(meta.id);\n const { state, updateState } = useSimpleLayoutState();\n const { setOpen } = useLayoutPopoverContext('PopoverContent');\n\n const handleClose = useCallback(() => {\n setOpen(false);\n updateState((s) => ({\n ...s,\n popoverOpen: false,\n popoverAnchor: undefined,\n popoverAnchorId: undefined,\n popoverSide: undefined,\n }));\n }, [setOpen, updateState]);\n\n const handleInteractOutside = useCallback(\n (event: KeyboardEvent | PopoverContentInteractOutsideEvent) => {\n if (\n // TODO(thure): CodeMirror should not focus itself when it updates.\n event.type === 'dismissableLayer.focusOutside' &&\n (event.currentTarget as HTMLElement | undefined)?.classList.contains('cm-content')\n ) {\n event.preventDefault();\n } else {\n handleClose();\n }\n },\n [handleClose],\n );\n\n const collisionBoundaries: HTMLElement[] = useMemo(() => {\n const closest = state.popoverAnchor?.closest('[data-popover-collision-boundary]') as HTMLElement | null | undefined;\n return closest ? [closest] : [];\n }, [state.popoverAnchor]);\n\n return (\n <Popover.Portal>\n <Popover.Content\n side={state.popoverSide}\n sticky='always'\n hideWhenDetached\n collisionBoundary={collisionBoundaries}\n onInteractOutside={handleInteractOutside}\n onEscapeKeyDown={handleInteractOutside}\n >\n <Popover.Viewport>\n {state.popoverKind === 'card' && (\n <Card.Root>\n <Card.Toolbar>\n {/* TODO(wittjosiah): Cleaner way to handle no drag handle in toolbar? */}\n <span />\n {state.popoverTitle ? <Card.Title>{toLocalizedString(state.popoverTitle, t)}</Card.Title> : <span />}\n <Card.Close onClick={handleClose} />\n </Card.Toolbar>\n <Surface role='card--content' data={state.popoverContent} limit={1} />\n </Card.Root>\n )}\n {state.popoverKind === 'base' && <Surface role='popover' data={state.popoverContent} limit={1} />}\n </Popover.Viewport>\n <Popover.Arrow />\n </Popover.Content>\n </Popover.Portal>\n );\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport React, { useCallback, useMemo } from 'react';\n\nimport { Surface, useAppGraph } from '@dxos/app-framework/react';\nimport { log } from '@dxos/log';\nimport { useNode } from '@dxos/plugin-graph';\nimport { Main as NaturalMain } from '@dxos/react-ui';\nimport { ATTENDABLE_PATH_SEPARATOR } from '@dxos/react-ui-attention';\nimport { Mosaic } from '@dxos/react-ui-mosaic';\nimport { mx } from '@dxos/ui-theme';\n\nimport { useSimpleLayoutState } from '../../hooks';\nimport { ContentError } from '../ContentError';\nimport { ContentLoading } from '../ContentLoading';\n\nimport { Banner } from './Banner';\nimport { NavBar } from './NavBar';\n\n/**\n * Main root component.\n */\nexport const Main = () => {\n const { state } = useSimpleLayoutState();\n const id = state.active ?? state.workspace;\n const showNavBar = !state.isPopover;\n const { graph } = useAppGraph();\n const node = useNode(graph, id);\n\n const placeholder = useMemo(() => <ContentLoading />, []);\n\n const data = useMemo(() => {\n const { variant } = parseEntryId(id);\n return (\n node && {\n attendableId: id,\n subject: node.data,\n properties: node.properties,\n popoverAnchorId: state.popoverAnchorId,\n variant,\n }\n );\n }, [id, node, node?.data, node?.properties, state.popoverAnchorId]);\n\n const handleActiveIdChange = useCallback((nextActiveId: string | null) => {\n log.info('navigate', { nextActiveId });\n }, []);\n\n return (\n <Mosaic.Root>\n <NaturalMain.Root complementarySidebarState='closed' navigationSidebarState='closed'>\n <NaturalMain.Content\n bounce\n classNames={mx(\n 'dx-mobile-main dx-mobile-main-scroll-area--flush',\n 'grid bs-full overflow-hidden',\n showNavBar ? 'grid-rows-[min-content_1fr_min-content]' : 'grid-rows-[min-content_1fr]',\n )}\n >\n <Banner classNames='border-be border-separator' node={node} />\n <article className='contents'>\n <Surface key={id} role='article' data={data} limit={1} fallback={ContentError} placeholder={placeholder} />\n </article>\n {showNavBar && (\n <NavBar classNames='border-bs border-separator' activeId={id} onActiveIdChange={handleActiveIdChange} />\n )}\n </NaturalMain.Content>\n </NaturalMain.Root>\n </Mosaic.Root>\n );\n};\n\n// TODO(wittjosiah): Factor out. Copied from deck plugin.\nconst parseEntryId = (entryId: string) => {\n const [id, variant] = entryId.split(ATTENDABLE_PATH_SEPARATOR);\n return { id, variant };\n};\n\nMain.displayName = 'SimpleLayout.Main';\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport React from 'react';\n\n// TODO(burdon): Show skeleton: https://github.com/dxos/dxos/issues/8259\nexport const ContentLoading = () => {\n return <div role='none' className='grid place-items-center attention-surface' />;\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport React, { useCallback, useMemo } from 'react';\n\nimport { Common } from '@dxos/app-framework';\nimport { useAppGraph, useOperationInvoker } from '@dxos/app-framework/react';\nimport { Graph, Node } from '@dxos/plugin-graph';\nimport { IconButton, type ThemedClassName, Toolbar, toLocalizedString, useTranslation } from '@dxos/react-ui';\nimport { mx, osTranslations } from '@dxos/ui-theme';\n\nimport { useSimpleLayoutState } from '../../hooks';\nimport { meta } from '../../meta';\n\n/**\n * Check if an item is a direct child of a workspace or collection.\n * Returns true if any parent node has disposition 'workspace' or 'collection'.\n */\nconst isWorkspaceOrCollectionChild = (graph: Graph.ReadableGraph, itemId: string): boolean => {\n const parents = Graph.getConnections(graph, itemId, 'inbound');\n return parents.some(\n (node) => node.properties.disposition === 'workspace' || node.properties.disposition === 'collection',\n );\n};\n\nexport type BannerProps = ThemedClassName<{\n node?: Node.Node;\n}>;\n\nexport const Banner = ({ node, classNames }: BannerProps) => {\n const { t } = useTranslation(meta.id);\n const { state } = useSimpleLayoutState();\n const { invokePromise } = useOperationInvoker();\n const { graph } = useAppGraph();\n\n const label = (node && toLocalizedString(node.properties.label, t)) ?? t('current app name', { ns: osTranslations });\n\n // Check if current active item is a top-level workspace/collection child.\n const isTopLevelItem = useMemo(() => {\n if (!state.active) {\n return false;\n }\n return isWorkspaceOrCollectionChild(graph, state.active);\n }, [graph, state.active]);\n\n const handleClick = useCallback(async () => {\n if (state.active) {\n // If history is empty and this is a top-level item, go to home.\n if (state.history.length === 0 && isTopLevelItem) {\n await invokePromise(Common.LayoutOperation.SwitchWorkspace, { subject: Node.RootId });\n } else {\n // Otherwise, close (which will pop from history or clear active).\n await invokePromise(Common.LayoutOperation.Close, { subject: [state.active] });\n }\n } else {\n await invokePromise(Common.LayoutOperation.SwitchWorkspace, { subject: Node.RootId });\n }\n }, [invokePromise, state.active, state.history.length, isTopLevelItem]);\n\n if (!node) {\n return null;\n }\n\n return (\n <Toolbar.Root role='banner' classNames={mx('grid grid-cols-[var(--rail-size)_1fr_var(--rail-size)]', classNames)}>\n {node.id !== Node.RootId ? (\n <IconButton\n iconOnly\n variant='ghost'\n icon='ph--caret-left--regular'\n label={t('back label')}\n onClick={handleClick}\n />\n ) : (\n <div />\n )}\n <h1 className={'grow text-center truncate font-medium'}>{label}</h1>\n <IconButton iconOnly variant='ghost' icon='ph--dots-three-vertical--regular' label={t('menu label')} />\n </Toolbar.Root>\n );\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport React from 'react';\n\nimport { useAppGraph } from '@dxos/app-framework/react';\nimport { Node, useActionRunner, useConnections } from '@dxos/plugin-graph';\nimport { IconButton, type ThemedClassName, Toolbar, Tooltip, useTranslation } from '@dxos/react-ui';\nimport { DropdownMenu, MenuProvider } from '@dxos/react-ui-menu';\nimport { mx } from '@dxos/ui-theme';\n\nimport { meta } from '../../meta';\n\nexport type NavBarProps = ThemedClassName<{\n activeId?: string;\n onActiveIdChange?: (nextActiveId: string | null) => void;\n}>;\n\nexport const NavBar = ({ classNames, activeId, onActiveIdChange }: NavBarProps) => {\n const { t } = useTranslation(meta.id);\n const { graph } = useAppGraph();\n const runAction = useActionRunner();\n\n const connections = useConnections(graph, Node.RootId);\n const menuActions = connections.filter((node) => node.properties.disposition === 'menu');\n\n const isBrowseActive = activeId !== 'notifications' && activeId !== 'profile';\n\n return (\n <Toolbar.Root classNames={mx('justify-center', classNames)}>\n <MenuProvider onAction={runAction}>\n <DropdownMenu.Root items={menuActions}>\n <Tooltip.Trigger asChild content={t('app menu label')}>\n <DropdownMenu.Trigger asChild data-testid='spacePlugin.addSpace'>\n <IconButton icon='ph--plus--regular' iconOnly label={t('main menu label')} />\n </DropdownMenu.Trigger>\n </Tooltip.Trigger>\n </DropdownMenu.Root>\n </MenuProvider>\n {/*\n <ButtonGroup>\n <IconButton\n {...buttonProps}\n label={t('browse label')}\n icon='ph--squares-four--regular'\n onClick={() => onActiveIdChange?.(null)}\n variant={isBrowseActive ? 'primary' : 'default'}\n {...(isBrowseActive && { 'aria-current': 'location' })}\n />\n <IconButton\n {...buttonProps}\n label={t('notifications label')}\n icon='ph--bell-simple--regular'\n onClick={() => onActiveIdChange?.('notifications')}\n variant={activeId === 'notifications' ? 'primary' : 'default'}\n {...(activeId === 'notifications' && { 'aria-current': 'location' })}\n />\n <Button\n variant={activeId === 'profile' ? 'primary' : 'default'}\n onClick={() => onActiveIdChange?.('profile')}\n classNames={buttonProps.classNames}\n >\n <span className='sr-only'>{t('profile label')}</span>\n <Avatar.Root>\n <Avatar.Label classNames='sr-only'>Profile display name</Avatar.Label>\n <Avatar.Content size={8} status='active' hue='cyan' fallback='🗿' />\n </Avatar.Root>\n </Button>\n </ButtonGroup>\n */}\n </Toolbar.Root>\n );\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport React, { useCallback, useEffect, useRef } from 'react';\n\nimport { Common } from '@dxos/app-framework';\nimport { useAppGraph, useOperationInvoker } from '@dxos/app-framework/react';\nimport { type Node, useConnections } from '@dxos/plugin-graph';\nimport { Avatar, Icon, Toolbar, toLocalizedString, useTranslation } from '@dxos/react-ui';\nimport { Card, Layout, Mosaic, type StackTileComponent } from '@dxos/react-ui-mosaic';\nimport { SearchList, useSearchListItem, useSearchListResults } from '@dxos/react-ui-searchlist';\nimport { mx } from '@dxos/ui-theme';\n\nimport { meta } from '../../meta';\nimport { useLoadDescendents } from '../hooks';\n\nexport type WorkspaceProps = {\n id: string;\n};\n\n/**\n *\n */\n// TODO(burdon): Rename or motivate name in comment.\nexport const Workspace = ({ id }: WorkspaceProps) => {\n const { t } = useTranslation(meta.id);\n const { graph } = useAppGraph();\n\n // Expand the workspace node to load its children.\n useLoadDescendents(id);\n\n // Get direct children of the workspace node.\n const children = useConnections(graph, id, 'outbound');\n\n const { results, handleSearch } = useSearchListResults({\n items: children,\n extract: (child) => toLocalizedString(child.properties.label, t),\n });\n\n return (\n <Layout.Main toolbar>\n <SearchList.Root onSearch={handleSearch}>\n <Toolbar.Root>\n <SearchList.Input placeholder={t('search placeholder')} autoFocus />\n </Toolbar.Root>\n <SearchList.Content>\n <Mosaic.Container asChild>\n <Mosaic.Viewport padding>\n <Mosaic.Stack items={results} getId={(child) => child.id} Tile={WorkspaceChildTile} />\n </Mosaic.Viewport>\n </Mosaic.Container>\n </SearchList.Content>\n </SearchList.Root>\n </Layout.Main>\n );\n};\n\nconst WorkspaceChildTile: StackTileComponent<Node.Node> = ({ data }) => {\n const { t } = useTranslation(meta.id);\n const { invokeSync } = useOperationInvoker();\n const ref = useRef<HTMLDivElement>(null);\n const { selectedValue, registerItem, unregisterItem } = useSearchListItem();\n const isSelected = selectedValue === data.id;\n\n const name = toLocalizedString(data.properties.label, t);\n\n const handleSelect = useCallback(\n () => invokeSync(Common.LayoutOperation.Open, { subject: [data.id] }),\n [invokeSync, data.id],\n );\n\n // Register this item with the search context.\n useEffect(() => {\n if (ref.current) {\n registerItem(data.id, ref.current, handleSelect);\n }\n\n return () => unregisterItem(data.id);\n }, [data.id, handleSelect, registerItem, unregisterItem]);\n\n // Scroll into view when selected.\n useEffect(() => {\n if (isSelected && ref.current) {\n ref.current.scrollIntoView({ block: 'nearest', behavior: 'smooth' });\n }\n }, [isSelected]);\n\n return (\n <Card.Root\n ref={ref}\n role='button'\n fullWidth\n tabIndex={-1} // TODO(burdon): Use Mosaic.Focus.\n data-selected={isSelected}\n classNames={mx('dx-focus-ring', isSelected && 'bg-hoverOverlay')}\n onClick={handleSelect}\n >\n <Card.Toolbar density='coarse'>\n <Avatar.Root>\n <Avatar.Content\n hue={data.properties.hue}\n icon={data.properties.icon}\n hueVariant='transparent'\n variant='square'\n size={12}\n fallback={name}\n />\n <Avatar.Label>{name}</Avatar.Label>\n <Icon icon='ph--caret-right--regular' />\n </Avatar.Root>\n </Card.Toolbar>\n </Card.Root>\n );\n};\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["React", "useCallback", "useEffect", "useMemo", "useRef", "Common", "useAppGraph", "useOperationInvoker", "Node", "useConnections", "Avatar", "Icon", "Toolbar", "toLocalizedString", "useTranslation", "Card", "Layout", "Mosaic", "SearchList", "useSearchListItem", "useSearchListResults", "mx", "byPosition", "useEffect", "useAppGraph", "Graph", "useLoadDescendents", "nodeId", "graph", "useAppGraph", "useEffect", "frame", "requestAnimationFrame", "Graph", "expand", "getConnections", "forEach", "child", "id", "cancelAnimationFrame", "Home", "_", "t", "useTranslation", "meta", "id", "userAccountItem", "useItemsByDisposition", "pinnedItems", "workspaceItems", "useLoadDescendents", "Node", "RootId", "items", "useMemo", "results", "handleSearch", "useSearchListResults", "extract", "node", "toLocalizedString", "properties", "label", "Layout", "Main", "toolbar", "SearchList", "Root", "onSearch", "Toolbar", "Input", "placeholder", "autoFocus", "Content", "Mosaic", "Container", "asChild", "Viewport", "padding", "Stack", "getId", "Tile", "WorkspaceTile", "data", "invokePromise", "useOperationInvoker", "selectedValue", "registerItem", "unregisterItem", "useSearchListItem", "ref", "useRef", "handleSelect", "useCallback", "Common", "LayoutOperation", "SwitchWorkspace", "subject", "name", "isSelected", "useEffect", "current", "scrollIntoView", "block", "behavior", "Card", "role", "fullWidth", "tabIndex", "data-selected", "classNames", "mx", "onClick", "density", "Avatar", "icon", "hue", "hueVariant", "variant", "size", "fallback", "Label", "Icon", "filterItems", "disposition", "sort", "graph", "useAppGraph", "connections", "useConnections", "filtered", "filter", "toSorted", "a", "b", "byPosition", "React", "React", "Surface", "AlertDialog", "Dialog", "NaturalDialog", "RegistryContext", "useAtomValue", "useCallback", "useContext", "useCapability", "useSimpleLayoutState", "registry", "useContext", "RegistryContext", "stateAtom", "useCapability", "SimpleLayoutStateCapability", "state", "useAtomValue", "updateState", "useCallback", "fn", "set", "get", "React", "useTranslation", "descriptionMessage", "mx", "ContentError", "error", "t", "useTranslation", "meta", "id", "errorString", "toString", "React", "div", "role", "className", "p", "mx", "descriptionMessage", "Dialog", "state", "updateState", "useSimpleLayoutState", "DialogRoot", "dialogType", "AlertDialog", "Root", "NaturalDialog", "DialogOverlay", "Overlay", "React", "modal", "dialogBlockAlign", "open", "dialogOpen", "onOpenChange", "nextOpen", "s", "Surface", "role", "data", "dialogContent", "limit", "fallback", "ContentError", "blockAlign", "classNames", "dialogOverlayClasses", "style", "dialogOverlayStyle", "createContext", "React", "useCallback", "useEffect", "useMemo", "useRef", "useState", "Surface", "Popover", "toLocalizedString", "useTranslation", "Card", "DEBOUNCE_DELAY", "LayoutPopoverProvider", "useLayoutPopoverContext", "createContext", "PopoverRoot", "children", "state", "useSimpleLayoutState", "open", "setOpen", "useState", "virtualRef", "useRef", "virtualIter", "setVirtualIter", "debounceRef", "useEffect", "popoverOpen", "current", "clearTimeout", "popoverAnchor", "iter", "setTimeout", "popoverAnchorId", "popoverContent", "React", "Popover", "Root", "modal", "VirtualTrigger", "key", "PopoverContent", "t", "useTranslation", "meta", "id", "updateState", "handleClose", "useCallback", "s", "undefined", "popoverSide", "handleInteractOutside", "event", "type", "currentTarget", "classList", "contains", "preventDefault", "collisionBoundaries", "useMemo", "closest", "Portal", "Content", "side", "sticky", "hideWhenDetached", "collisionBoundary", "onInteractOutside", "onEscapeKeyDown", "Viewport", "popoverKind", "Card", "Toolbar", "span", "popoverTitle", "Title", "toLocalizedString", "Close", "onClick", "Surface", "role", "data", "limit", "Arrow", "React", "useCallback", "useMemo", "Surface", "useAppGraph", "log", "useNode", "Main", "NaturalMain", "ATTENDABLE_PATH_SEPARATOR", "Mosaic", "mx", "React", "ContentLoading", "React", "div", "role", "className", "React", "useCallback", "useMemo", "Common", "useAppGraph", "useOperationInvoker", "Graph", "Node", "IconButton", "Toolbar", "toLocalizedString", "useTranslation", "mx", "osTranslations", "isWorkspaceOrCollectionChild", "graph", "itemId", "parents", "Graph", "getConnections", "some", "node", "properties", "disposition", "Banner", "classNames", "t", "useTranslation", "meta", "id", "state", "useSimpleLayoutState", "invokePromise", "useOperationInvoker", "useAppGraph", "label", "toLocalizedString", "ns", "osTranslations", "isTopLevelItem", "useMemo", "active", "handleClick", "useCallback", "history", "length", "Common", "LayoutOperation", "SwitchWorkspace", "subject", "Node", "RootId", "Close", "React", "Toolbar", "Root", "role", "mx", "IconButton", "iconOnly", "variant", "icon", "onClick", "div", "h1", "className", "React", "useAppGraph", "Node", "useActionRunner", "useConnections", "IconButton", "Toolbar", "Tooltip", "useTranslation", "DropdownMenu", "MenuProvider", "mx", "NavBar", "classNames", "activeId", "onActiveIdChange", "t", "useTranslation", "meta", "id", "graph", "useAppGraph", "runAction", "useActionRunner", "connections", "useConnections", "Node", "RootId", "menuActions", "filter", "node", "properties", "disposition", "isBrowseActive", "React", "Toolbar", "Root", "mx", "MenuProvider", "onAction", "DropdownMenu", "items", "Tooltip", "Trigger", "asChild", "content", "data-testid", "IconButton", "icon", "iconOnly", "label", "Main", "state", "useSimpleLayoutState", "id", "active", "workspace", "showNavBar", "isPopover", "graph", "useAppGraph", "node", "useNode", "placeholder", "useMemo", "React", "ContentLoading", "data", "variant", "parseEntryId", "attendableId", "subject", "properties", "popoverAnchorId", "handleActiveIdChange", "useCallback", "nextActiveId", "log", "info", "Mosaic", "Root", "NaturalMain", "complementarySidebarState", "navigationSidebarState", "Content", "bounce", "classNames", "mx", "Banner", "article", "className", "Surface", "key", "role", "limit", "fallback", "ContentError", "NavBar", "activeId", "onActiveIdChange", "entryId", "split", "ATTENDABLE_PATH_SEPARATOR", "displayName", "SimpleLayout", "React", "PopoverRoot", "Main", "Dialog", "PopoverContent", "React", "useCallback", "useEffect", "useRef", "Common", "useAppGraph", "useOperationInvoker", "useConnections", "Avatar", "Icon", "Toolbar", "toLocalizedString", "useTranslation", "Card", "Layout", "Mosaic", "SearchList", "useSearchListItem", "useSearchListResults", "mx", "Workspace", "id", "t", "useTranslation", "meta", "graph", "useAppGraph", "useLoadDescendents", "children", "useConnections", "results", "handleSearch", "useSearchListResults", "items", "extract", "child", "toLocalizedString", "properties", "label", "React", "Layout", "Main", "toolbar", "SearchList", "Root", "onSearch", "Toolbar", "Input", "placeholder", "autoFocus", "Content", "Mosaic", "Container", "asChild", "Viewport", "padding", "Stack", "getId", "Tile", "WorkspaceChildTile", "data", "invokeSync", "useOperationInvoker", "ref", "useRef", "selectedValue", "registerItem", "unregisterItem", "useSearchListItem", "isSelected", "name", "handleSelect", "useCallback", "Common", "LayoutOperation", "Open", "subject", "useEffect", "current", "scrollIntoView", "block", "behavior", "Card", "role", "fullWidth", "tabIndex", "data-selected", "classNames", "mx", "onClick", "density", "Avatar", "hue", "icon", "hueVariant", "variant", "size", "fallback", "Label", "Icon"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
|
|
2
|
+
|
|
3
|
+
// src/meta.ts
|
|
4
|
+
import { trim } from "@dxos/util";
|
|
5
|
+
var meta = {
|
|
6
|
+
id: "dxos.org/plugin/simple-layout",
|
|
7
|
+
name: "Simple Layout",
|
|
8
|
+
description: trim`
|
|
9
|
+
Minimal layout plugin for simplified UI contexts like popover windows.
|
|
10
|
+
Provides basic content rendering without sidebars or complex navigation.
|
|
11
|
+
`,
|
|
12
|
+
icon: "ph--layout--regular"
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
// src/types/capabilities.ts
|
|
16
|
+
import { Capability } from "@dxos/app-framework";
|
|
17
|
+
var SimpleLayoutState = Capability.make(`${meta.id}/state`);
|
|
18
|
+
|
|
19
|
+
// src/types/events.ts
|
|
20
|
+
import { Common } from "@dxos/app-framework";
|
|
21
|
+
(function(SimpleLayoutEvents2) {
|
|
22
|
+
SimpleLayoutEvents2.StateReady = Common.ActivationEvent.createStateEvent(SimpleLayoutState.identifier);
|
|
23
|
+
})(SimpleLayoutEvents || (SimpleLayoutEvents = {}));
|
|
24
|
+
var SimpleLayoutEvents;
|
|
25
|
+
|
|
26
|
+
export {
|
|
27
|
+
meta,
|
|
28
|
+
SimpleLayoutState,
|
|
29
|
+
SimpleLayoutEvents
|
|
30
|
+
};
|
|
31
|
+
//# sourceMappingURL=chunk-MUVVYBUE.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/meta.ts", "../../../src/types/capabilities.ts", "../../../src/types/events.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { type Plugin } from '@dxos/app-framework';\nimport { trim } from '@dxos/util';\n\nexport const meta: Plugin.Meta = {\n id: 'dxos.org/plugin/simple-layout',\n name: 'Simple Layout',\n description: trim`\n Minimal layout plugin for simplified UI contexts like popover windows.\n Provides basic content rendering without sidebars or complex navigation.\n `,\n icon: 'ph--layout--regular',\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { type Atom } from '@effect-atom/atom-react';\n\nimport { Capability } from '@dxos/app-framework';\nimport { type Label } from '@dxos/react-ui';\n\nimport { meta } from '../meta';\n\n// TODO(wittjosiah): Handle toasts.\nexport type SimpleLayoutState = {\n /** Data to be passed to the main content Surface. */\n content?: any;\n\n dialogOpen: boolean;\n dialogType?: 'default' | 'alert';\n dialogBlockAlign?: 'start' | 'center' | 'end';\n dialogOverlayClasses?: string;\n dialogOverlayStyle?: Record<string, any>;\n /** Data to be passed to the dialog Surface. */\n dialogContent?: any;\n\n popoverOpen?: boolean;\n popoverSide?: 'top' | 'right' | 'bottom' | 'left';\n popoverVariant?: 'virtual' | 'react';\n popoverAnchor?: HTMLButtonElement;\n popoverAnchorId?: string;\n popoverKind?: 'base' | 'card';\n popoverTitle?: Label;\n popoverContent?: any;\n\n workspace: string;\n previousWorkspace: string;\n active?: string;\n /** Stack of previously active item IDs for back navigation. */\n history: string[];\n\n /** Whether running in popover window context (hides mobile-specific UI). */\n isPopover?: boolean;\n};\n\nexport const SimpleLayoutState = Capability.make<Atom.Writable<SimpleLayoutState>>(`${meta.id}/state`);\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { type ActivationEvent, Common } from '@dxos/app-framework';\n\nimport { SimpleLayoutState } from './capabilities';\n\nexport namespace SimpleLayoutEvents {\n /** Fired when SimpleLayoutState capability is ready. */\n export const StateReady: ActivationEvent.ActivationEvent = Common.ActivationEvent.createStateEvent(\n SimpleLayoutState.identifier,\n );\n}\n"],
|
|
5
|
+
"mappings": ";;;AAKA,SAASA,YAAY;AAEd,IAAMC,OAAoB;EAC/BC,IAAI;EACJC,MAAM;EACNC,aAAaC;;;;EAIbC,MAAM;AACR;;;ACTA,SAASC,kBAAkB;AAqCpB,IAAMC,oBAAoBC,WAAWC,KAAuC,GAAGC,KAAKC,EAAE,QAAQ;;;ACvCrG,SAA+BC,cAAc;UAI5BC,qBAAAA;sBAEFC,aAA8CC,OAAOC,gBAAgBC,iBAChFC,kBAAkBC,UAAU;AAEhC,GALiBN,uBAAAA,qBAAAA,CAAAA,EAAAA;;",
|
|
6
|
+
"names": ["trim", "meta", "id", "name", "description", "trim", "icon", "Capability", "SimpleLayoutState", "Capability", "make", "meta", "id", "Common", "SimpleLayoutEvents", "StateReady", "Common", "ActivationEvent", "createStateEvent", "SimpleLayoutState", "identifier"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
|
|
2
|
+
import {
|
|
3
|
+
SimpleLayoutEvents,
|
|
4
|
+
meta
|
|
5
|
+
} from "./chunk-MUVVYBUE.mjs";
|
|
6
|
+
|
|
7
|
+
// src/SimpleLayoutPlugin.ts
|
|
8
|
+
import { ActivationEvent, Capability as Capability6, Common, Plugin } from "@dxos/app-framework";
|
|
9
|
+
|
|
10
|
+
// src/capabilities/operation-resolver/index.ts
|
|
11
|
+
import { Capability as Capability$ } from "@dxos/app-framework";
|
|
12
|
+
var OperationResolver = Capability$.lazy("OperationResolver", () => import("./operation-resolver-7O6O7T4Q.mjs"));
|
|
13
|
+
|
|
14
|
+
// src/capabilities/react-root/index.ts
|
|
15
|
+
import { Capability } from "@dxos/app-framework";
|
|
16
|
+
var ReactRoot = Capability.lazy("ReactRoot", () => import("./react-root-2CPA2ZUS.mjs"));
|
|
17
|
+
|
|
18
|
+
// src/capabilities/react-surface/index.ts
|
|
19
|
+
import { Capability as Capability2 } from "@dxos/app-framework";
|
|
20
|
+
var ReactSurface = Capability2.lazy("ReactSurface", () => import("./react-surface-FKAV56MO.mjs"));
|
|
21
|
+
|
|
22
|
+
// src/capabilities/spotlight-dismiss/index.ts
|
|
23
|
+
import { Capability as Capability3 } from "@dxos/app-framework";
|
|
24
|
+
var SpotlightDismiss = Capability3.lazy("SpotlightDismiss", () => import("./spotlight-dismiss-L5PCWIJG.mjs"));
|
|
25
|
+
|
|
26
|
+
// src/capabilities/state/index.ts
|
|
27
|
+
import { Capability as Capability4 } from "@dxos/app-framework";
|
|
28
|
+
var State = Capability4.lazy("State", () => import("./state-QIU2LMLT.mjs"));
|
|
29
|
+
|
|
30
|
+
// src/capabilities/url-handler/index.ts
|
|
31
|
+
import { Capability as Capability5 } from "@dxos/app-framework";
|
|
32
|
+
var UrlHandler = Capability5.lazy("UrlHandler", () => import("./url-handler-4LYP3JM7.mjs"));
|
|
33
|
+
|
|
34
|
+
// src/translations.ts
|
|
35
|
+
var translations = [
|
|
36
|
+
{
|
|
37
|
+
"en-US": {
|
|
38
|
+
[meta.id]: {
|
|
39
|
+
"plugin name": "Simple layout",
|
|
40
|
+
"settings title": "Simple layout settings",
|
|
41
|
+
"workspaces heading": "Workspaces",
|
|
42
|
+
"settings heading": "Settings",
|
|
43
|
+
"back label": "Back",
|
|
44
|
+
"browse label": "Browse",
|
|
45
|
+
"notifications label": "Notifications",
|
|
46
|
+
"profile label": "Profile",
|
|
47
|
+
"app menu label": "App menu",
|
|
48
|
+
"main menu label": "Main menu",
|
|
49
|
+
"error fallback message": "An error occurred",
|
|
50
|
+
"search placeholder": "Search..."
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
];
|
|
55
|
+
|
|
56
|
+
// src/SimpleLayoutPlugin.ts
|
|
57
|
+
var SimpleLayoutPlugin = Plugin.define(meta).pipe(Plugin.addModule(({ isPopover = false }) => ({
|
|
58
|
+
id: Capability6.getModuleTag(State),
|
|
59
|
+
activatesOn: Common.ActivationEvent.Startup,
|
|
60
|
+
activatesAfter: [
|
|
61
|
+
SimpleLayoutEvents.StateReady,
|
|
62
|
+
Common.ActivationEvent.LayoutReady
|
|
63
|
+
],
|
|
64
|
+
activate: () => State({
|
|
65
|
+
initialState: {
|
|
66
|
+
isPopover
|
|
67
|
+
}
|
|
68
|
+
})
|
|
69
|
+
})), Plugin.addModule(({ isPopover = false }) => ({
|
|
70
|
+
id: Capability6.getModuleTag(SpotlightDismiss),
|
|
71
|
+
activatesOn: Common.ActivationEvent.Startup,
|
|
72
|
+
activate: () => SpotlightDismiss({
|
|
73
|
+
isPopover
|
|
74
|
+
})
|
|
75
|
+
})), Plugin.addModule({
|
|
76
|
+
id: Capability6.getModuleTag(ReactRoot),
|
|
77
|
+
activatesOn: Common.ActivationEvent.Startup,
|
|
78
|
+
activate: ReactRoot
|
|
79
|
+
}), Plugin.addModule({
|
|
80
|
+
id: Capability6.getModuleTag(ReactSurface),
|
|
81
|
+
activatesOn: Common.ActivationEvent.Startup,
|
|
82
|
+
activate: ReactSurface
|
|
83
|
+
}), Plugin.addModule({
|
|
84
|
+
id: Capability6.getModuleTag(UrlHandler),
|
|
85
|
+
activatesOn: ActivationEvent.allOf(Common.ActivationEvent.OperationInvokerReady, SimpleLayoutEvents.StateReady),
|
|
86
|
+
activate: UrlHandler
|
|
87
|
+
}), Common.Plugin.addOperationResolverModule({
|
|
88
|
+
activate: OperationResolver
|
|
89
|
+
}), Common.Plugin.addTranslationsModule({
|
|
90
|
+
translations
|
|
91
|
+
}), Plugin.make);
|
|
92
|
+
export {
|
|
93
|
+
SimpleLayoutPlugin
|
|
94
|
+
};
|
|
95
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/SimpleLayoutPlugin.ts", "../../../src/capabilities/operation-resolver/index.ts", "../../../src/capabilities/react-root/index.ts", "../../../src/capabilities/react-surface/index.ts", "../../../src/capabilities/spotlight-dismiss/index.ts", "../../../src/capabilities/state/index.ts", "../../../src/capabilities/url-handler/index.ts", "../../../src/translations.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { ActivationEvent, Capability, Common, Plugin } from '@dxos/app-framework';\n\nimport { OperationResolver, ReactRoot, ReactSurface, SpotlightDismiss, State, UrlHandler } from './capabilities';\nimport { meta } from './meta';\nimport { translations } from './translations';\nimport { SimpleLayoutEvents } from './types';\n\nexport type SimpleLayoutPluginOptions = {\n /** Whether running in popover window context (hides mobile-specific UI). */\n isPopover?: boolean;\n};\n\nexport const SimpleLayoutPlugin = Plugin.define<SimpleLayoutPluginOptions>(meta).pipe(\n Plugin.addModule(({ isPopover = false }) => ({\n id: Capability.getModuleTag(State),\n activatesOn: Common.ActivationEvent.Startup,\n activatesAfter: [SimpleLayoutEvents.StateReady, Common.ActivationEvent.LayoutReady],\n activate: () => State({ initialState: { isPopover } }),\n })),\n Plugin.addModule(({ isPopover = false }) => ({\n id: Capability.getModuleTag(SpotlightDismiss),\n activatesOn: Common.ActivationEvent.Startup,\n activate: () => SpotlightDismiss({ isPopover }),\n })),\n Plugin.addModule({\n id: Capability.getModuleTag(ReactRoot),\n activatesOn: Common.ActivationEvent.Startup,\n activate: ReactRoot,\n }),\n Plugin.addModule({\n id: Capability.getModuleTag(ReactSurface),\n activatesOn: Common.ActivationEvent.Startup,\n activate: ReactSurface,\n }),\n Plugin.addModule({\n id: Capability.getModuleTag(UrlHandler),\n activatesOn: ActivationEvent.allOf(Common.ActivationEvent.OperationInvokerReady, SimpleLayoutEvents.StateReady),\n activate: UrlHandler,\n }),\n Common.Plugin.addOperationResolverModule({ activate: OperationResolver }),\n Common.Plugin.addTranslationsModule({ translations }),\n Plugin.make,\n);\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { type Capability, Capability as Capability$ } from '@dxos/app-framework';\n\nexport const OperationResolver: Capability.LazyCapability = Capability$.lazy(\n 'OperationResolver',\n () => import('./operation-resolver'),\n);\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capability } from '@dxos/app-framework';\n\nexport const ReactRoot = Capability.lazy('ReactRoot', () => import('./react-root'));\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capability } from '@dxos/app-framework';\n\nexport const ReactSurface = Capability.lazy('ReactSurface', () => import('./react-surface'));\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capability } from '@dxos/app-framework';\n\nexport const SpotlightDismiss = Capability.lazy('SpotlightDismiss', () => import('./spotlight-dismiss'));\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capability } from '@dxos/app-framework';\n\nexport const State = Capability.lazy('State', () => import('./state'));\n\nexport type { SimpleLayoutStateOptions } from './state';\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capability } from '@dxos/app-framework';\n\nexport const UrlHandler = Capability.lazy('UrlHandler', () => import('./url-handler'));\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { type Resource } from '@dxos/react-ui';\n\nimport { meta } from './meta';\n\nexport const translations = [\n {\n 'en-US': {\n [meta.id]: {\n 'plugin name': 'Simple layout',\n 'settings title': 'Simple layout settings',\n 'workspaces heading': 'Workspaces',\n 'settings heading': 'Settings',\n 'back label': 'Back',\n 'browse label': 'Browse',\n 'notifications label': 'Notifications',\n 'profile label': 'Profile',\n 'app menu label': 'App menu',\n 'main menu label': 'Main menu',\n 'error fallback message': 'An error occurred',\n 'search placeholder': 'Search...',\n },\n },\n },\n] as const satisfies Resource[];\n"],
|
|
5
|
+
"mappings": ";;;;;;;AAIA,SAASA,iBAAiBC,cAAAA,aAAYC,QAAQC,cAAc;;;ACA5D,SAA0BC,cAAcC,mBAAmB;AAEpD,IAAMC,oBAA+CC,YAAYC,KACtE,qBACA,MAAM,OAAO,mCAAA,CAAA;;;ACJf,SAASC,kBAAkB;AAEpB,IAAMC,YAAYC,WAAWC,KAAK,aAAa,MAAM,OAAO,2BAAA,CAAA;;;ACFnE,SAASC,cAAAA,mBAAkB;AAEpB,IAAMC,eAAeC,YAAWC,KAAK,gBAAgB,MAAM,OAAO,8BAAA,CAAA;;;ACFzE,SAASC,cAAAA,mBAAkB;AAEpB,IAAMC,mBAAmBC,YAAWC,KAAK,oBAAoB,MAAM,OAAO,kCAAA,CAAA;;;ACFjF,SAASC,cAAAA,mBAAkB;AAEpB,IAAMC,QAAQC,YAAWC,KAAK,SAAS,MAAM,OAAO,sBAAA,CAAA;;;ACF3D,SAASC,cAAAA,mBAAkB;AAEpB,IAAMC,aAAaC,YAAWC,KAAK,cAAc,MAAM,OAAO,4BAAA,CAAA;;;ACE9D,IAAMC,eAAe;EAC1B;IACE,SAAS;MACP,CAACC,KAAKC,EAAE,GAAG;QACT,eAAe;QACf,kBAAkB;QAClB,sBAAsB;QACtB,oBAAoB;QACpB,cAAc;QACd,gBAAgB;QAChB,uBAAuB;QACvB,iBAAiB;QACjB,kBAAkB;QAClB,mBAAmB;QACnB,0BAA0B;QAC1B,sBAAsB;MACxB;IACF;EACF;;;;APVK,IAAMC,qBAAqBC,OAAOC,OAAkCC,IAAAA,EAAMC,KAC/EH,OAAOI,UAAU,CAAC,EAAEC,YAAY,MAAK,OAAQ;EAC3CC,IAAIC,YAAWC,aAAaC,KAAAA;EAC5BC,aAAaC,OAAOC,gBAAgBC;EACpCC,gBAAgB;IAACC,mBAAmBC;IAAYL,OAAOC,gBAAgBK;;EACvEC,UAAU,MAAMT,MAAM;IAAEU,cAAc;MAAEd;IAAU;EAAE,CAAA;AACtD,EAAA,GACAL,OAAOI,UAAU,CAAC,EAAEC,YAAY,MAAK,OAAQ;EAC3CC,IAAIC,YAAWC,aAAaY,gBAAAA;EAC5BV,aAAaC,OAAOC,gBAAgBC;EACpCK,UAAU,MAAME,iBAAiB;IAAEf;EAAU,CAAA;AAC/C,EAAA,GACAL,OAAOI,UAAU;EACfE,IAAIC,YAAWC,aAAaa,SAAAA;EAC5BX,aAAaC,OAAOC,gBAAgBC;EACpCK,UAAUG;AACZ,CAAA,GACArB,OAAOI,UAAU;EACfE,IAAIC,YAAWC,aAAac,YAAAA;EAC5BZ,aAAaC,OAAOC,gBAAgBC;EACpCK,UAAUI;AACZ,CAAA,GACAtB,OAAOI,UAAU;EACfE,IAAIC,YAAWC,aAAae,UAAAA;EAC5Bb,aAAaE,gBAAgBY,MAAMb,OAAOC,gBAAgBa,uBAAuBV,mBAAmBC,UAAU;EAC9GE,UAAUK;AACZ,CAAA,GACAZ,OAAOX,OAAO0B,2BAA2B;EAAER,UAAUS;AAAkB,CAAA,GACvEhB,OAAOX,OAAO4B,sBAAsB;EAAEC;AAAa,CAAA,GACnD7B,OAAO8B,IAAI;",
|
|
6
|
+
"names": ["ActivationEvent", "Capability", "Common", "Plugin", "Capability", "Capability$", "OperationResolver", "Capability$", "lazy", "Capability", "ReactRoot", "Capability", "lazy", "Capability", "ReactSurface", "Capability", "lazy", "Capability", "SpotlightDismiss", "Capability", "lazy", "Capability", "State", "Capability", "lazy", "Capability", "UrlHandler", "Capability", "lazy", "translations", "meta", "id", "SimpleLayoutPlugin", "Plugin", "define", "meta", "pipe", "addModule", "isPopover", "id", "Capability", "getModuleTag", "State", "activatesOn", "Common", "ActivationEvent", "Startup", "activatesAfter", "SimpleLayoutEvents", "StateReady", "LayoutReady", "activate", "initialState", "SpotlightDismiss", "ReactRoot", "ReactSurface", "UrlHandler", "allOf", "OperationInvokerReady", "addOperationResolverModule", "OperationResolver", "addTranslationsModule", "translations", "make"]
|
|
7
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"inputs":{"src/meta.ts":{"bytes":1495,"imports":[{"path":"@dxos/util","kind":"import-statement","external":true}],"format":"esm"},"src/types/capabilities.ts":{"bytes":2477,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"src/types/events.ts":{"bytes":1548,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"src/types/capabilities.ts","kind":"import-statement","original":"./capabilities"}],"format":"esm"},"src/types/index.ts":{"bytes":568,"imports":[{"path":"src/types/capabilities.ts","kind":"import-statement","original":"./capabilities"},{"path":"src/types/events.ts","kind":"import-statement","original":"./events"}],"format":"esm"},"src/capabilities/operation-resolver/operation-resolver.ts":{"bytes":21443,"imports":[{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/operation","kind":"import-statement","external":true},{"path":"src/types/index.ts","kind":"import-statement","original":"../../types"}],"format":"esm"},"src/capabilities/operation-resolver/index.ts":{"bytes":1105,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"src/capabilities/operation-resolver/operation-resolver.ts","kind":"dynamic-import","original":"./operation-resolver"}],"format":"esm"},"src/components/ContentLoading.tsx":{"bytes":1223,"imports":[{"path":"react","kind":"import-statement","external":true}],"format":"esm"},"src/components/hooks.ts":{"bytes":3144,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework/react","kind":"import-statement","external":true},{"path":"@dxos/plugin-graph","kind":"import-statement","external":true}],"format":"esm"},"src/components/Home/Home.tsx":{"bytes":16278,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-framework/react","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-mosaic","kind":"import-statement","external":true},{"path":"@dxos/react-ui-searchlist","kind":"import-statement","external":true},{"path":"@dxos/ui-theme","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"src/meta.ts","kind":"import-statement","original":"../../meta"},{"path":"src/components/hooks.ts","kind":"import-statement","original":"../hooks"}],"format":"esm"},"src/components/Home/index.ts":{"bytes":472,"imports":[{"path":"src/components/Home/Home.tsx","kind":"import-statement","original":"./Home"}],"format":"esm"},"src/hooks/useSimpleLayoutState.ts":{"bytes":3117,"imports":[{"path":"@effect-atom/atom-react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework/react","kind":"import-statement","external":true},{"path":"src/types/index.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"src/hooks/index.ts":{"bytes":502,"imports":[{"path":"src/hooks/useSimpleLayoutState.ts","kind":"import-statement","original":"./useSimpleLayoutState"}],"format":"esm"},"src/components/Popover/Popover.tsx":{"bytes":15039,"imports":[{"path":"@radix-ui/react-context","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework/react","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":"src/hooks/index.ts","kind":"import-statement","original":"../../hooks"},{"path":"src/meta.ts","kind":"import-statement","original":"../../meta"}],"format":"esm"},"src/components/Popover/index.ts":{"bytes":482,"imports":[{"path":"src/components/Popover/Popover.tsx","kind":"import-statement","original":"./Popover"}],"format":"esm"},"src/components/ContentError.tsx":{"bytes":2659,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/ui-theme","kind":"import-statement","external":true},{"path":"src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"src/components/Dialog/Dialog.tsx":{"bytes":5006,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework/react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"src/hooks/index.ts","kind":"import-statement","original":"../../hooks"},{"path":"src/components/ContentError.tsx","kind":"import-statement","original":"../ContentError"}],"format":"esm"},"src/components/Dialog/index.ts":{"bytes":480,"imports":[{"path":"src/components/Dialog/Dialog.tsx","kind":"import-statement","original":"./Dialog"}],"format":"esm"},"src/components/SimpleLayout/Banner.tsx":{"bytes":10904,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-framework/react","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/ui-theme","kind":"import-statement","external":true},{"path":"src/hooks/index.ts","kind":"import-statement","original":"../../hooks"},{"path":"src/meta.ts","kind":"import-statement","original":"../../meta"}],"format":"esm"},"src/components/SimpleLayout/NavBar.tsx":{"bytes":7489,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework/react","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-menu","kind":"import-statement","external":true},{"path":"@dxos/ui-theme","kind":"import-statement","external":true},{"path":"src/meta.ts","kind":"import-statement","original":"../../meta"}],"format":"esm"},"src/components/SimpleLayout/Main.tsx":{"bytes":9875,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework/react","kind":"import-statement","external":true},{"path":"@dxos/log","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-attention","kind":"import-statement","external":true},{"path":"@dxos/react-ui-mosaic","kind":"import-statement","external":true},{"path":"@dxos/ui-theme","kind":"import-statement","external":true},{"path":"src/hooks/index.ts","kind":"import-statement","original":"../../hooks"},{"path":"src/components/ContentError.tsx","kind":"import-statement","original":"../ContentError"},{"path":"src/components/ContentLoading.tsx","kind":"import-statement","original":"../ContentLoading"},{"path":"src/components/SimpleLayout/Banner.tsx","kind":"import-statement","original":"./Banner"},{"path":"src/components/SimpleLayout/NavBar.tsx","kind":"import-statement","original":"./NavBar"}],"format":"esm"},"src/components/SimpleLayout/SimpleLayout.tsx":{"bytes":1619,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"src/components/Dialog/index.ts","kind":"import-statement","original":"../Dialog"},{"path":"src/components/Popover/index.ts","kind":"import-statement","original":"../Popover"},{"path":"src/components/SimpleLayout/Main.tsx","kind":"import-statement","original":"./Main"}],"format":"esm"},"src/components/SimpleLayout/index.ts":{"bytes":500,"imports":[{"path":"src/components/SimpleLayout/SimpleLayout.tsx","kind":"import-statement","original":"./SimpleLayout"}],"format":"esm"},"src/components/Workspace/Workspace.tsx":{"bytes":13471,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-framework/react","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-mosaic","kind":"import-statement","external":true},{"path":"@dxos/react-ui-searchlist","kind":"import-statement","external":true},{"path":"@dxos/ui-theme","kind":"import-statement","external":true},{"path":"src/meta.ts","kind":"import-statement","original":"../../meta"},{"path":"src/components/hooks.ts","kind":"import-statement","original":"../hooks"}],"format":"esm"},"src/components/Workspace/index.ts":{"bytes":490,"imports":[{"path":"src/components/Workspace/Workspace.tsx","kind":"import-statement","original":"./Workspace"}],"format":"esm"},"src/components/index.ts":{"bytes":849,"imports":[{"path":"src/components/ContentLoading.tsx","kind":"import-statement","original":"./ContentLoading"},{"path":"src/components/Home/index.ts","kind":"import-statement","original":"./Home"},{"path":"src/components/Popover/index.ts","kind":"import-statement","original":"./Popover"},{"path":"src/components/SimpleLayout/index.ts","kind":"import-statement","original":"./SimpleLayout"},{"path":"src/components/Workspace/index.ts","kind":"import-statement","original":"./Workspace"}],"format":"esm"},"src/capabilities/react-root/react-root.tsx":{"bytes":2037,"imports":[{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"src/components/index.ts","kind":"import-statement","original":"../../components"},{"path":"src/meta.ts","kind":"import-statement","original":"../../meta"}],"format":"esm"},"src/capabilities/react-root/index.ts":{"bytes":889,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"src/capabilities/react-root/react-root.tsx","kind":"dynamic-import","original":"./react-root"}],"format":"esm"},"src/capabilities/react-surface/react-surface.tsx":{"bytes":4380,"imports":[{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-graph","kind":"import-statement","external":true},{"path":"src/components/index.ts","kind":"import-statement","original":"../../components"},{"path":"src/meta.ts","kind":"import-statement","original":"../../meta"}],"format":"esm"},"src/capabilities/react-surface/index.ts":{"bytes":917,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"src/capabilities/react-surface/react-surface.tsx","kind":"dynamic-import","original":"./react-surface"}],"format":"esm"},"src/capabilities/spotlight-dismiss/spotlight-dismiss.ts":{"bytes":8395,"imports":[{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"format":"esm"},"src/capabilities/spotlight-dismiss/index.ts":{"bytes":957,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"src/capabilities/spotlight-dismiss/spotlight-dismiss.ts","kind":"dynamic-import","original":"./spotlight-dismiss"}],"format":"esm"},"src/capabilities/state/state.tsx":{"bytes":5191,"imports":[{"path":"@effect-atom/atom-react","kind":"import-statement","external":true},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-graph","kind":"import-statement","external":true},{"path":"src/types/index.ts","kind":"import-statement","original":"../../types"}],"format":"esm"},"src/capabilities/state/index.ts":{"bytes":923,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"src/capabilities/state/state.tsx","kind":"dynamic-import","original":"./state"}],"format":"esm"},"src/capabilities/url-handler/url-handler.ts":{"bytes":9574,"imports":[{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-graph","kind":"import-statement","external":true},{"path":"src/types/index.ts","kind":"import-statement","original":"../../types"}],"format":"esm"},"src/capabilities/url-handler/index.ts":{"bytes":897,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"src/capabilities/url-handler/url-handler.ts","kind":"dynamic-import","original":"./url-handler"}],"format":"esm"},"src/capabilities/index.ts":{"bytes":991,"imports":[{"path":"src/capabilities/operation-resolver/index.ts","kind":"import-statement","original":"./operation-resolver"},{"path":"src/capabilities/react-root/index.ts","kind":"import-statement","original":"./react-root"},{"path":"src/capabilities/react-surface/index.ts","kind":"import-statement","original":"./react-surface"},{"path":"src/capabilities/spotlight-dismiss/index.ts","kind":"import-statement","original":"./spotlight-dismiss"},{"path":"src/capabilities/state/index.ts","kind":"import-statement","original":"./state"},{"path":"src/capabilities/url-handler/index.ts","kind":"import-statement","original":"./url-handler"}],"format":"esm"},"src/translations.ts":{"bytes":2518,"imports":[{"path":"src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"src/SimpleLayoutPlugin.ts":{"bytes":6664,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"src/capabilities/index.ts","kind":"import-statement","original":"./capabilities"},{"path":"src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"src/translations.ts","kind":"import-statement","original":"./translations"},{"path":"src/types/index.ts","kind":"import-statement","original":"./types"}],"format":"esm"},"src/index.ts":{"bytes":490,"imports":[{"path":"src/SimpleLayoutPlugin.ts","kind":"import-statement","original":"./SimpleLayoutPlugin"}],"format":"esm"}},"outputs":{"dist/lib/node-esm/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":6820},"dist/lib/node-esm/index.mjs":{"imports":[{"path":"dist/lib/node-esm/chunk-MUVVYBUE.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"dist/lib/node-esm/operation-resolver-7O6O7T4Q.mjs","kind":"dynamic-import"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"dist/lib/node-esm/react-root-2CPA2ZUS.mjs","kind":"dynamic-import"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"dist/lib/node-esm/react-surface-FKAV56MO.mjs","kind":"dynamic-import"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"dist/lib/node-esm/spotlight-dismiss-L5PCWIJG.mjs","kind":"dynamic-import"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"dist/lib/node-esm/state-QIU2LMLT.mjs","kind":"dynamic-import"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"dist/lib/node-esm/url-handler-4LYP3JM7.mjs","kind":"dynamic-import"}],"exports":["SimpleLayoutPlugin"],"entryPoint":"src/index.ts","inputs":{"src/SimpleLayoutPlugin.ts":{"bytesInOutput":1292},"src/capabilities/operation-resolver/index.ts":{"bytesInOutput":179},"src/capabilities/index.ts":{"bytesInOutput":0},"src/capabilities/react-root/index.ts":{"bytesInOutput":139},"src/capabilities/react-surface/index.ts":{"bytesInOutput":164},"src/capabilities/spotlight-dismiss/index.ts":{"bytesInOutput":176},"src/capabilities/state/index.ts":{"bytesInOutput":142},"src/capabilities/url-handler/index.ts":{"bytesInOutput":158},"src/translations.ts":{"bytesInOutput":579},"src/index.ts":{"bytesInOutput":0}},"bytes":3402},"dist/lib/node-esm/operation-resolver-7O6O7T4Q.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":10111},"dist/lib/node-esm/operation-resolver-7O6O7T4Q.mjs":{"imports":[{"path":"dist/lib/node-esm/chunk-MUVVYBUE.mjs","kind":"import-statement"},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/operation","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/capabilities/operation-resolver/operation-resolver.ts","inputs":{"src/capabilities/operation-resolver/operation-resolver.ts":{"bytesInOutput":5119}},"bytes":5442},"dist/lib/node-esm/react-root-2CPA2ZUS.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1019},"dist/lib/node-esm/react-root-2CPA2ZUS.mjs":{"imports":[{"path":"dist/lib/node-esm/chunk-EGFZAVBD.mjs","kind":"import-statement"},{"path":"dist/lib/node-esm/chunk-MUVVYBUE.mjs","kind":"import-statement"},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/capabilities/react-root/react-root.tsx","inputs":{"src/capabilities/react-root/react-root.tsx":{"bytesInOutput":357}},"bytes":691},"dist/lib/node-esm/react-surface-FKAV56MO.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2241},"dist/lib/node-esm/react-surface-FKAV56MO.mjs":{"imports":[{"path":"dist/lib/node-esm/chunk-EGFZAVBD.mjs","kind":"import-statement"},{"path":"dist/lib/node-esm/chunk-MUVVYBUE.mjs","kind":"import-statement"},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-graph","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/capabilities/react-surface/react-surface.tsx","inputs":{"src/capabilities/react-surface/react-surface.tsx":{"bytesInOutput":898}},"bytes":1249},"dist/lib/node-esm/chunk-EGFZAVBD.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":47199},"dist/lib/node-esm/chunk-EGFZAVBD.mjs":{"imports":[{"path":"dist/lib/node-esm/chunk-MUVVYBUE.mjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-framework/react","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-mosaic","kind":"import-statement","external":true},{"path":"@dxos/react-ui-searchlist","kind":"import-statement","external":true},{"path":"@dxos/ui-theme","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework/react","kind":"import-statement","external":true},{"path":"@dxos/plugin-graph","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework/react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@effect-atom/atom-react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework/react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/ui-theme","kind":"import-statement","external":true},{"path":"@radix-ui/react-context","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework/react","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":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework/react","kind":"import-statement","external":true},{"path":"@dxos/log","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-attention","kind":"import-statement","external":true},{"path":"@dxos/react-ui-mosaic","kind":"import-statement","external":true},{"path":"@dxos/ui-theme","kind":"import-statement","external":true},{"path":"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-framework/react","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/ui-theme","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework/react","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-menu","kind":"import-statement","external":true},{"path":"@dxos/ui-theme","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-framework/react","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-mosaic","kind":"import-statement","external":true},{"path":"@dxos/react-ui-searchlist","kind":"import-statement","external":true},{"path":"@dxos/ui-theme","kind":"import-statement","external":true}],"exports":["Home","SimpleLayout","Workspace"],"inputs":{"src/components/Home/Home.tsx":{"bytesInOutput":4108},"src/components/hooks.ts":{"bytesInOutput":589},"src/components/SimpleLayout/SimpleLayout.tsx":{"bytesInOutput":286},"src/components/Dialog/Dialog.tsx":{"bytesInOutput":1172},"src/hooks/useSimpleLayoutState.ts":{"bytesInOutput":565},"src/hooks/index.ts":{"bytesInOutput":0},"src/components/ContentError.tsx":{"bytesInOutput":629},"src/components/Dialog/index.ts":{"bytesInOutput":0},"src/components/Popover/Popover.tsx":{"bytesInOutput":3888},"src/components/Popover/index.ts":{"bytesInOutput":0},"src/components/SimpleLayout/Main.tsx":{"bytesInOutput":2661},"src/components/ContentLoading.tsx":{"bytesInOutput":198},"src/components/SimpleLayout/Banner.tsx":{"bytesInOutput":2712},"src/components/SimpleLayout/NavBar.tsx":{"bytesInOutput":1528},"src/components/Workspace/Workspace.tsx":{"bytesInOutput":3613},"src/components/index.ts":{"bytesInOutput":0},"src/components/Home/index.ts":{"bytesInOutput":0},"src/components/SimpleLayout/index.ts":{"bytesInOutput":0},"src/components/Workspace/index.ts":{"bytesInOutput":0}},"bytes":22830},"dist/lib/node-esm/spotlight-dismiss-L5PCWIJG.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":4091},"dist/lib/node-esm/spotlight-dismiss-L5PCWIJG.mjs":{"imports":[{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/capabilities/spotlight-dismiss/spotlight-dismiss.ts","inputs":{"src/capabilities/spotlight-dismiss/spotlight-dismiss.ts":{"bytesInOutput":1822}},"bytes":2081},"dist/lib/node-esm/state-QIU2LMLT.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2695},"dist/lib/node-esm/state-QIU2LMLT.mjs":{"imports":[{"path":"dist/lib/node-esm/chunk-MUVVYBUE.mjs","kind":"import-statement"},{"path":"@effect-atom/atom-react","kind":"import-statement","external":true},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-graph","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/capabilities/state/state.tsx","inputs":{"src/capabilities/state/state.tsx":{"bytesInOutput":1015}},"bytes":1287},"dist/lib/node-esm/url-handler-4LYP3JM7.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":4755},"dist/lib/node-esm/url-handler-4LYP3JM7.mjs":{"imports":[{"path":"dist/lib/node-esm/chunk-MUVVYBUE.mjs","kind":"import-statement"},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-graph","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/capabilities/url-handler/url-handler.ts","inputs":{"src/capabilities/url-handler/url-handler.ts":{"bytesInOutput":1721}},"bytes":2016},"dist/lib/node-esm/chunk-MUVVYBUE.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2898},"dist/lib/node-esm/chunk-MUVVYBUE.mjs":{"imports":[{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true}],"exports":["SimpleLayoutEvents","SimpleLayoutState","meta"],"inputs":{"src/meta.ts":{"bytesInOutput":323},"src/types/capabilities.ts":{"bytesInOutput":111},"src/types/index.ts":{"bytesInOutput":0},"src/types/events.ts":{"bytesInOutput":262}},"bytes":965}}}
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
|
|
2
|
+
import {
|
|
3
|
+
SimpleLayoutState
|
|
4
|
+
} from "./chunk-MUVVYBUE.mjs";
|
|
5
|
+
|
|
6
|
+
// src/capabilities/operation-resolver/operation-resolver.ts
|
|
7
|
+
import * as Effect from "effect/Effect";
|
|
8
|
+
import { Capability, Common } from "@dxos/app-framework";
|
|
9
|
+
import { Operation, OperationResolver } from "@dxos/operation";
|
|
10
|
+
var MAX_HISTORY_LENGTH = 50;
|
|
11
|
+
var operation_resolver_default = Capability.makeModule(Effect.fnUntraced(function* () {
|
|
12
|
+
const registry = yield* Capability.get(Common.Capability.AtomRegistry);
|
|
13
|
+
const stateAtom = yield* Capability.get(SimpleLayoutState);
|
|
14
|
+
const getState = () => registry.get(stateAtom);
|
|
15
|
+
const updateState = (fn) => {
|
|
16
|
+
registry.set(stateAtom, fn(getState()));
|
|
17
|
+
};
|
|
18
|
+
return Capability.contributes(Common.Capability.OperationResolver, [
|
|
19
|
+
//
|
|
20
|
+
// UpdateSidebar - No-op for simple layout.
|
|
21
|
+
//
|
|
22
|
+
OperationResolver.make({
|
|
23
|
+
operation: Common.LayoutOperation.UpdateSidebar,
|
|
24
|
+
handler: () => Effect.void
|
|
25
|
+
}),
|
|
26
|
+
//
|
|
27
|
+
// UpdateComplementary - No-op for simple layout.
|
|
28
|
+
//
|
|
29
|
+
OperationResolver.make({
|
|
30
|
+
operation: Common.LayoutOperation.UpdateComplementary,
|
|
31
|
+
handler: () => Effect.void
|
|
32
|
+
}),
|
|
33
|
+
//
|
|
34
|
+
// UpdateDialog
|
|
35
|
+
//
|
|
36
|
+
OperationResolver.make({
|
|
37
|
+
operation: Common.LayoutOperation.UpdateDialog,
|
|
38
|
+
handler: Effect.fnUntraced(function* (input) {
|
|
39
|
+
updateState((state) => ({
|
|
40
|
+
...state,
|
|
41
|
+
dialogOpen: input.state ?? Boolean(input.subject),
|
|
42
|
+
dialogType: input.type ?? "default",
|
|
43
|
+
dialogBlockAlign: input.blockAlign ?? "center",
|
|
44
|
+
dialogOverlayClasses: input.overlayClasses,
|
|
45
|
+
dialogOverlayStyle: input.overlayStyle,
|
|
46
|
+
dialogContent: input.subject ? {
|
|
47
|
+
component: input.subject,
|
|
48
|
+
props: input.props
|
|
49
|
+
} : void 0
|
|
50
|
+
}));
|
|
51
|
+
})
|
|
52
|
+
}),
|
|
53
|
+
//
|
|
54
|
+
// UpdatePopover
|
|
55
|
+
//
|
|
56
|
+
OperationResolver.make({
|
|
57
|
+
operation: Common.LayoutOperation.UpdatePopover,
|
|
58
|
+
handler: Effect.fnUntraced(function* (input) {
|
|
59
|
+
updateState((state) => ({
|
|
60
|
+
...state,
|
|
61
|
+
popoverOpen: input.state ?? Boolean(input.subject),
|
|
62
|
+
popoverKind: input.kind ?? "base",
|
|
63
|
+
popoverTitle: input.kind === "card" ? input.title : void 0,
|
|
64
|
+
popoverContent: typeof input.subject === "string" ? {
|
|
65
|
+
component: input.subject,
|
|
66
|
+
props: input.props
|
|
67
|
+
} : input.subject ? {
|
|
68
|
+
subject: input.subject
|
|
69
|
+
} : void 0,
|
|
70
|
+
popoverSide: input.side,
|
|
71
|
+
popoverVariant: input.variant,
|
|
72
|
+
popoverAnchor: input.variant === "virtual" ? input.anchor : state.popoverAnchor,
|
|
73
|
+
popoverAnchorId: input.variant !== "virtual" ? input.anchorId : state.popoverAnchorId
|
|
74
|
+
}));
|
|
75
|
+
})
|
|
76
|
+
}),
|
|
77
|
+
//
|
|
78
|
+
// SwitchWorkspace
|
|
79
|
+
//
|
|
80
|
+
OperationResolver.make({
|
|
81
|
+
operation: Common.LayoutOperation.SwitchWorkspace,
|
|
82
|
+
handler: Effect.fnUntraced(function* (input) {
|
|
83
|
+
updateState((state) => ({
|
|
84
|
+
...state,
|
|
85
|
+
// TODO(wittjosiah): This is a hack to prevent the previous deck from being set for pinned items.
|
|
86
|
+
// Ideally this should be worked into the data model in a generic way.
|
|
87
|
+
previousWorkspace: !state.workspace.startsWith("!") ? state.workspace : state.previousWorkspace,
|
|
88
|
+
workspace: input.subject,
|
|
89
|
+
active: void 0,
|
|
90
|
+
// Clear history when switching workspaces.
|
|
91
|
+
history: []
|
|
92
|
+
}));
|
|
93
|
+
})
|
|
94
|
+
}),
|
|
95
|
+
//
|
|
96
|
+
// RevertWorkspace
|
|
97
|
+
//
|
|
98
|
+
OperationResolver.make({
|
|
99
|
+
operation: Common.LayoutOperation.RevertWorkspace,
|
|
100
|
+
handler: Effect.fnUntraced(function* () {
|
|
101
|
+
const state = getState();
|
|
102
|
+
yield* Operation.invoke(Common.LayoutOperation.SwitchWorkspace, {
|
|
103
|
+
subject: state.previousWorkspace
|
|
104
|
+
});
|
|
105
|
+
})
|
|
106
|
+
}),
|
|
107
|
+
//
|
|
108
|
+
// Open
|
|
109
|
+
//
|
|
110
|
+
OperationResolver.make({
|
|
111
|
+
operation: Common.LayoutOperation.Open,
|
|
112
|
+
handler: Effect.fnUntraced(function* (input) {
|
|
113
|
+
updateState((state) => {
|
|
114
|
+
const newHistory = state.active ? [
|
|
115
|
+
...state.history,
|
|
116
|
+
state.active
|
|
117
|
+
] : state.history;
|
|
118
|
+
const trimmedHistory = newHistory.length > MAX_HISTORY_LENGTH ? newHistory.slice(-MAX_HISTORY_LENGTH) : newHistory;
|
|
119
|
+
return {
|
|
120
|
+
...state,
|
|
121
|
+
active: input.subject[0],
|
|
122
|
+
history: trimmedHistory
|
|
123
|
+
};
|
|
124
|
+
});
|
|
125
|
+
})
|
|
126
|
+
}),
|
|
127
|
+
//
|
|
128
|
+
// Close
|
|
129
|
+
//
|
|
130
|
+
OperationResolver.make({
|
|
131
|
+
operation: Common.LayoutOperation.Close,
|
|
132
|
+
handler: Effect.fnUntraced(function* () {
|
|
133
|
+
updateState((state) => {
|
|
134
|
+
if (state.history.length > 0) {
|
|
135
|
+
const newHistory = [
|
|
136
|
+
...state.history
|
|
137
|
+
];
|
|
138
|
+
const previousActive = newHistory.pop();
|
|
139
|
+
return {
|
|
140
|
+
...state,
|
|
141
|
+
active: previousActive,
|
|
142
|
+
history: newHistory
|
|
143
|
+
};
|
|
144
|
+
}
|
|
145
|
+
return {
|
|
146
|
+
...state,
|
|
147
|
+
active: void 0
|
|
148
|
+
};
|
|
149
|
+
});
|
|
150
|
+
})
|
|
151
|
+
}),
|
|
152
|
+
//
|
|
153
|
+
// Set
|
|
154
|
+
//
|
|
155
|
+
OperationResolver.make({
|
|
156
|
+
operation: Common.LayoutOperation.Set,
|
|
157
|
+
handler: Effect.fnUntraced(function* (input) {
|
|
158
|
+
updateState((state) => ({
|
|
159
|
+
...state,
|
|
160
|
+
active: input.subject[0]
|
|
161
|
+
}));
|
|
162
|
+
})
|
|
163
|
+
})
|
|
164
|
+
]);
|
|
165
|
+
}));
|
|
166
|
+
export {
|
|
167
|
+
operation_resolver_default as default
|
|
168
|
+
};
|
|
169
|
+
//# sourceMappingURL=operation-resolver-7O6O7T4Q.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/capabilities/operation-resolver/operation-resolver.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Capability, Common } from '@dxos/app-framework';\nimport { Operation, OperationResolver } from '@dxos/operation';\n\nimport { type SimpleLayoutState, SimpleLayoutState as SimpleLayoutStateCapability } from '../../types';\n\n/** Maximum number of items to keep in navigation history. */\nconst MAX_HISTORY_LENGTH = 50;\n\nexport default Capability.makeModule(\n Effect.fnUntraced(function* () {\n const registry = yield* Capability.get(Common.Capability.AtomRegistry);\n const stateAtom = yield* Capability.get(SimpleLayoutStateCapability);\n\n const getState = () => registry.get(stateAtom);\n const updateState = (fn: (current: SimpleLayoutState) => SimpleLayoutState) => {\n registry.set(stateAtom, fn(getState()));\n };\n\n return Capability.contributes(Common.Capability.OperationResolver, [\n //\n // UpdateSidebar - No-op for simple layout.\n //\n OperationResolver.make({\n operation: Common.LayoutOperation.UpdateSidebar,\n handler: () => Effect.void,\n }),\n\n //\n // UpdateComplementary - No-op for simple layout.\n //\n OperationResolver.make({\n operation: Common.LayoutOperation.UpdateComplementary,\n handler: () => Effect.void,\n }),\n\n //\n // UpdateDialog\n //\n OperationResolver.make({\n operation: Common.LayoutOperation.UpdateDialog,\n handler: Effect.fnUntraced(function* (input) {\n updateState((state) => ({\n ...state,\n dialogOpen: input.state ?? Boolean(input.subject),\n dialogType: input.type ?? 'default',\n dialogBlockAlign: input.blockAlign ?? 'center',\n dialogOverlayClasses: input.overlayClasses,\n dialogOverlayStyle: input.overlayStyle,\n dialogContent: input.subject ? { component: input.subject, props: input.props } : undefined,\n }));\n }),\n }),\n\n //\n // UpdatePopover\n //\n OperationResolver.make({\n operation: Common.LayoutOperation.UpdatePopover,\n handler: Effect.fnUntraced(function* (input) {\n updateState((state) => ({\n ...state,\n popoverOpen: input.state ?? Boolean(input.subject),\n popoverKind: input.kind ?? 'base',\n popoverTitle: input.kind === 'card' ? input.title : undefined,\n popoverContent:\n typeof input.subject === 'string'\n ? { component: input.subject, props: input.props }\n : input.subject\n ? { subject: input.subject }\n : undefined,\n popoverSide: input.side,\n popoverVariant: input.variant,\n popoverAnchor: input.variant === 'virtual' ? input.anchor : state.popoverAnchor,\n popoverAnchorId: input.variant !== 'virtual' ? input.anchorId : state.popoverAnchorId,\n }));\n }),\n }),\n\n //\n // SwitchWorkspace\n //\n OperationResolver.make({\n operation: Common.LayoutOperation.SwitchWorkspace,\n handler: Effect.fnUntraced(function* (input) {\n updateState((state) => ({\n ...state,\n // TODO(wittjosiah): This is a hack to prevent the previous deck from being set for pinned items.\n // Ideally this should be worked into the data model in a generic way.\n previousWorkspace: !state.workspace.startsWith('!') ? state.workspace : state.previousWorkspace,\n workspace: input.subject,\n active: undefined,\n // Clear history when switching workspaces.\n history: [],\n }));\n }),\n }),\n\n //\n // RevertWorkspace\n //\n OperationResolver.make({\n operation: Common.LayoutOperation.RevertWorkspace,\n handler: Effect.fnUntraced(function* () {\n const state = getState();\n yield* Operation.invoke(Common.LayoutOperation.SwitchWorkspace, {\n subject: state.previousWorkspace,\n });\n }),\n }),\n\n //\n // Open\n //\n OperationResolver.make({\n operation: Common.LayoutOperation.Open,\n handler: Effect.fnUntraced(function* (input) {\n updateState((state) => {\n // Push current active to history if it exists.\n const newHistory = state.active ? [...state.history, state.active] : state.history;\n // Limit history length to prevent memory issues.\n const trimmedHistory =\n newHistory.length > MAX_HISTORY_LENGTH ? newHistory.slice(-MAX_HISTORY_LENGTH) : newHistory;\n return {\n ...state,\n active: input.subject[0],\n history: trimmedHistory,\n };\n });\n }),\n }),\n\n //\n // Close\n //\n OperationResolver.make({\n operation: Common.LayoutOperation.Close,\n handler: Effect.fnUntraced(function* () {\n updateState((state) => {\n // Pop from history if available.\n if (state.history.length > 0) {\n const newHistory = [...state.history];\n const previousActive = newHistory.pop();\n return {\n ...state,\n active: previousActive,\n history: newHistory,\n };\n }\n // No history, just clear active.\n return {\n ...state,\n active: undefined,\n };\n });\n }),\n }),\n\n //\n // Set\n //\n OperationResolver.make({\n operation: Common.LayoutOperation.Set,\n handler: Effect.fnUntraced(function* (input) {\n updateState((state) => ({\n ...state,\n active: input.subject[0],\n }));\n }),\n }),\n ]);\n }),\n);\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["Effect", "Capability", "Common", "Operation", "OperationResolver", "MAX_HISTORY_LENGTH", "Capability", "makeModule", "fnUntraced", "registry", "get", "Common", "AtomRegistry", "stateAtom", "SimpleLayoutStateCapability", "getState", "updateState", "fn", "set", "contributes", "OperationResolver", "make", "operation", "LayoutOperation", "UpdateSidebar", "handler", "void", "UpdateComplementary", "UpdateDialog", "input", "state", "dialogOpen", "Boolean", "subject", "dialogType", "type", "dialogBlockAlign", "blockAlign", "dialogOverlayClasses", "overlayClasses", "dialogOverlayStyle", "overlayStyle", "dialogContent", "component", "props", "undefined", "UpdatePopover", "popoverOpen", "popoverKind", "kind", "popoverTitle", "title", "popoverContent", "popoverSide", "side", "popoverVariant", "variant", "popoverAnchor", "anchor", "popoverAnchorId", "anchorId", "SwitchWorkspace", "previousWorkspace", "workspace", "startsWith", "active", "history", "RevertWorkspace", "Operation", "invoke", "Open", "newHistory", "trimmedHistory", "length", "slice", "Close", "previousActive", "pop", "Set"]
|
|
7
|
+
}
|