@pstdio/ui 0.1.1 → 0.2.0

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/chat-ui.js CHANGED
@@ -4,7 +4,7 @@ import { chakra as je, AbsoluteCenter as ft, IconButton as Ue, defineSlotRecipe
4
4
  import { ArrowDownIcon as St, ShieldX as kt, ShieldCheck as Tt, Square as wt, ArrowUp as Ct, Move as Pt, FileDown as _t, FileUp as Rt, FileDiff as It, Trash2 as Bt, FilePen as At, FileText as Dt, ListTree as vt, Terminal as Ge, File as Ft, Globe as $t, Search as zt, AlertTriangle as Mt, DotIcon as Ot, ChevronUpIcon as Lt, MessageCircleIcon as Et } from "lucide-react";
5
5
  import { StickToBottom as Ye, useStickToBottomContext as Je } from "use-stick-to-bottom";
6
6
  import { useRef as Xe, useEffect as Qe, useState as oe } from "react";
7
- import { f as Re, P as Wt, g as Nt, R as Ze, h as Ht } from "./rich-message-CNDoACE7.js";
7
+ import { f as Re, P as Wt, g as Nt, R as Ze, h as Ht } from "./rich-message-B2gxL8oy.js";
8
8
  import "@lexical/react/LexicalCollaborationContext";
9
9
  import "@lexical/react/LexicalCollaborationPlugin";
10
10
  import "@lexical/react/LexicalComposer";
@@ -0,0 +1,6 @@
1
+ import { ReactNode } from 'react';
2
+ interface SidebarNextFooterProps {
3
+ children?: ReactNode;
4
+ }
5
+ export declare const SidebarNextFooter: (props: SidebarNextFooterProps) => import("react/jsx-runtime").JSX.Element | null;
6
+ export {};
@@ -0,0 +1,7 @@
1
+ import { ReactNode } from 'react';
2
+ interface SidebarNextHeaderProps {
3
+ children?: ReactNode;
4
+ onClose: () => void;
5
+ }
6
+ export declare const SidebarNextHeader: (props: SidebarNextHeaderProps) => import("react/jsx-runtime").JSX.Element;
7
+ export {};
@@ -0,0 +1,2 @@
1
+ import { SidebarNextProps } from './sidebar-next.types';
2
+ export declare const SidebarNext: (props: SidebarNextProps) => import("react/jsx-runtime").JSX.Element | null;
@@ -0,0 +1,47 @@
1
+ interface SidebarNextSnapshot {
2
+ open: boolean;
3
+ expandedSections: string[];
4
+ expandedNodes: string[];
5
+ }
6
+ interface SidebarNextState extends SidebarNextSnapshot {
7
+ openSidebar: () => void;
8
+ closeSidebar: () => void;
9
+ toggleSidebar: () => void;
10
+ toggleSection: (sectionId: string) => void;
11
+ toggleNode: (nodeId: string) => void;
12
+ setSectionExpanded: (sectionId: string, expanded: boolean) => void;
13
+ setNodeExpanded: (nodeId: string, expanded: boolean) => void;
14
+ reset: () => void;
15
+ }
16
+ interface CreateSidebarNextStoreOptions {
17
+ storageKey: string;
18
+ initialState?: Partial<SidebarNextSnapshot>;
19
+ }
20
+ export declare const createSidebarNextStore: (options: CreateSidebarNextStoreOptions) => Omit<import('zustand').StoreApi<SidebarNextState>, "setState" | "persist"> & {
21
+ setState(partial: SidebarNextState | Partial<SidebarNextState> | ((state: SidebarNextState) => SidebarNextState | Partial<SidebarNextState>), replace?: false | undefined): unknown;
22
+ setState(state: SidebarNextState | ((state: SidebarNextState) => SidebarNextState), replace: true): unknown;
23
+ persist: {
24
+ setOptions: (options: Partial<import('zustand/middleware').PersistOptions<SidebarNextState, unknown, unknown>>) => void;
25
+ clearStorage: () => void;
26
+ rehydrate: () => Promise<void> | void;
27
+ hasHydrated: () => boolean;
28
+ onHydrate: (fn: (state: SidebarNextState) => void) => () => void;
29
+ onFinishHydration: (fn: (state: SidebarNextState) => void) => () => void;
30
+ getOptions: () => Partial<import('zustand/middleware').PersistOptions<SidebarNextState, unknown, unknown>>;
31
+ };
32
+ };
33
+ export declare const getSidebarNextStore: (storageKey: string) => Omit<import('zustand').StoreApi<SidebarNextState>, "setState" | "persist"> & {
34
+ setState(partial: SidebarNextState | Partial<SidebarNextState> | ((state: SidebarNextState) => SidebarNextState | Partial<SidebarNextState>), replace?: false | undefined): unknown;
35
+ setState(state: SidebarNextState | ((state: SidebarNextState) => SidebarNextState), replace: true): unknown;
36
+ persist: {
37
+ setOptions: (options: Partial<import('zustand/middleware').PersistOptions<SidebarNextState, unknown, unknown>>) => void;
38
+ clearStorage: () => void;
39
+ rehydrate: () => Promise<void> | void;
40
+ hasHydrated: () => boolean;
41
+ onHydrate: (fn: (state: SidebarNextState) => void) => () => void;
42
+ onFinishHydration: (fn: (state: SidebarNextState) => void) => () => void;
43
+ getOptions: () => Partial<import('zustand/middleware').PersistOptions<SidebarNextState, unknown, unknown>>;
44
+ };
45
+ };
46
+ export declare const useSidebarNextStore: <T>(storageKey: string, selector: (state: SidebarNextState) => T) => T;
47
+ export {};
@@ -0,0 +1,10 @@
1
+ import { Meta, StoryObj } from '@storybook/react';
2
+ import { SidebarNext } from './sidebar-next';
3
+ declare const meta: Meta<typeof SidebarNext>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof SidebarNext>;
6
+ export declare const DefaultDocsTree: Story;
7
+ export declare const HeaderAndFooterLayout: Story;
8
+ export declare const HiddenWithExternalReopen: Story;
9
+ export declare const PersistenceRestore: Story;
10
+ export declare const NamespaceIsolation: Story;
@@ -0,0 +1,13 @@
1
+ import { ReactNode } from 'react';
2
+ import { SidebarNavigateEvent, SidebarSection } from '../sidebar-tree/sidebar-tree.types';
3
+ export interface SidebarNextProps {
4
+ storageKey: string;
5
+ sections: SidebarSection[];
6
+ activeNodeId?: string | null;
7
+ header?: ReactNode;
8
+ footer?: ReactNode;
9
+ width?: string | number;
10
+ emptyLabel?: string;
11
+ onNavigate?: (event: SidebarNavigateEvent) => void;
12
+ onOpenChange?: (open: boolean) => void;
13
+ }
@@ -0,0 +1,12 @@
1
+ import { SidebarNavigateEvent, SidebarSection } from './sidebar-tree.types';
2
+ interface SidebarTreeProps {
3
+ sections: SidebarSection[];
4
+ expandedSections: string[];
5
+ expandedNodes: string[];
6
+ activeNodeId?: string | null;
7
+ onNavigate?: (event: SidebarNavigateEvent) => void;
8
+ onToggleSection: (sectionId: string) => void;
9
+ onToggleNode: (nodeId: string) => void;
10
+ }
11
+ export declare const SidebarTree: (props: SidebarTreeProps) => import("react/jsx-runtime").JSX.Element;
12
+ export {};
@@ -0,0 +1,13 @@
1
+ import { Meta, StoryObj } from '@storybook/react';
2
+ import { SidebarTree } from './sidebar-tree';
3
+ declare const meta: Meta<typeof SidebarTree>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof SidebarTree>;
6
+ export declare const DefaultDocsTree: Story;
7
+ export declare const NodeBehavior: Story;
8
+ export declare const DisabledRows: Story;
9
+ export declare const RowActionsWithMenu: Story;
10
+ export declare const DeepNesting: Story;
11
+ export declare const LongItemNames: Story;
12
+ export declare const EmptySection: Story;
13
+ export declare const ContainerLabelTogglesExpansion: Story;
@@ -0,0 +1,46 @@
1
+ import { ReactNode } from 'react';
2
+ export interface SidebarNavigationIntent {
3
+ id?: string;
4
+ payload?: unknown;
5
+ }
6
+ export interface SidebarActionContext {
7
+ sectionId: string;
8
+ nodeId?: string;
9
+ }
10
+ export interface SidebarActionMenuItem {
11
+ id: string;
12
+ label: string;
13
+ icon?: ReactNode;
14
+ onAction?: () => void;
15
+ }
16
+ export interface SidebarAction {
17
+ id: string;
18
+ label: string;
19
+ icon?: ReactNode;
20
+ menuItems?: SidebarActionMenuItem[];
21
+ onAction?: (context: SidebarActionContext) => void;
22
+ }
23
+ export interface SidebarNode {
24
+ id: string;
25
+ label: string;
26
+ description?: string;
27
+ icon?: ReactNode;
28
+ disabled?: boolean;
29
+ isNavigable?: boolean;
30
+ navigationIntent?: SidebarNavigationIntent;
31
+ actions?: SidebarAction[];
32
+ children?: SidebarNode[];
33
+ }
34
+ export interface SidebarSection {
35
+ id: string;
36
+ label?: string;
37
+ actions?: SidebarAction[];
38
+ emptyState?: ReactNode;
39
+ nodes: SidebarNode[];
40
+ }
41
+ export interface SidebarNavigateEvent {
42
+ sectionId: string;
43
+ nodeId: string;
44
+ node: SidebarNode;
45
+ intent?: SidebarNavigationIntent;
46
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"empty-state-B8mbv7ZH.js","sources":["../src/components/diff-bubble.tsx","../src/components/code-editor.tsx","../src/components/diff-editor.tsx","../src/components/empty-state.tsx"],"sourcesContent":["import { Span } from \"@chakra-ui/react\";\nimport type React from \"react\";\nimport type { ComponentProps, MouseEvent } from \"react\";\n\ninterface DiffBubbleProps extends Omit<ComponentProps<typeof Span>, \"onClick\"> {\n fileName?: string;\n additions: number;\n deletions: number;\n label?: React.ReactNode;\n variant?: \"outline\" | \"ghost\";\n size?: \"default\" | \"small\";\n onClick?: (event: MouseEvent<HTMLSpanElement>) => void;\n onClickFileLink?: () => void;\n}\n\nexport const DiffBubble = (props: DiffBubbleProps) => {\n const {\n fileName,\n additions,\n deletions,\n label,\n variant = \"outline\",\n size = \"default\",\n onClick,\n onClickFileLink,\n } = props;\n\n const isSmall = size === \"small\";\n\n return (\n <Span\n display=\"inline-flex\"\n alignItems=\"center\"\n gap={\"2xs\"}\n border={variant === \"outline\" ? \"1px solid\" : \"none\"}\n borderColor=\"border.muted\"\n color=\"fg.muted\"\n paddingX={variant === \"outline\" ? (isSmall ? \"3xs\" : \"2xs\") : \"2px\"}\n paddingY=\"1px\"\n borderRadius=\"xs\"\n textStyle={isSmall ? \"label/S/regular\" : undefined}\n cursor={onClick ? \"pointer\" : \"default\"}\n onClick={onClick}\n _hover={{\n background: \"bg.muted\",\n }}\n >\n {label}\n {fileName && (\n <Span\n display=\"inline-block\"\n maxW=\"24ch\"\n truncate\n mr=\"xs\"\n title={fileName}\n onClick={(e) => {\n e.stopPropagation();\n onClickFileLink?.();\n }}\n cursor={onClickFileLink ? \"pointer\" : \"default\"}\n _hover={{\n textDecoration: onClickFileLink ? \"underline\" : \"none\",\n color: onClickFileLink ? \"fg.blue-dark\" : \"fg.muted\",\n }}\n >\n {fileName}\n </Span>\n )}\n <Span color=\"fg.success\">{`+${additions}`}</Span>\n <Span color=\"fg.error\">{`-${deletions}`}</Span>\n </Span>\n );\n};\n","import { DiffEditor, Editor } from \"@monaco-editor/react\";\n\nexport const customTheme = {\n base: \"vs-dark\" as const,\n inherit: true,\n rules: [],\n colors: {\n \"editor.background\": \"#0a0d15\",\n \"editor.foreground\": \"#f5f5f5\",\n \"editor.lineHighlightBackground\": \"#22252C\",\n \"editorCursor.foreground\": \"#A7A7A7\",\n \"editorWhitespace.foreground\": \"#3B3B3B\",\n \"editorIndentGuide.background\": \"#404040\",\n \"editorIndentGuide.activeBackground\": \"#707070\",\n },\n};\n\ninterface CodeEditorProps {\n language: string;\n defaultCode?: string;\n code?: string;\n isEditable: boolean;\n showLineNumbers?: boolean;\n onChange?: (code: string) => void;\n disableScroll?: boolean;\n}\n\nexport const CodeEditor = (props: CodeEditorProps) => {\n const { defaultCode, code, showLineNumbers, isEditable, language = \"javascript\", onChange, disableScroll } = props;\n\n const options = {\n tabSize: 2,\n minimap: {\n enabled: false,\n },\n fontSize: 12,\n readOnly: !isEditable,\n lineNumbers: showLineNumbers ? \"on\" : \"off\",\n ...(disableScroll\n ? {\n scrollbar: {\n vertical: \"hidden\" as const,\n horizontal: \"hidden\" as const,\n useShadows: false,\n alwaysConsumeMouseWheel: false,\n },\n scrollBeyondLastLine: false,\n mouseWheelScrollSensitivity: 0,\n overviewRulerLanes: 0,\n }\n : {}),\n } as const;\n\n return (\n <Editor\n width=\"100%\"\n height=\"100%\"\n language={language}\n defaultValue={defaultCode}\n value={code}\n theme={\"ps-theme\"}\n options={options}\n onChange={(value) => {\n onChange?.(value || \"\");\n }}\n beforeMount={(monaco) => {\n monaco.editor.defineTheme(\"ps-theme\", customTheme);\n }}\n onMount={async (editor, monaco) => {\n monaco.editor.setTheme(\"ps-theme\");\n\n // Add JSX support\n monaco.languages.typescript.typescriptDefaults.setCompilerOptions({\n jsx: monaco.languages.typescript.JsxEmit.React,\n });\n\n // Format on cmd+s\n editor.addCommand(monaco.KeyMod.CtrlCmd | monaco.KeyCode.KeyS, async () => {\n await editor.getAction(\"editor.action.formatDocument\")?.run();\n });\n\n // Run format on the initial value\n await editor.getAction(\"editor.action.formatDocument\")?.run();\n }}\n />\n );\n};\n\ninterface CodeDiffEditorProps {\n language: string;\n original: string;\n modified: string;\n showLineNumbers?: boolean;\n disableScroll?: boolean;\n}\n\nexport const CodeDiffEditor = (props: CodeDiffEditorProps) => {\n const { original, modified, showLineNumbers, language = \"javascript\", disableScroll } = props;\n\n const options = {\n tabSize: 2,\n minimap: {\n enabled: false,\n },\n fontSize: 12,\n readOnly: true,\n originalEditable: false,\n renderSideBySide: true,\n useInlineViewWhenSpaceIsTooSmall: true,\n lineNumbers: showLineNumbers ? \"on\" : \"off\",\n ...(disableScroll\n ? {\n scrollbar: {\n vertical: \"hidden\" as const,\n horizontal: \"hidden\" as const,\n useShadows: false,\n alwaysConsumeMouseWheel: false,\n },\n scrollBeyondLastLine: false,\n mouseWheelScrollSensitivity: 0,\n overviewRulerLanes: 0,\n }\n : {}),\n } as const;\n\n return (\n <DiffEditor\n width=\"100%\"\n height=\"100%\"\n language={language}\n original={original}\n modified={modified}\n theme={\"ps-theme\"}\n options={options}\n beforeMount={(monaco) => {\n monaco.editor.defineTheme(\"ps-theme\", customTheme);\n }}\n onMount={(_, monaco) => {\n monaco.editor.setTheme(\"ps-theme\");\n\n monaco.languages.typescript.typescriptDefaults.setCompilerOptions({\n jsx: monaco.languages.typescript.JsxEmit.React,\n });\n }}\n />\n );\n};\n","import { DiffEditor as MonacoDiffEditor } from \"@monaco-editor/react\";\nimport { useMemo } from \"react\";\nimport { customTheme } from \"./code-editor\";\n\ninterface DiffEditorProps {\n original: string;\n modified: string;\n language?: string;\n sideBySide?: boolean;\n disableScroll?: boolean;\n}\n\nexport function DiffEditor(props: DiffEditorProps) {\n const { original, modified, language = \"plaintext\", sideBySide = false, disableScroll = true } = props;\n\n const options = useMemo(() => {\n return {\n renderSideBySide: sideBySide,\n readOnly: true,\n fontSize: 11,\n minimap: { enabled: false },\n wordWrap: \"on\" as const,\n scrollBeyondLastLine: false,\n ...(disableScroll\n ? {\n scrollbar: {\n vertical: \"hidden\" as const,\n horizontal: \"hidden\" as const,\n useShadows: false,\n alwaysConsumeMouseWheel: false,\n },\n overviewRulerLanes: 0,\n }\n : {}),\n } as const;\n }, [sideBySide, disableScroll]);\n\n return (\n <MonacoDiffEditor\n width=\"100%\"\n height=\"100%\"\n original={original}\n modified={modified}\n language={language}\n theme=\"ps-theme\"\n options={options}\n beforeMount={(monaco) => {\n monaco.editor.defineTheme(\"ps-theme\", customTheme);\n }}\n onMount={(_editor, monaco) => {\n monaco.editor.setTheme(\"ps-theme\");\n }}\n />\n );\n}\n","import { EmptyState as ChakraEmptyState, VStack } from \"@chakra-ui/react\";\nimport * as React from \"react\";\n\nexport interface EmptyStateProps extends ChakraEmptyState.RootProps {\n title: string;\n description?: string;\n icon?: React.ReactNode;\n}\n\nexport const EmptyState = React.forwardRef<HTMLDivElement, EmptyStateProps>(function EmptyState(props, ref) {\n const { title, description, icon, children, ...rest } = props;\n return (\n <ChakraEmptyState.Root ref={ref} {...rest}>\n <ChakraEmptyState.Content>\n {icon && <ChakraEmptyState.Indicator>{icon}</ChakraEmptyState.Indicator>}\n {description ? (\n <VStack textAlign=\"center\">\n <ChakraEmptyState.Title fontWeight=\"normal\">{title}</ChakraEmptyState.Title>\n <ChakraEmptyState.Description>{description}</ChakraEmptyState.Description>\n </VStack>\n ) : (\n <ChakraEmptyState.Title fontWeight=\"normal\">{title}</ChakraEmptyState.Title>\n )}\n {children}\n </ChakraEmptyState.Content>\n </ChakraEmptyState.Root>\n );\n});\n"],"names":["DiffBubble","props","$","_c","fileName","additions","deletions","label","variant","t0","size","t1","onClick","onClickFileLink","undefined","isSmall","t2","t3","t4","t5","t6","Symbol","for","background","t7","jsx","Span","e","stopPropagation","textDecoration","color","t8","t9","t10","t11","t12","customTheme","base","inherit","rules","colors","DiffEditor","original","modified","language","sideBySide","disableScroll","enabled","scrollbar","vertical","horizontal","useShadows","alwaysConsumeMouseWheel","overviewRulerLanes","renderSideBySide","readOnly","fontSize","minimap","wordWrap","scrollBeyondLastLine","options","MonacoDiffEditor","_temp","_temp2","_editor","monaco_0","monaco","editor","setTheme","defineTheme","EmptyState","React","forwardRef","ref","children","description","icon","rest","title","ChakraEmptyState","jsxs","VStack"],"mappings":"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"}
1
+ {"version":3,"file":"empty-state-B8mbv7ZH.js","sources":["../src/components/diff-bubble.tsx","../src/components/code-editor.tsx","../src/components/diff-editor.tsx","../src/components/empty-state.tsx"],"sourcesContent":["import { Span } from \"@chakra-ui/react\";\nimport type React from \"react\";\nimport type { ComponentProps, MouseEvent } from \"react\";\n\ninterface DiffBubbleProps extends Omit<ComponentProps<typeof Span>, \"onClick\"> {\n fileName?: string;\n additions: number;\n deletions: number;\n label?: React.ReactNode;\n variant?: \"outline\" | \"ghost\";\n size?: \"default\" | \"small\";\n onClick?: (event: MouseEvent<HTMLSpanElement>) => void;\n onClickFileLink?: () => void;\n}\n\nexport const DiffBubble = (props: DiffBubbleProps) => {\n const {\n fileName,\n additions,\n deletions,\n label,\n variant = \"outline\",\n size = \"default\",\n onClick,\n onClickFileLink,\n } = props;\n\n const isSmall = size === \"small\";\n\n return (\n <Span\n display=\"inline-flex\"\n alignItems=\"center\"\n gap={\"2xs\"}\n border={variant === \"outline\" ? \"1px solid\" : \"none\"}\n borderColor=\"border.muted\"\n color=\"fg.muted\"\n paddingX={variant === \"outline\" ? (isSmall ? \"3xs\" : \"2xs\") : \"2px\"}\n paddingY=\"1px\"\n borderRadius=\"xs\"\n textStyle={isSmall ? \"label/S/regular\" : undefined}\n cursor={onClick ? \"pointer\" : \"default\"}\n onClick={onClick}\n _hover={{\n background: \"bg.muted\",\n }}\n >\n {label}\n {fileName && (\n <Span\n display=\"inline-block\"\n maxW=\"24ch\"\n truncate\n mr=\"xs\"\n title={fileName}\n onClick={(e) => {\n e.stopPropagation();\n onClickFileLink?.();\n }}\n cursor={onClickFileLink ? \"pointer\" : \"default\"}\n _hover={{\n textDecoration: onClickFileLink ? \"underline\" : \"none\",\n color: onClickFileLink ? \"fg.blue-dark\" : \"fg.muted\",\n }}\n >\n {fileName}\n </Span>\n )}\n <Span color=\"fg.success\">{`+${additions}`}</Span>\n <Span color=\"fg.error\">{`-${deletions}`}</Span>\n </Span>\n );\n};\n","import { DiffEditor, Editor } from \"@monaco-editor/react\";\n\nexport const customTheme = {\n base: \"vs-dark\" as const,\n inherit: true,\n rules: [],\n colors: {\n \"editor.background\": \"#0a0d15\",\n \"editor.foreground\": \"#f5f5f5\",\n \"editor.lineHighlightBackground\": \"#22252C\",\n \"editorCursor.foreground\": \"#A7A7A7\",\n \"editorWhitespace.foreground\": \"#3B3B3B\",\n \"editorIndentGuide.background\": \"#404040\",\n \"editorIndentGuide.activeBackground\": \"#707070\",\n },\n};\n\ninterface CodeEditorProps {\n language: string;\n defaultCode?: string;\n code?: string;\n isEditable: boolean;\n showLineNumbers?: boolean;\n onChange?: (code: string) => void;\n disableScroll?: boolean;\n}\n\nexport const CodeEditor = (props: CodeEditorProps) => {\n const { defaultCode, code, showLineNumbers, isEditable, language = \"javascript\", onChange, disableScroll } = props;\n\n const options = {\n tabSize: 2,\n minimap: {\n enabled: false,\n },\n fontSize: 12,\n readOnly: !isEditable,\n lineNumbers: showLineNumbers ? \"on\" : \"off\",\n ...(disableScroll\n ? {\n scrollbar: {\n vertical: \"hidden\" as const,\n horizontal: \"hidden\" as const,\n useShadows: false,\n alwaysConsumeMouseWheel: false,\n },\n scrollBeyondLastLine: false,\n mouseWheelScrollSensitivity: 0,\n overviewRulerLanes: 0,\n }\n : {}),\n } as const;\n\n return (\n <Editor\n width=\"100%\"\n height=\"100%\"\n language={language}\n defaultValue={defaultCode}\n value={code}\n theme={\"ps-theme\"}\n options={options}\n onChange={(value) => {\n onChange?.(value || \"\");\n }}\n beforeMount={(monaco) => {\n monaco.editor.defineTheme(\"ps-theme\", customTheme);\n }}\n onMount={async (editor, monaco) => {\n monaco.editor.setTheme(\"ps-theme\");\n\n // Add JSX support\n monaco.languages.typescript.typescriptDefaults.setCompilerOptions({\n jsx: monaco.languages.typescript.JsxEmit.React,\n });\n\n // Format on cmd+s\n editor.addCommand(monaco.KeyMod.CtrlCmd | monaco.KeyCode.KeyS, async () => {\n await editor.getAction(\"editor.action.formatDocument\")?.run();\n });\n\n // Run format on the initial value\n await editor.getAction(\"editor.action.formatDocument\")?.run();\n }}\n />\n );\n};\n\ninterface CodeDiffEditorProps {\n language: string;\n original: string;\n modified: string;\n showLineNumbers?: boolean;\n disableScroll?: boolean;\n}\n\nexport const CodeDiffEditor = (props: CodeDiffEditorProps) => {\n const { original, modified, showLineNumbers, language = \"javascript\", disableScroll } = props;\n\n const options = {\n tabSize: 2,\n minimap: {\n enabled: false,\n },\n fontSize: 12,\n readOnly: true,\n originalEditable: false,\n renderSideBySide: true,\n useInlineViewWhenSpaceIsTooSmall: true,\n lineNumbers: showLineNumbers ? \"on\" : \"off\",\n ...(disableScroll\n ? {\n scrollbar: {\n vertical: \"hidden\" as const,\n horizontal: \"hidden\" as const,\n useShadows: false,\n alwaysConsumeMouseWheel: false,\n },\n scrollBeyondLastLine: false,\n mouseWheelScrollSensitivity: 0,\n overviewRulerLanes: 0,\n }\n : {}),\n } as const;\n\n return (\n <DiffEditor\n width=\"100%\"\n height=\"100%\"\n language={language}\n original={original}\n modified={modified}\n theme={\"ps-theme\"}\n options={options}\n beforeMount={(monaco) => {\n monaco.editor.defineTheme(\"ps-theme\", customTheme);\n }}\n onMount={(_, monaco) => {\n monaco.editor.setTheme(\"ps-theme\");\n\n monaco.languages.typescript.typescriptDefaults.setCompilerOptions({\n jsx: monaco.languages.typescript.JsxEmit.React,\n });\n }}\n />\n );\n};\n","import { DiffEditor as MonacoDiffEditor } from \"@monaco-editor/react\";\nimport { customTheme } from \"./code-editor\";\n\ninterface DiffEditorProps {\n original: string;\n modified: string;\n language?: string;\n sideBySide?: boolean;\n disableScroll?: boolean;\n}\n\nexport function DiffEditor(props: DiffEditorProps) {\n const { original, modified, language = \"plaintext\", sideBySide = false, disableScroll = true } = props;\n\n const options = {\n renderSideBySide: sideBySide,\n readOnly: true,\n fontSize: 11,\n minimap: { enabled: false },\n wordWrap: \"on\" as const,\n scrollBeyondLastLine: false,\n ...(disableScroll\n ? {\n scrollbar: {\n vertical: \"hidden\" as const,\n horizontal: \"hidden\" as const,\n useShadows: false,\n alwaysConsumeMouseWheel: false,\n },\n overviewRulerLanes: 0,\n }\n : {}),\n } as const;\n\n return (\n <MonacoDiffEditor\n width=\"100%\"\n height=\"100%\"\n original={original}\n modified={modified}\n language={language}\n theme=\"ps-theme\"\n options={options}\n beforeMount={(monaco) => {\n monaco.editor.defineTheme(\"ps-theme\", customTheme);\n }}\n onMount={(_editor, monaco) => {\n monaco.editor.setTheme(\"ps-theme\");\n }}\n />\n );\n}\n","import { EmptyState as ChakraEmptyState, VStack } from \"@chakra-ui/react\";\nimport * as React from \"react\";\n\nexport interface EmptyStateProps extends ChakraEmptyState.RootProps {\n title: string;\n description?: string;\n icon?: React.ReactNode;\n}\n\nexport const EmptyState = React.forwardRef<HTMLDivElement, EmptyStateProps>(function EmptyState(props, ref) {\n const { title, description, icon, children, ...rest } = props;\n return (\n <ChakraEmptyState.Root ref={ref} {...rest}>\n <ChakraEmptyState.Content>\n {icon && <ChakraEmptyState.Indicator>{icon}</ChakraEmptyState.Indicator>}\n {description ? (\n <VStack textAlign=\"center\">\n <ChakraEmptyState.Title fontWeight=\"normal\">{title}</ChakraEmptyState.Title>\n <ChakraEmptyState.Description>{description}</ChakraEmptyState.Description>\n </VStack>\n ) : (\n <ChakraEmptyState.Title fontWeight=\"normal\">{title}</ChakraEmptyState.Title>\n )}\n {children}\n </ChakraEmptyState.Content>\n </ChakraEmptyState.Root>\n );\n});\n"],"names":["DiffBubble","props","$","_c","fileName","additions","deletions","label","variant","t0","size","t1","onClick","onClickFileLink","undefined","isSmall","t2","t3","t4","t5","t6","Symbol","for","background","t7","jsx","Span","e","stopPropagation","textDecoration","color","t8","t9","t10","t11","t12","customTheme","base","inherit","rules","colors","DiffEditor","original","modified","language","sideBySide","disableScroll","enabled","scrollbar","vertical","horizontal","useShadows","alwaysConsumeMouseWheel","overviewRulerLanes","renderSideBySide","readOnly","fontSize","minimap","wordWrap","scrollBeyondLastLine","options","MonacoDiffEditor","_temp","_temp2","_editor","monaco_0","monaco","editor","setTheme","defineTheme","EmptyState","React","forwardRef","ref","children","description","icon","rest","title","ChakraEmptyState","jsxs","VStack"],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -34,6 +34,11 @@ export { Properties } from './components/properties';
34
34
  export { ScrollArea } from './components/scroll-area';
35
35
  export type { SessionCompletionStatus } from './components/session-indicator';
36
36
  export { SessionIndicator } from './components/session-indicator';
37
+ export { SidebarNext } from './components/sidebar-next/sidebar-next';
38
+ export { useSidebarNextStore } from './components/sidebar-next/sidebar-next.store';
39
+ export type { SidebarNextProps } from './components/sidebar-next/sidebar-next.types';
40
+ export { SidebarTree } from './components/sidebar-tree/sidebar-tree';
41
+ export type { SidebarAction, SidebarActionContext, SidebarActionMenuItem, SidebarNavigateEvent, SidebarNavigationIntent, SidebarNode, SidebarSection, } from './components/sidebar-tree/sidebar-tree.types';
37
42
  export type { SwitchProps } from './components/switch';
38
43
  export { Switch } from './components/switch';
39
44
  export type { TicketBoardColumn, TicketBoardColumnAction, TicketBoardItem } from './components/tickets/ticket-board';