@itsyouagency/ui 1.47.0 → 1.49.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/assets/css/design-system.css +479 -31
- package/dist/assets/icons/archive.svg +3 -0
- package/dist/components/base/Icon.d.ts +1 -0
- package/dist/components/chat/ChatMessageEditor.d.ts +11 -0
- package/dist/components/chat/ChatThread.d.ts +3 -1
- package/dist/components/chat/api.d.ts +9 -1
- package/dist/components/chat/labels.d.ts +40 -0
- package/dist/components/chat/types.d.ts +10 -2
- package/dist/components/notifications/Notifications.d.ts +12 -0
- package/dist/components/notifications/useNotificationFeed.d.ts +33 -0
- package/dist/components/reviews/OrderReviews.d.ts +6 -0
- package/dist/components/reviews/StarRating.d.ts +8 -0
- package/dist/components/workspace/DataRegion.d.ts +1 -1
- package/dist/components/workspace/FaqCenter.d.ts +46 -0
- package/dist/components/workspace/SearchMultiSelect.d.ts +4 -1
- package/dist/components/workspace/WorkspaceNav.d.ts +2 -1
- package/dist/components/workspace/index.d.ts +2 -0
- package/dist/components/workspace/navigation.d.ts +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +1 -1
- package/dist/layouts/workspace.d.ts +3 -1
- package/package.json +1 -1
|
@@ -12,6 +12,14 @@ export declare const chatLabels: {
|
|
|
12
12
|
search: string;
|
|
13
13
|
request: string;
|
|
14
14
|
general: string;
|
|
15
|
+
generalChat: string;
|
|
16
|
+
agencyTeam: string;
|
|
17
|
+
generalHint: string;
|
|
18
|
+
generalFirstMessage: string;
|
|
19
|
+
generalFirstMessageHint: string;
|
|
20
|
+
generalDetails: string;
|
|
21
|
+
generalPrivate: string;
|
|
22
|
+
staffInboxHint: string;
|
|
15
23
|
noRequest: string;
|
|
16
24
|
selectRequest: string;
|
|
17
25
|
changeRequest: string;
|
|
@@ -20,6 +28,18 @@ export declare const chatLabels: {
|
|
|
20
28
|
requestHint: string;
|
|
21
29
|
all: string;
|
|
22
30
|
unread: string;
|
|
31
|
+
archived: string;
|
|
32
|
+
archive: string;
|
|
33
|
+
restore: string;
|
|
34
|
+
archiveHint: string;
|
|
35
|
+
archiveError: string;
|
|
36
|
+
noArchived: string;
|
|
37
|
+
noArchivedHint: string;
|
|
38
|
+
edited: string;
|
|
39
|
+
editMessage: string;
|
|
40
|
+
editHint: string;
|
|
41
|
+
editError: string;
|
|
42
|
+
editConflict: string;
|
|
23
43
|
noChats: string;
|
|
24
44
|
noChatsHint: string;
|
|
25
45
|
noChatsAdmin: string;
|
|
@@ -88,6 +108,14 @@ export declare const chatLabels: {
|
|
|
88
108
|
search: string;
|
|
89
109
|
request: string;
|
|
90
110
|
general: string;
|
|
111
|
+
generalChat: string;
|
|
112
|
+
agencyTeam: string;
|
|
113
|
+
generalHint: string;
|
|
114
|
+
generalFirstMessage: string;
|
|
115
|
+
generalFirstMessageHint: string;
|
|
116
|
+
generalDetails: string;
|
|
117
|
+
generalPrivate: string;
|
|
118
|
+
staffInboxHint: string;
|
|
91
119
|
noRequest: string;
|
|
92
120
|
selectRequest: string;
|
|
93
121
|
changeRequest: string;
|
|
@@ -96,6 +124,18 @@ export declare const chatLabels: {
|
|
|
96
124
|
requestHint: string;
|
|
97
125
|
all: string;
|
|
98
126
|
unread: string;
|
|
127
|
+
archived: string;
|
|
128
|
+
archive: string;
|
|
129
|
+
restore: string;
|
|
130
|
+
archiveHint: string;
|
|
131
|
+
archiveError: string;
|
|
132
|
+
noArchived: string;
|
|
133
|
+
noArchivedHint: string;
|
|
134
|
+
edited: string;
|
|
135
|
+
editMessage: string;
|
|
136
|
+
editHint: string;
|
|
137
|
+
editError: string;
|
|
138
|
+
editConflict: string;
|
|
99
139
|
noChats: string;
|
|
100
140
|
noChatsHint: string;
|
|
101
141
|
noChatsAdmin: string;
|
|
@@ -5,6 +5,7 @@ export type ChatPerson = {
|
|
|
5
5
|
role: ChatRole;
|
|
6
6
|
email?: string;
|
|
7
7
|
client?: {
|
|
8
|
+
id?: string;
|
|
8
9
|
name: string;
|
|
9
10
|
} | null;
|
|
10
11
|
};
|
|
@@ -12,6 +13,11 @@ export type ChatViewer = ChatPerson & {
|
|
|
12
13
|
canManage: boolean;
|
|
13
14
|
};
|
|
14
15
|
export type ChatSummary = {
|
|
16
|
+
kind?: 'GROUP' | 'GENERAL';
|
|
17
|
+
isUnstarted?: boolean;
|
|
18
|
+
archived?: boolean;
|
|
19
|
+
editSequence?: number;
|
|
20
|
+
owner?: ChatPerson | null;
|
|
15
21
|
request?: ChatRequest | null;
|
|
16
22
|
id: string;
|
|
17
23
|
title: string;
|
|
@@ -26,8 +32,8 @@ export type ChatSummary = {
|
|
|
26
32
|
body: string;
|
|
27
33
|
createdAt: string;
|
|
28
34
|
} | null;
|
|
29
|
-
createdAt: string;
|
|
30
|
-
updatedAt: string;
|
|
35
|
+
createdAt: string | null;
|
|
36
|
+
updatedAt: string | null;
|
|
31
37
|
};
|
|
32
38
|
export type ChatDetail = ChatSummary & {
|
|
33
39
|
participants: ChatPerson[];
|
|
@@ -39,6 +45,8 @@ export type ChatMessage = {
|
|
|
39
45
|
senderName: string;
|
|
40
46
|
senderRole: ChatRole;
|
|
41
47
|
body: string;
|
|
48
|
+
editSequence?: number;
|
|
49
|
+
editedAt?: string | null;
|
|
42
50
|
sequence: number;
|
|
43
51
|
clientMessageId: string;
|
|
44
52
|
createdAt: string;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export type NotificationProps = {
|
|
2
|
+
apiBaseUrl: string;
|
|
3
|
+
audience: 'admin' | 'client' | 'model';
|
|
4
|
+
identity: string;
|
|
5
|
+
locale?: 'en' | 'de';
|
|
6
|
+
inboxHref?: string;
|
|
7
|
+
pitchUrl?: (id: string) => string;
|
|
8
|
+
/** Overrides the hint under the empty state, e.g. what will show up here. */
|
|
9
|
+
emptyHint?: string;
|
|
10
|
+
};
|
|
11
|
+
export declare function NotificationBell(props: NotificationProps): import("react/jsx-runtime").JSX.Element;
|
|
12
|
+
export declare function NotificationInbox(props: NotificationProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
export type NotificationItem = {
|
|
2
|
+
id: string;
|
|
3
|
+
kind: string;
|
|
4
|
+
title: string;
|
|
5
|
+
description: string;
|
|
6
|
+
createdAt: string;
|
|
7
|
+
read: boolean;
|
|
8
|
+
resolved: boolean;
|
|
9
|
+
href: string;
|
|
10
|
+
pitchId?: string | null;
|
|
11
|
+
};
|
|
12
|
+
type Feed = {
|
|
13
|
+
items: NotificationItem[];
|
|
14
|
+
unreadCount: number;
|
|
15
|
+
openCount: number;
|
|
16
|
+
nextCursor: string | null;
|
|
17
|
+
asOf: string;
|
|
18
|
+
};
|
|
19
|
+
export default function useNotificationFeed(url: string, identity: string, filter: string): {
|
|
20
|
+
feed: Feed;
|
|
21
|
+
error: boolean;
|
|
22
|
+
actionError: boolean;
|
|
23
|
+
busy: string;
|
|
24
|
+
loading: boolean;
|
|
25
|
+
refresh: () => void;
|
|
26
|
+
more: () => void;
|
|
27
|
+
act: (operation: "read" | "resolve", target: {
|
|
28
|
+
id: string;
|
|
29
|
+
} | {
|
|
30
|
+
before: string;
|
|
31
|
+
}) => Promise<void>;
|
|
32
|
+
};
|
|
33
|
+
export {};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/** Native radio controls keep star selection usable by keyboard and touch. */
|
|
2
|
+
export default function StarRating({ value, onChange, disabled, label, locale, }: {
|
|
3
|
+
value: number;
|
|
4
|
+
onChange?: (value: number) => void;
|
|
5
|
+
disabled?: boolean;
|
|
6
|
+
label: string;
|
|
7
|
+
locale?: 'de' | 'en';
|
|
8
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
@@ -13,7 +13,7 @@ export default function DataRegion({ children, loading, updating, error, hasData
|
|
|
13
13
|
minHeight?: number | string;
|
|
14
14
|
className?: string;
|
|
15
15
|
}): import("react/jsx-runtime").JSX.Element;
|
|
16
|
-
export declare function ListSkeleton({ rows, rowHeight }: {
|
|
16
|
+
export declare function ListSkeleton({ rows, rowHeight, }: {
|
|
17
17
|
rows?: number;
|
|
18
18
|
rowHeight?: number;
|
|
19
19
|
}): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { IconType } from '../base/Icon';
|
|
3
|
+
export type FaqQuestion = {
|
|
4
|
+
q: string;
|
|
5
|
+
a: ReactNode;
|
|
6
|
+
/** Extra search terms that do not appear in the text. */
|
|
7
|
+
keywords?: string;
|
|
8
|
+
};
|
|
9
|
+
export type FaqTopic = {
|
|
10
|
+
id: string;
|
|
11
|
+
title: string;
|
|
12
|
+
intro: string;
|
|
13
|
+
icon?: IconType;
|
|
14
|
+
items: FaqQuestion[];
|
|
15
|
+
};
|
|
16
|
+
export type FaqLabels = {
|
|
17
|
+
searchLabel: string;
|
|
18
|
+
searchPlaceholder: string;
|
|
19
|
+
clearSearch: string;
|
|
20
|
+
topics: string;
|
|
21
|
+
allTopics: string;
|
|
22
|
+
chooseTopic: string;
|
|
23
|
+
answers: (count: number) => string;
|
|
24
|
+
resultsFor: (query: string) => string;
|
|
25
|
+
questions: (count: number) => string;
|
|
26
|
+
emptyTitle: string;
|
|
27
|
+
emptyDescription: string;
|
|
28
|
+
resetSearch: string;
|
|
29
|
+
};
|
|
30
|
+
export type FaqSupport = {
|
|
31
|
+
title: string;
|
|
32
|
+
description: ReactNode;
|
|
33
|
+
/** Buttons or links, e.g. to support or the chat. */
|
|
34
|
+
actions: ReactNode;
|
|
35
|
+
icon?: IconType;
|
|
36
|
+
};
|
|
37
|
+
/** Help center: topic navigation, full-text search and one-open accordion. */
|
|
38
|
+
export default function FaqCenter({ topics: allTopics, eyebrow, title, subtitle, support, labels: labelOverrides, initialTopic, }: {
|
|
39
|
+
topics: FaqTopic[];
|
|
40
|
+
eyebrow?: string;
|
|
41
|
+
title: string;
|
|
42
|
+
subtitle?: string;
|
|
43
|
+
support?: FaqSupport;
|
|
44
|
+
labels?: Partial<FaqLabels>;
|
|
45
|
+
initialTopic?: string;
|
|
46
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
@@ -3,9 +3,12 @@ export type SearchMultiSelectOption = {
|
|
|
3
3
|
label: string;
|
|
4
4
|
};
|
|
5
5
|
/** Searchable multi-selection with keyboard navigation and a compact summary. */
|
|
6
|
-
export default function SearchMultiSelect({ label, options, value, onChange, }: {
|
|
6
|
+
export default function SearchMultiSelect({ label, options, value, onChange, placeholder, noResultsMessage, toggleLabel, }: {
|
|
7
7
|
label: string;
|
|
8
8
|
options: SearchMultiSelectOption[];
|
|
9
9
|
value: string[];
|
|
10
10
|
onChange: (values: string[]) => void;
|
|
11
|
+
placeholder?: string;
|
|
12
|
+
noResultsMessage?: string;
|
|
13
|
+
toggleLabel?: string;
|
|
11
14
|
}): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { WorkspaceNav as Navigation } from './navigation';
|
|
2
|
-
export default function WorkspaceNav({ nav, selectedPath, close, label, }: {
|
|
2
|
+
export default function WorkspaceNav({ nav, selectedPath, close, label, showGroupLabels, }: {
|
|
3
3
|
nav: Navigation;
|
|
4
4
|
selectedPath: string;
|
|
5
5
|
close?: () => void;
|
|
6
6
|
label?: string;
|
|
7
|
+
showGroupLabels?: boolean;
|
|
7
8
|
}): import("react/jsx-runtime").JSX.Element;
|
|
@@ -3,6 +3,7 @@ export { default as NotificationMenu, type NotificationMenuProps, } from './Noti
|
|
|
3
3
|
export { default as CommandMenu } from './CommandMenu';
|
|
4
4
|
export { default as PageHeader } from './PageHeader';
|
|
5
5
|
export { default as Panel, type PanelProps } from './Panel';
|
|
6
|
+
export { default as FaqCenter, type FaqTopic, type FaqQuestion, type FaqLabels, type FaqSupport, } from './FaqCenter';
|
|
6
7
|
export { default as FilterTabs, type FilterTabsProps, type FilterOption, } from './FilterTabs';
|
|
7
8
|
export { default as Pagination, type PaginationProps, } from './Pagination';
|
|
8
9
|
export { default as MetricCard } from './MetricCard';
|
|
@@ -25,3 +26,4 @@ export { default as SearchMultiSelect, type SearchMultiSelectOption, } from './S
|
|
|
25
26
|
export { default as RequestResources, type RequestResource, } from '../request-files/RequestResources';
|
|
26
27
|
export { default as RequestContracts, type RequestClientContract, } from '../request-files/RequestContracts';
|
|
27
28
|
export { default as FileDownloadButton } from '../request-files/FileDownloadButton';
|
|
29
|
+
export { NotificationBell, NotificationInbox, type NotificationProps } from '../notifications/Notifications';
|
|
@@ -8,6 +8,7 @@ export declare function flattenNavigation(nav: WorkspaceNav): WorkspaceRoute[];
|
|
|
8
8
|
export declare function findActiveRoute(nav: WorkspaceNav, path: string): WorkspaceRoute;
|
|
9
9
|
export declare const workspaceLabels: {
|
|
10
10
|
navigation: string;
|
|
11
|
+
secondaryNavigation: string;
|
|
11
12
|
openNavigation: string;
|
|
12
13
|
closeNavigation: string;
|
|
13
14
|
skipToContent: string;
|
package/dist/index.d.ts
CHANGED
|
@@ -7,3 +7,5 @@ export * from './utils/validation';
|
|
|
7
7
|
export * from './layouts';
|
|
8
8
|
export * from './components/workspace';
|
|
9
9
|
export * from './components/chat';
|
|
10
|
+
export { default as StarRating } from './components/reviews/StarRating';
|
|
11
|
+
export { default as OrderReviews } from './components/reviews/OrderReviews';
|