@dxos/plugin-deck 0.7.5-staging.e6154f3 → 0.8.1-main.303c73a
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-OEDK54N2.mjs → chunk-63K74E3J.mjs} +10 -8
- package/dist/lib/browser/chunk-63K74E3J.mjs.map +7 -0
- package/dist/lib/browser/{chunk-J65MNI4S.mjs → chunk-ATPSUXXK.mjs} +6 -6
- package/dist/lib/browser/{chunk-FT33W5CI.mjs → chunk-FYKBOM3C.mjs} +2 -2
- package/dist/lib/browser/chunk-FYKBOM3C.mjs.map +7 -0
- package/dist/lib/browser/{chunk-KANJBSIX.mjs → chunk-YCKJNTKG.mjs} +4 -4
- package/dist/lib/browser/{chunk-KANJBSIX.mjs.map → chunk-YCKJNTKG.mjs.map} +3 -3
- package/dist/lib/browser/index.mjs +4 -4
- package/dist/lib/browser/index.mjs.map +2 -2
- package/dist/lib/browser/{intent-resolver-ZD67BRUI.mjs → intent-resolver-P5BVUQKU.mjs} +3 -3
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/{react-root-2T6BCRK4.mjs → react-root-ZQCTDM4Y.mjs} +5 -5
- package/dist/lib/browser/{react-surface-GFMOJSIA.mjs → react-surface-RG3PVPY3.mjs} +5 -5
- package/dist/lib/browser/{settings-H35U6NHE.mjs → settings-X3P2HKQJ.mjs} +3 -3
- package/dist/lib/browser/{settings-H35U6NHE.mjs.map → settings-X3P2HKQJ.mjs.map} +3 -3
- package/dist/lib/browser/{state-U4SHOPJW.mjs → state-2MOTLKVR.mjs} +2 -2
- package/dist/lib/browser/types.mjs +1 -1
- package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
- package/dist/types/src/capabilities/index.d.ts.map +1 -1
- package/dist/types/src/components/DeckLayout/ActiveNode.d.ts +2 -1
- package/dist/types/src/components/DeckLayout/ActiveNode.d.ts.map +1 -1
- package/dist/types/src/components/DeckLayout/Banner.d.ts +2 -1
- package/dist/types/src/components/DeckLayout/Banner.d.ts.map +1 -1
- package/dist/types/src/components/DeckLayout/ComplementarySidebar.d.ts +2 -1
- package/dist/types/src/components/DeckLayout/ComplementarySidebar.d.ts.map +1 -1
- package/dist/types/src/components/DeckLayout/ContentEmpty.d.ts +2 -1
- package/dist/types/src/components/DeckLayout/ContentEmpty.d.ts.map +1 -1
- package/dist/types/src/components/DeckLayout/DeckLayout.d.ts +2 -1
- package/dist/types/src/components/DeckLayout/DeckLayout.d.ts.map +1 -1
- package/dist/types/src/components/DeckLayout/Fallback.d.ts +2 -1
- package/dist/types/src/components/DeckLayout/Fallback.d.ts.map +1 -1
- package/dist/types/src/components/DeckLayout/Fullscreen.d.ts +2 -1
- package/dist/types/src/components/DeckLayout/Fullscreen.d.ts.map +1 -1
- package/dist/types/src/components/DeckLayout/NodePlankHeading.d.ts +1 -1
- package/dist/types/src/components/DeckLayout/NodePlankHeading.d.ts.map +1 -1
- package/dist/types/src/components/DeckLayout/Plank.d.ts +1 -1
- package/dist/types/src/components/DeckLayout/Plank.d.ts.map +1 -1
- package/dist/types/src/components/DeckLayout/PlankError.d.ts +3 -2
- package/dist/types/src/components/DeckLayout/PlankError.d.ts.map +1 -1
- package/dist/types/src/components/DeckLayout/PlankLoading.d.ts +2 -1
- package/dist/types/src/components/DeckLayout/PlankLoading.d.ts.map +1 -1
- package/dist/types/src/components/DeckLayout/Sidebar.d.ts +2 -1
- package/dist/types/src/components/DeckLayout/Sidebar.d.ts.map +1 -1
- package/dist/types/src/components/DeckLayout/SidebarButton.d.ts +4 -3
- package/dist/types/src/components/DeckLayout/SidebarButton.d.ts.map +1 -1
- package/dist/types/src/components/DeckLayout/StatusBar.d.ts +2 -1
- package/dist/types/src/components/DeckLayout/StatusBar.d.ts.map +1 -1
- package/dist/types/src/components/DeckLayout/Toast.d.ts +2 -1
- package/dist/types/src/components/DeckLayout/Toast.d.ts.map +1 -1
- package/dist/types/src/components/DeckLayout/Topbar.d.ts +2 -1
- package/dist/types/src/components/DeckLayout/Topbar.d.ts.map +1 -1
- package/dist/types/src/components/LayoutSettings.d.ts +2 -1
- package/dist/types/src/components/LayoutSettings.d.ts.map +1 -1
- package/dist/types/src/translations.d.ts +1 -1
- package/dist/types/src/types.d.ts +1 -1
- package/package.json +30 -30
- package/src/capabilities/settings.ts +1 -1
- package/src/components/DeckLayout/DeckLayout.tsx +3 -2
- package/src/components/LayoutSettings.tsx +3 -3
- package/src/translations.ts +3 -3
- package/src/types.ts +1 -1
- package/src/util/useHoistStatusbar.ts +4 -4
- package/dist/lib/browser/chunk-FT33W5CI.mjs.map +0 -7
- package/dist/lib/browser/chunk-OEDK54N2.mjs.map +0 -7
- /package/dist/lib/browser/{chunk-J65MNI4S.mjs.map → chunk-ATPSUXXK.mjs.map} +0 -0
- /package/dist/lib/browser/{intent-resolver-ZD67BRUI.mjs.map → intent-resolver-P5BVUQKU.mjs.map} +0 -0
- /package/dist/lib/browser/{react-root-2T6BCRK4.mjs.map → react-root-ZQCTDM4Y.mjs.map} +0 -0
- /package/dist/lib/browser/{react-surface-GFMOJSIA.mjs.map → react-surface-RG3PVPY3.mjs.map} +0 -0
- /package/dist/lib/browser/{state-U4SHOPJW.mjs.map → state-2MOTLKVR.mjs.map} +0 -0
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/components/DeckLayout/Banner.tsx", "../../../src/components/DeckLayout/SidebarButton.tsx", "../../../src/components/DeckLayout/DeckLayout.tsx", "../../../src/components/DeckLayout/ActiveNode.tsx", "../../../src/hooks/useNode.ts", "../../../src/hooks/useNodeActionExpander.ts", "../../../src/hooks/useMainSize.ts", "../../../src/components/DeckLayout/ComplementarySidebar.tsx", "../../../src/components/DeckLayout/PlankError.tsx", "../../../src/components/DeckLayout/NodePlankHeading.tsx", "../../../src/components/DeckLayout/PlankControls.tsx", "../../../src/components/fragments.ts", "../../../src/components/DeckLayout/PlankLoading.tsx", "../../../src/components/DeckLayout/ContentEmpty.tsx", "../../../src/components/DeckLayout/Fullscreen.tsx", "../../../src/components/DeckLayout/Fallback.tsx", "../../../src/components/DeckLayout/constants.ts", "../../../src/components/DeckLayout/Plank.tsx", "../../../src/components/DeckLayout/Sidebar.tsx", "../../../src/components/DeckLayout/StatusBar.tsx", "../../../src/components/DeckLayout/Toast.tsx", "../../../src/components/DeckLayout/Topbar.tsx", "../../../src/components/LayoutSettings.tsx"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport React from 'react';\n\nimport { Surface } from '@dxos/app-framework';\nimport { type ThemedClassName } from '@dxos/react-ui';\nimport { mx } from '@dxos/react-ui-theme';\n\nimport { CloseSidebarButton, ToggleSidebarButton } from './SidebarButton';\n\nexport const Banner = ({ variant, classNames }: ThemedClassName<{ variant?: 'topbar' | 'sidebar' }>) => {\n return (\n <header\n className={mx(\n 'flex items-stretch relative plb-1 pis-1 pie-2',\n variant === 'topbar' &&\n 'fixed inset-inline-0 block-start-[env(safe-area-inset-top)] bs-[--rail-size] border-be border-separator',\n classNames,\n )}\n >\n {variant === 'sidebar' ? <CloseSidebarButton /> : <ToggleSidebarButton />}\n <span className='self-center grow mis-1'>Composer</span>\n {variant === 'topbar' && (\n <div role='none' className='absolute inset-0 pointer-events-none'>\n <div role='none' className='grid bs-full pointer-fine:p-1 max-is-md mli-auto pointer-events-auto'>\n <Surface role='search-input' limit={1} />\n </div>\n </div>\n )}\n <span role='none' className='grow' />\n <Surface role='header-end' limit={1} />\n <Surface role='notch-start' limit={1} />\n </header>\n );\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport React from 'react';\n\nimport { useCapability } from '@dxos/app-framework';\nimport { IconButton, type IconButtonProps, type ThemedClassName, useTranslation } from '@dxos/react-ui';\n\nimport { DeckCapabilities } from '../../capabilities';\nimport { DECK_PLUGIN } from '../../meta';\n\nexport const ToggleSidebarButton = ({\n classNames,\n variant = 'ghost',\n}: ThemedClassName<Pick<IconButtonProps, 'variant'>>) => {\n const layoutContext = useCapability(DeckCapabilities.MutableDeckState);\n const { t } = useTranslation(DECK_PLUGIN);\n return (\n <IconButton\n variant={variant}\n iconOnly\n icon='ph--sidebar--regular'\n size={4}\n label={t('open navigation sidebar label')}\n onClick={() =>\n (layoutContext.sidebarState = layoutContext.sidebarState === 'expanded' ? 'collapsed' : 'expanded')\n }\n classNames={classNames}\n />\n );\n};\n\nexport const CloseSidebarButton = () => {\n const layoutContext = useCapability(DeckCapabilities.MutableDeckState);\n const { t } = useTranslation(DECK_PLUGIN);\n return (\n <IconButton\n variant='ghost'\n iconOnly\n icon='ph--caret-line-left--regular'\n size={4}\n label={t('close navigation sidebar label')}\n onClick={() => (layoutContext.sidebarState = 'collapsed')}\n classNames='rounded-none pli-1 dx-focus-ring-inset pie-[max(.5rem,env(safe-area-inset-left))]'\n />\n );\n};\n\nexport const ToggleComplementarySidebarButton = ({ inR0, classNames }: ThemedClassName<{ inR0?: boolean }>) => {\n const layoutContext = useCapability(DeckCapabilities.MutableDeckState);\n const { t } = useTranslation(DECK_PLUGIN);\n return (\n <IconButton\n iconOnly\n onClick={() =>\n (layoutContext.complementarySidebarState =\n layoutContext.complementarySidebarState === 'expanded' ? 'collapsed' : 'expanded')\n }\n variant='ghost'\n label={t('open complementary sidebar label')}\n classNames={['[&>svg]:-scale-x-100', classNames]}\n icon='ph--sidebar-simple--regular'\n size={inR0 ? 5 : 4}\n tooltipSide={inR0 ? 'left' : undefined}\n />\n );\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { untracked } from '@preact/signals-core';\nimport React, { useCallback, useEffect, useMemo, useRef, type UIEvent, Fragment, useState } from 'react';\n\nimport {\n LayoutAction,\n createIntent,\n Surface,\n useCapability,\n useIntentDispatcher,\n usePluginManager,\n} from '@dxos/app-framework';\nimport { AttentionCapabilities } from '@dxos/plugin-attention';\nimport {\n AlertDialog,\n Dialog as NaturalDialog,\n Main,\n Popover,\n useOnTransition,\n type MainProps,\n useMediaQuery,\n} from '@dxos/react-ui';\nimport { Stack, StackContext, DEFAULT_HORIZONTAL_SIZE } from '@dxos/react-ui-stack';\nimport { mainPaddingTransitions } from '@dxos/react-ui-theme';\n\nimport { ActiveNode } from './ActiveNode';\nimport { ComplementarySidebar } from './ComplementarySidebar';\nimport { ContentEmpty } from './ContentEmpty';\nimport { Fullscreen } from './Fullscreen';\nimport { Plank } from './Plank';\nimport { Sidebar } from './Sidebar';\nimport { ToggleComplementarySidebarButton, ToggleSidebarButton } from './SidebarButton';\nimport { StatusBar } from './StatusBar';\nimport { Toast } from './Toast';\nimport { Topbar } from './Topbar';\nimport { DeckCapabilities } from '../../capabilities';\nimport { getMode, type Overscroll } from '../../types';\nimport { calculateOverscroll, layoutAppliesTopbar, useBreakpoints, useHoistStatusbar } from '../../util';\nimport { fixedComplementarySidebarToggleStyles, fixedSidebarToggleStyles } from '../fragments';\n\nexport type DeckLayoutProps = {\n overscroll: Overscroll;\n showHints: boolean;\n onDismissToast: (id: string) => void;\n};\n\nconst PlankSeparator = ({ index }: { index: number }) =>\n index > 0 ? <span role='separator' className='row-span-2 bg-deck is-4' style={{ gridColumn: index * 2 }} /> : null;\n\nexport const DeckLayout = ({ overscroll, showHints, onDismissToast }: DeckLayoutProps) => {\n const { dispatchPromise: dispatch } = useIntentDispatcher();\n const context = useCapability(DeckCapabilities.MutableDeckState);\n const {\n sidebarState,\n complementarySidebarState,\n complementarySidebarPanel,\n dialogOpen,\n dialogContent,\n dialogBlockAlign,\n dialogType,\n popoverOpen,\n popoverContent,\n popoverAnchorId,\n deck,\n toasts,\n } = context;\n const { active, fullscreen, solo, plankSizing } = deck;\n const breakpoint = useBreakpoints();\n const topbar = layoutAppliesTopbar(breakpoint);\n const hoistStatusbar = useHoistStatusbar(breakpoint);\n const pluginManager = usePluginManager();\n\n const scrollLeftRef = useRef<number | null>();\n const deckRef = useRef<HTMLDivElement>(null);\n\n // TODO(thure): This is a workaround for the difference in `React`ion time between displaying a Popover and rendering\n // the anchor further down the tree. Refactor to use VirtualTrigger or some other approach which does not cause a lag.\n const [delayedPopoverVisibility, setDelayedPopoverVisibility] = useState(false);\n useEffect(() => {\n popoverOpen ? setTimeout(() => setDelayedPopoverVisibility(true), 40) : setDelayedPopoverVisibility(false);\n }, [popoverOpen]);\n\n // Ensure the first plank is attended when the deck is first rendered.\n useEffect(() => {\n // NOTE: Not `useAttended` so that the layout component is not re-rendered when the attended list changes.\n const attended = untracked(() => {\n const attention = pluginManager.context.requestCapability(AttentionCapabilities.Attention);\n return attention.current;\n });\n const firstId = solo ?? active[0];\n if (attended.length === 0 && firstId) {\n // TODO(wittjosiah): Focusing the type button is a workaround.\n // If the plank is directly focused on first load the focus ring appears.\n document.querySelector<HTMLElement>(`article[data-attendable-id=\"${firstId}\"] button`)?.focus();\n }\n }, []);\n\n // Not using `breakpoint` to avoid firing when breakpoint changes between tablet and desktop.\n // `ssr: false` to avoid using fallback values and flashing into solo mode on startup.\n const [isNotMobile] = useMediaQuery('md', { ssr: false });\n const shouldRevert = useRef(false);\n useEffect(() => {\n if (!isNotMobile && getMode(deck) === 'deck') {\n // NOTE: Not `useAttended` so that the layout component is not re-rendered when the attended list changes.\n const attended = untracked(() => {\n const attention = pluginManager.context.requestCapability(AttentionCapabilities.Attention);\n return attention.current;\n });\n\n shouldRevert.current = true;\n void dispatch(\n createIntent(LayoutAction.SetLayoutMode, { part: 'mode', subject: attended[0], options: { mode: 'solo' } }),\n );\n } else if (isNotMobile && getMode(deck) === 'solo' && shouldRevert.current) {\n void dispatch(createIntent(LayoutAction.SetLayoutMode, { part: 'mode', options: { revert: true } }));\n }\n }, [isNotMobile, deck, dispatch]);\n\n /**\n * Clear scroll restoration state if the window is resized\n */\n const handleResize = useCallback(() => {\n scrollLeftRef.current = null;\n }, []);\n\n useEffect(() => {\n window.addEventListener('resize', handleResize);\n return () => window.removeEventListener('resize', handleResize);\n }, [handleResize]);\n\n const restoreScroll = useCallback(() => {\n if (deckRef.current && scrollLeftRef.current != null) {\n deckRef.current.scrollLeft = scrollLeftRef.current;\n }\n }, []);\n\n const layoutMode = getMode(deck);\n useOnTransition(layoutMode, (mode) => mode !== 'deck', 'deck', restoreScroll);\n\n /**\n * Save scroll position as the user scrolls\n */\n const handleScroll = useCallback(\n (event: UIEvent) => {\n if (!solo && event.currentTarget === event.target) {\n scrollLeftRef.current = (event.target as HTMLDivElement).scrollLeft;\n }\n },\n [solo],\n );\n\n const isEmpty = !solo && active.length === 0;\n\n const padding = useMemo(() => {\n if (!solo && overscroll === 'centering') {\n return calculateOverscroll(active.length);\n }\n return {};\n }, [solo, overscroll, deck]);\n\n const mainPosition = useMemo(\n () => [\n 'grid !block-start-[env(safe-area-inset-top)]',\n topbar && '!block-start-[calc(env(safe-area-inset-top)+var(--rail-size))]',\n hoistStatusbar && 'lg:block-end-[--statusbar-size]',\n ],\n [topbar, hoistStatusbar],\n );\n\n const Dialog = dialogType === 'alert' ? AlertDialog : NaturalDialog;\n\n const handlePopoverOpenChange = useCallback(\n (nextOpen: boolean) => {\n if (nextOpen && popoverAnchorId) {\n context.popoverOpen = true;\n } else {\n context.popoverOpen = false;\n context.popoverAnchorId = undefined;\n context.popoverSide = undefined;\n }\n },\n [context],\n );\n const handlePopoverClose = useCallback(() => handlePopoverOpenChange(false), [handlePopoverOpenChange]);\n\n return (\n <Popover.Root modal open={!!(popoverAnchorId && delayedPopoverVisibility)} onOpenChange={handlePopoverOpenChange}>\n <ActiveNode />\n\n {fullscreen && <Fullscreen id={solo} />}\n\n {!fullscreen && (\n <Main.Root\n navigationSidebarState={context.sidebarState}\n onNavigationSidebarStateChange={(next) => (context.sidebarState = next)}\n complementarySidebarState={context.complementarySidebarState}\n onComplementarySidebarStateChange={(next) => (context.complementarySidebarState = next)}\n >\n {/* Left sidebar. */}\n <Sidebar />\n\n {/* Right sidebar. */}\n <ComplementarySidebar current={complementarySidebarPanel} />\n\n {/* Dialog overlay to dismiss dialogs. */}\n <Main.Overlay />\n\n {/* No content. */}\n {isEmpty && (\n <Main.Content bounce handlesFocus classNames={mainPosition}>\n <ContentEmpty />\n </Main.Content>\n )}\n\n {/* Solo/deck mode. */}\n {!isEmpty && (\n <Main.Content\n bounce\n classNames={mainPosition}\n handlesFocus\n style={\n {\n '--dx-main-sidebarWidth':\n sidebarState === 'expanded'\n ? 'var(--nav-sidebar-size)'\n : sidebarState === 'collapsed'\n ? 'var(--l0-size)'\n : '0',\n '--dx-main-complementaryWidth':\n complementarySidebarState === 'expanded'\n ? 'var(--complementary-sidebar-size)'\n : complementarySidebarState === 'collapsed'\n ? 'var(--rail-size)'\n : '0',\n '--dx-main-contentFirstWidth': `${plankSizing[active[0] ?? 'never'] ?? DEFAULT_HORIZONTAL_SIZE}rem`,\n '--dx-main-contentLastWidth': `${plankSizing[active[(active.length ?? 1) - 1] ?? 'never'] ?? DEFAULT_HORIZONTAL_SIZE}rem`,\n } as MainProps['style']\n }\n >\n <div\n role='none'\n className={!solo ? 'relative bg-deck overflow-hidden' : 'sr-only'}\n {...(solo && { inert: '' })}\n >\n {!topbar && <ToggleSidebarButton classNames={fixedSidebarToggleStyles} />}\n {!topbar && <ToggleComplementarySidebarButton classNames={fixedComplementarySidebarToggleStyles} />}\n <Stack\n orientation='horizontal'\n size='contain'\n classNames={['absolute inset-block-0 -inset-inline-px', mainPaddingTransitions]}\n onScroll={handleScroll}\n itemsCount={2 * (active.length ?? 0) - 1}\n style={padding}\n ref={deckRef}\n >\n {active.map((entryId, index) => (\n <Fragment key={entryId}>\n <PlankSeparator index={index} />\n <Plank id={entryId} part='deck' order={index * 2 + 1} active={active} layoutMode={layoutMode} />\n </Fragment>\n ))}\n </Stack>\n </div>\n <div\n role='none'\n className={solo ? 'relative bg-deck overflow-hidden' : 'sr-only'}\n {...(!solo && { inert: '' })}\n >\n {!topbar && <ToggleSidebarButton classNames={fixedSidebarToggleStyles} />}\n {!topbar && <ToggleComplementarySidebarButton classNames={fixedComplementarySidebarToggleStyles} />}\n <StackContext.Provider value={{ size: 'contain', orientation: 'horizontal', rail: true }}>\n <Plank id={solo} part='solo' layoutMode={layoutMode} />\n </StackContext.Provider>\n </div>\n </Main.Content>\n )}\n\n {/* Status bar. */}\n {topbar && <Topbar />}\n {hoistStatusbar && <StatusBar showHints={showHints} />}\n </Main.Root>\n )}\n\n {/* Global popovers. */}\n <Popover.Portal>\n <Popover.Content side={context.popoverSide} onEscapeKeyDown={handlePopoverClose}>\n <Popover.Viewport>\n <Surface role='popover' data={popoverContent} limit={1} />\n </Popover.Viewport>\n <Popover.Arrow />\n </Popover.Content>\n </Popover.Portal>\n\n {/* Global dialog. */}\n {/* TODO(thure): End block alignment affecting `modal` and whether the surface renders in an overlay is tailored\n to the needs of the ambient chat dialog. As the feature matures, consider separating concerns. */}\n <Dialog.Root\n modal={dialogBlockAlign !== 'end'}\n open={dialogOpen}\n onOpenChange={(nextOpen) => (context.dialogOpen = nextOpen)}\n >\n {dialogBlockAlign === 'end' ? (\n <Surface role='dialog' data={dialogContent} limit={1} />\n ) : (\n <Dialog.Overlay blockAlign={dialogBlockAlign}>\n <Surface role='dialog' data={dialogContent} limit={1} />\n </Dialog.Overlay>\n )}\n </Dialog.Root>\n\n {/* Global toasts. */}\n {toasts?.map((toast) => (\n <Toast\n {...toast}\n key={toast.id}\n onOpenChange={(open) => {\n if (!open) {\n onDismissToast(toast.id);\n }\n\n return open;\n }}\n />\n ))}\n </Popover.Root>\n );\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport React from 'react';\n\nimport { Surface, useAppGraph } from '@dxos/app-framework';\nimport { useAttended } from '@dxos/react-ui-attention';\n\nimport { useNode, useNodeActionExpander } from '../../hooks';\n\n// TODO(burdon): Factor out to effect in plugin set document title.\nexport const ActiveNode = () => {\n const [id] = useAttended();\n const { graph } = useAppGraph();\n const activeNode = useNode(graph, id);\n useNodeActionExpander(activeNode);\n\n return (\n <div role='none' className='sr-only'>\n {/* TODO(wittjosiah): Weird that this is a surface, feel like it's not really render logic.\n Probably this lives in React-land currently in order to access translations? */}\n <Surface role='document-title' data={{ subject: activeNode }} limit={1} />\n </div>\n );\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { useEffect, useState } from 'react';\n\nimport { type Graph, type Node } from '@dxos/plugin-graph';\n\n/**\n * React hook to get a node from the graph.\n *\n * @param graph Graph to find the node in.\n * @param id Id of the node to find.\n * @param timeout Optional timeout in milliseconds to wait for the node to be found.\n * @returns Node if found, undefined otherwise.\n */\n// TODO(wittjosiah): Factor out.\nexport const useNode = <T = any>(graph: Graph, id?: string, timeout?: number): Node<T> | undefined => {\n const [nodeState, setNodeState] = useState<Node<T> | undefined>(id ? graph.findNode(id, false) : undefined);\n\n useEffect(() => {\n if (!id && nodeState) {\n setNodeState(undefined);\n }\n\n if (nodeState?.id === id || !id) {\n return;\n }\n\n // Set timeout did not seem to effectively not block the UI thread.\n const frame = requestAnimationFrame(async () => {\n try {\n const node = await graph.waitForNode(id, timeout);\n if (node) {\n setNodeState(node);\n }\n } catch {\n // TODO(ZaymonFC): This leaves the resolved node in an invalid state in the case of a timeout.\n }\n });\n\n return () => cancelAnimationFrame(frame);\n }, [graph, id, timeout, nodeState?.id]);\n\n return nodeState;\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { useEffect } from 'react';\n\nimport { ACTION_GROUP_TYPE, ACTION_TYPE, getGraph, type Node } from '@dxos/plugin-graph';\n\nconst expandNodeActions = async (node: Node) => {\n const graph = getGraph(node);\n await graph.expand(node, 'outbound', ACTION_GROUP_TYPE);\n await graph.expand(node, 'outbound', ACTION_TYPE);\n};\n\nexport const useNodeActionExpander = (node?: Node) => {\n useEffect(() => {\n if (node) {\n const frame = requestAnimationFrame(() => {\n void expandNodeActions(node);\n });\n return () => cancelAnimationFrame(frame);\n }\n }, [node]);\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { useMainContext } from '@dxos/react-ui';\n\nexport const useMainSize = () => {\n const { navigationSidebarState, complementarySidebarState } = useMainContext('DeckPluginPlank');\n return {\n 'data-sidebar-inline-start-state': navigationSidebarState,\n 'data-sidebar-inline-end-state': complementarySidebarState,\n };\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport React, {\n type PropsWithChildren,\n useCallback,\n useEffect,\n useMemo,\n useState,\n type MouseEvent,\n Fragment,\n} from 'react';\n\nimport {\n createIntent,\n LayoutAction,\n Surface,\n useAppGraph,\n useCapabilities,\n useCapability,\n useIntentDispatcher,\n} from '@dxos/app-framework';\nimport {\n Main,\n useTranslation,\n toLocalizedString,\n IconButton,\n ScrollArea as NaturalScrollArea,\n type Label,\n} from '@dxos/react-ui';\nimport { useAttended } from '@dxos/react-ui-attention';\nimport { Tabs } from '@dxos/react-ui-tabs';\nimport { byPosition } from '@dxos/util';\n\nimport { PlankContentError } from './PlankError';\nimport { PlankLoading } from './PlankLoading';\nimport { ToggleComplementarySidebarButton } from './SidebarButton';\nimport { DeckCapabilities } from '../../capabilities';\nimport { useNode } from '../../hooks';\nimport { DECK_PLUGIN } from '../../meta';\nimport { type Panel } from '../../types';\nimport { layoutAppliesTopbar, useBreakpoints, useHoistStatusbar } from '../../util';\n\nexport type ComplementarySidebarProps = {\n current?: string;\n};\n\nconst label = ['complementary sidebar title', { ns: DECK_PLUGIN }] satisfies Label;\n\nexport const ComplementarySidebar = ({ current }: ComplementarySidebarProps) => {\n const { t } = useTranslation(DECK_PLUGIN);\n const { dispatchPromise: dispatch } = useIntentDispatcher();\n const layout = useCapability(DeckCapabilities.MutableDeckState);\n const attended = useAttended();\n const { graph } = useAppGraph();\n const node = useNode(graph, attended[0]);\n const breakpoint = useBreakpoints();\n const topbar = layoutAppliesTopbar(breakpoint);\n const hoistStatusbar = useHoistStatusbar(breakpoint);\n\n const panels = useCapabilities(DeckCapabilities.ComplementaryPanel);\n const availablePanels = panels\n .filter((panel) => {\n if (!node || !panel.filter) {\n return true;\n }\n\n return panel.filter(node);\n })\n .toSorted(byPosition);\n const activePanelId = availablePanels.find((panel) => panel.id === current)?.id ?? availablePanels[0]?.id;\n const [internalValue, setInternalValue] = useState(activePanelId);\n\n useEffect(() => {\n setInternalValue(activePanelId);\n }, [activePanelId]);\n\n const handleTabClick = useCallback(\n (event: MouseEvent) => {\n const nextValue = event.currentTarget.getAttribute('data-value') as string;\n if (nextValue === activePanelId) {\n layout.complementarySidebarState = layout.complementarySidebarState === 'expanded' ? 'collapsed' : 'expanded';\n } else {\n setInternalValue(nextValue);\n layout.complementarySidebarState = 'expanded';\n void dispatch(createIntent(LayoutAction.UpdateComplementary, { part: 'complementary', subject: nextValue }));\n }\n },\n [layout, activePanelId, dispatch],\n );\n\n const data = useMemo(\n () =>\n node && {\n id: node.id,\n subject: node.data,\n workspace: layout.activeDeck,\n popoverAnchorId: layout.popoverAnchorId,\n },\n [node, layout.popoverAnchorId],\n );\n\n // TODO(burdon): Scroll area should be controlled by surface.\n return (\n <Main.ComplementarySidebar\n label={label}\n classNames={[\n topbar && 'block-start-[calc(env(safe-area-inset-top)+var(--rail-size))]',\n hoistStatusbar && 'block-end-[--statusbar-size]',\n ]}\n >\n <Tabs.Root\n orientation='vertical'\n verticalVariant='stateless'\n value={internalValue}\n attendableId={attended[0]}\n classNames='contents'\n >\n <div\n role='none'\n className='absolute z-[1] inset-block-0 inline-end-0 !is-[--r0-size] pbs-[env(safe-area-inset-top)] pbe-[env(safe-area-inset-bottom)] border-is border-separator grid grid-cols-1 grid-rows-[1fr_min-content] bg-baseSurface contain-layout app-drag'\n >\n <Tabs.Tablist classNames='grid grid-cols-1 auto-rows-[--rail-action] p-1 gap-1 !overflow-y-auto'>\n {availablePanels.map((panel) => (\n <Tabs.Tab key={panel.id} value={panel.id} asChild>\n <IconButton\n label={toLocalizedString(panel.label, t)}\n icon={panel.icon}\n size={5}\n iconOnly\n tooltipSide='left'\n data-value={panel.id}\n variant={\n activePanelId === panel.id\n ? layout.complementarySidebarState === 'expanded'\n ? 'primary'\n : 'default'\n : 'ghost'\n }\n onClick={handleTabClick}\n />\n </Tabs.Tab>\n ))}\n </Tabs.Tablist>\n {!hoistStatusbar && (\n <div role='none' className='grid grid-cols-1 auto-rows-[--rail-item] p-1 overflow-y-auto'>\n <Surface role='status-bar--r0-footer' limit={1} />\n </div>\n )}\n <div role='none' className='hidden lg:grid grid-cols-1 auto-rows-[--rail-action] p-1'>\n <ToggleComplementarySidebarButton />\n </div>\n </div>\n {availablePanels.map((panel) => (\n <Tabs.Tabpanel\n key={panel.id}\n value={panel.id}\n classNames='absolute data-[state=\"inactive\"]:-z-[1] inset-block-0 inline-start-0 is-[calc(100%-var(--r0-size))] lg:is-[--r1-size] grid grid-cols-1 grid-rows-[var(--rail-size)_1fr_min-content] pbs-[env(safe-area-inset-top)]'\n {...(layout.complementarySidebarState !== 'expanded' && { inert: 'true' })}\n >\n <ComplementarySidebarPanel\n panel={panel}\n activePanelId={activePanelId}\n data={data}\n hoistStatusbar={hoistStatusbar}\n />\n </Tabs.Tabpanel>\n ))}\n </Tabs.Root>\n </Main.ComplementarySidebar>\n );\n};\n\ntype ComplementarySidebarPanelProps = {\n panel: Panel;\n activePanelId: string;\n data?: {\n id: string;\n subject: any;\n workspace: string;\n popoverAnchorId?: string;\n };\n hoistStatusbar: boolean;\n};\n\nconst ScrollArea = ({ children }: PropsWithChildren) => {\n return (\n <NaturalScrollArea.Root>\n <NaturalScrollArea.Viewport>{children}</NaturalScrollArea.Viewport>\n <NaturalScrollArea.Scrollbar orientation='vertical'>\n <NaturalScrollArea.Thumb />\n </NaturalScrollArea.Scrollbar>\n </NaturalScrollArea.Root>\n );\n};\n\nconst ComplementarySidebarPanel = ({ panel, activePanelId, data, hoistStatusbar }: ComplementarySidebarPanelProps) => {\n const { t } = useTranslation(DECK_PLUGIN);\n\n if (panel.id !== activePanelId || !data) {\n return null;\n }\n\n const Wrapper = panel.fixed ? Fragment : ScrollArea;\n\n return (\n <>\n <h2 className='flex items-center pli-2 border-separator border-be font-medium'>\n {toLocalizedString(panel.label, t)}\n </h2>\n <Wrapper>\n <Surface\n role={`complementary--${activePanelId}`}\n data={data}\n fallback={PlankContentError}\n placeholder={<PlankLoading />}\n />\n </Wrapper>\n {!hoistStatusbar && (\n <div\n role='contentinfo'\n className='flex flex-wrap justify-center items-center border-bs border-separator pbs-1 pbe-[max(env(safe-area-inset-bottom),0.25rem)]'\n >\n <Surface role='status-bar--r1-footer' limit={1} />\n </div>\n )}\n </>\n );\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport React, { useEffect, useState } from 'react';\n\nimport { type Node } from '@dxos/plugin-graph';\nimport { useTranslation } from '@dxos/react-ui';\nimport { descriptionText, mx } from '@dxos/react-ui-theme';\n\nimport { NodePlankHeading, type NodePlankHeadingProps } from './NodePlankHeading';\nimport { PlankLoading } from './PlankLoading';\nimport { DECK_PLUGIN } from '../../meta';\n\nexport const PlankContentError = ({ error }: { error?: Error }) => {\n const { t } = useTranslation(DECK_PLUGIN);\n const errorString = error?.toString() ?? '';\n return (\n <div role='none' className='overflow-auto p-8 attention-surface grid place-items-center'>\n <p\n role='alert'\n className={mx(\n descriptionText,\n 'break-words border border-dashed border-separator rounded-lg p-8',\n errorString.length < 256 && 'text-lg',\n )}\n >\n {error ? errorString : t('error fallback message')}\n </p>\n </div>\n );\n};\n\nexport const PlankError = ({\n id,\n part,\n node,\n error,\n}: {\n id: string;\n part: NodePlankHeadingProps['part'];\n node?: Node;\n error?: Error;\n}) => {\n const [timedOut, setTimedOut] = useState(false);\n useEffect(() => {\n setTimeout(() => setTimedOut(true), 5e3);\n }, []);\n return (\n <>\n <NodePlankHeading id={id} part={part} node={node} pending={!timedOut} />\n {timedOut ? <PlankContentError error={error} /> : <PlankLoading />}\n </>\n );\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport React, { Fragment, memo, useCallback, useEffect, useMemo } from 'react';\n\nimport { createIntent, LayoutAction, Surface, useAppGraph, useIntentDispatcher } from '@dxos/app-framework';\nimport { type Node } from '@dxos/plugin-graph';\nimport { Icon, Popover, toLocalizedString, useTranslation } from '@dxos/react-ui';\nimport { StackItem, type StackItemSigilAction } from '@dxos/react-ui-stack';\nimport { TextTooltip } from '@dxos/react-ui-text-tooltip';\n\nimport { PlankControls } from './PlankControls';\nimport { DECK_PLUGIN } from '../../meta';\nimport { DeckAction, SLUG_PATH_SEPARATOR } from '../../types';\nimport { useBreakpoints } from '../../util';\nimport { soloInlinePadding } from '../fragments';\n\nexport type NodePlankHeadingProps = {\n id: string;\n part: 'solo' | 'deck' | 'complementary';\n node?: Node;\n canIncrementStart?: boolean;\n canIncrementEnd?: boolean;\n popoverAnchorId?: string;\n pending?: boolean;\n actions?: StackItemSigilAction[];\n};\n\nexport const NodePlankHeading = memo(\n ({\n id,\n part,\n node,\n canIncrementStart,\n canIncrementEnd,\n popoverAnchorId,\n pending,\n actions = [],\n }: NodePlankHeadingProps) => {\n const { t } = useTranslation(DECK_PLUGIN);\n const { graph } = useAppGraph();\n const breakpoint = useBreakpoints();\n const icon = node?.properties?.icon ?? 'ph--placeholder--regular';\n const label = pending\n ? t('pending heading')\n : toLocalizedString(node?.properties?.label ?? ['plank heading fallback label', { ns: DECK_PLUGIN }], t);\n const { dispatchPromise: dispatch } = useIntentDispatcher();\n const ActionRoot = node && popoverAnchorId === `dxos.org/ui/${DECK_PLUGIN}/${node.id}` ? Popover.Anchor : Fragment;\n\n useEffect(() => {\n const frame = requestAnimationFrame(() => {\n // Load actions for the node.\n node && graph.actions(node);\n });\n\n return () => cancelAnimationFrame(frame);\n }, [node]);\n\n // NOTE(Zan): Node ids may now contain a path like `${space}:${id}~comments`\n const attendableId = id.split(SLUG_PATH_SEPARATOR).at(0);\n const capabilities = useMemo(\n () => ({\n solo: breakpoint !== 'mobile' && (part === 'solo' || part === 'deck'),\n incrementStart: canIncrementStart,\n incrementEnd: canIncrementEnd,\n }),\n [breakpoint, part, canIncrementStart, canIncrementEnd],\n );\n\n const sigilActions = useMemo(\n () => node && [actions, graph.actions(node)].filter((a) => a.length > 0),\n [actions, node, graph],\n );\n const handleAction = useCallback((action: StackItemSigilAction) => {\n typeof action.data === 'function' && action.data?.({ node: action as Node, caller: DECK_PLUGIN });\n }, []);\n\n const handlePlankAction = useCallback(\n (eventType: DeckAction.PartAdjustment) => {\n if (eventType === 'solo') {\n return dispatch(createIntent(DeckAction.Adjust, { type: eventType, id }));\n } else if (eventType === 'close') {\n if (part === 'complementary') {\n return dispatch(\n createIntent(LayoutAction.UpdateComplementary, {\n part: 'complementary',\n options: { state: 'collapsed' },\n }),\n );\n } else {\n return dispatch(\n createIntent(LayoutAction.Close, { part: 'main', subject: [id], options: { state: false } }),\n );\n }\n } else {\n return dispatch(createIntent(DeckAction.Adjust, { type: eventType, id }));\n }\n },\n [dispatch, id, part],\n );\n\n return (\n <StackItem.Heading\n classNames={[\n 'plb-1 border-be border-separator items-stretch gap-1 sticky inline-start-12 app-drag',\n part === 'solo' ? soloInlinePadding : 'pli-1',\n ]}\n >\n <ActionRoot>\n {node && sigilActions ? (\n <StackItem.Sigil\n icon={icon}\n related={part === 'complementary'}\n attendableId={attendableId}\n triggerLabel={t('actions menu label')}\n actions={sigilActions}\n onAction={handleAction}\n >\n <Surface role='menu-footer' data={{ subject: node.data }} />\n </StackItem.Sigil>\n ) : (\n <StackItem.SigilButton>\n <span className='sr-only'>{label}</span>\n <Icon icon={icon} size={5} />\n </StackItem.SigilButton>\n )}\n </ActionRoot>\n <TextTooltip text={label} onlyWhenTruncating>\n <StackItem.HeadingLabel\n attendableId={attendableId}\n related={part === 'complementary'}\n {...(pending && { classNames: 'text-description' })}\n >\n {label}\n </StackItem.HeadingLabel>\n </TextTooltip>\n {node && part !== 'complementary' && <Surface role='navbar-end' data={{ subject: node.data }} />}\n <PlankControls\n capabilities={capabilities}\n isSolo={part === 'solo'}\n onClick={handlePlankAction}\n close={part === 'complementary' ? 'minify-end' : true}\n />\n </StackItem.Heading>\n );\n },\n);\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport React, { forwardRef } from 'react';\n\nimport {\n Button,\n ButtonGroup,\n type ButtonGroupProps,\n type ButtonProps,\n Icon,\n Tooltip,\n useTranslation,\n} from '@dxos/react-ui';\n\nimport { DECK_PLUGIN } from '../../meta';\nimport { type DeckAction } from '../../types';\n\nexport type PlankControlHandler = (event: DeckAction.PartAdjustment) => void;\n\nexport type PlankCapabilities = {\n incrementStart?: boolean;\n incrementEnd?: boolean;\n solo?: boolean;\n};\n\nexport type PlankControlsProps = Omit<ButtonGroupProps, 'onClick'> & {\n onClick?: PlankControlHandler;\n variant?: 'hide-disabled' | 'default';\n close?: boolean | 'minify-start' | 'minify-end';\n capabilities: PlankCapabilities;\n isSolo?: boolean;\n pin?: 'start' | 'end' | 'both';\n};\n\nconst PlankControl = ({ icon, label, ...props }: Omit<ButtonProps, 'children'> & { label: string; icon: string }) => {\n return (\n <Tooltip.Root>\n <Tooltip.Trigger asChild>\n <Button variant='ghost' {...props}>\n <span className='sr-only'>{label}</span>\n <Icon icon={icon} size={5} />\n </Button>\n </Tooltip.Trigger>\n <Tooltip.Portal>\n <Tooltip.Content side='bottom'>{label}</Tooltip.Content>\n </Tooltip.Portal>\n </Tooltip.Root>\n );\n};\n\n// TODO(wittjosiah): Duplicate of stack LayoutControls?\n// Translations were to be duplicated between packages.\n// NOTE(thure): Pinning & unpinning are disabled indefinitely.\nexport const PlankControls = forwardRef<HTMLDivElement, PlankControlsProps>(\n (\n { onClick, variant = 'default', capabilities: can, isSolo, pin, close = false, children, classNames, ...props },\n forwardedRef,\n ) => {\n const { t } = useTranslation(DECK_PLUGIN);\n const buttonClassNames = variant === 'hide-disabled' ? 'disabled:hidden pli-2 plb-3' : 'pli-2 plb-3';\n\n return (\n <ButtonGroup {...props} classNames={['app-no-drag', classNames]} ref={forwardedRef}>\n {/* {pin && !isSolo && ['both', 'start'].includes(pin) && (\n <PlankControl\n label={t('pin start label')}\n variant='ghost'\n classNames={buttonClassNames}\n onClick={() => onClick?.('pin-start')}\n icon='ph--caret-line-left--regular'\n />\n )} */}\n\n {can.solo && (\n <PlankControl\n label={isSolo ? t('show deck plank label') : t('show solo plank label')}\n classNames={buttonClassNames}\n onClick={() => onClick?.('solo')}\n icon={isSolo ? 'ph--corners-in--regular' : 'ph--corners-out--regular'}\n />\n )}\n\n {!isSolo && can.solo && (\n <>\n <PlankControl\n label={t('increment start label')}\n disabled={!can.incrementStart}\n classNames={buttonClassNames}\n onClick={() => onClick?.('increment-start')}\n icon='ph--caret-left--regular'\n />\n <PlankControl\n label={t('increment end label')}\n disabled={!can.incrementEnd}\n classNames={buttonClassNames}\n onClick={() => onClick?.('increment-end')}\n icon='ph--caret-right--regular'\n />\n </>\n )}\n\n {/* {pin && !isSolo && ['both', 'end'].includes(pin) && (\n <PlankControl\n label={t('pin end label')}\n classNames={buttonClassNames}\n onClick={() => onClick?.('pin-end')}\n icon='ph--caret-line-right--regular'\n />\n )} */}\n\n {close && !isSolo && (\n <PlankControl\n label={t(`${typeof close === 'string' ? 'minify' : 'close'} label`)}\n classNames={buttonClassNames}\n onClick={() => onClick?.('close')}\n data-testid='plankHeading.close'\n icon={\n close === 'minify-start'\n ? 'ph--caret-line-left--regular'\n : close === 'minify-end'\n ? 'ph--caret-line-right--regular'\n : 'ph--x--regular'\n }\n />\n )}\n {children}\n </ButtonGroup>\n );\n },\n);\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { mx } from '@dxos/react-ui-theme';\n\nexport const soloInlinePadding =\n 'pis-[calc(env(safe-area-inset-left)+.25rem)] pie-[calc(env(safe-area-inset-left)+.25rem)]';\n\nconst sidebarToggleStyles = 'bs-[--rail-item] is-[--rail-item] absolute block-end-2 z-[1] !bg-deck lg:hidden';\n\nexport const fixedSidebarToggleStyles = mx(sidebarToggleStyles, 'inline-start-2');\n\nexport const fixedComplementarySidebarToggleStyles = mx(sidebarToggleStyles, 'inline-end-2');\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 PlankLoading = () => {\n return <div role='none' className='grid place-items-center attention-surface' />;\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport React from 'react';\n\nimport { Surface } from '@dxos/app-framework';\n\nimport { ToggleSidebarButton } from './SidebarButton';\nimport { layoutAppliesTopbar, useBreakpoints } from '../../util';\nimport { fixedSidebarToggleStyles } from '../fragments';\n\nexport const ContentEmpty = () => {\n const breakpoint = useBreakpoints();\n const topbar = layoutAppliesTopbar(breakpoint);\n return (\n <div\n role='none'\n className='grid place-items-center p-8 relative bg-deck'\n data-testid='layoutPlugin.firstRunMessage'\n >\n <Surface role='keyshortcuts' />\n {!topbar && <ToggleSidebarButton variant='default' classNames={fixedSidebarToggleStyles} />}\n </div>\n );\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport React from 'react';\n\nimport { Surface, useAppGraph } from '@dxos/app-framework';\nimport { fixedInsetFlexLayout } from '@dxos/react-ui-theme';\n\nimport { Fallback } from './Fallback';\nimport { SURFACE_PREFIX } from './constants';\nimport { useNode } from '../../hooks';\n\nexport const Fullscreen = ({ id }: { id?: string }) => {\n const { graph } = useAppGraph();\n const fullScreenNode = useNode(graph, id);\n\n return (\n <div role='none' className={fixedInsetFlexLayout}>\n <Surface\n role='main'\n limit={1}\n fallback={Fallback}\n data={{\n subject: fullScreenNode?.data,\n component: id?.startsWith(SURFACE_PREFIX) ? id.slice(SURFACE_PREFIX.length) : undefined,\n }}\n />\n </div>\n );\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport React from 'react';\n\nimport { useTranslation } from '@dxos/react-ui';\nimport { errorText, mx } from '@dxos/react-ui-theme';\n\nimport { DECK_PLUGIN } from '../../meta';\n\nexport const Fallback = () => {\n const { t } = useTranslation(DECK_PLUGIN);\n\n return (\n <div role='none' className='min-bs-screen is-full flex items-center justify-center p-8'>\n <p\n role='alert'\n className={mx(\n errorText,\n 'border border-error-400/50 rounded-lg flex items-center justify-center p-8 font-normal text-lg',\n )}\n >\n {t('plugin error message')}\n </p>\n </div>\n );\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nexport const NAV_ID = 'NavTree';\nexport const SURFACE_PREFIX = 'surface:';\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport React, { type KeyboardEvent, memo, useCallback, useLayoutEffect, useMemo, useRef } from 'react';\n\nimport {\n createIntent,\n LayoutAction,\n Surface,\n useCapability,\n useAppGraph,\n useIntentDispatcher,\n} from '@dxos/app-framework';\nimport { debounce } from '@dxos/async';\nimport { useAttendableAttributes } from '@dxos/react-ui-attention';\nimport { StackItem, railGridHorizontal } from '@dxos/react-ui-stack';\nimport { mainIntrinsicSize, mx } from '@dxos/react-ui-theme';\n\nimport { NodePlankHeading, type NodePlankHeadingProps } from './NodePlankHeading';\nimport { PlankContentError, PlankError } from './PlankError';\nimport { PlankLoading } from './PlankLoading';\nimport { DeckCapabilities } from '../../capabilities';\nimport { useNode, useMainSize } from '../../hooks';\nimport { DeckAction, type LayoutMode } from '../../types';\n\nconst UNKNOWN_ID = 'unknown_id';\n\nexport type PlankProps = {\n id?: string;\n part: NodePlankHeadingProps['part'];\n path?: string[];\n order?: number;\n active?: string[];\n layoutMode: LayoutMode;\n};\n\nexport const Plank = memo(({ id = UNKNOWN_ID, part, path, order, active, layoutMode }: PlankProps) => {\n const { dispatchPromise: dispatch } = useIntentDispatcher();\n const { deck, popoverAnchorId, scrollIntoView } = useCapability(DeckCapabilities.DeckState);\n const { graph } = useAppGraph();\n const node = useNode(graph, id);\n const rootElement = useRef<HTMLDivElement | null>(null);\n const canResize = layoutMode === 'deck';\n const Root = part === 'solo' ? 'article' : StackItem.Root;\n\n const attendableAttrs = useAttendableAttributes(id);\n const index = active ? active.findIndex((entryId) => entryId === id) : 0;\n const length = active?.length ?? 1;\n const canIncrementStart = active && index !== undefined && index > 0 && length !== undefined && length > 1;\n const canIncrementEnd = active && index !== undefined && index < length - 1 && length !== undefined;\n\n const key = id.split('+')[0];\n const size = deck.plankSizing[key] as number | undefined;\n const setSize = useCallback(\n debounce((nextSize: number) => {\n return dispatch(createIntent(DeckAction.UpdatePlankSize, { id: key, size: nextSize }));\n }, 200),\n [dispatch, key],\n );\n\n // TODO(thure): Tabster’s focus group should handle moving focus to Main, but something is blocking it.\n const handleKeyDown = useCallback((event: KeyboardEvent) => {\n if (event.target === event.currentTarget && event.key === 'Escape') {\n rootElement.current?.closest('main')?.focus();\n }\n }, []);\n\n useLayoutEffect(() => {\n if (scrollIntoView === id) {\n // TODO(wittjosiah): When focused on page load, the focus is always visible.\n // Forcing focus to something smaller than the plank prevents large focus ring in the interim.\n const focusable = rootElement.current?.querySelector('button') || rootElement.current;\n focusable?.focus({ preventScroll: true });\n layoutMode === 'deck' && focusable?.scrollIntoView({ behavior: 'smooth', inline: 'center' });\n // Clear the scroll into view state once it has been actioned.\n void dispatch(createIntent(LayoutAction.ScrollIntoView, { part: 'current', subject: undefined }));\n }\n }, [id, scrollIntoView, layoutMode]);\n\n const isSolo = layoutMode === 'solo' && part === 'solo';\n const isAttendable = isSolo || (layoutMode === 'deck' && part === 'deck');\n\n const sizeAttrs = useMainSize();\n\n const data = useMemo(\n () =>\n node && {\n subject: node.data,\n path,\n popoverAnchorId,\n },\n [node, node?.data, path, popoverAnchorId],\n );\n\n // TODO(wittjosiah): Change prop to accept a component.\n const placeholder = useMemo(() => <PlankLoading />, []);\n\n const className = mx(\n 'attention-surface relative',\n isSolo && mainIntrinsicSize,\n isSolo && railGridHorizontal,\n isSolo ? 'grid absolute inset-0' : '!border-separator border-li',\n );\n\n return (\n <Root\n ref={rootElement}\n data-testid='deck.plank'\n tabIndex={0}\n {...(part === 'solo'\n ? ({ ...sizeAttrs, className } as any)\n : {\n item: { id },\n size,\n onSizeChange: setSize,\n classNames: className,\n order,\n role: 'article',\n })}\n {...(isAttendable ? attendableAttrs : {})}\n onKeyDown={handleKeyDown}\n >\n {node ? (\n <>\n <NodePlankHeading\n id={id}\n part={part}\n node={node}\n canIncrementStart={canIncrementStart}\n canIncrementEnd={canIncrementEnd}\n popoverAnchorId={popoverAnchorId}\n />\n <Surface\n key={node.id}\n role='article'\n data={data}\n limit={1}\n fallback={PlankContentError}\n placeholder={placeholder}\n />\n </>\n ) : (\n <PlankError id={id} part={part} />\n )}\n {canResize && <StackItem.ResizeHandle />}\n </Root>\n );\n});\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport React, { useMemo } from 'react';\n\nimport { Surface, useCapability } from '@dxos/app-framework';\nimport { type Label, Main } from '@dxos/react-ui';\n\nimport { DeckCapabilities } from '../../capabilities';\nimport { DECK_PLUGIN } from '../../meta';\nimport { layoutAppliesTopbar, useBreakpoints, useHoistStatusbar } from '../../util';\n\nconst label = ['sidebar title', { ns: DECK_PLUGIN }] satisfies Label;\n\nexport const Sidebar = () => {\n const { popoverAnchorId, activeDeck: current } = useCapability(DeckCapabilities.DeckState);\n const breakpoint = useBreakpoints();\n const topbar = layoutAppliesTopbar(breakpoint);\n const hoistStatusbar = useHoistStatusbar(breakpoint);\n\n const navigationData = useMemo(\n () => ({ popoverAnchorId, topbar, hoistStatusbar, current }),\n [popoverAnchorId, topbar, hoistStatusbar, current],\n );\n\n return (\n <Main.NavigationSidebar\n label={label}\n classNames={[\n 'grid',\n topbar && 'block-start-[calc(env(safe-area-inset-top)+var(--rail-size))]',\n hoistStatusbar && 'block-end-[--statusbar-size]',\n ]}\n >\n <Surface role='navigation' data={navigationData} limit={1} />\n </Main.NavigationSidebar>\n );\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport React from 'react';\n\nimport { Surface } from '@dxos/app-framework';\nimport { useLandmarkMover } from '@dxos/react-ui';\n\nexport const StatusBar = ({ showHints }: { showHints?: boolean }) => {\n const mover = useLandmarkMover(undefined, '3');\n return (\n <div\n role='contentinfo'\n className='fixed block-end-0 inset-inline-0 bs-[--statusbar-size] border-bs border-separator z-[2] flex text-description'\n {...mover}\n >\n {showHints && <Surface role='hints' limit={1} />}\n <Surface role='status-bar' limit={1} />\n </div>\n );\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport React from 'react';\n\nimport { type LayoutAction } from '@dxos/app-framework';\nimport {\n Button,\n Icon,\n Toast as NaturalToast,\n toLocalizedString,\n useTranslation,\n type ToastRootProps,\n} from '@dxos/react-ui';\n\nimport { DECK_PLUGIN } from '../../meta';\n\n// TODO(wittjosiah): Render remaining duration as a progress bar within the toast.\nexport const Toast = ({\n id,\n title,\n description,\n icon,\n duration,\n actionLabel,\n actionAlt,\n closeLabel,\n onAction,\n onOpenChange,\n}: LayoutAction.Toast & Pick<ToastRootProps, 'onOpenChange'>) => {\n const { t } = useTranslation(DECK_PLUGIN);\n\n return (\n <NaturalToast.Root data-testid={id} defaultOpen duration={duration} onOpenChange={onOpenChange}>\n <NaturalToast.Body>\n <NaturalToast.Title classNames='items-center'>\n {icon && <Icon icon={icon} size={5} classNames='inline mr-1' />}\n {title && <span>{toLocalizedString(title, t)}</span>}\n </NaturalToast.Title>\n {description && (\n <NaturalToast.Description>{description && toLocalizedString(description, t)}</NaturalToast.Description>\n )}\n </NaturalToast.Body>\n <NaturalToast.Actions>\n {onAction && actionAlt && actionLabel && (\n <NaturalToast.Action altText={toLocalizedString(actionAlt, t)} asChild>\n <Button data-testid='toast.action' variant='primary' onClick={() => onAction?.()}>\n {toLocalizedString(actionLabel, t)}\n </Button>\n </NaturalToast.Action>\n )}\n {closeLabel && (\n <NaturalToast.Close asChild>\n <Button data-testid='toast.close'>{toLocalizedString(closeLabel, t)}</Button>\n </NaturalToast.Close>\n )}\n </NaturalToast.Actions>\n </NaturalToast.Root>\n );\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport React from 'react';\n\nimport { Banner } from './Banner';\n\nexport const Topbar = () => {\n return <Banner variant='topbar' />;\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport React from 'react';\n\nimport { Input, Select, useTranslation } from '@dxos/react-ui';\nimport { DeprecatedFormContainer, DeprecatedFormInput } from '@dxos/react-ui-form';\n\nimport { DECK_PLUGIN } from '../meta';\nimport {\n type NewPlankPositioning,\n NewPlankPositions,\n type DeckSettingsProps,\n type Overscroll,\n OverscrollOptions,\n} from '../types';\n\nconst isSocket = !!(globalThis as any).__args;\n\nexport const LayoutSettings = ({ settings }: { settings: DeckSettingsProps }) => {\n const { t } = useTranslation(DECK_PLUGIN);\n\n return (\n <DeprecatedFormContainer>\n <DeprecatedFormInput label={t('select new plank positioning label')}>\n <Select.Root\n value={settings.newPlankPositioning ?? 'start'}\n onValueChange={(value) => (settings.newPlankPositioning = value as NewPlankPositioning)}\n >\n <Select.TriggerButton placeholder={t('select new plank positioning placeholder')} />\n <Select.Portal>\n <Select.Content>\n <Select.Viewport>\n {NewPlankPositions.map((position) => (\n <Select.Option key={position} value={position}>\n {t(`settings new plank position ${position} label`)}\n </Select.Option>\n ))}\n </Select.Viewport>\n </Select.Content>\n </Select.Portal>\n </Select.Root>\n </DeprecatedFormInput>\n <DeprecatedFormInput label={t('settings overscroll label')}>\n <Select.Root\n value={settings.overscroll ?? 'none'}\n onValueChange={(value) => (settings.overscroll = value as Overscroll)}\n >\n <Select.TriggerButton placeholder={t('select overscroll placeholder')} />\n <Select.Portal>\n <Select.Content>\n <Select.Viewport>\n {OverscrollOptions.map((option) => (\n <Select.Option key={option} value={option}>\n {t(`settings overscroll ${option} label`)}\n </Select.Option>\n ))}\n </Select.Viewport>\n </Select.Content>\n </Select.Portal>\n </Select.Root>\n </DeprecatedFormInput>\n <DeprecatedFormInput label={t('settings show hints label')}>\n <Input.Switch checked={settings.showHints} onCheckedChange={(checked) => (settings.showHints = checked)} />\n </DeprecatedFormInput>\n {!isSocket && (\n <DeprecatedFormInput label={t('settings native redirect label')}>\n <Input.Switch\n checked={settings.enableNativeRedirect}\n onCheckedChange={(checked) => (settings.enableNativeRedirect = checked)}\n />\n </DeprecatedFormInput>\n )}\n <DeprecatedFormInput label={t('settings enable ide-style statusbar label')}>\n <Input.Switch\n checked={settings.enableIdeStyleStatusbar}\n onCheckedChange={(checked) => (settings.enableIdeStyleStatusbar = checked)}\n />\n </DeprecatedFormInput>\n </DeprecatedFormContainer>\n );\n};\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["React", "Surface", "mx", "React", "useCapability", "IconButton", "useTranslation", "ToggleSidebarButton", "classNames", "variant", "layoutContext", "useCapability", "DeckCapabilities", "MutableDeckState", "t", "useTranslation", "DECK_PLUGIN", "IconButton", "iconOnly", "icon", "size", "label", "onClick", "sidebarState", "CloseSidebarButton", "ToggleComplementarySidebarButton", "inR0", "complementarySidebarState", "tooltipSide", "undefined", "Banner", "variant", "classNames", "React", "header", "className", "mx", "CloseSidebarButton", "ToggleSidebarButton", "span", "div", "role", "Surface", "limit", "untracked", "React", "useCallback", "useEffect", "useMemo", "useRef", "Fragment", "useState", "LayoutAction", "createIntent", "Surface", "useCapability", "useIntentDispatcher", "usePluginManager", "AttentionCapabilities", "AlertDialog", "Dialog", "NaturalDialog", "Main", "Popover", "useOnTransition", "useMediaQuery", "Stack", "StackContext", "DEFAULT_HORIZONTAL_SIZE", "mainPaddingTransitions", "React", "Surface", "useAppGraph", "useAttended", "useEffect", "useState", "useNode", "graph", "id", "timeout", "nodeState", "setNodeState", "useState", "findNode", "undefined", "useEffect", "frame", "requestAnimationFrame", "node", "waitForNode", "cancelAnimationFrame", "useEffect", "ACTION_GROUP_TYPE", "ACTION_TYPE", "getGraph", "expandNodeActions", "node", "graph", "getGraph", "expand", "ACTION_GROUP_TYPE", "ACTION_TYPE", "useNodeActionExpander", "useEffect", "frame", "requestAnimationFrame", "cancelAnimationFrame", "useMainContext", "useMainSize", "navigationSidebarState", "complementarySidebarState", "useMainContext", "ActiveNode", "id", "useAttended", "graph", "useAppGraph", "activeNode", "useNode", "useNodeActionExpander", "React", "div", "role", "className", "Surface", "data", "subject", "limit", "React", "useCallback", "useEffect", "useMemo", "useState", "Fragment", "createIntent", "LayoutAction", "Surface", "useAppGraph", "useCapabilities", "useCapability", "useIntentDispatcher", "Main", "useTranslation", "toLocalizedString", "IconButton", "ScrollArea", "NaturalScrollArea", "useAttended", "Tabs", "byPosition", "React", "useEffect", "useState", "useTranslation", "descriptionText", "mx", "React", "Fragment", "memo", "useCallback", "useEffect", "useMemo", "createIntent", "LayoutAction", "Surface", "useAppGraph", "useIntentDispatcher", "Icon", "Popover", "toLocalizedString", "useTranslation", "StackItem", "TextTooltip", "React", "forwardRef", "Button", "ButtonGroup", "Icon", "Tooltip", "useTranslation", "PlankControl", "icon", "label", "props", "React", "Tooltip", "Root", "Trigger", "asChild", "Button", "variant", "span", "className", "Icon", "size", "Portal", "Content", "side", "PlankControls", "forwardRef", "onClick", "capabilities", "can", "isSolo", "pin", "close", "children", "classNames", "forwardedRef", "t", "useTranslation", "DECK_PLUGIN", "buttonClassNames", "ButtonGroup", "ref", "solo", "disabled", "incrementStart", "incrementEnd", "data-testid", "mx", "soloInlinePadding", "sidebarToggleStyles", "fixedSidebarToggleStyles", "mx", "fixedComplementarySidebarToggleStyles", "NodePlankHeading", "memo", "id", "part", "node", "canIncrementStart", "canIncrementEnd", "popoverAnchorId", "pending", "actions", "t", "useTranslation", "DECK_PLUGIN", "graph", "useAppGraph", "breakpoint", "useBreakpoints", "icon", "properties", "label", "toLocalizedString", "ns", "dispatchPromise", "dispatch", "useIntentDispatcher", "ActionRoot", "Popover", "Anchor", "Fragment", "useEffect", "frame", "requestAnimationFrame", "cancelAnimationFrame", "attendableId", "split", "SLUG_PATH_SEPARATOR", "at", "capabilities", "useMemo", "solo", "incrementStart", "incrementEnd", "sigilActions", "filter", "a", "length", "handleAction", "useCallback", "action", "data", "caller", "handlePlankAction", "eventType", "createIntent", "DeckAction", "Adjust", "type", "LayoutAction", "UpdateComplementary", "options", "state", "Close", "subject", "React", "StackItem", "Heading", "classNames", "soloInlinePadding", "Sigil", "related", "triggerLabel", "onAction", "Surface", "role", "SigilButton", "span", "className", "Icon", "size", "TextTooltip", "text", "onlyWhenTruncating", "HeadingLabel", "PlankControls", "isSolo", "onClick", "close", "React", "PlankLoading", "React", "div", "role", "className", "PlankContentError", "error", "t", "useTranslation", "DECK_PLUGIN", "errorString", "toString", "React", "div", "role", "className", "p", "mx", "descriptionText", "length", "PlankError", "id", "part", "node", "timedOut", "setTimedOut", "useState", "useEffect", "setTimeout", "NodePlankHeading", "pending", "PlankLoading", "label", "ns", "DECK_PLUGIN", "ComplementarySidebar", "current", "t", "useTranslation", "dispatchPromise", "dispatch", "useIntentDispatcher", "layout", "useCapability", "DeckCapabilities", "MutableDeckState", "attended", "useAttended", "graph", "useAppGraph", "node", "useNode", "breakpoint", "useBreakpoints", "topbar", "layoutAppliesTopbar", "hoistStatusbar", "useHoistStatusbar", "panels", "useCapabilities", "ComplementaryPanel", "availablePanels", "filter", "panel", "toSorted", "byPosition", "activePanelId", "find", "id", "internalValue", "setInternalValue", "useState", "useEffect", "handleTabClick", "useCallback", "event", "nextValue", "currentTarget", "getAttribute", "complementarySidebarState", "createIntent", "LayoutAction", "UpdateComplementary", "part", "subject", "data", "useMemo", "workspace", "activeDeck", "popoverAnchorId", "React", "Main", "classNames", "Tabs", "Root", "orientation", "verticalVariant", "value", "attendableId", "div", "role", "className", "Tablist", "map", "Tab", "key", "asChild", "IconButton", "toLocalizedString", "icon", "size", "iconOnly", "tooltipSide", "data-value", "variant", "onClick", "Surface", "limit", "ToggleComplementarySidebarButton", "Tabpanel", "inert", "ComplementarySidebarPanel", "ScrollArea", "children", "NaturalScrollArea", "Viewport", "Scrollbar", "Thumb", "Wrapper", "fixed", "Fragment", "h2", "fallback", "PlankContentError", "placeholder", "PlankLoading", "React", "Surface", "ContentEmpty", "breakpoint", "useBreakpoints", "topbar", "layoutAppliesTopbar", "React", "div", "role", "className", "data-testid", "Surface", "ToggleSidebarButton", "variant", "classNames", "fixedSidebarToggleStyles", "React", "Surface", "useAppGraph", "fixedInsetFlexLayout", "React", "useTranslation", "errorText", "mx", "Fallback", "t", "useTranslation", "DECK_PLUGIN", "React", "div", "role", "className", "p", "mx", "errorText", "SURFACE_PREFIX", "Fullscreen", "id", "graph", "useAppGraph", "fullScreenNode", "useNode", "React", "div", "role", "className", "fixedInsetFlexLayout", "Surface", "limit", "fallback", "Fallback", "data", "subject", "component", "startsWith", "SURFACE_PREFIX", "slice", "length", "undefined", "React", "memo", "useCallback", "useLayoutEffect", "useMemo", "useRef", "createIntent", "LayoutAction", "Surface", "useCapability", "useAppGraph", "useIntentDispatcher", "debounce", "useAttendableAttributes", "StackItem", "railGridHorizontal", "mainIntrinsicSize", "mx", "UNKNOWN_ID", "Plank", "memo", "id", "part", "path", "order", "active", "layoutMode", "dispatchPromise", "dispatch", "useIntentDispatcher", "deck", "popoverAnchorId", "scrollIntoView", "useCapability", "DeckCapabilities", "DeckState", "graph", "useAppGraph", "node", "useNode", "rootElement", "useRef", "canResize", "Root", "StackItem", "attendableAttrs", "useAttendableAttributes", "index", "findIndex", "entryId", "length", "canIncrementStart", "undefined", "canIncrementEnd", "key", "split", "size", "plankSizing", "setSize", "useCallback", "debounce", "nextSize", "createIntent", "DeckAction", "UpdatePlankSize", "handleKeyDown", "event", "target", "currentTarget", "current", "closest", "focus", "useLayoutEffect", "focusable", "querySelector", "preventScroll", "behavior", "inline", "LayoutAction", "ScrollIntoView", "subject", "isSolo", "isAttendable", "sizeAttrs", "useMainSize", "data", "useMemo", "placeholder", "React", "PlankLoading", "className", "mx", "mainIntrinsicSize", "railGridHorizontal", "ref", "data-testid", "tabIndex", "item", "onSizeChange", "classNames", "role", "onKeyDown", "NodePlankHeading", "Surface", "limit", "fallback", "PlankContentError", "PlankError", "ResizeHandle", "React", "useMemo", "Surface", "useCapability", "Main", "label", "ns", "DECK_PLUGIN", "Sidebar", "popoverAnchorId", "activeDeck", "current", "useCapability", "DeckCapabilities", "DeckState", "breakpoint", "useBreakpoints", "topbar", "layoutAppliesTopbar", "hoistStatusbar", "useHoistStatusbar", "navigationData", "useMemo", "React", "Main", "NavigationSidebar", "classNames", "Surface", "role", "data", "limit", "React", "Surface", "useLandmarkMover", "StatusBar", "showHints", "mover", "useLandmarkMover", "undefined", "React", "div", "role", "className", "Surface", "limit", "React", "Button", "Icon", "Toast", "NaturalToast", "toLocalizedString", "useTranslation", "Toast", "id", "title", "description", "icon", "duration", "actionLabel", "actionAlt", "closeLabel", "onAction", "onOpenChange", "t", "useTranslation", "DECK_PLUGIN", "React", "NaturalToast", "Root", "data-testid", "defaultOpen", "Body", "Title", "classNames", "Icon", "size", "span", "toLocalizedString", "Description", "Actions", "Action", "altText", "asChild", "Button", "variant", "onClick", "Close", "React", "Topbar", "React", "Banner", "variant", "PlankSeparator", "index", "React", "span", "role", "className", "style", "gridColumn", "DeckLayout", "overscroll", "showHints", "onDismissToast", "dispatchPromise", "dispatch", "useIntentDispatcher", "context", "useCapability", "DeckCapabilities", "MutableDeckState", "sidebarState", "complementarySidebarState", "complementarySidebarPanel", "dialogOpen", "dialogContent", "dialogBlockAlign", "dialogType", "popoverOpen", "popoverContent", "popoverAnchorId", "deck", "toasts", "active", "fullscreen", "solo", "plankSizing", "breakpoint", "useBreakpoints", "topbar", "layoutAppliesTopbar", "hoistStatusbar", "useHoistStatusbar", "pluginManager", "usePluginManager", "scrollLeftRef", "useRef", "deckRef", "delayedPopoverVisibility", "setDelayedPopoverVisibility", "useState", "useEffect", "setTimeout", "attended", "untracked", "attention", "requestCapability", "AttentionCapabilities", "Attention", "current", "firstId", "length", "document", "querySelector", "focus", "isNotMobile", "useMediaQuery", "ssr", "shouldRevert", "getMode", "createIntent", "LayoutAction", "SetLayoutMode", "part", "subject", "options", "mode", "revert", "handleResize", "useCallback", "window", "addEventListener", "removeEventListener", "restoreScroll", "scrollLeft", "layoutMode", "useOnTransition", "handleScroll", "event", "currentTarget", "target", "isEmpty", "padding", "useMemo", "calculateOverscroll", "mainPosition", "Dialog", "AlertDialog", "NaturalDialog", "handlePopoverOpenChange", "nextOpen", "undefined", "popoverSide", "handlePopoverClose", "Popover", "Root", "modal", "open", "onOpenChange", "ActiveNode", "Fullscreen", "id", "Main", "navigationSidebarState", "onNavigationSidebarStateChange", "next", "onComplementarySidebarStateChange", "Sidebar", "ComplementarySidebar", "Overlay", "Content", "bounce", "handlesFocus", "classNames", "ContentEmpty", "DEFAULT_HORIZONTAL_SIZE", "div", "inert", "ToggleSidebarButton", "fixedSidebarToggleStyles", "ToggleComplementarySidebarButton", "fixedComplementarySidebarToggleStyles", "Stack", "orientation", "size", "mainPaddingTransitions", "onScroll", "itemsCount", "ref", "map", "entryId", "Fragment", "key", "Plank", "order", "StackContext", "Provider", "value", "rail", "Topbar", "StatusBar", "Portal", "side", "onEscapeKeyDown", "Viewport", "Surface", "data", "limit", "Arrow", "blockAlign", "toast", "Toast", "React", "Input", "Select", "useTranslation", "DeprecatedFormContainer", "DeprecatedFormInput", "isSocket", "globalThis", "__args", "LayoutSettings", "settings", "t", "useTranslation", "DECK_PLUGIN", "React", "DeprecatedFormContainer", "DeprecatedFormInput", "label", "Select", "Root", "value", "newPlankPositioning", "onValueChange", "TriggerButton", "placeholder", "Portal", "Content", "Viewport", "NewPlankPositions", "map", "position", "Option", "key", "overscroll", "OverscrollOptions", "option", "Input", "Switch", "checked", "showHints", "onCheckedChange", "enableNativeRedirect", "enableIdeStyleStatusbar"]
|
|
7
|
-
}
|
|
File without changes
|
/package/dist/lib/browser/{intent-resolver-ZD67BRUI.mjs.map → intent-resolver-P5BVUQKU.mjs.map}
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|