@pstdio/ui 0.2.1 → 0.2.2
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 +643 -597
- package/dist/chat-ui.js.map +1 -1
- package/dist/components/chat-ui/agent-types.d.ts +1 -0
- package/dist/components/chat-ui/components/ai-conversation.d.ts +21 -579
- package/dist/components/chat-ui/components/ai-conversation.test.d.ts +1 -0
- package/dist/components/chat-ui/components/ai-message.d.ts +8 -8
- package/dist/components/chat-ui/components/message-parts-renderer.stories.d.ts +1 -0
- package/dist/components/chat-ui/components/message-types.d.ts +8 -0
- package/dist/components/menu-item.d.ts +3 -1
- package/dist/components/menu-item.stories.d.ts +1 -1
- package/dist/components/rich-text/rich-message/rich-message.d.ts +1 -0
- package/dist/components/rich-text/shared/plugins/CodePlugin/CodeNode.d.ts +2 -0
- package/dist/components/rich-text/shared/plugins/CodePlugin/CodeNode.test.d.ts +1 -0
- package/dist/components/scroll-area.d.ts +1 -0
- package/dist/components/sidebar-next/sidebar-next.types.d.ts +2 -1
- package/dist/components/sidebar-tree/sidebar-tree.d.ts +2 -1
- package/dist/components/sidebar-tree/sidebar-tree.types.d.ts +9 -1
- package/dist/components/tickets/display-menu.d.ts +15 -0
- package/dist/components/tickets/display-menu.stories.d.ts +6 -0
- package/dist/components/tickets/filter-menu.d.ts +11 -0
- package/dist/components/tickets/filter-menu.stories.d.ts +6 -0
- package/dist/components/tickets/ticket-board.d.ts +7 -0
- package/dist/components/tickets/ticket-grouping.d.ts +22 -0
- package/dist/components/tickets/ticket-grouping.test.d.ts +1 -0
- package/dist/components/tickets/tickets-workspace.d.ts +29 -0
- package/dist/components/tickets/tickets-workspace.stories.d.ts +10 -0
- package/dist/components/tickets/types.d.ts +49 -0
- package/dist/components/tickets/use-workspace-store.d.ts +51 -0
- package/dist/components/tickets/use-workspace-store.test.d.ts +1 -0
- package/dist/index.d.ts +7 -1
- package/dist/index.js +2069 -1206
- package/dist/index.js.map +1 -1
- package/dist/{rich-message-B2gxL8oy.js → rich-message-C0_i-4Ux.js} +323 -308
- package/dist/rich-message-C0_i-4Ux.js.map +1 -0
- package/dist/rich-text.js +2 -2
- package/dist/scroll-area-DZs-GiIp.js +267 -0
- package/dist/scroll-area-DZs-GiIp.js.map +1 -0
- package/dist/style.css +1 -1
- package/package.json +2 -2
- package/dist/empty-state-kQR0gd4j.js +0 -232
- package/dist/empty-state-kQR0gd4j.js.map +0 -1
- package/dist/rich-message-B2gxL8oy.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -5,12 +5,12 @@ declare const recipe: import('@chakra-ui/react').SlotRecipeDefinition<"content"
|
|
|
5
5
|
root: {
|
|
6
6
|
mb: "md";
|
|
7
7
|
flexDirection: "row";
|
|
8
|
-
"& > div": {
|
|
9
|
-
marginLeft: "lg";
|
|
10
|
-
};
|
|
11
8
|
};
|
|
12
9
|
content: {
|
|
13
|
-
|
|
10
|
+
border: "1px solid";
|
|
11
|
+
borderColor: "border.muted";
|
|
12
|
+
bg: "bg.subtle";
|
|
13
|
+
width: "full";
|
|
14
14
|
borderBottomRightRadius: number;
|
|
15
15
|
};
|
|
16
16
|
};
|
|
@@ -19,9 +19,9 @@ declare const recipe: import('@chakra-ui/react').SlotRecipeDefinition<"content"
|
|
|
19
19
|
mb: "md";
|
|
20
20
|
flexDirection: "row";
|
|
21
21
|
justifyContent: "start";
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
22
|
+
};
|
|
23
|
+
content: {
|
|
24
|
+
width: "full";
|
|
25
25
|
};
|
|
26
26
|
};
|
|
27
27
|
developer: {
|
|
@@ -65,7 +65,7 @@ declare const recipe: import('@chakra-ui/react').SlotRecipeDefinition<"content"
|
|
|
65
65
|
shape: {
|
|
66
66
|
rounded: {
|
|
67
67
|
content: {
|
|
68
|
-
rounded: "
|
|
68
|
+
rounded: "xs";
|
|
69
69
|
};
|
|
70
70
|
};
|
|
71
71
|
pill: {
|
|
@@ -4,3 +4,11 @@ export type MessageOrigin = "user" | "assistant" | "developer";
|
|
|
4
4
|
export declare const getMessageOrigin: (role: string) => MessageOrigin;
|
|
5
5
|
export declare const isReasoningToolOnlyMessage: (message: SessionMessage) => boolean;
|
|
6
6
|
export declare const mergeReasoningToolOnlyMessages: (messages: SessionMessage[]) => SessionMessage[];
|
|
7
|
+
export interface MessageGroup {
|
|
8
|
+
userMessage: SessionMessage;
|
|
9
|
+
responses: SessionMessage[];
|
|
10
|
+
}
|
|
11
|
+
export declare const groupMessagesByTurn: (messages: SessionMessage[]) => {
|
|
12
|
+
groups: MessageGroup[];
|
|
13
|
+
leadingResponses: SessionMessage[];
|
|
14
|
+
};
|
|
@@ -9,6 +9,8 @@ type MenuItemVariant = "default" | "compact";
|
|
|
9
9
|
export interface MenuItemProps {
|
|
10
10
|
id?: string;
|
|
11
11
|
children?: ReactNode;
|
|
12
|
+
/** When true, the single child element becomes the root element (e.g. a Link for cmd+click support). */
|
|
13
|
+
asChild?: boolean;
|
|
12
14
|
isDisabled?: boolean;
|
|
13
15
|
isSelected?: boolean;
|
|
14
16
|
primaryLabel: string;
|
|
@@ -36,5 +38,5 @@ export interface MenuItemProps {
|
|
|
36
38
|
onMouseDown?: ChakraMenuItemProps["onMouseDown"];
|
|
37
39
|
onMouseEnter?: ChakraMenuItemProps["onMouseEnter"];
|
|
38
40
|
}
|
|
39
|
-
export declare const MenuItem: (props: MenuItemProps) => import("react/jsx-runtime").JSX.Element;
|
|
41
|
+
export declare const MenuItem: (props: MenuItemProps) => import("react/jsx-runtime").JSX.Element | null;
|
|
40
42
|
export {};
|
|
@@ -4,7 +4,7 @@ type StoryFn = () => ReactNode;
|
|
|
4
4
|
type MenuItemStoryArgs = ComponentProps<typeof MenuItem>;
|
|
5
5
|
declare const meta: {
|
|
6
6
|
title: string;
|
|
7
|
-
component: (props: import('./menu-item').MenuItemProps) => import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
component: (props: import('./menu-item').MenuItemProps) => import("react/jsx-runtime").JSX.Element | null;
|
|
8
8
|
decorators: ((Story: StoryFn) => import("react/jsx-runtime").JSX.Element)[];
|
|
9
9
|
args: {
|
|
10
10
|
id: string;
|
|
@@ -15,5 +15,7 @@ export declare class CodeBlockNode extends DecoratorNode<ReactNode> {
|
|
|
15
15
|
createDOM(): HTMLDivElement;
|
|
16
16
|
updateDOM(): boolean;
|
|
17
17
|
static importJSON(serializedNode: SerializedCodeBlockNode): CodeBlockNode;
|
|
18
|
+
exportJSON(): SerializedCodeBlockNode;
|
|
19
|
+
getTextContent(): string;
|
|
18
20
|
decorate(): import("react/jsx-runtime").JSX.Element;
|
|
19
21
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -4,6 +4,7 @@ type VerticalScrollbarProps = Omit<ChakraScrollArea.ScrollbarProps, "orientation
|
|
|
4
4
|
type HorizontalScrollbarProps = Omit<ChakraScrollArea.ScrollbarProps, "orientation">;
|
|
5
5
|
export interface ScrollAreaProps extends ChakraScrollArea.RootProps {
|
|
6
6
|
viewportRef?: React.Ref<HTMLDivElement>;
|
|
7
|
+
contentRef?: React.Ref<HTMLDivElement>;
|
|
7
8
|
viewportProps?: ChakraScrollArea.ViewportProps;
|
|
8
9
|
contentProps?: ChakraScrollArea.ContentProps;
|
|
9
10
|
verticalScrollbarProps?: VerticalScrollbarProps;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ReactNode } from 'react';
|
|
2
|
-
import { SidebarNavigateEvent, SidebarSection } from '../sidebar-tree/sidebar-tree.types';
|
|
2
|
+
import { SidebarLinkComponent, SidebarNavigateEvent, SidebarSection } from '../sidebar-tree/sidebar-tree.types';
|
|
3
3
|
export interface SidebarNextProps {
|
|
4
4
|
storageKey: string;
|
|
5
5
|
sections: SidebarSection[];
|
|
@@ -8,6 +8,7 @@ export interface SidebarNextProps {
|
|
|
8
8
|
footer?: ReactNode;
|
|
9
9
|
width?: string | number;
|
|
10
10
|
emptyLabel?: string;
|
|
11
|
+
linkComponent?: SidebarLinkComponent;
|
|
11
12
|
onNavigate?: (event: SidebarNavigateEvent) => void;
|
|
12
13
|
closable?: boolean;
|
|
13
14
|
onOpenChange?: (open: boolean) => void;
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import { SidebarNavigateEvent, SidebarSection } from './sidebar-tree.types';
|
|
1
|
+
import { SidebarLinkComponent, SidebarNavigateEvent, SidebarSection } from './sidebar-tree.types';
|
|
2
2
|
interface SidebarTreeProps {
|
|
3
3
|
sections: SidebarSection[];
|
|
4
4
|
expandedSections: string[];
|
|
5
5
|
expandedNodes: string[];
|
|
6
6
|
activeNodeId?: string | null;
|
|
7
|
+
linkComponent?: SidebarLinkComponent;
|
|
7
8
|
onNavigate?: (event: SidebarNavigateEvent) => void;
|
|
8
9
|
onToggleSection: (sectionId: string) => void;
|
|
9
10
|
onToggleNode: (nodeId: string) => void;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ReactNode } from 'react';
|
|
1
|
+
import { ComponentType, ReactNode } from 'react';
|
|
2
2
|
export interface SidebarNavigationIntent {
|
|
3
3
|
id?: string;
|
|
4
4
|
payload?: unknown;
|
|
@@ -10,6 +10,7 @@ export interface SidebarActionContext {
|
|
|
10
10
|
export interface SidebarActionMenuItem {
|
|
11
11
|
id: string;
|
|
12
12
|
label: string;
|
|
13
|
+
description?: string;
|
|
13
14
|
icon?: ReactNode;
|
|
14
15
|
onAction?: () => void;
|
|
15
16
|
}
|
|
@@ -27,6 +28,8 @@ export interface SidebarNode {
|
|
|
27
28
|
icon?: ReactNode;
|
|
28
29
|
disabled?: boolean;
|
|
29
30
|
isNavigable?: boolean;
|
|
31
|
+
/** URL for the node. When provided with a linkComponent, the row renders as an anchor for cmd+click support. */
|
|
32
|
+
href?: string;
|
|
30
33
|
navigationIntent?: SidebarNavigationIntent;
|
|
31
34
|
actions?: SidebarAction[];
|
|
32
35
|
children?: SidebarNode[];
|
|
@@ -44,3 +47,8 @@ export interface SidebarNavigateEvent {
|
|
|
44
47
|
node: SidebarNode;
|
|
45
48
|
intent?: SidebarNavigationIntent;
|
|
46
49
|
}
|
|
50
|
+
export interface SidebarLinkProps {
|
|
51
|
+
to: string;
|
|
52
|
+
children: ReactNode;
|
|
53
|
+
}
|
|
54
|
+
export type SidebarLinkComponent = ComponentType<SidebarLinkProps>;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { DisplayProperty, GroupingField, OrderingField, WorkspaceOption, WorkspaceSettings } from './types';
|
|
2
|
+
interface DisplayMenuProps {
|
|
3
|
+
settings: WorkspaceSettings;
|
|
4
|
+
groupingOptions: WorkspaceOption<GroupingField>[];
|
|
5
|
+
orderingOptions: WorkspaceOption<OrderingField>[];
|
|
6
|
+
displayPropertyOptions: WorkspaceOption<DisplayProperty>[];
|
|
7
|
+
onViewModeChange: (value: WorkspaceSettings["viewMode"]) => void;
|
|
8
|
+
onColumnGroupingChange: (value: GroupingField) => void;
|
|
9
|
+
onRowGroupingChange: (value: GroupingField) => void;
|
|
10
|
+
onOrderingFieldChange: (value: OrderingField) => void;
|
|
11
|
+
onSortDirectionToggle: () => void;
|
|
12
|
+
onDisplayPropertyToggle: (property: DisplayProperty) => void;
|
|
13
|
+
}
|
|
14
|
+
export declare const DisplayMenu: (props: DisplayMenuProps) => import("react/jsx-runtime").JSX.Element;
|
|
15
|
+
export {};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { FilterState, WorkspaceFilterCategory } from './types';
|
|
2
|
+
interface FilterMenuProps {
|
|
3
|
+
categories: WorkspaceFilterCategory[];
|
|
4
|
+
filters: FilterState;
|
|
5
|
+
countsByCategory: Record<string, Record<string, number>>;
|
|
6
|
+
onToggleFilterValue: (category: WorkspaceFilterCategory["id"], value: string) => void;
|
|
7
|
+
onClearFilter: (category: WorkspaceFilterCategory["id"]) => void;
|
|
8
|
+
onClearAll: () => void;
|
|
9
|
+
}
|
|
10
|
+
export declare const FilterMenu: (props: FilterMenuProps) => import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
export {};
|
|
@@ -12,11 +12,17 @@ export interface TicketBoardColumnAction {
|
|
|
12
12
|
size?: number | string;
|
|
13
13
|
}>;
|
|
14
14
|
}
|
|
15
|
+
export interface TicketBoardGroup {
|
|
16
|
+
key: string;
|
|
17
|
+
label: string;
|
|
18
|
+
items: TicketBoardItem[];
|
|
19
|
+
}
|
|
15
20
|
export interface TicketBoardColumn {
|
|
16
21
|
id: string;
|
|
17
22
|
label: string;
|
|
18
23
|
color?: string;
|
|
19
24
|
items: TicketBoardItem[];
|
|
25
|
+
groups?: TicketBoardGroup[];
|
|
20
26
|
canDragIn: boolean;
|
|
21
27
|
canDragOut: boolean;
|
|
22
28
|
canCreate: boolean;
|
|
@@ -26,6 +32,7 @@ interface TicketBoardProps {
|
|
|
26
32
|
columns: TicketBoardColumn[];
|
|
27
33
|
selectedItemId?: string | null;
|
|
28
34
|
onMoveItem?: (itemId: string, targetColumnId: string) => void;
|
|
35
|
+
onMoveToGroup?: (itemId: string, targetGroupKey: string) => void;
|
|
29
36
|
onCreateStart?: (columnId: string) => void;
|
|
30
37
|
onColumnAction?: (columnId: string, actionId: string) => Promise<void> | void;
|
|
31
38
|
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { FilterCategory, FilterState, GroupingField, WorkspaceOrdering, WorkspaceTicket } from './types';
|
|
2
|
+
interface GroupingOptions {
|
|
3
|
+
columnGrouping: GroupingField;
|
|
4
|
+
rowGrouping: GroupingField;
|
|
5
|
+
knownColumnKeys?: string[];
|
|
6
|
+
}
|
|
7
|
+
interface TicketRowGroup {
|
|
8
|
+
key: string;
|
|
9
|
+
label: string;
|
|
10
|
+
tickets: WorkspaceTicket[];
|
|
11
|
+
}
|
|
12
|
+
interface TicketColumnGroup {
|
|
13
|
+
key: string;
|
|
14
|
+
label: string;
|
|
15
|
+
tickets: WorkspaceTicket[];
|
|
16
|
+
rows: TicketRowGroup[];
|
|
17
|
+
}
|
|
18
|
+
export declare const orderTickets: (tickets: WorkspaceTicket[], ordering: WorkspaceOrdering) => WorkspaceTicket[];
|
|
19
|
+
export declare const groupTickets: (tickets: WorkspaceTicket[], options: GroupingOptions) => TicketColumnGroup[];
|
|
20
|
+
export declare const filterTickets: (tickets: WorkspaceTicket[], filters: FilterState) => WorkspaceTicket[];
|
|
21
|
+
export declare const countFilterValues: (tickets: WorkspaceTicket[], category: FilterCategory) => Record<string, number>;
|
|
22
|
+
export type { TicketColumnGroup, TicketRowGroup };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { TicketBoardColumnAction } from './ticket-board';
|
|
2
|
+
import { DisplayProperty, GroupingField, OrderingField, WorkspaceFilterCategory, WorkspaceOption, WorkspaceTicket } from './types';
|
|
3
|
+
interface BoardColumnConfig {
|
|
4
|
+
color?: string;
|
|
5
|
+
canDragIn?: boolean;
|
|
6
|
+
canDragOut?: boolean;
|
|
7
|
+
canCreate?: boolean;
|
|
8
|
+
actions?: TicketBoardColumnAction[];
|
|
9
|
+
}
|
|
10
|
+
interface TicketsWorkspaceProps<TTicket extends WorkspaceTicket = WorkspaceTicket> {
|
|
11
|
+
tickets: TTicket[];
|
|
12
|
+
storageKey: string;
|
|
13
|
+
selectedTicketId?: string | null;
|
|
14
|
+
groupingOptions?: WorkspaceOption<GroupingField>[];
|
|
15
|
+
orderingOptions?: WorkspaceOption<OrderingField>[];
|
|
16
|
+
displayPropertyOptions?: WorkspaceOption<DisplayProperty>[];
|
|
17
|
+
filterCategories?: WorkspaceFilterCategory[];
|
|
18
|
+
knownColumnKeys?: string[];
|
|
19
|
+
emptyTitle?: string;
|
|
20
|
+
emptyDescription?: string;
|
|
21
|
+
onTicketClick?: (ticket: TTicket) => void;
|
|
22
|
+
onMoveTicket?: (ticketId: string, targetColumnId: string) => void;
|
|
23
|
+
onMoveToGroup?: (ticketId: string, targetGroupKey: string) => void;
|
|
24
|
+
onCreateTicket?: (columnId: string) => void;
|
|
25
|
+
onColumnAction?: (columnId: string, actionId: string) => Promise<void> | void;
|
|
26
|
+
getBoardColumnConfig?: (groupKey: string) => BoardColumnConfig;
|
|
27
|
+
}
|
|
28
|
+
export declare const TicketsWorkspace: <TTicket extends WorkspaceTicket>(props: TicketsWorkspaceProps<TTicket>) => import("react/jsx-runtime").JSX.Element;
|
|
29
|
+
export type { TicketsWorkspaceProps };
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Meta, StoryObj } from '@storybook/react';
|
|
2
|
+
declare const meta: Meta;
|
|
3
|
+
export default meta;
|
|
4
|
+
type Story = StoryObj;
|
|
5
|
+
export declare const BoardView: Story;
|
|
6
|
+
export declare const EmptyState: Story;
|
|
7
|
+
export declare const SwitchView: Story;
|
|
8
|
+
export declare const ListGroupCollapse: Story;
|
|
9
|
+
export declare const DragAndDrop: Story;
|
|
10
|
+
export declare const EmptyColumnPersists: Story;
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
export type ViewMode = "board" | "list";
|
|
2
|
+
export type GroupingField = "status" | "complexity" | "assignee" | "priority" | "none";
|
|
3
|
+
export type OrderingField = "manual" | "updated" | "title" | "complexity" | "priority" | "ticketId";
|
|
4
|
+
export type SortDirection = "asc" | "desc";
|
|
5
|
+
export type DisplayProperty = "id" | "status" | "assignee" | "priority" | "complexity" | "labels" | "updated";
|
|
6
|
+
export type FilterCategory = "status" | "assignee" | "priority" | "complexity" | "labels";
|
|
7
|
+
export interface WorkspaceOrdering {
|
|
8
|
+
field: OrderingField;
|
|
9
|
+
direction: SortDirection;
|
|
10
|
+
}
|
|
11
|
+
export interface WorkspaceSettings {
|
|
12
|
+
viewMode: ViewMode;
|
|
13
|
+
columnGrouping: GroupingField;
|
|
14
|
+
rowGrouping: GroupingField;
|
|
15
|
+
ordering: WorkspaceOrdering;
|
|
16
|
+
displayProperties: DisplayProperty[];
|
|
17
|
+
}
|
|
18
|
+
export type FilterState = Partial<Record<FilterCategory, string[]>>;
|
|
19
|
+
export interface WorkspaceOption<TValue extends string> {
|
|
20
|
+
value: TValue;
|
|
21
|
+
label: string;
|
|
22
|
+
}
|
|
23
|
+
export interface WorkspaceFilterOption {
|
|
24
|
+
value: string;
|
|
25
|
+
label: string;
|
|
26
|
+
}
|
|
27
|
+
export interface WorkspaceFilterCategory {
|
|
28
|
+
id: FilterCategory;
|
|
29
|
+
label: string;
|
|
30
|
+
options: WorkspaceFilterOption[];
|
|
31
|
+
}
|
|
32
|
+
export interface WorkspaceTicket {
|
|
33
|
+
id: string;
|
|
34
|
+
ticketId: string;
|
|
35
|
+
title: string;
|
|
36
|
+
status?: string | null;
|
|
37
|
+
statusColor?: string;
|
|
38
|
+
assignee?: string | null;
|
|
39
|
+
priority?: string | null;
|
|
40
|
+
complexity?: string | null;
|
|
41
|
+
labels?: string[];
|
|
42
|
+
updatedAt?: string | null;
|
|
43
|
+
parentPath?: string[];
|
|
44
|
+
isSubIssue?: boolean;
|
|
45
|
+
}
|
|
46
|
+
export declare const DEFAULT_WORKSPACE_SETTINGS: WorkspaceSettings;
|
|
47
|
+
export declare const DEFAULT_GROUPING_OPTIONS: WorkspaceOption<GroupingField>[];
|
|
48
|
+
export declare const DEFAULT_ORDERING_OPTIONS: WorkspaceOption<OrderingField>[];
|
|
49
|
+
export declare const DEFAULT_DISPLAY_PROPERTY_OPTIONS: WorkspaceOption<DisplayProperty>[];
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { FilterCategory, FilterState, WorkspaceSettings } from './types';
|
|
2
|
+
interface WorkspaceSnapshot {
|
|
3
|
+
settings: WorkspaceSettings;
|
|
4
|
+
filters: FilterState;
|
|
5
|
+
}
|
|
6
|
+
interface WorkspaceState extends WorkspaceSnapshot {
|
|
7
|
+
setViewMode: (viewMode: WorkspaceSettings["viewMode"]) => void;
|
|
8
|
+
setColumnGrouping: (columnGrouping: WorkspaceSettings["columnGrouping"]) => void;
|
|
9
|
+
setRowGrouping: (rowGrouping: WorkspaceSettings["rowGrouping"]) => void;
|
|
10
|
+
setOrdering: (ordering: WorkspaceSettings["ordering"]) => void;
|
|
11
|
+
setOrderingField: (field: WorkspaceSettings["ordering"]["field"]) => void;
|
|
12
|
+
toggleSortDirection: () => void;
|
|
13
|
+
toggleDisplayProperty: (property: WorkspaceSettings["displayProperties"][number]) => void;
|
|
14
|
+
setFilter: (category: FilterCategory, values: string[]) => void;
|
|
15
|
+
toggleFilterValue: (category: FilterCategory, value: string) => void;
|
|
16
|
+
clearFilter: (category: FilterCategory) => void;
|
|
17
|
+
clearAllFilters: () => void;
|
|
18
|
+
reset: () => void;
|
|
19
|
+
}
|
|
20
|
+
interface CreateTicketsWorkspaceStoreOptions {
|
|
21
|
+
storageKey: string;
|
|
22
|
+
initialState?: Partial<WorkspaceSnapshot>;
|
|
23
|
+
}
|
|
24
|
+
export declare const createTicketsWorkspaceStore: (options: CreateTicketsWorkspaceStoreOptions) => Omit<import('zustand').StoreApi<WorkspaceState>, "setState" | "persist"> & {
|
|
25
|
+
setState(partial: WorkspaceState | Partial<WorkspaceState> | ((state: WorkspaceState) => WorkspaceState | Partial<WorkspaceState>), replace?: false | undefined): unknown;
|
|
26
|
+
setState(state: WorkspaceState | ((state: WorkspaceState) => WorkspaceState), replace: true): unknown;
|
|
27
|
+
persist: {
|
|
28
|
+
setOptions: (options: Partial<import('zustand/middleware').PersistOptions<WorkspaceState, unknown, unknown>>) => void;
|
|
29
|
+
clearStorage: () => void;
|
|
30
|
+
rehydrate: () => Promise<void> | void;
|
|
31
|
+
hasHydrated: () => boolean;
|
|
32
|
+
onHydrate: (fn: (state: WorkspaceState) => void) => () => void;
|
|
33
|
+
onFinishHydration: (fn: (state: WorkspaceState) => void) => () => void;
|
|
34
|
+
getOptions: () => Partial<import('zustand/middleware').PersistOptions<WorkspaceState, unknown, unknown>>;
|
|
35
|
+
};
|
|
36
|
+
};
|
|
37
|
+
export declare const getTicketsWorkspaceStore: (storageKey: string) => Omit<import('zustand').StoreApi<WorkspaceState>, "setState" | "persist"> & {
|
|
38
|
+
setState(partial: WorkspaceState | Partial<WorkspaceState> | ((state: WorkspaceState) => WorkspaceState | Partial<WorkspaceState>), replace?: false | undefined): unknown;
|
|
39
|
+
setState(state: WorkspaceState | ((state: WorkspaceState) => WorkspaceState), replace: true): unknown;
|
|
40
|
+
persist: {
|
|
41
|
+
setOptions: (options: Partial<import('zustand/middleware').PersistOptions<WorkspaceState, unknown, unknown>>) => void;
|
|
42
|
+
clearStorage: () => void;
|
|
43
|
+
rehydrate: () => Promise<void> | void;
|
|
44
|
+
hasHydrated: () => boolean;
|
|
45
|
+
onHydrate: (fn: (state: WorkspaceState) => void) => () => void;
|
|
46
|
+
onFinishHydration: (fn: (state: WorkspaceState) => void) => () => void;
|
|
47
|
+
getOptions: () => Partial<import('zustand/middleware').PersistOptions<WorkspaceState, unknown, unknown>>;
|
|
48
|
+
};
|
|
49
|
+
};
|
|
50
|
+
export declare const useTicketsWorkspaceStore: <T>(storageKey: string, selector: (state: WorkspaceState) => T) => T;
|
|
51
|
+
export type { WorkspaceState };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export { ChakraProvider } from '@chakra-ui/react';
|
|
2
2
|
export type { AlertProps } from './components/alert';
|
|
3
3
|
export { AlertMessage } from './components/alert';
|
|
4
|
+
export type { BreadcrumbItem } from './components/breadcrumb';
|
|
4
5
|
export { Breadcrumb } from './components/breadcrumb';
|
|
5
6
|
export type { CheckboxProps } from './components/checkbox';
|
|
6
7
|
export { Checkbox } from './components/checkbox';
|
|
@@ -39,15 +40,20 @@ export { SidebarNext } from './components/sidebar-next/sidebar-next';
|
|
|
39
40
|
export { useSidebarNextStore } from './components/sidebar-next/sidebar-next.store';
|
|
40
41
|
export type { SidebarNextProps } from './components/sidebar-next/sidebar-next.types';
|
|
41
42
|
export { SidebarTree } from './components/sidebar-tree/sidebar-tree';
|
|
42
|
-
export type { SidebarAction, SidebarActionContext, SidebarActionMenuItem, SidebarNavigateEvent, SidebarNavigationIntent, SidebarNode, SidebarSection, } from './components/sidebar-tree/sidebar-tree.types';
|
|
43
|
+
export type { SidebarAction, SidebarActionContext, SidebarActionMenuItem, SidebarLinkComponent, SidebarNavigateEvent, SidebarNavigationIntent, SidebarNode, SidebarSection, } from './components/sidebar-tree/sidebar-tree.types';
|
|
43
44
|
export type { SwitchProps } from './components/switch';
|
|
44
45
|
export { Switch } from './components/switch';
|
|
46
|
+
export { DisplayMenu } from './components/tickets/display-menu';
|
|
47
|
+
export { FilterMenu } from './components/tickets/filter-menu';
|
|
45
48
|
export type { TicketBoardColumn, TicketBoardColumnAction, TicketBoardItem } from './components/tickets/ticket-board';
|
|
46
49
|
export { TicketBoard } from './components/tickets/ticket-board';
|
|
47
50
|
export type { TicketCardBadge } from './components/tickets/ticket-card';
|
|
48
51
|
export { TicketCard } from './components/tickets/ticket-card';
|
|
49
52
|
export type { TicketListItem } from './components/tickets/ticket-list';
|
|
50
53
|
export { TicketList } from './components/tickets/ticket-list';
|
|
54
|
+
export { TicketsWorkspace } from './components/tickets/tickets-workspace';
|
|
55
|
+
export type { DisplayProperty, FilterCategory, FilterState, GroupingField, OrderingField, SortDirection, ViewMode, WorkspaceFilterCategory, WorkspaceFilterOption, WorkspaceOption, WorkspaceOrdering, WorkspaceSettings, WorkspaceTicket, } from './components/tickets/types';
|
|
56
|
+
export { useTicketsWorkspaceStore } from './components/tickets/use-workspace-store';
|
|
51
57
|
export { Toaster, toaster } from './components/toaster';
|
|
52
58
|
export { Tooltip } from './components/tooltip';
|
|
53
59
|
export { psTheme } from './theme';
|