@aircall/blocks 0.17.0 → 0.18.1
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/globals.css +1 -1
- package/dist/index.d.ts +862 -18
- package/dist/index.js +1044 -82
- package/package.json +2 -2
- package/skills/aircall-blocks/migrate-dashboard/SKILL.md +20 -3
- package/skills/aircall-blocks/migrate-dashboard/card/SKILL.md +43 -71
- package/skills/aircall-blocks/migrate-dashboard/catch-up-checklist/SKILL.md +109 -0
- package/skills/aircall-blocks/migrate-dashboard/combobox/SKILL.md +0 -1
- package/skills/aircall-blocks/migrate-dashboard/copy-button/SKILL.md +0 -1
- package/skills/aircall-blocks/migrate-dashboard/dashboard-page/SKILL.md +39 -1
- package/skills/aircall-blocks/migrate-dashboard/data-table/SKILL.md +10 -1
- package/skills/aircall-blocks/migrate-dashboard/empty-states/SKILL.md +0 -1
- package/skills/aircall-blocks/migrate-dashboard/form-wizard/SKILL.md +40 -1
- package/skills/aircall-blocks/migrate-dashboard/info-popup/SKILL.md +0 -1
- package/skills/aircall-blocks/migrate-dashboard/layout/SKILL.md +0 -1
- package/skills/aircall-blocks/migrate-dashboard/list/SKILL.md +0 -1
- package/skills/aircall-blocks/migrate-dashboard/loading/SKILL.md +0 -1
- package/skills/aircall-blocks/migrate-dashboard/page-header/SKILL.md +0 -1
- package/skills/aircall-blocks/migrate-dashboard/setting-card/SKILL.md +258 -0
- package/skills/aircall-blocks/migrate-dashboard/tile/SKILL.md +211 -161
- package/skills/aircall-blocks/migrate-dashboard/toggle-row/SKILL.md +0 -1
- package/skills/aircall-blocks/setup/SKILL.md +22 -1
package/dist/index.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { Badge, Button, CounterBadge, Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle, SidebarProvider, TabsList, useSidebar } from "@aircall/ds";
|
|
1
|
+
import { Badge, Button, Card, CardAction, CardContent, CardDescription, CardHeader, CardTitle, CounterBadge, Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle, SidebarProvider, Skeleton, TabsList, useSidebar } from "@aircall/ds";
|
|
2
2
|
import * as React$1 from "react";
|
|
3
3
|
import { VariantProps } from "class-variance-authority";
|
|
4
|
+
import { useRender } from "@base-ui/react/use-render";
|
|
4
5
|
import * as _tanstack_react_form0 from "@tanstack/react-form";
|
|
5
6
|
import { DeepKeys, DeepKeysOfType, DeepValue, FieldAsyncValidateOrFn, FieldListeners, FieldValidateOrFn, FieldValidators } from "@tanstack/react-form";
|
|
6
|
-
import { useRender } from "@base-ui/react/use-render";
|
|
7
7
|
import * as class_variance_authority_types0 from "class-variance-authority/types";
|
|
8
8
|
|
|
9
9
|
//#region src/components/empty-state.d.ts
|
|
@@ -25,11 +25,13 @@ type EmptyStateMediaProps = Omit<React$1.ComponentProps<typeof EmptyMedia>, 'var
|
|
|
25
25
|
declare namespace EmptyStateMedia {
|
|
26
26
|
type Props = EmptyStateMediaProps;
|
|
27
27
|
}
|
|
28
|
+
/** Title line of an empty state. Wraps the DS `EmptyTitle`. */
|
|
28
29
|
declare const EmptyStateTitle: React$1.ForwardRefExoticComponent<Omit<EmptyStateTitleProps, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
|
|
29
30
|
interface EmptyStateTitleProps extends React$1.ComponentProps<typeof EmptyTitle> {}
|
|
30
31
|
declare namespace EmptyStateTitle {
|
|
31
32
|
type Props = EmptyStateTitleProps;
|
|
32
33
|
}
|
|
34
|
+
/** Supporting description text of an empty state. Wraps the DS `EmptyDescription`. */
|
|
33
35
|
declare const EmptyStateDescription: React$1.ForwardRefExoticComponent<Omit<EmptyStateDescriptionProps, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
|
|
34
36
|
interface EmptyStateDescriptionProps extends React$1.ComponentProps<typeof EmptyDescription> {}
|
|
35
37
|
declare namespace EmptyStateDescription {
|
|
@@ -46,6 +48,11 @@ declare namespace EmptyStateActions {
|
|
|
46
48
|
type Props = EmptyStateActionsProps;
|
|
47
49
|
}
|
|
48
50
|
type EmptyStateButtonProps = Omit<React$1.ComponentProps<typeof Button>, 'size'>;
|
|
51
|
+
/**
|
|
52
|
+
* Action button for an empty state — the only button allowed inside one. Wraps
|
|
53
|
+
* the DS `Button` with `size` locked to `default` for visual consistency across
|
|
54
|
+
* empty states; consumers still choose the `variant`.
|
|
55
|
+
*/
|
|
49
56
|
declare const EmptyStateButton: React$1.ForwardRefExoticComponent<Omit<EmptyStateButtonProps, "ref"> & React$1.RefAttributes<HTMLButtonElement>>;
|
|
50
57
|
declare namespace EmptyStateButton {
|
|
51
58
|
type Props = EmptyStateButtonProps;
|
|
@@ -53,49 +60,193 @@ declare namespace EmptyStateButton {
|
|
|
53
60
|
type EmptyStateExternalLinkProps = Omit<EmptyStateButtonProps, 'variant' | 'render'> & {
|
|
54
61
|
href: string;
|
|
55
62
|
};
|
|
63
|
+
/**
|
|
64
|
+
* External "Learn more"-style link for an empty state. Renders a real `<a>` (via
|
|
65
|
+
* `EmptyStateButton` with `variant="link"`) that opens in a new tab. Pass
|
|
66
|
+
* `children` to override the default "Learn more" label, including any icon.
|
|
67
|
+
*
|
|
68
|
+
* @default children "Learn more"
|
|
69
|
+
*/
|
|
56
70
|
declare const EmptyStateExternalLink: React$1.ForwardRefExoticComponent<Omit<EmptyStateExternalLinkProps, "ref"> & React$1.RefAttributes<HTMLButtonElement>>;
|
|
57
71
|
declare namespace EmptyStateExternalLink {
|
|
58
72
|
type Props = EmptyStateExternalLinkProps;
|
|
59
73
|
}
|
|
60
74
|
//#endregion
|
|
61
75
|
//#region src/components/coming-soon.d.ts
|
|
76
|
+
/**
|
|
77
|
+
* Root of the "Coming soon" empty state — shown when a feature exists in the UI
|
|
78
|
+
* but is not yet available. Renders a `<div>` (the DS `Empty` container); compose
|
|
79
|
+
* it from its parts.
|
|
80
|
+
*
|
|
81
|
+
* @example
|
|
82
|
+
* ```tsx
|
|
83
|
+
* <ComingSoonEmptyState>
|
|
84
|
+
* <EmptyStateHeader>
|
|
85
|
+
* <ComingSoonMedia />
|
|
86
|
+
* <ComingSoonTitle />
|
|
87
|
+
* <ComingSoonDescription />
|
|
88
|
+
* </EmptyStateHeader>
|
|
89
|
+
* <EmptyStateActions>
|
|
90
|
+
* <EmptyStateButton variant="outline" onClick={goBack}>Go back</EmptyStateButton>
|
|
91
|
+
* <EmptyStateExternalLink href={docsUrl} />
|
|
92
|
+
* </EmptyStateActions>
|
|
93
|
+
* </ComingSoonEmptyState>
|
|
94
|
+
* ```
|
|
95
|
+
*/
|
|
62
96
|
declare const ComingSoonEmptyState: React$1.ForwardRefExoticComponent<Omit<EmptyStateProps, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
|
|
97
|
+
/** Decorative media slot of the "Coming soon" empty state (a sprout icon). Renders a `<div>`, hidden from assistive tech. */
|
|
63
98
|
declare const ComingSoonMedia: React$1.ForwardRefExoticComponent<Omit<Omit<EmptyStateMediaProps, "children">, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
|
|
99
|
+
/** Title line of the "Coming soon" empty state. Renders a `<div>` with the design copy by default; pass children to override. */
|
|
64
100
|
declare const ComingSoonTitle: React$1.ForwardRefExoticComponent<Omit<EmptyStateTitleProps, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
|
|
101
|
+
/** Supporting description text of the "Coming soon" empty state. Renders a `<div>` with the design copy by default; pass children to override. */
|
|
65
102
|
declare const ComingSoonDescription: React$1.ForwardRefExoticComponent<Omit<EmptyStateDescriptionProps, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
|
|
66
103
|
//#endregion
|
|
67
104
|
//#region src/components/restricted-access.d.ts
|
|
105
|
+
/**
|
|
106
|
+
* Root of the "Restricted access" empty state — shown when the user lacks
|
|
107
|
+
* permission to view a page. Renders a `<div>` (the DS `Empty` container); pair
|
|
108
|
+
* it with an `EmptyStateExternalLink` for the "Learn more" action.
|
|
109
|
+
*
|
|
110
|
+
* @example
|
|
111
|
+
* ```tsx
|
|
112
|
+
* <RestrictedAccessEmptyState>
|
|
113
|
+
* <EmptyStateHeader>
|
|
114
|
+
* <RestrictedAccessMedia />
|
|
115
|
+
* <RestrictedAccessTitle />
|
|
116
|
+
* <RestrictedAccessDescription />
|
|
117
|
+
* </EmptyStateHeader>
|
|
118
|
+
* <EmptyStateActions>
|
|
119
|
+
* <EmptyStateExternalLink href={docsUrl} />
|
|
120
|
+
* </EmptyStateActions>
|
|
121
|
+
* </RestrictedAccessEmptyState>
|
|
122
|
+
* ```
|
|
123
|
+
*/
|
|
68
124
|
declare const RestrictedAccessEmptyState: React$1.ForwardRefExoticComponent<Omit<EmptyStateProps, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
|
|
125
|
+
/** Decorative media slot of the "Restricted access" empty state (a locked padlock icon). Renders a `<div>`, hidden from assistive tech. */
|
|
69
126
|
declare const RestrictedAccessMedia: React$1.ForwardRefExoticComponent<Omit<Omit<EmptyStateMediaProps, "children">, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
|
|
127
|
+
/** Title line of the "Restricted access" empty state. Renders a `<div>` with the design copy by default; pass children to override. */
|
|
70
128
|
declare const RestrictedAccessTitle: React$1.ForwardRefExoticComponent<Omit<EmptyStateTitleProps, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
|
|
129
|
+
/** Supporting description text of the "Restricted access" empty state. Renders a `<div>` with the design copy by default; pass children to override. */
|
|
71
130
|
declare const RestrictedAccessDescription: React$1.ForwardRefExoticComponent<Omit<EmptyStateDescriptionProps, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
|
|
72
131
|
//#endregion
|
|
73
132
|
//#region src/components/not-found.d.ts
|
|
133
|
+
/**
|
|
134
|
+
* Root of the "Not found" empty state — shown when a page or route cannot be
|
|
135
|
+
* found. Renders a `<div>` (the DS `Empty` container); pair it with an
|
|
136
|
+
* `EmptyStateButton` for the navigation action (e.g. "Go to inbox").
|
|
137
|
+
*
|
|
138
|
+
* @example
|
|
139
|
+
* ```tsx
|
|
140
|
+
* <NotFoundEmptyState>
|
|
141
|
+
* <EmptyStateHeader>
|
|
142
|
+
* <NotFoundMedia />
|
|
143
|
+
* <NotFoundTitle />
|
|
144
|
+
* <NotFoundDescription />
|
|
145
|
+
* </EmptyStateHeader>
|
|
146
|
+
* <EmptyStateActions>
|
|
147
|
+
* <EmptyStateButton onClick={goToInbox}>Go to inbox</EmptyStateButton>
|
|
148
|
+
* </EmptyStateActions>
|
|
149
|
+
* </NotFoundEmptyState>
|
|
150
|
+
* ```
|
|
151
|
+
*/
|
|
74
152
|
declare const NotFoundEmptyState: React$1.ForwardRefExoticComponent<Omit<EmptyStateProps, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
|
|
153
|
+
/** Decorative media slot of the "Not found" empty state (a search icon). Renders a `<div>`, hidden from assistive tech. */
|
|
75
154
|
declare const NotFoundMedia: React$1.ForwardRefExoticComponent<Omit<Omit<EmptyStateMediaProps, "children">, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
|
|
155
|
+
/** Title line of the "Not found" empty state. Renders a `<div>` with the design copy by default; pass children to override. */
|
|
76
156
|
declare const NotFoundTitle: React$1.ForwardRefExoticComponent<Omit<EmptyStateTitleProps, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
|
|
157
|
+
/** Supporting description text of the "Not found" empty state. Renders a `<div>` with the design copy by default; pass children to override. */
|
|
77
158
|
declare const NotFoundDescription: React$1.ForwardRefExoticComponent<Omit<EmptyStateDescriptionProps, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
|
|
78
159
|
//#endregion
|
|
79
160
|
//#region src/components/no-data.d.ts
|
|
161
|
+
/**
|
|
162
|
+
* Root of the "No data" empty state — shown when a search or filter returns no
|
|
163
|
+
* results. Renders a `<div>` (the DS `Empty` container) with `role="status"` so
|
|
164
|
+
* it announces politely after a user action; pair it with an `EmptyStateButton`
|
|
165
|
+
* for the "Reset" action.
|
|
166
|
+
*
|
|
167
|
+
* @example
|
|
168
|
+
* ```tsx
|
|
169
|
+
* <NoDataEmptyState>
|
|
170
|
+
* <EmptyStateHeader>
|
|
171
|
+
* <NoDataMedia />
|
|
172
|
+
* <NoDataTitle />
|
|
173
|
+
* <NoDataDescription />
|
|
174
|
+
* </EmptyStateHeader>
|
|
175
|
+
* <EmptyStateActions>
|
|
176
|
+
* <EmptyStateButton variant="outline" onClick={resetFilters}>Reset</EmptyStateButton>
|
|
177
|
+
* </EmptyStateActions>
|
|
178
|
+
* </NoDataEmptyState>
|
|
179
|
+
* ```
|
|
180
|
+
*/
|
|
80
181
|
declare const NoDataEmptyState: React$1.ForwardRefExoticComponent<Omit<EmptyStateProps, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
|
|
182
|
+
/** Decorative media slot of the "No data" empty state (a search icon). Renders a `<div>`, hidden from assistive tech. */
|
|
81
183
|
declare const NoDataMedia: React$1.ForwardRefExoticComponent<Omit<Omit<EmptyStateMediaProps, "children">, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
|
|
184
|
+
/** Title line of the "No data" empty state. Renders a `<div>` with the design copy by default; pass children to override. */
|
|
82
185
|
declare const NoDataTitle: React$1.ForwardRefExoticComponent<Omit<EmptyStateTitleProps, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
|
|
186
|
+
/** Supporting description text of the "No data" empty state. Renders a `<div>` with the design copy by default; pass children to override. */
|
|
83
187
|
declare const NoDataDescription: React$1.ForwardRefExoticComponent<Omit<EmptyStateDescriptionProps, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
|
|
84
188
|
//#endregion
|
|
85
189
|
//#region src/components/no-support.d.ts
|
|
190
|
+
/**
|
|
191
|
+
* Root of the "No support" empty state — shown when the current browser can't
|
|
192
|
+
* render a page. Renders a `<div>` (the DS `Empty` container); pair it with an
|
|
193
|
+
* `EmptyStateExternalLink` for the "Learn more" action.
|
|
194
|
+
*
|
|
195
|
+
* @example
|
|
196
|
+
* ```tsx
|
|
197
|
+
* <NoSupportEmptyState>
|
|
198
|
+
* <EmptyStateHeader>
|
|
199
|
+
* <NoSupportMedia />
|
|
200
|
+
* <NoSupportTitle />
|
|
201
|
+
* <NoSupportDescription />
|
|
202
|
+
* </EmptyStateHeader>
|
|
203
|
+
* <EmptyStateActions>
|
|
204
|
+
* <EmptyStateExternalLink href={docsUrl} />
|
|
205
|
+
* </EmptyStateActions>
|
|
206
|
+
* </NoSupportEmptyState>
|
|
207
|
+
* ```
|
|
208
|
+
*/
|
|
86
209
|
declare const NoSupportEmptyState: React$1.ForwardRefExoticComponent<Omit<EmptyStateProps, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
|
|
210
|
+
/** Decorative media slot of the "No support" empty state (a settings icon). Renders a `<div>`, hidden from assistive tech. */
|
|
87
211
|
declare const NoSupportMedia: React$1.ForwardRefExoticComponent<Omit<Omit<EmptyStateMediaProps, "children">, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
|
|
212
|
+
/** Title line of the "No support" empty state. Renders a `<div>` with the design copy by default; pass children to override. */
|
|
88
213
|
declare const NoSupportTitle: React$1.ForwardRefExoticComponent<Omit<EmptyStateTitleProps, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
|
|
214
|
+
/** Supporting description text of the "No support" empty state. Renders a `<div>` with the design copy by default; pass children to override. */
|
|
89
215
|
declare const NoSupportDescription: React$1.ForwardRefExoticComponent<Omit<EmptyStateDescriptionProps, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
|
|
90
216
|
//#endregion
|
|
91
217
|
//#region src/components/unknown-error.d.ts
|
|
218
|
+
/**
|
|
219
|
+
* Root of the "Unknown error" empty state — shown when content fails to load
|
|
220
|
+
* unexpectedly. Renders a `<div>` (the DS `Empty` container) with `role="alert"`
|
|
221
|
+
* so it announces assertively; pair it with a primary `EmptyStateButton` for the
|
|
222
|
+
* "Try again" action.
|
|
223
|
+
*
|
|
224
|
+
* @example
|
|
225
|
+
* ```tsx
|
|
226
|
+
* <UnknownErrorEmptyState>
|
|
227
|
+
* <EmptyStateHeader>
|
|
228
|
+
* <UnknownErrorMedia />
|
|
229
|
+
* <UnknownErrorTitle />
|
|
230
|
+
* <UnknownErrorDescription />
|
|
231
|
+
* </EmptyStateHeader>
|
|
232
|
+
* <EmptyStateActions>
|
|
233
|
+
* <EmptyStateButton onClick={retry}>Try again</EmptyStateButton>
|
|
234
|
+
* </EmptyStateActions>
|
|
235
|
+
* </UnknownErrorEmptyState>
|
|
236
|
+
* ```
|
|
237
|
+
*/
|
|
92
238
|
declare const UnknownErrorEmptyState: React$1.ForwardRefExoticComponent<Omit<EmptyStateProps, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
|
|
239
|
+
/** Decorative media slot of the "Unknown error" empty state (a warning triangle icon). Renders a `<div>`, hidden from assistive tech. */
|
|
93
240
|
declare const UnknownErrorMedia: React$1.ForwardRefExoticComponent<Omit<Omit<EmptyStateMediaProps, "children">, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
|
|
241
|
+
/** Title line of the "Unknown error" empty state. Renders a `<div>` with the design copy by default; pass children to override. */
|
|
94
242
|
declare const UnknownErrorTitle: React$1.ForwardRefExoticComponent<Omit<EmptyStateTitleProps, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
|
|
243
|
+
/** Supporting description text of the "Unknown error" empty state. Renders a `<div>` with the design copy by default; pass children to override. */
|
|
95
244
|
declare const UnknownErrorDescription: React$1.ForwardRefExoticComponent<Omit<EmptyStateDescriptionProps, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
|
|
96
245
|
//#endregion
|
|
97
246
|
//#region src/components/chatbot-response-block.d.ts
|
|
247
|
+
/** Feedback state for a response: thumbs up, thumbs down, or none. */
|
|
98
248
|
type ChatbotResponseBlockFeedback = 'up' | 'down' | null;
|
|
249
|
+
/** A cited source shown in the response's sources hover card. */
|
|
99
250
|
type ChatbotResponseBlockSource = {
|
|
100
251
|
title: string;
|
|
101
252
|
url: string;
|
|
@@ -111,6 +262,22 @@ type ChatbotResponseBlockProps = {
|
|
|
111
262
|
onFeedback?: (value: ChatbotResponseBlockFeedback) => void;
|
|
112
263
|
className?: string;
|
|
113
264
|
};
|
|
265
|
+
/**
|
|
266
|
+
* Renders a chatbot response from markdown, splitting it into markdown text and
|
|
267
|
+
* embedded component blocks (table, audio, transcript, loading), with a sources
|
|
268
|
+
* hover card and copy / thumbs-up / thumbs-down feedback controls. Renders a
|
|
269
|
+
* `<div>` (`data-slot="chatbot-response-block"`).
|
|
270
|
+
*
|
|
271
|
+
* @example
|
|
272
|
+
* ```tsx
|
|
273
|
+
* <ChatbotResponseBlock
|
|
274
|
+
* messageId="msg-1"
|
|
275
|
+
* markdown="**Hello** from the assistant"
|
|
276
|
+
* sources={[{ title: 'Help center', url: 'https://help.aircall.io' }]}
|
|
277
|
+
* onFeedback={value => console.log(value)}
|
|
278
|
+
* />
|
|
279
|
+
* ```
|
|
280
|
+
*/
|
|
114
281
|
declare function ChatbotResponseBlock({
|
|
115
282
|
messageId,
|
|
116
283
|
markdown,
|
|
@@ -148,6 +315,26 @@ declare function ChatbotResponseLoading({
|
|
|
148
315
|
}: ChatbotResponseLoadingProps): React$1.JSX.Element;
|
|
149
316
|
//#endregion
|
|
150
317
|
//#region src/components/chatbot-page.d.ts
|
|
318
|
+
/**
|
|
319
|
+
* Root layout shell for the AI chatbot experience; provides the `SidebarProvider`
|
|
320
|
+
* context required by `ChatbotSidebar` and lays out the sidebar and content
|
|
321
|
+
* columns. Renders a `SidebarProvider` (a `<div>` wrapper) with the sidebar width
|
|
322
|
+
* preset and full-height overrides for panel/modal contexts.
|
|
323
|
+
*
|
|
324
|
+
* @example
|
|
325
|
+
* ```tsx
|
|
326
|
+
* <ChatbotPage>
|
|
327
|
+
* <ChatbotSidebar conversations={[...]} />
|
|
328
|
+
* <ChatbotPageContent>
|
|
329
|
+
* <ChatbotPageBody>
|
|
330
|
+
* <ChatbotPageHeading>Need help?</ChatbotPageHeading>
|
|
331
|
+
* <ChatbotInput />
|
|
332
|
+
* </ChatbotPageBody>
|
|
333
|
+
* <ChatbotPageFooter betaTermsHref="https://legal.aircall.io/..." />
|
|
334
|
+
* </ChatbotPageContent>
|
|
335
|
+
* </ChatbotPage>
|
|
336
|
+
* ```
|
|
337
|
+
*/
|
|
151
338
|
declare const ChatbotPage: React$1.ForwardRefExoticComponent<ChatbotPageProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
152
339
|
interface ChatbotPageProps {
|
|
153
340
|
children?: React$1.ReactNode;
|
|
@@ -324,6 +511,7 @@ declare function ChatbotPanelHeader({
|
|
|
324
511
|
}: ChatbotPanelHeaderProps): React$1.JSX.Element;
|
|
325
512
|
//#endregion
|
|
326
513
|
//#region src/components/chatbot-sidebar.d.ts
|
|
514
|
+
/** A single conversation row in the `ChatbotSidebar` recent list. */
|
|
327
515
|
interface ChatbotSidebarConversation {
|
|
328
516
|
id: string;
|
|
329
517
|
/** Display title — truncated with ellipsis when it overflows. */
|
|
@@ -364,12 +552,26 @@ interface ChatbotSidebarProps {
|
|
|
364
552
|
popup?: boolean;
|
|
365
553
|
className?: string;
|
|
366
554
|
}
|
|
555
|
+
/**
|
|
556
|
+
* Conversation-history sidebar: an optional "New Chat" entry plus a scrollable,
|
|
557
|
+
* resizable list of recent conversations, each with an optional trailing ⋯ menu.
|
|
558
|
+
* Renders the DS `Sidebar` (a `<div>`), or a plain `<div>` when `popup`. Must be
|
|
559
|
+
* rendered inside a `SidebarProvider`.
|
|
560
|
+
*
|
|
561
|
+
* @example
|
|
562
|
+
* ```tsx
|
|
563
|
+
* <SidebarProvider>
|
|
564
|
+
* <ChatbotSidebar conversations={items} onSelectConversation={open} />
|
|
565
|
+
* </SidebarProvider>
|
|
566
|
+
* ```
|
|
567
|
+
*/
|
|
367
568
|
declare const ChatbotSidebar: React$1.ForwardRefExoticComponent<ChatbotSidebarProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
368
569
|
declare namespace ChatbotSidebar {
|
|
369
570
|
type Props = ChatbotSidebarProps;
|
|
370
571
|
}
|
|
371
572
|
//#endregion
|
|
372
573
|
//#region src/components/chatbot-input.d.ts
|
|
574
|
+
/** A suggestion pill shown in a row below the `ChatbotInput`. */
|
|
373
575
|
interface ChatbotInputSuggestion {
|
|
374
576
|
id: string;
|
|
375
577
|
/** Text shown on the pill button. */
|
|
@@ -407,6 +609,18 @@ type ChatbotInputProps = Omit<React$1.ComponentProps<'textarea'>, 'onChange' | '
|
|
|
407
609
|
activeConversationId?: string; /** Called when the user selects a conversation from the history popover. */
|
|
408
610
|
onSelectConversation?: (id: string) => void;
|
|
409
611
|
};
|
|
612
|
+
/**
|
|
613
|
+
* Chatbot message composer: an auto-growing `InputGroup` textarea with a send/stop
|
|
614
|
+
* button, plus optional suggestion pills and a conversation-history popover. Works
|
|
615
|
+
* controlled (`value` + `onValueChange`) or uncontrolled. Enter submits;
|
|
616
|
+
* Shift+Enter inserts a newline. Renders the DS `InputGroup` (a `<div>`) wrapping a
|
|
617
|
+
* `<textarea>`.
|
|
618
|
+
*
|
|
619
|
+
* @example
|
|
620
|
+
* ```tsx
|
|
621
|
+
* <ChatbotInput value={text} onValueChange={setText} onSubmit={send} />
|
|
622
|
+
* ```
|
|
623
|
+
*/
|
|
410
624
|
declare function ChatbotInput({
|
|
411
625
|
className,
|
|
412
626
|
value,
|
|
@@ -427,6 +641,19 @@ declare function ChatbotInput({
|
|
|
427
641
|
}: ChatbotInputProps): React$1.JSX.Element;
|
|
428
642
|
//#endregion
|
|
429
643
|
//#region src/components/copy-button.d.ts
|
|
644
|
+
/**
|
|
645
|
+
* Copy-to-clipboard button. Composes DS `Button`; copies `value` on click and
|
|
646
|
+
* exposes a `copied` state (auto-reset after `timeout`) to its `CopyButtonIcon`
|
|
647
|
+
* and `CopyButtonLabel` children via context. Renders a `<button>`.
|
|
648
|
+
*
|
|
649
|
+
* @example
|
|
650
|
+
* ```tsx
|
|
651
|
+
* <CopyButton value="npm i @aircall/ds">
|
|
652
|
+
* <CopyButtonIcon />
|
|
653
|
+
* <CopyButtonLabel />
|
|
654
|
+
* </CopyButton>
|
|
655
|
+
* ```
|
|
656
|
+
*/
|
|
430
657
|
declare const CopyButton: React$1.ForwardRefExoticComponent<Omit<CopyButtonProps, "ref"> & React$1.RefAttributes<HTMLButtonElement>>;
|
|
431
658
|
interface CopyButtonProps extends Omit<React$1.ComponentProps<typeof Button>, 'onClick' | 'variant'> {
|
|
432
659
|
value: string;
|
|
@@ -438,6 +665,10 @@ interface CopyButtonProps extends Omit<React$1.ComponentProps<typeof Button>, 'o
|
|
|
438
665
|
declare namespace CopyButton {
|
|
439
666
|
type Props = CopyButtonProps;
|
|
440
667
|
}
|
|
668
|
+
/**
|
|
669
|
+
* Icon for `CopyButton` that swaps between a copy glyph and a check glyph based on
|
|
670
|
+
* the parent's copied state. Renders an `<svg>`. Must be used inside a `CopyButton`.
|
|
671
|
+
*/
|
|
441
672
|
declare const CopyButtonIcon: React$1.ForwardRefExoticComponent<CopyButtonIconProps & React$1.RefAttributes<SVGSVGElement>>;
|
|
442
673
|
interface CopyButtonIconProps {
|
|
443
674
|
className?: string;
|
|
@@ -445,6 +676,10 @@ interface CopyButtonIconProps {
|
|
|
445
676
|
declare namespace CopyButtonIcon {
|
|
446
677
|
type Props = CopyButtonIconProps;
|
|
447
678
|
}
|
|
679
|
+
/**
|
|
680
|
+
* Text label for `CopyButton` that shows `label` normally and `copiedLabel` after a
|
|
681
|
+
* successful copy. Renders a `<span>`. Must be used inside a `CopyButton`.
|
|
682
|
+
*/
|
|
448
683
|
declare const CopyButtonLabel: React$1.ForwardRefExoticComponent<CopyButtonLabelProps & React$1.RefAttributes<HTMLSpanElement>>;
|
|
449
684
|
interface CopyButtonLabelProps {
|
|
450
685
|
label?: string;
|
|
@@ -457,6 +692,17 @@ declare namespace CopyButtonLabel {
|
|
|
457
692
|
//#endregion
|
|
458
693
|
//#region src/components/chatbot-panel-suggestion.d.ts
|
|
459
694
|
type ChatbotPanelSuggestionProps = Omit<React.ComponentProps<typeof Button>, 'variant' | 'size'>;
|
|
695
|
+
/**
|
|
696
|
+
* Pill-shaped prompt suggestion shown in the chatbot panel; a preset styling of
|
|
697
|
+
* `Button` with a green border and surface background. Renders a `<button>`.
|
|
698
|
+
*
|
|
699
|
+
* @example
|
|
700
|
+
* ```tsx
|
|
701
|
+
* <ChatbotPanelSuggestion onClick={() => ask('How do I set my phone line?')}>
|
|
702
|
+
* How do I set my phone line?
|
|
703
|
+
* </ChatbotPanelSuggestion>
|
|
704
|
+
* ```
|
|
705
|
+
*/
|
|
460
706
|
declare function ChatbotPanelSuggestion({
|
|
461
707
|
className,
|
|
462
708
|
...props
|
|
@@ -464,6 +710,16 @@ declare function ChatbotPanelSuggestion({
|
|
|
464
710
|
//#endregion
|
|
465
711
|
//#region src/components/chatbot-user-message.d.ts
|
|
466
712
|
type ChatbotUserMessageProps = React.ComponentProps<'div'>;
|
|
713
|
+
/**
|
|
714
|
+
* Right-aligned chat bubble for a user's message; clamps long content to six
|
|
715
|
+
* lines with a "Show more" / "Show less" toggle. Renders a `<div>`
|
|
716
|
+
* (`data-slot="chatbot-user-message"`).
|
|
717
|
+
*
|
|
718
|
+
* @example
|
|
719
|
+
* ```tsx
|
|
720
|
+
* <ChatbotUserMessage>How do I set up my phone number?</ChatbotUserMessage>
|
|
721
|
+
* ```
|
|
722
|
+
*/
|
|
467
723
|
declare function ChatbotUserMessage({
|
|
468
724
|
className,
|
|
469
725
|
children,
|
|
@@ -471,31 +727,68 @@ declare function ChatbotUserMessage({
|
|
|
471
727
|
}: ChatbotUserMessageProps): React$1.JSX.Element;
|
|
472
728
|
//#endregion
|
|
473
729
|
//#region src/components/dashboard-standalone-page.d.ts
|
|
730
|
+
/**
|
|
731
|
+
* Full-screen takeover shell for focused, sidebar-less flows; renders a flex-row `<div>`
|
|
732
|
+
* holding one or more `DashboardStandalonePageContent` panels side by side.
|
|
733
|
+
*
|
|
734
|
+
* @example
|
|
735
|
+
* ```tsx
|
|
736
|
+
* <DashboardStandalonePage>
|
|
737
|
+
* <DashboardStandalonePageContent>
|
|
738
|
+
* <DashboardStandalonePageHeader>
|
|
739
|
+
* <DashboardStandalonePageTitle>Create user</DashboardStandalonePageTitle>
|
|
740
|
+
* <DashboardStandalonePageActions side="start">
|
|
741
|
+
* <DashboardStandalonePageAction>Cancel</DashboardStandalonePageAction>
|
|
742
|
+
* </DashboardStandalonePageActions>
|
|
743
|
+
* </DashboardStandalonePageHeader>
|
|
744
|
+
* <DashboardStandalonePageMain>…</DashboardStandalonePageMain>
|
|
745
|
+
* </DashboardStandalonePageContent>
|
|
746
|
+
* </DashboardStandalonePage>
|
|
747
|
+
* ```
|
|
748
|
+
*/
|
|
474
749
|
declare const DashboardStandalonePage: React$1.ForwardRefExoticComponent<Omit<DashboardStandalonePageProps, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
|
|
475
750
|
interface DashboardStandalonePageProps extends React$1.ComponentProps<'div'> {}
|
|
476
751
|
declare namespace DashboardStandalonePage {
|
|
477
752
|
type Props = DashboardStandalonePageProps;
|
|
478
753
|
}
|
|
754
|
+
/**
|
|
755
|
+
* Rounded, bordered content panel that fills the shell; renders a `<div>`.
|
|
756
|
+
* Typically wraps a `DashboardStandalonePageHeader` above a `DashboardStandalonePageMain`.
|
|
757
|
+
*/
|
|
479
758
|
declare const DashboardStandalonePageContent: React$1.ForwardRefExoticComponent<Omit<DashboardStandalonePageContentProps, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
|
|
480
759
|
interface DashboardStandalonePageContentProps extends React$1.ComponentProps<'div'> {}
|
|
481
760
|
declare namespace DashboardStandalonePageContent {
|
|
482
761
|
type Props = DashboardStandalonePageContentProps;
|
|
483
762
|
}
|
|
763
|
+
/**
|
|
764
|
+
* Fixed-height (64px) header bar with an optically centered title and absolutely
|
|
765
|
+
* positioned action slots; renders a `<header>`.
|
|
766
|
+
*/
|
|
484
767
|
declare const DashboardStandalonePageHeader: React$1.ForwardRefExoticComponent<Omit<DashboardStandalonePageHeaderProps, "ref"> & React$1.RefAttributes<HTMLElement>>;
|
|
485
768
|
interface DashboardStandalonePageHeaderProps extends React$1.ComponentProps<'header'> {}
|
|
486
769
|
declare namespace DashboardStandalonePageHeader {
|
|
487
770
|
type Props = DashboardStandalonePageHeaderProps;
|
|
488
771
|
}
|
|
772
|
+
/**
|
|
773
|
+
* Centered, truncated page title in the header; renders an `<h1>`.
|
|
774
|
+
*/
|
|
489
775
|
declare const DashboardStandalonePageTitle: React$1.ForwardRefExoticComponent<Omit<DashboardStandalonePageTitleProps, "ref"> & React$1.RefAttributes<HTMLHeadingElement>>;
|
|
490
776
|
interface DashboardStandalonePageTitleProps extends React$1.ComponentProps<'h1'> {}
|
|
491
777
|
declare namespace DashboardStandalonePageTitle {
|
|
492
778
|
type Props = DashboardStandalonePageTitleProps;
|
|
493
779
|
}
|
|
780
|
+
/**
|
|
781
|
+
* Optional subtitle stacked beneath the title in the header; renders a `<p>`.
|
|
782
|
+
*/
|
|
494
783
|
declare const DashboardStandalonePageDescription: React$1.ForwardRefExoticComponent<Omit<DashboardStandalonePageDescriptionProps, "ref"> & React$1.RefAttributes<HTMLParagraphElement>>;
|
|
495
784
|
interface DashboardStandalonePageDescriptionProps extends React$1.ComponentProps<'p'> {}
|
|
496
785
|
declare namespace DashboardStandalonePageDescription {
|
|
497
786
|
type Props = DashboardStandalonePageDescriptionProps;
|
|
498
787
|
}
|
|
788
|
+
/**
|
|
789
|
+
* Action slot absolutely pinned to the header's left or right edge; renders a `<div>`.
|
|
790
|
+
* Sitting outside the flow, it never shifts the centered title.
|
|
791
|
+
*/
|
|
499
792
|
declare const DashboardStandalonePageActions: React$1.ForwardRefExoticComponent<Omit<DashboardStandalonePageActionsProps, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
|
|
500
793
|
interface DashboardStandalonePageActionsProps extends React$1.ComponentProps<'div'> {
|
|
501
794
|
side?: 'start' | 'end';
|
|
@@ -503,11 +796,17 @@ interface DashboardStandalonePageActionsProps extends React$1.ComponentProps<'di
|
|
|
503
796
|
declare namespace DashboardStandalonePageActions {
|
|
504
797
|
type Props = DashboardStandalonePageActionsProps;
|
|
505
798
|
}
|
|
799
|
+
/**
|
|
800
|
+
* Header action button rendering a ds `Button` (ghost, `lg` by default); renders a `<button>`.
|
|
801
|
+
*/
|
|
506
802
|
declare const DashboardStandalonePageAction: React$1.ForwardRefExoticComponent<Omit<DashboardStandalonePageActionProps, "ref"> & React$1.RefAttributes<HTMLButtonElement>>;
|
|
507
803
|
interface DashboardStandalonePageActionProps extends React$1.ComponentProps<typeof Button> {}
|
|
508
804
|
declare namespace DashboardStandalonePageAction {
|
|
509
805
|
type Props = DashboardStandalonePageActionProps;
|
|
510
806
|
}
|
|
807
|
+
/**
|
|
808
|
+
* Scrollable, transparent content area below the header inside the panel; renders a `<main>`.
|
|
809
|
+
*/
|
|
511
810
|
declare const DashboardStandalonePageMain: React$1.ForwardRefExoticComponent<Omit<DashboardStandalonePageMainProps, "ref"> & React$1.RefAttributes<HTMLElement>>;
|
|
512
811
|
interface DashboardStandalonePageMainProps extends React$1.ComponentProps<'main'> {}
|
|
513
812
|
declare namespace DashboardStandalonePageMain {
|
|
@@ -515,26 +814,54 @@ declare namespace DashboardStandalonePageMain {
|
|
|
515
814
|
}
|
|
516
815
|
//#endregion
|
|
517
816
|
//#region src/components/dashboard-page.d.ts
|
|
817
|
+
/**
|
|
818
|
+
* Full-screen outer shell for a dashboard view; renders a `<div>`.
|
|
819
|
+
* Stacks an optional `DashboardPageBanner` above a `DashboardSidebarProvider`
|
|
820
|
+
* that holds the sidebar and a `DashboardPageContent`.
|
|
821
|
+
*
|
|
822
|
+
* @example
|
|
823
|
+
* ```tsx
|
|
824
|
+
* <DashboardPage>
|
|
825
|
+
* <DashboardSidebarProvider>
|
|
826
|
+
* <DashboardSidebar>…</DashboardSidebar>
|
|
827
|
+
* <DashboardPageContent>…</DashboardPageContent>
|
|
828
|
+
* </DashboardSidebarProvider>
|
|
829
|
+
* </DashboardPage>
|
|
830
|
+
* ```
|
|
831
|
+
*/
|
|
518
832
|
declare const DashboardPage: React$1.ForwardRefExoticComponent<Omit<DashboardPageProps, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
|
|
519
833
|
interface DashboardPageProps extends React$1.ComponentProps<'div'> {}
|
|
520
834
|
declare namespace DashboardPage {
|
|
521
835
|
type Props = DashboardPageProps;
|
|
522
836
|
}
|
|
837
|
+
/**
|
|
838
|
+
* Full-width top row that sits flush above the sidebar/content row; renders a `<div>`.
|
|
839
|
+
* Use to host trial notices, announcements, or any ds `Banner`.
|
|
840
|
+
*/
|
|
523
841
|
declare const DashboardPageBanner: React$1.ForwardRefExoticComponent<Omit<DashboardPageBannerProps, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
|
|
524
842
|
interface DashboardPageBannerProps extends React$1.ComponentProps<'div'> {}
|
|
525
843
|
declare namespace DashboardPageBanner {
|
|
526
844
|
type Props = DashboardPageBannerProps;
|
|
527
845
|
}
|
|
846
|
+
/**
|
|
847
|
+
* White content card filling the right column beside the sidebar; renders a `<div>`.
|
|
848
|
+
*/
|
|
528
849
|
declare const DashboardPageContent: React$1.ForwardRefExoticComponent<Omit<DashboardPageContentProps, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
|
|
529
850
|
interface DashboardPageContentProps extends React$1.ComponentProps<'div'> {}
|
|
530
851
|
declare namespace DashboardPageContent {
|
|
531
852
|
type Props = DashboardPageContentProps;
|
|
532
853
|
}
|
|
854
|
+
/**
|
|
855
|
+
* Scrollable content area inside `DashboardPageContent`; renders a `<main>`.
|
|
856
|
+
*/
|
|
533
857
|
declare const DashboardPageMain: React$1.ForwardRefExoticComponent<Omit<DashboardPageMainProps, "ref"> & React$1.RefAttributes<HTMLElement>>;
|
|
534
858
|
interface DashboardPageMainProps extends React$1.ComponentProps<'main'> {}
|
|
535
859
|
declare namespace DashboardPageMain {
|
|
536
860
|
type Props = DashboardPageMainProps;
|
|
537
861
|
}
|
|
862
|
+
/**
|
|
863
|
+
* Left-aligned tab bar placed as a sibling of `DashboardPageHeader`; renders a ds `TabsList`.
|
|
864
|
+
*/
|
|
538
865
|
declare const DashboardPageTabs: React$1.ForwardRefExoticComponent<Omit<DashboardPageTabsProps, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
|
|
539
866
|
interface DashboardPageTabsProps extends React$1.ComponentProps<typeof TabsList> {}
|
|
540
867
|
declare namespace DashboardPageTabs {
|
|
@@ -542,31 +869,62 @@ declare namespace DashboardPageTabs {
|
|
|
542
869
|
}
|
|
543
870
|
//#endregion
|
|
544
871
|
//#region src/components/dashboard-page-header.d.ts
|
|
872
|
+
/**
|
|
873
|
+
* Header for a `DashboardPageContent`; renders a `<div>` that establishes a
|
|
874
|
+
* `@container` context with an inner CSS-grid its sub-components self-place into.
|
|
875
|
+
*
|
|
876
|
+
* @example
|
|
877
|
+
* ```tsx
|
|
878
|
+
* <DashboardPageHeader>
|
|
879
|
+
* <DashboardPageHeaderTitle>Team</DashboardPageHeaderTitle>
|
|
880
|
+
* <DashboardPageHeaderActions>
|
|
881
|
+
* <DashboardPageHeaderAction>Invite</DashboardPageHeaderAction>
|
|
882
|
+
* </DashboardPageHeaderActions>
|
|
883
|
+
* </DashboardPageHeader>
|
|
884
|
+
* ```
|
|
885
|
+
*/
|
|
545
886
|
declare const DashboardPageHeader: React$1.ForwardRefExoticComponent<Omit<DashboardPageHeaderProps, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
|
|
546
887
|
interface DashboardPageHeaderProps extends React$1.ComponentProps<'div'> {}
|
|
547
888
|
declare namespace DashboardPageHeader {
|
|
548
889
|
type Props = DashboardPageHeaderProps;
|
|
549
890
|
}
|
|
891
|
+
/**
|
|
892
|
+
* Back-navigation row for Level 2 headers; renders a `<div>` in the grid `nav` area.
|
|
893
|
+
*/
|
|
550
894
|
declare const DashboardPageHeaderNav: React$1.ForwardRefExoticComponent<Omit<DashboardPageHeaderNavProps, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
|
|
551
895
|
interface DashboardPageHeaderNavProps extends React$1.ComponentProps<'div'> {}
|
|
552
896
|
declare namespace DashboardPageHeaderNav {
|
|
553
897
|
type Props = DashboardPageHeaderNavProps;
|
|
554
898
|
}
|
|
899
|
+
/**
|
|
900
|
+
* Back button rendering a ghost, small ds `Button` with a leading chevron icon.
|
|
901
|
+
* Accepts a render prop so it can become an `<a>` or router `<Link>`.
|
|
902
|
+
*/
|
|
555
903
|
declare const DashboardPageHeaderNavBack: React$1.ForwardRefExoticComponent<Omit<DashboardPageHeaderNavBackProps, "ref"> & React$1.RefAttributes<HTMLButtonElement>>;
|
|
556
904
|
interface DashboardPageHeaderNavBackProps extends Omit<React$1.ComponentProps<typeof Button>, 'variant' | 'size'> {}
|
|
557
905
|
declare namespace DashboardPageHeaderNavBack {
|
|
558
906
|
type Props = DashboardPageHeaderNavBackProps;
|
|
559
907
|
}
|
|
908
|
+
/**
|
|
909
|
+
* Icon/flag slot shown left of the title; renders a `<div>` in the grid `prefix` area.
|
|
910
|
+
*/
|
|
560
911
|
declare const DashboardPageHeaderPrefix: React$1.ForwardRefExoticComponent<Omit<DashboardPageHeaderPrefixProps, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
|
|
561
912
|
interface DashboardPageHeaderPrefixProps extends React$1.ComponentProps<'div'> {}
|
|
562
913
|
declare namespace DashboardPageHeaderPrefix {
|
|
563
914
|
type Props = DashboardPageHeaderPrefixProps;
|
|
564
915
|
}
|
|
916
|
+
/**
|
|
917
|
+
* Wrapper that stacks the title and subtitle; renders a `<div>` in the grid `info` area.
|
|
918
|
+
*/
|
|
565
919
|
declare const DashboardPageHeaderTitleGroup: React$1.ForwardRefExoticComponent<Omit<DashboardPageHeaderTitleGroupProps, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
|
|
566
920
|
interface DashboardPageHeaderTitleGroupProps extends React$1.ComponentProps<'div'> {}
|
|
567
921
|
declare namespace DashboardPageHeaderTitleGroup {
|
|
568
922
|
type Props = DashboardPageHeaderTitleGroupProps;
|
|
569
923
|
}
|
|
924
|
+
/**
|
|
925
|
+
* Page title; renders an `<h1>`, self-placing in the grid `info` area or deferring
|
|
926
|
+
* layout to `DashboardPageHeaderTitleGroup` when nested inside one.
|
|
927
|
+
*/
|
|
570
928
|
declare const DashboardPageHeaderTitle: React$1.ForwardRefExoticComponent<Omit<DashboardPageHeaderTitleProps, "ref"> & React$1.RefAttributes<HTMLHeadingElement>>;
|
|
571
929
|
interface DashboardPageHeaderTitleProps extends React$1.ComponentProps<'h1'> {
|
|
572
930
|
size?: 'lg' | 'sm';
|
|
@@ -574,21 +932,34 @@ interface DashboardPageHeaderTitleProps extends React$1.ComponentProps<'h1'> {
|
|
|
574
932
|
declare namespace DashboardPageHeaderTitle {
|
|
575
933
|
type Props = DashboardPageHeaderTitleProps;
|
|
576
934
|
}
|
|
935
|
+
/**
|
|
936
|
+
* Optional subtitle line/block placed beneath the title; renders a `<div>`.
|
|
937
|
+
*/
|
|
577
938
|
declare const DashboardPageHeaderSubtitle: React$1.ForwardRefExoticComponent<Omit<DashboardPageHeaderSubtitleProps, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
|
|
578
939
|
interface DashboardPageHeaderSubtitleProps extends React$1.ComponentProps<'div'> {}
|
|
579
940
|
declare namespace DashboardPageHeaderSubtitle {
|
|
580
941
|
type Props = DashboardPageHeaderSubtitleProps;
|
|
581
942
|
}
|
|
943
|
+
/**
|
|
944
|
+
* Muted, clamped description text under the title; renders a `<div>`.
|
|
945
|
+
*/
|
|
582
946
|
declare const DashboardPageHeaderDescription: React$1.ForwardRefExoticComponent<Omit<DashboardPageHeaderDescriptionProps, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
|
|
583
947
|
interface DashboardPageHeaderDescriptionProps extends React$1.ComponentProps<'div'> {}
|
|
584
948
|
declare namespace DashboardPageHeaderDescription {
|
|
585
949
|
type Props = DashboardPageHeaderDescriptionProps;
|
|
586
950
|
}
|
|
951
|
+
/**
|
|
952
|
+
* Flex container for header actions; renders a `<div>` in the grid `actions` area.
|
|
953
|
+
*/
|
|
587
954
|
declare const DashboardPageHeaderActions: React$1.ForwardRefExoticComponent<Omit<DashboardPageHeaderActionsProps, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
|
|
588
955
|
interface DashboardPageHeaderActionsProps extends React$1.ComponentProps<'div'> {}
|
|
589
956
|
declare namespace DashboardPageHeaderActions {
|
|
590
957
|
type Props = DashboardPageHeaderActionsProps;
|
|
591
958
|
}
|
|
959
|
+
/**
|
|
960
|
+
* Header action button rendering a ds `Button` locked to the actions area sizes;
|
|
961
|
+
* renders a `<button>` (defaults to a labeled `lg` CTA, or `icon-lg` for icon-only triggers).
|
|
962
|
+
*/
|
|
592
963
|
declare const DashboardPageHeaderAction: React$1.ForwardRefExoticComponent<Omit<DashboardPageHeaderActionProps, "ref"> & React$1.RefAttributes<HTMLButtonElement>>;
|
|
593
964
|
interface DashboardPageHeaderActionProps extends Omit<React$1.ComponentProps<typeof Button>, 'size'> {
|
|
594
965
|
size?: 'lg' | 'icon-lg';
|
|
@@ -687,6 +1058,237 @@ declare namespace ScoreBadge {
|
|
|
687
1058
|
*/
|
|
688
1059
|
declare const ScoreBadge: React$1.ForwardRefExoticComponent<Omit<ScoreBadgeProps, "ref"> & React$1.RefAttributes<HTMLSpanElement>>;
|
|
689
1060
|
//#endregion
|
|
1061
|
+
//#region src/helpers/format-kpi.d.ts
|
|
1062
|
+
/**
|
|
1063
|
+
* KPI formatting helpers — private to `@aircall/blocks`.
|
|
1064
|
+
* Number/percent formatting aligns with ScoreBadge `kind` / `formatOptions`.
|
|
1065
|
+
*/
|
|
1066
|
+
type KpiKind = 'number' | 'percent' | 'duration' | 'text';
|
|
1067
|
+
/**
|
|
1068
|
+
* How `kind="duration"` is displayed.
|
|
1069
|
+
* - `long` — `"1h 2min 3s"`
|
|
1070
|
+
* - `clock` — zero-padded `"20:53"` / `"05:04"` per {@link KpiDurationScale}
|
|
1071
|
+
*/
|
|
1072
|
+
type KpiDurationStyle = 'long' | 'clock';
|
|
1073
|
+
/**
|
|
1074
|
+
* Clock scale when {@link KpiDurationStyle} is `"clock"`.
|
|
1075
|
+
* - `hours` — `HH:MM` with default unit `hr/min`
|
|
1076
|
+
* - `minutes` — `MM:SS` with default unit `min/sec`
|
|
1077
|
+
*/
|
|
1078
|
+
type KpiDurationScale = 'hours' | 'minutes';
|
|
1079
|
+
//#endregion
|
|
1080
|
+
//#region src/components/kpi.d.ts
|
|
1081
|
+
/**
|
|
1082
|
+
* Direction of change — controls the trend **icon** only.
|
|
1083
|
+
* Color comes from {@link KpiTone}, so an upward change can be good or bad.
|
|
1084
|
+
*/
|
|
1085
|
+
type KpiTrend = 'up' | 'down' | 'neutral';
|
|
1086
|
+
/**
|
|
1087
|
+
* Semantic meaning of the change — controls **color** only.
|
|
1088
|
+
* Same vocabulary as {@link SentimentBadge} (`positive` / `negative` / `neutral`).
|
|
1089
|
+
* Never inferred from {@link KpiTrend}: an "up" abandoned-calls metric stays red
|
|
1090
|
+
* when `tone="negative"`.
|
|
1091
|
+
*/
|
|
1092
|
+
type KpiTone = 'positive' | 'negative' | 'neutral';
|
|
1093
|
+
/**
|
|
1094
|
+
* KPI tile container. Thin wrapper around DS `Card` (`size="sm"` by default)
|
|
1095
|
+
* that provides a `disabled` context for nested {@link KpiValue}s.
|
|
1096
|
+
* When `disabled`, applies `opacity-50` and `cursor-not-allowed`, and blocks
|
|
1097
|
+
* activation of nested interactive values.
|
|
1098
|
+
* Compose with DS `CardHeader` / `CardTitle` / `CardContent` / `CardAction`,
|
|
1099
|
+
* {@link KpiValue}, and {@link KpiDescription}.
|
|
1100
|
+
*
|
|
1101
|
+
* @example
|
|
1102
|
+
* ```tsx
|
|
1103
|
+
* import { CardHeader, CardTitle, CardContent } from '@aircall/ds';
|
|
1104
|
+
* import { KpiCard, KpiValue, KpiDescription } from '@aircall/blocks';
|
|
1105
|
+
*
|
|
1106
|
+
* <KpiCard>
|
|
1107
|
+
* <CardHeader>
|
|
1108
|
+
* <CardTitle>Answered</CardTitle>
|
|
1109
|
+
* </CardHeader>
|
|
1110
|
+
* <CardContent className="flex flex-col gap-1">
|
|
1111
|
+
* <KpiValue value={123.1} kind="percent" trend="up" tone="positive" />
|
|
1112
|
+
* <KpiDescription trend="up" tone="positive">+2.48% vs previous period</KpiDescription>
|
|
1113
|
+
* </CardContent>
|
|
1114
|
+
* </KpiCard>
|
|
1115
|
+
* ```
|
|
1116
|
+
*/
|
|
1117
|
+
declare const KpiCard: React$1.ForwardRefExoticComponent<Omit<KpiCardProps, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
|
|
1118
|
+
interface KpiCardProps extends React$1.ComponentProps<typeof Card> {
|
|
1119
|
+
/**
|
|
1120
|
+
* When `true`, applies `opacity-50` and `cursor-not-allowed`, and cascades
|
|
1121
|
+
* so nested {@link KpiValue}s cannot be activated.
|
|
1122
|
+
* @default false
|
|
1123
|
+
*/
|
|
1124
|
+
disabled?: boolean;
|
|
1125
|
+
}
|
|
1126
|
+
declare namespace KpiCard {
|
|
1127
|
+
type Props = KpiCardProps;
|
|
1128
|
+
}
|
|
1129
|
+
/**
|
|
1130
|
+
* KPI metric value. Formats via `useDsLocale` and renders primary (and optional
|
|
1131
|
+
* secondary) typography, with trend variants. Passing `onClick` makes the value
|
|
1132
|
+
* interactive (button + dotted underline). Prefer {@link KpiCard}`s `disabled`
|
|
1133
|
+
* for tile-level muting; a local `disabled` still works for standalone use.
|
|
1134
|
+
* Compose inside DS `CardContent` with {@link KpiDescription}.
|
|
1135
|
+
*
|
|
1136
|
+
* Prop naming: `kind` + `formatOptions` for formatting; `trend` is direction
|
|
1137
|
+
* (icon); `tone` is meaning (color) — "up" is not always good.
|
|
1138
|
+
*
|
|
1139
|
+
* @example
|
|
1140
|
+
* ```tsx
|
|
1141
|
+
* <KpiValue value={123.1} kind="percent" trend="up" tone="positive" />
|
|
1142
|
+
* ```
|
|
1143
|
+
*/
|
|
1144
|
+
declare const KpiValue: React$1.ForwardRefExoticComponent<Omit<KpiValueProps, "ref"> & React$1.RefAttributes<HTMLElement>>;
|
|
1145
|
+
type KpiValueProps = Omit<useRender.ComponentProps<'div'>, 'children'> & {
|
|
1146
|
+
/**
|
|
1147
|
+
* Raw value. `null` / `undefined` (or non-finite number) renders `"--"`.
|
|
1148
|
+
* Ignored when `children` is passed.
|
|
1149
|
+
*
|
|
1150
|
+
* - `number` — formatted by {@link KpiValueProps.kind} (`number` / `percent` / `duration`)
|
|
1151
|
+
* - `string` — always rendered as-is (`kind` is ignored). Coerce numeric API
|
|
1152
|
+
* strings before passing if you need number formatting.
|
|
1153
|
+
*/
|
|
1154
|
+
value?: number | string | null;
|
|
1155
|
+
/**
|
|
1156
|
+
* How a **numeric** `value` is formatted. Ignored when `value` is a `string`
|
|
1157
|
+
* (opaque text) or when `children` is passed.
|
|
1158
|
+
* @default 'number' when value is a number; 'text' when value is a string
|
|
1159
|
+
*/
|
|
1160
|
+
kind?: KpiKind;
|
|
1161
|
+
/**
|
|
1162
|
+
* Extra `Intl.NumberFormat` options merged over the per-kind defaults.
|
|
1163
|
+
* Ignored for `kind="duration"` / `kind="text"`.
|
|
1164
|
+
*/
|
|
1165
|
+
formatOptions?: Intl.NumberFormatOptions;
|
|
1166
|
+
/**
|
|
1167
|
+
* How `kind="duration"` is displayed.
|
|
1168
|
+
* @default 'long' — `"1h 2min 3s"`
|
|
1169
|
+
* `'clock'` — zero-padded `"20:53"` / `"05:04"` per {@link KpiValueProps.durationScale}
|
|
1170
|
+
*/
|
|
1171
|
+
durationStyle?: KpiDurationStyle;
|
|
1172
|
+
/**
|
|
1173
|
+
* Clock scale when {@link KpiValueProps.durationStyle} is `"clock"`.
|
|
1174
|
+
* @default 'minutes' — `MM:SS` + unit `min/sec`
|
|
1175
|
+
* `'hours'` — `HH:MM` + unit `hr/min`
|
|
1176
|
+
*/
|
|
1177
|
+
durationScale?: KpiDurationScale;
|
|
1178
|
+
/**
|
|
1179
|
+
* Secondary unit after the value (Additional variant) — e.g. `avg`.
|
|
1180
|
+
* For `kind="number"`, fractional digits also use this style; `unit` is
|
|
1181
|
+
* appended after them. Prefer `kind="percent"` when the unit is `%`.
|
|
1182
|
+
* For `durationStyle="clock"`, defaults to `hr/min` / `min/sec` from
|
|
1183
|
+
* {@link KpiValueProps.durationScale}; pass `unit=""` to suppress.
|
|
1184
|
+
*/
|
|
1185
|
+
unit?: React$1.ReactNode;
|
|
1186
|
+
/**
|
|
1187
|
+
* Direction of change — icon only (`up` / `down` / `neutral`).
|
|
1188
|
+
* Does **not** pick color; pair with {@link KpiValueProps.tone}.
|
|
1189
|
+
*/
|
|
1190
|
+
trend?: KpiTrend;
|
|
1191
|
+
/**
|
|
1192
|
+
* Whether the change is good or bad — color only.
|
|
1193
|
+
* @default 'neutral'
|
|
1194
|
+
*/
|
|
1195
|
+
tone?: KpiTone;
|
|
1196
|
+
/**
|
|
1197
|
+
* Marks a clickable value as selected (solid underline + `text-primary`).
|
|
1198
|
+
* Only applies when `onClick` is set.
|
|
1199
|
+
* @default false
|
|
1200
|
+
*/
|
|
1201
|
+
active?: boolean;
|
|
1202
|
+
/**
|
|
1203
|
+
* Mutes the value (`text-muted-foreground`) for standalone use. Prefer
|
|
1204
|
+
* {@link KpiCard}`s `disabled` when composing a tile — that fades the whole
|
|
1205
|
+
* card via `opacity-50` and still blocks interactive activation.
|
|
1206
|
+
* @default false
|
|
1207
|
+
*/
|
|
1208
|
+
disabled?: boolean;
|
|
1209
|
+
/**
|
|
1210
|
+
* Escape hatch: custom primary content instead of `value` formatting.
|
|
1211
|
+
* `unit` / `trend` / `tone` still apply.
|
|
1212
|
+
*/
|
|
1213
|
+
children?: React$1.ReactNode;
|
|
1214
|
+
};
|
|
1215
|
+
declare namespace KpiValue {
|
|
1216
|
+
type Props = KpiValueProps;
|
|
1217
|
+
}
|
|
1218
|
+
interface KpiDescriptionProps extends React$1.ComponentProps<'div'> {
|
|
1219
|
+
/**
|
|
1220
|
+
* Trailing trend icon direction (`up` / `down` / `neutral`).
|
|
1221
|
+
* Does **not** pick color; pair with {@link KpiDescriptionProps.tone}.
|
|
1222
|
+
*/
|
|
1223
|
+
trend?: KpiTrend;
|
|
1224
|
+
/**
|
|
1225
|
+
* Icon color only — whether the change is good or bad. Text stays foreground.
|
|
1226
|
+
* @default 'neutral'
|
|
1227
|
+
*/
|
|
1228
|
+
tone?: KpiTone;
|
|
1229
|
+
}
|
|
1230
|
+
declare namespace KpiDescription {
|
|
1231
|
+
type Props = KpiDescriptionProps;
|
|
1232
|
+
}
|
|
1233
|
+
/**
|
|
1234
|
+
* Supporting comparison / context line under a {@link KpiValue}. Compose as a
|
|
1235
|
+
* sibling inside DS `CardContent` — not the metric title (`CardTitle` owns that).
|
|
1236
|
+
*
|
|
1237
|
+
* Text stays foreground; `trend` / `tone` only color the trailing icon so an
|
|
1238
|
+
* upward change that is bad uses `trend="up" tone="negative"`.
|
|
1239
|
+
*
|
|
1240
|
+
* @example
|
|
1241
|
+
* ```tsx
|
|
1242
|
+
* <KpiDescription trend="up" tone="positive">+2.48% vs previous period</KpiDescription>
|
|
1243
|
+
* <KpiDescription trend="up" tone="negative">+12% abandoned</KpiDescription>
|
|
1244
|
+
* ```
|
|
1245
|
+
*/
|
|
1246
|
+
declare const KpiDescription: React$1.ForwardRefExoticComponent<Omit<KpiDescriptionProps, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
|
|
1247
|
+
/**
|
|
1248
|
+
* Loading placeholder sized for a {@link KpiValue} row. Thin wrapper around
|
|
1249
|
+
* DS `Skeleton` (`h-4 w-[45px]` with vertical margin to match the value row).
|
|
1250
|
+
* Swap in place of {@link KpiValue} while data loads.
|
|
1251
|
+
*
|
|
1252
|
+
* @example
|
|
1253
|
+
* ```tsx
|
|
1254
|
+
* <CardContent>
|
|
1255
|
+
* {loading ? <KpiValueSkeleton /> : <KpiValue value={123} />}
|
|
1256
|
+
* </CardContent>
|
|
1257
|
+
* ```
|
|
1258
|
+
*/
|
|
1259
|
+
declare const KpiValueSkeleton: React$1.ForwardRefExoticComponent<Omit<KpiValueSkeletonProps, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
|
|
1260
|
+
interface KpiValueSkeletonProps extends React$1.ComponentProps<typeof Skeleton> {}
|
|
1261
|
+
declare namespace KpiValueSkeleton {
|
|
1262
|
+
type Props = KpiValueSkeletonProps;
|
|
1263
|
+
}
|
|
1264
|
+
/**
|
|
1265
|
+
* Loading placeholder sized for a {@link KpiDescription} row. Thin wrapper
|
|
1266
|
+
* around DS `Skeleton` (`12×144`, matching `text-xs` comparison copy).
|
|
1267
|
+
* Swap in place of {@link KpiDescription} while data loads.
|
|
1268
|
+
*
|
|
1269
|
+
* @example
|
|
1270
|
+
* ```tsx
|
|
1271
|
+
* <CardContent className="flex flex-col gap-1">
|
|
1272
|
+
* {loading ? (
|
|
1273
|
+
* <>
|
|
1274
|
+
* <KpiValueSkeleton />
|
|
1275
|
+
* <KpiDescriptionSkeleton />
|
|
1276
|
+
* </>
|
|
1277
|
+
* ) : (
|
|
1278
|
+
* <>
|
|
1279
|
+
* <KpiValue value={123} />
|
|
1280
|
+
* <KpiDescription>+2.48% vs previous period</KpiDescription>
|
|
1281
|
+
* </>
|
|
1282
|
+
* )}
|
|
1283
|
+
* </CardContent>
|
|
1284
|
+
* ```
|
|
1285
|
+
*/
|
|
1286
|
+
declare const KpiDescriptionSkeleton: React$1.ForwardRefExoticComponent<Omit<KpiDescriptionSkeletonProps, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
|
|
1287
|
+
interface KpiDescriptionSkeletonProps extends React$1.ComponentProps<typeof Skeleton> {}
|
|
1288
|
+
declare namespace KpiDescriptionSkeleton {
|
|
1289
|
+
type Props = KpiDescriptionSkeletonProps;
|
|
1290
|
+
}
|
|
1291
|
+
//#endregion
|
|
690
1292
|
//#region src/components/sentiment-badge.d.ts
|
|
691
1293
|
/**
|
|
692
1294
|
* The three conversation sentiments a {@link SentimentBadge} can display. Each
|
|
@@ -737,10 +1339,12 @@ declare function ChatbotPanelTrigger({
|
|
|
737
1339
|
}: ChatbotPanelTriggerProps): React$1.JSX.Element;
|
|
738
1340
|
//#endregion
|
|
739
1341
|
//#region src/components/chatbot-expand-suggestion.d.ts
|
|
1342
|
+
/** A selectable category filter pill shown above the suggestions list. */
|
|
740
1343
|
interface ChatbotExpandSuggestionCategory {
|
|
741
1344
|
value: string;
|
|
742
1345
|
label: string;
|
|
743
1346
|
}
|
|
1347
|
+
/** A single clickable suggestion row. */
|
|
744
1348
|
interface ChatbotExpandSuggestionItem {
|
|
745
1349
|
id: string;
|
|
746
1350
|
text: string;
|
|
@@ -760,12 +1364,27 @@ interface ChatbotExpandSuggestionProps {
|
|
|
760
1364
|
onSuggestionClick?: (suggestion: ChatbotExpandSuggestionItem) => void;
|
|
761
1365
|
className?: string;
|
|
762
1366
|
}
|
|
1367
|
+
/**
|
|
1368
|
+
* Displays category filter pills and a list of clickable suggestion rows for the
|
|
1369
|
+
* chatbot idle state. Renders a `<div>` wrapping an optional `ToggleGroup` of
|
|
1370
|
+
* category pills and a list of `Item` rows separated by `Separator`.
|
|
1371
|
+
*
|
|
1372
|
+
* @example
|
|
1373
|
+
* ```tsx
|
|
1374
|
+
* <ChatbotExpandSuggestion
|
|
1375
|
+
* categories={[{ value: 'billing', label: 'Billing' }]}
|
|
1376
|
+
* suggestions={[{ id: '1', text: 'How do I reset my password?' }]}
|
|
1377
|
+
* onSuggestionClick={suggestion => console.log(suggestion.text)}
|
|
1378
|
+
* />
|
|
1379
|
+
* ```
|
|
1380
|
+
*/
|
|
763
1381
|
declare const ChatbotExpandSuggestion: React$1.ForwardRefExoticComponent<ChatbotExpandSuggestionProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
764
1382
|
declare namespace ChatbotExpandSuggestion {
|
|
765
1383
|
type Props = ChatbotExpandSuggestionProps;
|
|
766
1384
|
}
|
|
767
1385
|
//#endregion
|
|
768
1386
|
//#region src/components/chatbot-panel.d.ts
|
|
1387
|
+
/** A suggestion pill shown in the panel's empty state. */
|
|
769
1388
|
type ChatbotPanelSuggestionItem = {
|
|
770
1389
|
/** Stable id; falls back to the label when omitted. */id?: string; /** Pill copy, also used as the message text on select. */
|
|
771
1390
|
label: string;
|
|
@@ -808,6 +1427,21 @@ type ChatbotPanelProps = Omit<React$1.ComponentProps<'div'>, 'title' | 'onSubmit
|
|
|
808
1427
|
onWidthChange?: (width: number) => void; /** Conversation content. When empty, the empty state renders instead. */
|
|
809
1428
|
children?: React$1.ReactNode;
|
|
810
1429
|
};
|
|
1430
|
+
/**
|
|
1431
|
+
* Presentational chatbot surface — header, scrollable conversation area (or a
|
|
1432
|
+
* built-in empty state), composer, and disclaimer — in a width-resizable shell.
|
|
1433
|
+
* Owns no visibility state (the consumer controls show/hide); pass the conversation
|
|
1434
|
+
* as `children`, and no children renders the empty state. Renders a `<div>`
|
|
1435
|
+
* container.
|
|
1436
|
+
*
|
|
1437
|
+
* @example
|
|
1438
|
+
* ```tsx
|
|
1439
|
+
* <ChatbotPanel onClose={close} onSubmit={send}>
|
|
1440
|
+
* <ChatbotUserMessage>Hi</ChatbotUserMessage>
|
|
1441
|
+
* <ChatbotResponseBlock>Hello!</ChatbotResponseBlock>
|
|
1442
|
+
* </ChatbotPanel>
|
|
1443
|
+
* ```
|
|
1444
|
+
*/
|
|
811
1445
|
declare function ChatbotPanel({
|
|
812
1446
|
title,
|
|
813
1447
|
onMenu,
|
|
@@ -856,23 +1490,25 @@ declare function useCopyToClipboard(value: string, {
|
|
|
856
1490
|
};
|
|
857
1491
|
//#endregion
|
|
858
1492
|
//#region src/components/card-save-bar.d.ts
|
|
1493
|
+
type CardSaveBarProps = {
|
|
1494
|
+
submitLabel?: string;
|
|
1495
|
+
savingLabel?: string;
|
|
1496
|
+
resetLabel?: string;
|
|
1497
|
+
};
|
|
859
1498
|
/**
|
|
860
|
-
*
|
|
1499
|
+
* Save/discard bar for card-layout forms — the TanStack Form adapter around
|
|
1500
|
+
* `SaveBar`. Reads `isDirty`, `isSubmitting`, and `canSubmit` from form context
|
|
1501
|
+
* and renders `SaveBar` (which owns the animation, buttons, and the
|
|
1502
|
+
* `data-slot="card-footer"` that flushes it to the card edge).
|
|
861
1503
|
*
|
|
862
|
-
*
|
|
863
|
-
*
|
|
864
|
-
* Pair with `<Card className="overflow-hidden pb-0">` so the bar's border sits flush at the card edge.
|
|
1504
|
+
* Must be placed **inside** the `<form>` element and wrapped by `form.AppForm`
|
|
1505
|
+
* (or any `formContext` provider).
|
|
865
1506
|
*
|
|
866
1507
|
* @example
|
|
867
1508
|
* <form.AppForm>
|
|
868
1509
|
* <form.CardSaveBar submitLabel="Save" resetLabel="Discard" />
|
|
869
1510
|
* </form.AppForm>
|
|
870
1511
|
*/
|
|
871
|
-
type CardSaveBarProps = {
|
|
872
|
-
submitLabel?: string;
|
|
873
|
-
savingLabel?: string;
|
|
874
|
-
resetLabel?: string;
|
|
875
|
-
};
|
|
876
1512
|
declare function CardSaveBar({
|
|
877
1513
|
submitLabel,
|
|
878
1514
|
savingLabel,
|
|
@@ -880,10 +1516,14 @@ declare function CardSaveBar({
|
|
|
880
1516
|
}: CardSaveBarProps): React$1.JSX.Element;
|
|
881
1517
|
//#endregion
|
|
882
1518
|
//#region src/components/submit-button.d.ts
|
|
1519
|
+
type SubmitButtonProps = Omit<React.ComponentProps<typeof Button>, 'type' | 'disabled'> & {
|
|
1520
|
+
loadingLabel?: string;
|
|
1521
|
+
};
|
|
883
1522
|
/**
|
|
884
1523
|
* Context-aware submit button. Disables itself when the form cannot be submitted or is submitting.
|
|
885
1524
|
* Shows `loadingLabel` (default `"Saving…"`) while submitting.
|
|
886
1525
|
*
|
|
1526
|
+
* Renders a DS `<Button type="submit">` (a `<button>` element).
|
|
887
1527
|
* Must be a descendant of `form.AppForm` (or any `formContext` provider).
|
|
888
1528
|
* Use for inline/flat layouts where `CardSaveBar` is not needed.
|
|
889
1529
|
* Accepts all `Button` props except `type` and `disabled` (managed internally).
|
|
@@ -893,9 +1533,6 @@ declare function CardSaveBar({
|
|
|
893
1533
|
* <form.SubmitButton loadingLabel="Saving…">Save</form.SubmitButton>
|
|
894
1534
|
* </form.AppForm>
|
|
895
1535
|
*/
|
|
896
|
-
type SubmitButtonProps = Omit<React.ComponentProps<typeof Button>, 'type' | 'disabled'> & {
|
|
897
|
-
loadingLabel?: string;
|
|
898
|
-
};
|
|
899
1536
|
declare function SubmitButton({
|
|
900
1537
|
children,
|
|
901
1538
|
loadingLabel,
|
|
@@ -1538,6 +2175,7 @@ type LayoutProps = {
|
|
|
1538
2175
|
* and error share one growing column on the opposite side.
|
|
1539
2176
|
*/
|
|
1540
2177
|
type ControlVariant = 'inline' | 'fill';
|
|
2178
|
+
/** Props for `FormFieldShell` — the normalized label / description / layout inputs it renders from. */
|
|
1541
2179
|
type FormFieldShellProps = {
|
|
1542
2180
|
label?: LabelProp;
|
|
1543
2181
|
description?: DescriptionProp;
|
|
@@ -1554,6 +2192,13 @@ type FormFieldShellProps = {
|
|
|
1554
2192
|
controlPosition?: LayoutProps['controlPosition'];
|
|
1555
2193
|
controlVariant?: ControlVariant;
|
|
1556
2194
|
};
|
|
2195
|
+
/**
|
|
2196
|
+
* Internal layout shell shared by every `Form*Field` wrapper. Normalizes the
|
|
2197
|
+
* `label` / `description` props, lays out the `Field → label row → description →
|
|
2198
|
+
* control → error` skeleton per `orientation` / `controlVariant`, and applies the
|
|
2199
|
+
* error-display policy plus `data-invalid`. Reads the bound field from context,
|
|
2200
|
+
* so it must render inside `form.AppField`. Renders a DS `Field`.
|
|
2201
|
+
*/
|
|
1557
2202
|
declare function FormFieldShell({
|
|
1558
2203
|
label,
|
|
1559
2204
|
description,
|
|
@@ -2208,12 +2853,127 @@ declare function toFieldErrors(errors: readonly unknown[]): Array<{
|
|
|
2208
2853
|
message: string;
|
|
2209
2854
|
}>;
|
|
2210
2855
|
//#endregion
|
|
2856
|
+
//#region src/components/setting-card.d.ts
|
|
2857
|
+
/**
|
|
2858
|
+
* Root container for a setting card. Renders the DS `Card`.
|
|
2859
|
+
*
|
|
2860
|
+
* By default the level (and therefore the background) is detected automatically:
|
|
2861
|
+
* a top-level card is level 1 (muted background, borderless); a card nested
|
|
2862
|
+
* inside another card's `SettingCardContent` becomes level 2 (white background,
|
|
2863
|
+
* border). Pass `level` to force a specific level — needed for the rare third
|
|
2864
|
+
* nesting level, which reuses the level-1 look (`level={1}`).
|
|
2865
|
+
*
|
|
2866
|
+
* @example
|
|
2867
|
+
* ```tsx
|
|
2868
|
+
* <SettingCard>
|
|
2869
|
+
* <SettingCardHeader>
|
|
2870
|
+
* <SettingCardTitle>Call recording</SettingCardTitle>
|
|
2871
|
+
* <SettingCardDescription>Record inbound and outbound calls.</SettingCardDescription>
|
|
2872
|
+
* <SettingCardAction>
|
|
2873
|
+
* <Switch checked={enabled} onCheckedChange={setEnabled} />
|
|
2874
|
+
* </SettingCardAction>
|
|
2875
|
+
* </SettingCardHeader>
|
|
2876
|
+
* {enabled && <SettingCardContent>…</SettingCardContent>}
|
|
2877
|
+
* </SettingCard>
|
|
2878
|
+
* ```
|
|
2879
|
+
*
|
|
2880
|
+
* @example
|
|
2881
|
+
* ```tsx
|
|
2882
|
+
* // With a save/discard bar: put the form on the OUTER level and drop
|
|
2883
|
+
* // `form.CardSaveBar` in as the last child. It reads dirty/submitting/canSubmit
|
|
2884
|
+
* // from form context, slides in when dirty, and carries `data-slot="card-footer"`
|
|
2885
|
+
* // so the card flushes it to the edge automatically. No `className` needed.
|
|
2886
|
+
* <form onSubmit={e => { e.preventDefault(); void form.handleSubmit(); }}>
|
|
2887
|
+
* <SettingCard>
|
|
2888
|
+
* <SettingCardHeader>
|
|
2889
|
+
* <SettingCardTitle>Profile</SettingCardTitle>
|
|
2890
|
+
* <SettingCardDescription>Update your display name.</SettingCardDescription>
|
|
2891
|
+
* </SettingCardHeader>
|
|
2892
|
+
* <SettingCardContent>…</SettingCardContent>
|
|
2893
|
+
* <form.AppForm>
|
|
2894
|
+
* <form.CardSaveBar resetLabel="Undo" />
|
|
2895
|
+
* </form.AppForm>
|
|
2896
|
+
* </SettingCard>
|
|
2897
|
+
* </form>
|
|
2898
|
+
* ```
|
|
2899
|
+
*/
|
|
2900
|
+
declare const SettingCard: React$1.ForwardRefExoticComponent<Omit<SettingCardProps, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
|
|
2901
|
+
interface SettingCardProps extends React$1.ComponentProps<typeof Card> {
|
|
2902
|
+
/**
|
|
2903
|
+
* Force the visual level instead of auto-detecting from nesting.
|
|
2904
|
+
* `1` = muted background, borderless. `2` = white background, border.
|
|
2905
|
+
* Leave undefined to detect automatically (top-level → 1, nested → 2).
|
|
2906
|
+
*/
|
|
2907
|
+
level?: 1 | 2;
|
|
2908
|
+
}
|
|
2909
|
+
declare namespace SettingCard {
|
|
2910
|
+
type Props = SettingCardProps;
|
|
2911
|
+
}
|
|
2912
|
+
/**
|
|
2913
|
+
* Header row of a setting card. Wraps DS `CardHeader`, which lays out the
|
|
2914
|
+
* title/description on the left and the `SettingCardAction` on the right.
|
|
2915
|
+
*/
|
|
2916
|
+
declare const SettingCardHeader: React$1.ForwardRefExoticComponent<Omit<SettingCardHeaderProps, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
|
|
2917
|
+
interface SettingCardHeaderProps extends React$1.ComponentProps<typeof CardHeader> {}
|
|
2918
|
+
declare namespace SettingCardHeader {
|
|
2919
|
+
type Props = SettingCardHeaderProps;
|
|
2920
|
+
}
|
|
2921
|
+
/**
|
|
2922
|
+
* Title of a setting card. Wraps DS `CardTitle`, overriding its type ramp so
|
|
2923
|
+
* weight and size follow the card's level (auto-detected from nesting, like the
|
|
2924
|
+
* background): level 1 is 18px bold, level 2 (nested) is 16px medium. A forced
|
|
2925
|
+
* level-1 card that is still nested (the rare 3rd level) keeps the 16px-medium
|
|
2926
|
+
* title, matching the design guidance for that case.
|
|
2927
|
+
*/
|
|
2928
|
+
declare const SettingCardTitle: React$1.ForwardRefExoticComponent<Omit<SettingCardTitleProps, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
|
|
2929
|
+
interface SettingCardTitleProps extends React$1.ComponentProps<typeof CardTitle> {}
|
|
2930
|
+
declare namespace SettingCardTitle {
|
|
2931
|
+
type Props = SettingCardTitleProps;
|
|
2932
|
+
}
|
|
2933
|
+
/**
|
|
2934
|
+
* Supporting description under the title. Wraps DS `CardDescription` (14px muted).
|
|
2935
|
+
* Inline links (e.g. "Learn more") can be placed inside its children.
|
|
2936
|
+
*/
|
|
2937
|
+
declare const SettingCardDescription: React$1.ForwardRefExoticComponent<Omit<SettingCardDescriptionProps, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
|
|
2938
|
+
interface SettingCardDescriptionProps extends React$1.ComponentProps<typeof CardDescription> {}
|
|
2939
|
+
declare namespace SettingCardDescription {
|
|
2940
|
+
type Props = SettingCardDescriptionProps;
|
|
2941
|
+
}
|
|
2942
|
+
/**
|
|
2943
|
+
* Top-right control slot of the header — holds a single control, either a
|
|
2944
|
+
* `<Switch>` (toggle card) or a `<Button>` (action card). Wraps DS `CardAction`.
|
|
2945
|
+
* The two never co-occur, so this is one slot, not two.
|
|
2946
|
+
*/
|
|
2947
|
+
declare const SettingCardAction: React$1.ForwardRefExoticComponent<Omit<SettingCardActionProps, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
|
|
2948
|
+
interface SettingCardActionProps extends React$1.ComponentProps<typeof CardAction> {}
|
|
2949
|
+
declare namespace SettingCardAction {
|
|
2950
|
+
type Props = SettingCardActionProps;
|
|
2951
|
+
}
|
|
2952
|
+
/**
|
|
2953
|
+
* Body of a setting card. Wraps DS `CardContent` and carries the
|
|
2954
|
+
* `data-setting-card-content` marker that drives nesting detection: any
|
|
2955
|
+
* `SettingCard` rendered inside here auto-detects level 2.
|
|
2956
|
+
*
|
|
2957
|
+
* For progressive disclosure, render this conditionally — mount it only when
|
|
2958
|
+
* the header's toggle is on — so gated fields never mount while disabled.
|
|
2959
|
+
*/
|
|
2960
|
+
declare const SettingCardContent: React$1.ForwardRefExoticComponent<Omit<SettingCardContentProps, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
|
|
2961
|
+
interface SettingCardContentProps extends React$1.ComponentProps<typeof CardContent> {}
|
|
2962
|
+
declare namespace SettingCardContent {
|
|
2963
|
+
type Props = SettingCardContentProps;
|
|
2964
|
+
}
|
|
2965
|
+
//#endregion
|
|
2211
2966
|
//#region src/components/save-bar.d.ts
|
|
2212
2967
|
/**
|
|
2213
|
-
* Headless animated save/discard bar
|
|
2968
|
+
* Headless animated save/discard bar — the shared UI behind `CardSaveBar`.
|
|
2969
|
+
* Slides in when `isDirty`, collapses when clean (animates real content height
|
|
2970
|
+
* via a grid-rows transition, so appear and disappear are both smooth).
|
|
2214
2971
|
*
|
|
2215
|
-
*
|
|
2216
|
-
*
|
|
2972
|
+
* Form-library agnostic: wire the state yourself (via `form.Subscribe`, a store,
|
|
2973
|
+
* or local state). Its root carries `data-slot="card-footer"`, so a surrounding
|
|
2974
|
+
* `Card` collapses its bottom padding (`has-data-[slot=card-footer]:pb-0`) and
|
|
2975
|
+
* the bar sits flush at the card edge. For TanStack Form, prefer `CardSaveBar`,
|
|
2976
|
+
* which reads the state from context and renders this.
|
|
2217
2977
|
*
|
|
2218
2978
|
* @example
|
|
2219
2979
|
* <form.Subscribe selector={s => ({ isDirty: s.isDirty, isSubmitting: s.isSubmitting, canSubmit: s.canSubmit })}>
|
|
@@ -2320,62 +3080,130 @@ type DashboardSidebarNavProps = {
|
|
|
2320
3080
|
*/
|
|
2321
3081
|
renderLink?: (href: string) => React$1.ReactElement;
|
|
2322
3082
|
};
|
|
3083
|
+
/**
|
|
3084
|
+
* Data-driven sidebar navigation. Maps a `groups` array into the
|
|
3085
|
+
* `DashboardSidebar` primitives, rendering each item as a link, a dropdown
|
|
3086
|
+
* submenu, or an action button (with optional badges, counts, and tooltips).
|
|
3087
|
+
*
|
|
3088
|
+
* Renders a fragment of `DashboardSidebarGroup` sections — it has no wrapper
|
|
3089
|
+
* element of its own, so place it inside a `DashboardSidebarContent`.
|
|
3090
|
+
*
|
|
3091
|
+
* @example
|
|
3092
|
+
* <DashboardSidebarNav
|
|
3093
|
+
* groups={groups}
|
|
3094
|
+
* renderLink={href => <Link to={href} />}
|
|
3095
|
+
* />
|
|
3096
|
+
*/
|
|
2323
3097
|
declare function DashboardSidebarNav({
|
|
2324
3098
|
groups,
|
|
2325
3099
|
renderLink
|
|
2326
3100
|
}: DashboardSidebarNavProps): React$1.JSX.Element;
|
|
2327
3101
|
//#endregion
|
|
2328
3102
|
//#region src/components/dashboard-sidebar.d.ts
|
|
3103
|
+
/**
|
|
3104
|
+
* Context provider and flex-row layout wrapping the sidebar and page content;
|
|
3105
|
+
* renders a ds `SidebarProvider`. Provides the state consumed by `useDashboardSidebar`.
|
|
3106
|
+
*
|
|
3107
|
+
* @example
|
|
3108
|
+
* ```tsx
|
|
3109
|
+
* <DashboardSidebarProvider>
|
|
3110
|
+
* <DashboardSidebar>
|
|
3111
|
+
* <DashboardSidebarContent>
|
|
3112
|
+
* <DashboardSidebarMenu>
|
|
3113
|
+
* <DashboardSidebarMenuItem>
|
|
3114
|
+
* <DashboardSidebarMenuButton icon={<Home />}>Home</DashboardSidebarMenuButton>
|
|
3115
|
+
* </DashboardSidebarMenuItem>
|
|
3116
|
+
* </DashboardSidebarMenu>
|
|
3117
|
+
* </DashboardSidebarContent>
|
|
3118
|
+
* </DashboardSidebar>
|
|
3119
|
+
* <DashboardPageContent>…</DashboardPageContent>
|
|
3120
|
+
* </DashboardSidebarProvider>
|
|
3121
|
+
* ```
|
|
3122
|
+
*/
|
|
2329
3123
|
declare const DashboardSidebarProvider: React$1.ForwardRefExoticComponent<Omit<DashboardSidebarProviderProps, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
|
|
2330
3124
|
interface DashboardSidebarProviderProps extends React$1.ComponentProps<typeof SidebarProvider> {}
|
|
2331
3125
|
declare namespace DashboardSidebarProvider {
|
|
2332
3126
|
type Props = DashboardSidebarProviderProps;
|
|
2333
3127
|
}
|
|
3128
|
+
/**
|
|
3129
|
+
* Root sidebar column that grows/shrinks with the collapse state; renders a `<div>`.
|
|
3130
|
+
* Holds `DashboardSidebarHeader`, `DashboardSidebarContent`, and `DashboardSidebarFooter`.
|
|
3131
|
+
*/
|
|
2334
3132
|
declare const DashboardSidebar: React$1.ForwardRefExoticComponent<Omit<DashboardSidebarProps, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
|
|
2335
3133
|
interface DashboardSidebarProps extends React$1.ComponentProps<'div'> {}
|
|
2336
3134
|
declare namespace DashboardSidebar {
|
|
2337
3135
|
type Props = DashboardSidebarProps;
|
|
2338
3136
|
}
|
|
3137
|
+
/**
|
|
3138
|
+
* Top bar of the sidebar that houses the collapse toggle; renders a `<div>`.
|
|
3139
|
+
*/
|
|
2339
3140
|
declare const DashboardSidebarHeader: React$1.ForwardRefExoticComponent<Omit<DashboardSidebarHeaderProps, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
|
|
2340
3141
|
interface DashboardSidebarHeaderProps extends React$1.ComponentProps<'div'> {}
|
|
2341
3142
|
declare namespace DashboardSidebarHeader {
|
|
2342
3143
|
type Props = DashboardSidebarHeaderProps;
|
|
2343
3144
|
}
|
|
3145
|
+
/**
|
|
3146
|
+
* Collapse/expand toggle rendering a ghost, icon ds `Button`; renders a `<button>`.
|
|
3147
|
+
* Swaps its icon and aria-label based on the sidebar state.
|
|
3148
|
+
*/
|
|
2344
3149
|
declare const DashboardSidebarTrigger: React$1.ForwardRefExoticComponent<Omit<DashboardSidebarTriggerProps, "ref"> & React$1.RefAttributes<HTMLButtonElement>>;
|
|
2345
3150
|
interface DashboardSidebarTriggerProps extends React$1.ComponentProps<typeof Button> {}
|
|
2346
3151
|
declare namespace DashboardSidebarTrigger {
|
|
2347
3152
|
type Props = DashboardSidebarTriggerProps;
|
|
2348
3153
|
}
|
|
3154
|
+
/**
|
|
3155
|
+
* Scrollable middle section of the sidebar (scrollbar hidden); renders a `<div>`.
|
|
3156
|
+
*/
|
|
2349
3157
|
declare const DashboardSidebarContent: React$1.ForwardRefExoticComponent<Omit<DashboardSidebarContentProps, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
|
|
2350
3158
|
interface DashboardSidebarContentProps extends React$1.ComponentProps<'div'> {}
|
|
2351
3159
|
declare namespace DashboardSidebarContent {
|
|
2352
3160
|
type Props = DashboardSidebarContentProps;
|
|
2353
3161
|
}
|
|
3162
|
+
/**
|
|
3163
|
+
* Frosted-glass bottom section of the sidebar; renders a `<div>`.
|
|
3164
|
+
*/
|
|
2354
3165
|
declare const DashboardSidebarFooter: React$1.ForwardRefExoticComponent<Omit<DashboardSidebarFooterProps, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
|
|
2355
3166
|
interface DashboardSidebarFooterProps extends React$1.ComponentProps<'div'> {}
|
|
2356
3167
|
declare namespace DashboardSidebarFooter {
|
|
2357
3168
|
type Props = DashboardSidebarFooterProps;
|
|
2358
3169
|
}
|
|
3170
|
+
/**
|
|
3171
|
+
* Groups a set of menu items (optionally labelled); renders a `<div>`.
|
|
3172
|
+
*/
|
|
2359
3173
|
declare const DashboardSidebarGroup: React$1.ForwardRefExoticComponent<Omit<DashboardSidebarGroupProps, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
|
|
2360
3174
|
interface DashboardSidebarGroupProps extends React$1.ComponentProps<'div'> {}
|
|
2361
3175
|
declare namespace DashboardSidebarGroup {
|
|
2362
3176
|
type Props = DashboardSidebarGroupProps;
|
|
2363
3177
|
}
|
|
3178
|
+
/**
|
|
3179
|
+
* Section heading for a group, hidden when the sidebar is collapsed; renders a `<div>`
|
|
3180
|
+
* by default, overridable via the `render` prop.
|
|
3181
|
+
*/
|
|
2364
3182
|
declare const DashboardSidebarGroupLabel: React$1.ForwardRefExoticComponent<Omit<DashboardSidebarGroupLabelProps, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
|
|
2365
3183
|
type DashboardSidebarGroupLabelProps = useRender.ComponentProps<'div'> & React$1.ComponentProps<'div'>;
|
|
2366
3184
|
declare namespace DashboardSidebarGroupLabel {
|
|
2367
3185
|
type Props = DashboardSidebarGroupLabelProps;
|
|
2368
3186
|
}
|
|
3187
|
+
/**
|
|
3188
|
+
* List container for menu items; renders a `<ul>`.
|
|
3189
|
+
*/
|
|
2369
3190
|
declare const DashboardSidebarMenu: React$1.ForwardRefExoticComponent<Omit<DashboardSidebarMenuProps, "ref"> & React$1.RefAttributes<HTMLUListElement>>;
|
|
2370
3191
|
interface DashboardSidebarMenuProps extends React$1.ComponentProps<'ul'> {}
|
|
2371
3192
|
declare namespace DashboardSidebarMenu {
|
|
2372
3193
|
type Props = DashboardSidebarMenuProps;
|
|
2373
3194
|
}
|
|
3195
|
+
/**
|
|
3196
|
+
* Wrapper for a single menu row; renders a `<li>` (relative, for badge positioning).
|
|
3197
|
+
*/
|
|
2374
3198
|
declare const DashboardSidebarMenuItem: React$1.ForwardRefExoticComponent<Omit<DashboardSidebarMenuItemProps, "ref"> & React$1.RefAttributes<HTMLLIElement>>;
|
|
2375
3199
|
interface DashboardSidebarMenuItemProps extends React$1.ComponentProps<'li'> {}
|
|
2376
3200
|
declare namespace DashboardSidebarMenuItem {
|
|
2377
3201
|
type Props = DashboardSidebarMenuItemProps;
|
|
2378
3202
|
}
|
|
3203
|
+
/**
|
|
3204
|
+
* Pill-shaped navigation item with a leading icon circle and optional trailing action;
|
|
3205
|
+
* renders a `<button>` by default, overridable via the `render` prop (e.g. a router `<Link>`).
|
|
3206
|
+
*/
|
|
2379
3207
|
declare const DashboardSidebarMenuButton: React$1.ForwardRefExoticComponent<Omit<DashboardSidebarMenuButtonProps, "ref"> & React$1.RefAttributes<HTMLButtonElement>>;
|
|
2380
3208
|
type DashboardSidebarMenuButtonProps = useRender.ComponentProps<'button'> & React$1.ComponentProps<'button'> & {
|
|
2381
3209
|
isActive?: boolean;
|
|
@@ -2398,16 +3226,29 @@ type DashboardSidebarMenuButtonProps = useRender.ComponentProps<'button'> & Reac
|
|
|
2398
3226
|
declare namespace DashboardSidebarMenuButton {
|
|
2399
3227
|
type Props = DashboardSidebarMenuButtonProps;
|
|
2400
3228
|
}
|
|
3229
|
+
/**
|
|
3230
|
+
* Notification count badge for a menu item; renders a ds `CounterBadge` positioned
|
|
3231
|
+
* absolutely at the row's right edge (moves to the icon corner when collapsed).
|
|
3232
|
+
* Place it inside `DashboardSidebarMenuItem`, as a sibling of the button.
|
|
3233
|
+
*/
|
|
2401
3234
|
declare const DashboardSidebarMenuBadge: React$1.ForwardRefExoticComponent<Omit<DashboardSidebarMenuBadgeProps, "ref"> & React$1.RefAttributes<HTMLSpanElement>>;
|
|
2402
3235
|
interface DashboardSidebarMenuBadgeProps extends React$1.ComponentProps<typeof CounterBadge> {}
|
|
2403
3236
|
declare namespace DashboardSidebarMenuBadge {
|
|
2404
3237
|
type Props = DashboardSidebarMenuBadgeProps;
|
|
2405
3238
|
}
|
|
3239
|
+
/**
|
|
3240
|
+
* Popover-style panel (white card with border and shadow) opening beside a trigger;
|
|
3241
|
+
* renders a `<div>`. Hosts `DashboardSidebarSubmenuItem` and `DashboardSidebarSubmenuSeparator`.
|
|
3242
|
+
*/
|
|
2406
3243
|
declare const DashboardSidebarSubmenu: React$1.ForwardRefExoticComponent<Omit<DashboardSidebarSubmenuProps, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
|
|
2407
3244
|
interface DashboardSidebarSubmenuProps extends React$1.ComponentProps<'div'> {}
|
|
2408
3245
|
declare namespace DashboardSidebarSubmenu {
|
|
2409
3246
|
type Props = DashboardSidebarSubmenuProps;
|
|
2410
3247
|
}
|
|
3248
|
+
/**
|
|
3249
|
+
* One row inside a submenu; renders a `<div>` by default, overridable via the `render`
|
|
3250
|
+
* prop (e.g. an `<a>` or router `<Link>` for navigation).
|
|
3251
|
+
*/
|
|
2411
3252
|
declare const DashboardSidebarSubmenuItem: React$1.ForwardRefExoticComponent<Omit<DashboardSidebarSubmenuItemProps, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
|
|
2412
3253
|
type DashboardSidebarSubmenuItemProps = useRender.ComponentProps<'div'> & React$1.ComponentProps<'div'> & {
|
|
2413
3254
|
isActive?: boolean;
|
|
@@ -2415,6 +3256,9 @@ type DashboardSidebarSubmenuItemProps = useRender.ComponentProps<'div'> & React$
|
|
|
2415
3256
|
declare namespace DashboardSidebarSubmenuItem {
|
|
2416
3257
|
type Props = DashboardSidebarSubmenuItemProps;
|
|
2417
3258
|
}
|
|
3259
|
+
/**
|
|
3260
|
+
* Thin horizontal divider between submenu items; renders a `<div>`.
|
|
3261
|
+
*/
|
|
2418
3262
|
declare const DashboardSidebarSubmenuSeparator: React$1.ForwardRefExoticComponent<DashboardSidebarSubmenuSeparatorProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
2419
3263
|
interface DashboardSidebarSubmenuSeparatorProps {
|
|
2420
3264
|
className?: string;
|
|
@@ -2423,4 +3267,4 @@ declare namespace DashboardSidebarSubmenuSeparator {
|
|
|
2423
3267
|
type Props = DashboardSidebarSubmenuSeparatorProps;
|
|
2424
3268
|
}
|
|
2425
3269
|
//#endregion
|
|
2426
|
-
export { type ArrayField, type ArrayItem, BetaBadge, type BoundForm, CardSaveBar, type CardSaveBarProps, ChatbotExpandSuggestion, type ChatbotExpandSuggestionProps, ChatbotInput, type ChatbotInputProps, type ChatbotInputSuggestion, ChatbotPage, ChatbotPageBody, type ChatbotPageBodyProps, ChatbotPageContent, type ChatbotPageContentProps, ChatbotPageConversation, type ChatbotPageConversationProps, ChatbotPageFooter, type ChatbotPageFooterProps, ChatbotPageHeading, type ChatbotPageHeadingProps, ChatbotPageInputBar, type ChatbotPageInputBarProps, type ChatbotPageProps, ChatbotPanel, ChatbotPanelHeader, type ChatbotPanelHeaderProps, type ChatbotPanelProps, ChatbotPanelSuggestion, type ChatbotPanelSuggestionItem, type ChatbotPanelSuggestionProps, ChatbotPanelTrigger, type ChatbotPanelTriggerProps, ChatbotResponseBlock, type ChatbotResponseBlockFeedback, type ChatbotResponseBlockProps, ChatbotResponseLoading, type ChatbotResponseLoadingProps, ChatbotSidebar, type ChatbotSidebarConversation, ChatbotUserMessage, type ChatbotUserMessageProps, type ComboboxControl, ComingSoonDescription, ComingSoonEmptyState, ComingSoonMedia, ComingSoonTitle, CommonForm, CopyButton, CopyButtonIcon, CopyButtonLabel, DashboardPage, DashboardPageBanner, DashboardPageContent, DashboardPageHeader, DashboardPageHeaderAction, DashboardPageHeaderActions, DashboardPageHeaderDescription, DashboardPageHeaderNav, DashboardPageHeaderNavBack, DashboardPageHeaderPrefix, DashboardPageHeaderSubtitle, DashboardPageHeaderTitle, DashboardPageHeaderTitleGroup, DashboardPageMain, DashboardPageTabs, DashboardSidebar, DashboardSidebarContent, DashboardSidebarFooter, DashboardSidebarGroup, DashboardSidebarGroupLabel, DashboardSidebarHeader, DashboardSidebarMenu, DashboardSidebarMenuBadge, DashboardSidebarMenuButton, DashboardSidebarMenuItem, DashboardSidebarNav, type DashboardSidebarNavGroup, type DashboardSidebarNavItem, type DashboardSidebarNavItemAction, type DashboardSidebarNavItemLink, type DashboardSidebarNavItemSubmenu, type DashboardSidebarNavSubmenuItem, DashboardSidebarProvider, DashboardSidebarSubmenu, DashboardSidebarSubmenuItem, DashboardSidebarSubmenuSeparator, DashboardSidebarTrigger, DashboardStandalonePage, DashboardStandalonePageAction, DashboardStandalonePageActions, DashboardStandalonePageContent, DashboardStandalonePageDescription, DashboardStandalonePageHeader, DashboardStandalonePageMain, DashboardStandalonePageTitle, DeprecatedBadge, EmptyState, EmptyStateActions, EmptyStateButton, EmptyStateDescription, EmptyStateExternalLink, EmptyStateHeader, EmptyStateMedia, EmptyStateTitle, type FieldBindingProps, FormArrayField, type FormArrayFieldProps, FormComboboxField, type FormComboboxFieldProps, FormFieldBase, FormFieldShell, type FormFieldShellProps, type FormFieldValidators, FormInputField, type FormInputFieldProps, FormMultiComboboxField, type FormMultiComboboxFieldProps, FormNumericField, type FormNumericFieldProps, FormOTPField, type FormOTPFieldProps, FormRadioGroupField, type FormRadioGroupFieldProps, FormSelectField, type FormSelectFieldProps, FormSliderField, type FormSliderFieldProps, FormSwitchField, type FormSwitchFieldProps, FormTextareaField, type FormTextareaFieldProps, FormToggleGroupField, type FormToggleGroupFieldProps, type InputControl, type MultiComboboxControl, type NecessityProps, NewBadge, NoDataDescription, NoDataEmptyState, NoDataMedia, NoDataTitle, NoSupportDescription, NoSupportEmptyState, NoSupportMedia, NoSupportTitle, NotFoundDescription, NotFoundEmptyState, NotFoundMedia, NotFoundTitle, type NumericControl, type OTPControl, PERCENTAGE_THRESHOLDS, ProfessionalBadge, type RadioGroupControl, RestrictedAccessDescription, RestrictedAccessEmptyState, RestrictedAccessMedia, RestrictedAccessTitle, RoleBadge, type RoleBadgeRole, SaveBar, type SaveBarProps, ScoreBadge, type ScoreKind, type ScoreThreshold, type ScoreThresholds, type ScoreTone, type SelectControl, type Sentiment, SentimentBadge, type SliderControl, SubmitButton, type SubmitButtonProps, type SwitchControl, type TextareaControl, type ToggleGroupControl, TrialBadge, type TypedField, UnknownErrorDescription, UnknownErrorEmptyState, UnknownErrorMedia, UnknownErrorTitle, fieldContext, formContext, toFieldErrors, useCopyToClipboard, useSidebar as useDashboardSidebar, useFieldContext, useForm, useFormContext, withFieldGroup, withForm };
|
|
3270
|
+
export { type ArrayField, type ArrayItem, BetaBadge, type BoundForm, CardSaveBar, type CardSaveBarProps, ChatbotExpandSuggestion, type ChatbotExpandSuggestionProps, ChatbotInput, type ChatbotInputProps, type ChatbotInputSuggestion, ChatbotPage, ChatbotPageBody, type ChatbotPageBodyProps, ChatbotPageContent, type ChatbotPageContentProps, ChatbotPageConversation, type ChatbotPageConversationProps, ChatbotPageFooter, type ChatbotPageFooterProps, ChatbotPageHeading, type ChatbotPageHeadingProps, ChatbotPageInputBar, type ChatbotPageInputBarProps, type ChatbotPageProps, ChatbotPanel, ChatbotPanelHeader, type ChatbotPanelHeaderProps, type ChatbotPanelProps, ChatbotPanelSuggestion, type ChatbotPanelSuggestionItem, type ChatbotPanelSuggestionProps, ChatbotPanelTrigger, type ChatbotPanelTriggerProps, ChatbotResponseBlock, type ChatbotResponseBlockFeedback, type ChatbotResponseBlockProps, ChatbotResponseLoading, type ChatbotResponseLoadingProps, ChatbotSidebar, type ChatbotSidebarConversation, ChatbotUserMessage, type ChatbotUserMessageProps, type ComboboxControl, ComingSoonDescription, ComingSoonEmptyState, ComingSoonMedia, ComingSoonTitle, CommonForm, CopyButton, CopyButtonIcon, CopyButtonLabel, DashboardPage, DashboardPageBanner, DashboardPageContent, DashboardPageHeader, DashboardPageHeaderAction, DashboardPageHeaderActions, DashboardPageHeaderDescription, DashboardPageHeaderNav, DashboardPageHeaderNavBack, DashboardPageHeaderPrefix, DashboardPageHeaderSubtitle, DashboardPageHeaderTitle, DashboardPageHeaderTitleGroup, DashboardPageMain, DashboardPageTabs, DashboardSidebar, DashboardSidebarContent, DashboardSidebarFooter, DashboardSidebarGroup, DashboardSidebarGroupLabel, DashboardSidebarHeader, DashboardSidebarMenu, DashboardSidebarMenuBadge, DashboardSidebarMenuButton, DashboardSidebarMenuItem, DashboardSidebarNav, type DashboardSidebarNavGroup, type DashboardSidebarNavItem, type DashboardSidebarNavItemAction, type DashboardSidebarNavItemLink, type DashboardSidebarNavItemSubmenu, type DashboardSidebarNavSubmenuItem, DashboardSidebarProvider, DashboardSidebarSubmenu, DashboardSidebarSubmenuItem, DashboardSidebarSubmenuSeparator, DashboardSidebarTrigger, DashboardStandalonePage, DashboardStandalonePageAction, DashboardStandalonePageActions, DashboardStandalonePageContent, DashboardStandalonePageDescription, DashboardStandalonePageHeader, DashboardStandalonePageMain, DashboardStandalonePageTitle, DeprecatedBadge, EmptyState, EmptyStateActions, EmptyStateButton, EmptyStateDescription, EmptyStateExternalLink, EmptyStateHeader, EmptyStateMedia, EmptyStateTitle, type FieldBindingProps, FormArrayField, type FormArrayFieldProps, FormComboboxField, type FormComboboxFieldProps, FormFieldBase, FormFieldShell, type FormFieldShellProps, type FormFieldValidators, FormInputField, type FormInputFieldProps, FormMultiComboboxField, type FormMultiComboboxFieldProps, FormNumericField, type FormNumericFieldProps, FormOTPField, type FormOTPFieldProps, FormRadioGroupField, type FormRadioGroupFieldProps, FormSelectField, type FormSelectFieldProps, FormSliderField, type FormSliderFieldProps, FormSwitchField, type FormSwitchFieldProps, FormTextareaField, type FormTextareaFieldProps, FormToggleGroupField, type FormToggleGroupFieldProps, type InputControl, KpiCard, KpiDescription, KpiDescriptionSkeleton, type KpiDurationScale, type KpiDurationStyle, type KpiKind, type KpiTone, type KpiTrend, KpiValue, KpiValueSkeleton, type MultiComboboxControl, type NecessityProps, NewBadge, NoDataDescription, NoDataEmptyState, NoDataMedia, NoDataTitle, NoSupportDescription, NoSupportEmptyState, NoSupportMedia, NoSupportTitle, NotFoundDescription, NotFoundEmptyState, NotFoundMedia, NotFoundTitle, type NumericControl, type OTPControl, PERCENTAGE_THRESHOLDS, ProfessionalBadge, type RadioGroupControl, RestrictedAccessDescription, RestrictedAccessEmptyState, RestrictedAccessMedia, RestrictedAccessTitle, RoleBadge, type RoleBadgeRole, SaveBar, type SaveBarProps, ScoreBadge, type ScoreKind, type ScoreThreshold, type ScoreThresholds, type ScoreTone, type SelectControl, type Sentiment, SentimentBadge, SettingCard, SettingCardAction, SettingCardContent, SettingCardDescription, SettingCardHeader, SettingCardTitle, type SliderControl, SubmitButton, type SubmitButtonProps, type SwitchControl, type TextareaControl, type ToggleGroupControl, TrialBadge, type TypedField, UnknownErrorDescription, UnknownErrorEmptyState, UnknownErrorMedia, UnknownErrorTitle, fieldContext, formContext, toFieldErrors, useCopyToClipboard, useSidebar as useDashboardSidebar, useFieldContext, useForm, useFormContext, withFieldGroup, withForm };
|