@usefidel/design-system 0.13.0 → 0.15.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/fidel.manifest.json +2 -2
- package/dist/index.cjs +352 -2
- package/dist/index.css +643 -0
- package/dist/index.d.cts +175 -2
- package/dist/index.d.ts +175 -2
- package/dist/index.js +342 -1
- package/package.json +1 -1
package/dist/index.d.cts
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
import * as react from 'react';
|
|
2
2
|
import { ButtonHTMLAttributes, ReactNode, HTMLAttributes, InputHTMLAttributes } from 'react';
|
|
3
3
|
|
|
4
|
-
type ButtonVariant = 'primary' | 'outlined' | 'text' | 'neutral' | 'link'
|
|
4
|
+
type ButtonVariant = 'primary' | 'outlined' | 'text' | 'neutral' | 'link'
|
|
5
|
+
/** Final confirm of a destructive action ("Delete my account"). */
|
|
6
|
+
| 'danger'
|
|
7
|
+
/** Starts a destructive action ("Delete account", "Remove"). */
|
|
8
|
+
| 'danger-outlined';
|
|
5
9
|
type ButtonSize = 'x-small' | 'small' | 'medium' | 'big';
|
|
6
10
|
interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
|
|
7
11
|
/** Visual style. @default 'primary' */
|
|
@@ -248,4 +252,173 @@ interface ToggleProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'type'
|
|
|
248
252
|
*/
|
|
249
253
|
declare const Toggle: react.ForwardRefExoticComponent<ToggleProps & react.RefAttributes<HTMLInputElement>>;
|
|
250
254
|
|
|
251
|
-
|
|
255
|
+
interface AppNavProps extends HTMLAttributes<HTMLElement> {
|
|
256
|
+
/** Brand mark, usually a link home. */
|
|
257
|
+
logo: ReactNode;
|
|
258
|
+
/** Right-hand area (account menu, admin tools). Never shrinks. */
|
|
259
|
+
actions?: ReactNode;
|
|
260
|
+
/**
|
|
261
|
+
* The nav links (`<a>` or a router link). Mark the current page with
|
|
262
|
+
* `aria-current="page"`; React Router's `NavLink` does this itself.
|
|
263
|
+
*/
|
|
264
|
+
children?: ReactNode;
|
|
265
|
+
/** Accessible label for the mobile menu button. @default 'Menu' */
|
|
266
|
+
menuLabel?: string;
|
|
267
|
+
}
|
|
268
|
+
/**
|
|
269
|
+
* Fidel design-system app navigation bar. Router-agnostic: it styles whatever
|
|
270
|
+
* links it is given. Below 640px the links move into a menu opened from a
|
|
271
|
+
* button at the right of the bar; picking a link, Escape, or a tap outside
|
|
272
|
+
* closes it.
|
|
273
|
+
*/
|
|
274
|
+
declare function AppNav({ logo, actions, children, menuLabel, className, ...rest }: AppNavProps): react.JSX.Element;
|
|
275
|
+
|
|
276
|
+
interface TabNavProps extends HTMLAttributes<HTMLElement> {
|
|
277
|
+
/**
|
|
278
|
+
* The tab links (`<a>` or a router link). Mark the current tab with
|
|
279
|
+
* `aria-current="page"`; React Router's `NavLink` does this itself.
|
|
280
|
+
*/
|
|
281
|
+
children: ReactNode;
|
|
282
|
+
}
|
|
283
|
+
/**
|
|
284
|
+
* Fidel design-system tab navigation: a row of page-level links with an
|
|
285
|
+
* underline on the current one. Labels never wrap; when the row is wider than
|
|
286
|
+
* its container it scrolls sideways. Give it an `aria-label`.
|
|
287
|
+
*/
|
|
288
|
+
declare function TabNav({ children, className, ...rest }: TabNavProps): react.JSX.Element;
|
|
289
|
+
|
|
290
|
+
interface SettingsSectionProps extends Omit<HTMLAttributes<HTMLElement>, 'title'> {
|
|
291
|
+
/** Section heading, rendered as an `h2`. */
|
|
292
|
+
title: ReactNode;
|
|
293
|
+
/** Short muted line under the heading. */
|
|
294
|
+
description?: ReactNode;
|
|
295
|
+
/** The section's controls and content. */
|
|
296
|
+
children?: ReactNode;
|
|
297
|
+
}
|
|
298
|
+
/**
|
|
299
|
+
* @deprecated Compose `Split` and `SectionHeader` instead; this will be removed
|
|
300
|
+
* once fidel-web has moved off it.
|
|
301
|
+
*
|
|
302
|
+
* Fidel design-system settings section: heading and description on the left,
|
|
303
|
+
* content on the right, divided from the next section by a hairline. Stacks
|
|
304
|
+
* into one column below 900px.
|
|
305
|
+
*/
|
|
306
|
+
declare function SettingsSection({ title, description, children, className, ...rest }: SettingsSectionProps): react.JSX.Element;
|
|
307
|
+
|
|
308
|
+
type ModalSize = 'small' | 'medium';
|
|
309
|
+
type ModalTone = 'default' | 'danger';
|
|
310
|
+
interface ModalProps {
|
|
311
|
+
/** Whether the dialog is shown. */
|
|
312
|
+
open: boolean;
|
|
313
|
+
/** Called on Escape, the close button, or a click outside the dialog. */
|
|
314
|
+
onClose: () => void;
|
|
315
|
+
/** Dialog heading; also its accessible name. */
|
|
316
|
+
title: ReactNode;
|
|
317
|
+
/** Muted line under the heading; also its accessible description. */
|
|
318
|
+
description?: ReactNode;
|
|
319
|
+
/** Body content. */
|
|
320
|
+
children?: ReactNode;
|
|
321
|
+
/** Footer buttons, primary action last. Stacked full width on phones. */
|
|
322
|
+
actions?: ReactNode;
|
|
323
|
+
/** Width step: small 420px, medium 560px. @default 'small' */
|
|
324
|
+
size?: ModalSize;
|
|
325
|
+
/** False blocks every way of closing, e.g. while an action is in flight. @default true */
|
|
326
|
+
dismissible?: boolean;
|
|
327
|
+
/** 'danger' marks a destructive confirm with a warning icon; pair it with a `danger` Button. @default 'default' */
|
|
328
|
+
tone?: ModalTone;
|
|
329
|
+
className?: string;
|
|
330
|
+
}
|
|
331
|
+
/**
|
|
332
|
+
* Fidel design-system Modal. Portalled to `document.body`; traps focus, locks
|
|
333
|
+
* page scroll, closes on Escape or a click outside, and returns focus to where
|
|
334
|
+
* it was. Focus starts on the element marked `data-autofocus`, else the first
|
|
335
|
+
* focusable element.
|
|
336
|
+
*/
|
|
337
|
+
declare function Modal({ open, onClose, title, description, children, actions, size, dismissible, tone, className, }: ModalProps): react.ReactPortal | null;
|
|
338
|
+
|
|
339
|
+
interface SegmentedOption<T extends string> {
|
|
340
|
+
value: T;
|
|
341
|
+
label: ReactNode;
|
|
342
|
+
/** Optional number shown after the label, e.g. issues in a severity. */
|
|
343
|
+
count?: number;
|
|
344
|
+
/** Id of the panel this option shows, for `aria-controls`. */
|
|
345
|
+
controls?: string;
|
|
346
|
+
disabled?: boolean;
|
|
347
|
+
}
|
|
348
|
+
interface SegmentedControlProps<T extends string> {
|
|
349
|
+
options: SegmentedOption<T>[];
|
|
350
|
+
value: T;
|
|
351
|
+
onChange: (value: T) => void;
|
|
352
|
+
/** Names the group for screen readers. */
|
|
353
|
+
'aria-label': string;
|
|
354
|
+
className?: string;
|
|
355
|
+
}
|
|
356
|
+
/**
|
|
357
|
+
* Fidel design-system segmented control: pick one of a few options (a mode,
|
|
358
|
+
* a filter). Tabs semantics with a roving tabindex: Arrow keys, Home and End
|
|
359
|
+
* move and select; Tab leaves the group. When the options don't fit, the row
|
|
360
|
+
* scrolls sideways instead of widening the page.
|
|
361
|
+
*/
|
|
362
|
+
declare function SegmentedControl<T extends string>({ options, value, onChange, 'aria-label': ariaLabel, className, }: SegmentedControlProps<T>): react.JSX.Element;
|
|
363
|
+
|
|
364
|
+
/**
|
|
365
|
+
* Layout breakpoints, in px, used as `max-width` media queries.
|
|
366
|
+
* CSS custom properties can't be read inside `@media`, so component CSS and
|
|
367
|
+
* consumers write these same numbers literally: `@media (max-width: 640px)`.
|
|
368
|
+
*/
|
|
369
|
+
declare const breakpoints: {
|
|
370
|
+
/** Phones. */
|
|
371
|
+
readonly sm: 480;
|
|
372
|
+
/** Large phones, small tablets. */
|
|
373
|
+
readonly md: 640;
|
|
374
|
+
/** Tablets, narrow windows. */
|
|
375
|
+
readonly lg: 900;
|
|
376
|
+
};
|
|
377
|
+
type Breakpoint = keyof typeof breakpoints;
|
|
378
|
+
|
|
379
|
+
type AvatarSize = 'small' | 'medium' | 'large';
|
|
380
|
+
interface AvatarProps extends Omit<HTMLAttributes<HTMLSpanElement>, 'children'> {
|
|
381
|
+
/** Person's name or handle; used for the initials and the accessible name. */
|
|
382
|
+
name: string;
|
|
383
|
+
/** Photo URL. Falls back to initials when missing or when it fails to load. */
|
|
384
|
+
src?: string | null;
|
|
385
|
+
/** small 24px, medium 32px, large 40px. @default 'medium' */
|
|
386
|
+
size?: AvatarSize;
|
|
387
|
+
}
|
|
388
|
+
/**
|
|
389
|
+
* Fidel design-system Avatar: a round photo, or initials on an accent tint
|
|
390
|
+
* when there is no photo. Exposes `name` as its accessible label.
|
|
391
|
+
*/
|
|
392
|
+
declare function Avatar({ name, src, size, className, ...rest }: AvatarProps): react.JSX.Element;
|
|
393
|
+
|
|
394
|
+
interface SectionHeaderProps extends Omit<HTMLAttributes<HTMLDivElement>, 'title'> {
|
|
395
|
+
title: ReactNode;
|
|
396
|
+
/** Short muted line under the heading. */
|
|
397
|
+
description?: ReactNode;
|
|
398
|
+
/** Heading level. @default 'h2' */
|
|
399
|
+
as?: 'h2' | 'h3' | 'h4';
|
|
400
|
+
/** Id for the heading, so a surrounding region can use `aria-labelledby`. */
|
|
401
|
+
titleId?: string;
|
|
402
|
+
}
|
|
403
|
+
/** Fidel design-system section header: a heading with an optional muted description under it. */
|
|
404
|
+
declare function SectionHeader({ title, description, as: Heading, titleId, className, ...rest }: SectionHeaderProps): react.JSX.Element;
|
|
405
|
+
|
|
406
|
+
interface SplitProps extends HTMLAttributes<HTMLDivElement> {
|
|
407
|
+
/** The narrow side column, e.g. a SectionHeader. */
|
|
408
|
+
aside: ReactNode;
|
|
409
|
+
/** The main column. */
|
|
410
|
+
children?: ReactNode;
|
|
411
|
+
/** Width of the side column. @default '280px' */
|
|
412
|
+
asideWidth?: string;
|
|
413
|
+
/** Keep the side column in view while the main column scrolls. @default false */
|
|
414
|
+
sticky?: boolean;
|
|
415
|
+
/** Breakpoint below which the columns stack, aside first: md 640px, lg 900px. @default 'lg' */
|
|
416
|
+
collapseBelow?: 'md' | 'lg';
|
|
417
|
+
}
|
|
418
|
+
/**
|
|
419
|
+
* Fidel design-system two-column layout: a fixed-width side column beside a
|
|
420
|
+
* flexible main column, stacking into one column below a breakpoint.
|
|
421
|
+
*/
|
|
422
|
+
declare function Split({ aside, children, asideWidth, sticky, collapseBelow, className, style, ...rest }: SplitProps): react.JSX.Element;
|
|
423
|
+
|
|
424
|
+
export { AppNav, type AppNavProps, Avatar, type AvatarProps, type AvatarSize, type Breakpoint, Button, type ButtonProps, type ButtonSize, type ButtonVariant, type DiffElement, type DiffPropertyLine, DiffPropertyList, type DiffPropertyListProps, DiffSection, type DiffSectionProps, MismatchCard, type MismatchCardProps, type MismatchProperty, Modal, type ModalProps, type ModalSize, type ModalTone, SectionHeader, type SectionHeaderProps, SegmentedControl, type SegmentedControlProps, type SegmentedOption, Select, type SelectOption, type SelectProps, SettingsSection, type SettingsSectionProps, Split, type SplitProps, TabNav, type TabNavProps, Toggle, type ToggleProps, type ToggleSize, breakpoints };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
import * as react from 'react';
|
|
2
2
|
import { ButtonHTMLAttributes, ReactNode, HTMLAttributes, InputHTMLAttributes } from 'react';
|
|
3
3
|
|
|
4
|
-
type ButtonVariant = 'primary' | 'outlined' | 'text' | 'neutral' | 'link'
|
|
4
|
+
type ButtonVariant = 'primary' | 'outlined' | 'text' | 'neutral' | 'link'
|
|
5
|
+
/** Final confirm of a destructive action ("Delete my account"). */
|
|
6
|
+
| 'danger'
|
|
7
|
+
/** Starts a destructive action ("Delete account", "Remove"). */
|
|
8
|
+
| 'danger-outlined';
|
|
5
9
|
type ButtonSize = 'x-small' | 'small' | 'medium' | 'big';
|
|
6
10
|
interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
|
|
7
11
|
/** Visual style. @default 'primary' */
|
|
@@ -248,4 +252,173 @@ interface ToggleProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'type'
|
|
|
248
252
|
*/
|
|
249
253
|
declare const Toggle: react.ForwardRefExoticComponent<ToggleProps & react.RefAttributes<HTMLInputElement>>;
|
|
250
254
|
|
|
251
|
-
|
|
255
|
+
interface AppNavProps extends HTMLAttributes<HTMLElement> {
|
|
256
|
+
/** Brand mark, usually a link home. */
|
|
257
|
+
logo: ReactNode;
|
|
258
|
+
/** Right-hand area (account menu, admin tools). Never shrinks. */
|
|
259
|
+
actions?: ReactNode;
|
|
260
|
+
/**
|
|
261
|
+
* The nav links (`<a>` or a router link). Mark the current page with
|
|
262
|
+
* `aria-current="page"`; React Router's `NavLink` does this itself.
|
|
263
|
+
*/
|
|
264
|
+
children?: ReactNode;
|
|
265
|
+
/** Accessible label for the mobile menu button. @default 'Menu' */
|
|
266
|
+
menuLabel?: string;
|
|
267
|
+
}
|
|
268
|
+
/**
|
|
269
|
+
* Fidel design-system app navigation bar. Router-agnostic: it styles whatever
|
|
270
|
+
* links it is given. Below 640px the links move into a menu opened from a
|
|
271
|
+
* button at the right of the bar; picking a link, Escape, or a tap outside
|
|
272
|
+
* closes it.
|
|
273
|
+
*/
|
|
274
|
+
declare function AppNav({ logo, actions, children, menuLabel, className, ...rest }: AppNavProps): react.JSX.Element;
|
|
275
|
+
|
|
276
|
+
interface TabNavProps extends HTMLAttributes<HTMLElement> {
|
|
277
|
+
/**
|
|
278
|
+
* The tab links (`<a>` or a router link). Mark the current tab with
|
|
279
|
+
* `aria-current="page"`; React Router's `NavLink` does this itself.
|
|
280
|
+
*/
|
|
281
|
+
children: ReactNode;
|
|
282
|
+
}
|
|
283
|
+
/**
|
|
284
|
+
* Fidel design-system tab navigation: a row of page-level links with an
|
|
285
|
+
* underline on the current one. Labels never wrap; when the row is wider than
|
|
286
|
+
* its container it scrolls sideways. Give it an `aria-label`.
|
|
287
|
+
*/
|
|
288
|
+
declare function TabNav({ children, className, ...rest }: TabNavProps): react.JSX.Element;
|
|
289
|
+
|
|
290
|
+
interface SettingsSectionProps extends Omit<HTMLAttributes<HTMLElement>, 'title'> {
|
|
291
|
+
/** Section heading, rendered as an `h2`. */
|
|
292
|
+
title: ReactNode;
|
|
293
|
+
/** Short muted line under the heading. */
|
|
294
|
+
description?: ReactNode;
|
|
295
|
+
/** The section's controls and content. */
|
|
296
|
+
children?: ReactNode;
|
|
297
|
+
}
|
|
298
|
+
/**
|
|
299
|
+
* @deprecated Compose `Split` and `SectionHeader` instead; this will be removed
|
|
300
|
+
* once fidel-web has moved off it.
|
|
301
|
+
*
|
|
302
|
+
* Fidel design-system settings section: heading and description on the left,
|
|
303
|
+
* content on the right, divided from the next section by a hairline. Stacks
|
|
304
|
+
* into one column below 900px.
|
|
305
|
+
*/
|
|
306
|
+
declare function SettingsSection({ title, description, children, className, ...rest }: SettingsSectionProps): react.JSX.Element;
|
|
307
|
+
|
|
308
|
+
type ModalSize = 'small' | 'medium';
|
|
309
|
+
type ModalTone = 'default' | 'danger';
|
|
310
|
+
interface ModalProps {
|
|
311
|
+
/** Whether the dialog is shown. */
|
|
312
|
+
open: boolean;
|
|
313
|
+
/** Called on Escape, the close button, or a click outside the dialog. */
|
|
314
|
+
onClose: () => void;
|
|
315
|
+
/** Dialog heading; also its accessible name. */
|
|
316
|
+
title: ReactNode;
|
|
317
|
+
/** Muted line under the heading; also its accessible description. */
|
|
318
|
+
description?: ReactNode;
|
|
319
|
+
/** Body content. */
|
|
320
|
+
children?: ReactNode;
|
|
321
|
+
/** Footer buttons, primary action last. Stacked full width on phones. */
|
|
322
|
+
actions?: ReactNode;
|
|
323
|
+
/** Width step: small 420px, medium 560px. @default 'small' */
|
|
324
|
+
size?: ModalSize;
|
|
325
|
+
/** False blocks every way of closing, e.g. while an action is in flight. @default true */
|
|
326
|
+
dismissible?: boolean;
|
|
327
|
+
/** 'danger' marks a destructive confirm with a warning icon; pair it with a `danger` Button. @default 'default' */
|
|
328
|
+
tone?: ModalTone;
|
|
329
|
+
className?: string;
|
|
330
|
+
}
|
|
331
|
+
/**
|
|
332
|
+
* Fidel design-system Modal. Portalled to `document.body`; traps focus, locks
|
|
333
|
+
* page scroll, closes on Escape or a click outside, and returns focus to where
|
|
334
|
+
* it was. Focus starts on the element marked `data-autofocus`, else the first
|
|
335
|
+
* focusable element.
|
|
336
|
+
*/
|
|
337
|
+
declare function Modal({ open, onClose, title, description, children, actions, size, dismissible, tone, className, }: ModalProps): react.ReactPortal | null;
|
|
338
|
+
|
|
339
|
+
interface SegmentedOption<T extends string> {
|
|
340
|
+
value: T;
|
|
341
|
+
label: ReactNode;
|
|
342
|
+
/** Optional number shown after the label, e.g. issues in a severity. */
|
|
343
|
+
count?: number;
|
|
344
|
+
/** Id of the panel this option shows, for `aria-controls`. */
|
|
345
|
+
controls?: string;
|
|
346
|
+
disabled?: boolean;
|
|
347
|
+
}
|
|
348
|
+
interface SegmentedControlProps<T extends string> {
|
|
349
|
+
options: SegmentedOption<T>[];
|
|
350
|
+
value: T;
|
|
351
|
+
onChange: (value: T) => void;
|
|
352
|
+
/** Names the group for screen readers. */
|
|
353
|
+
'aria-label': string;
|
|
354
|
+
className?: string;
|
|
355
|
+
}
|
|
356
|
+
/**
|
|
357
|
+
* Fidel design-system segmented control: pick one of a few options (a mode,
|
|
358
|
+
* a filter). Tabs semantics with a roving tabindex: Arrow keys, Home and End
|
|
359
|
+
* move and select; Tab leaves the group. When the options don't fit, the row
|
|
360
|
+
* scrolls sideways instead of widening the page.
|
|
361
|
+
*/
|
|
362
|
+
declare function SegmentedControl<T extends string>({ options, value, onChange, 'aria-label': ariaLabel, className, }: SegmentedControlProps<T>): react.JSX.Element;
|
|
363
|
+
|
|
364
|
+
/**
|
|
365
|
+
* Layout breakpoints, in px, used as `max-width` media queries.
|
|
366
|
+
* CSS custom properties can't be read inside `@media`, so component CSS and
|
|
367
|
+
* consumers write these same numbers literally: `@media (max-width: 640px)`.
|
|
368
|
+
*/
|
|
369
|
+
declare const breakpoints: {
|
|
370
|
+
/** Phones. */
|
|
371
|
+
readonly sm: 480;
|
|
372
|
+
/** Large phones, small tablets. */
|
|
373
|
+
readonly md: 640;
|
|
374
|
+
/** Tablets, narrow windows. */
|
|
375
|
+
readonly lg: 900;
|
|
376
|
+
};
|
|
377
|
+
type Breakpoint = keyof typeof breakpoints;
|
|
378
|
+
|
|
379
|
+
type AvatarSize = 'small' | 'medium' | 'large';
|
|
380
|
+
interface AvatarProps extends Omit<HTMLAttributes<HTMLSpanElement>, 'children'> {
|
|
381
|
+
/** Person's name or handle; used for the initials and the accessible name. */
|
|
382
|
+
name: string;
|
|
383
|
+
/** Photo URL. Falls back to initials when missing or when it fails to load. */
|
|
384
|
+
src?: string | null;
|
|
385
|
+
/** small 24px, medium 32px, large 40px. @default 'medium' */
|
|
386
|
+
size?: AvatarSize;
|
|
387
|
+
}
|
|
388
|
+
/**
|
|
389
|
+
* Fidel design-system Avatar: a round photo, or initials on an accent tint
|
|
390
|
+
* when there is no photo. Exposes `name` as its accessible label.
|
|
391
|
+
*/
|
|
392
|
+
declare function Avatar({ name, src, size, className, ...rest }: AvatarProps): react.JSX.Element;
|
|
393
|
+
|
|
394
|
+
interface SectionHeaderProps extends Omit<HTMLAttributes<HTMLDivElement>, 'title'> {
|
|
395
|
+
title: ReactNode;
|
|
396
|
+
/** Short muted line under the heading. */
|
|
397
|
+
description?: ReactNode;
|
|
398
|
+
/** Heading level. @default 'h2' */
|
|
399
|
+
as?: 'h2' | 'h3' | 'h4';
|
|
400
|
+
/** Id for the heading, so a surrounding region can use `aria-labelledby`. */
|
|
401
|
+
titleId?: string;
|
|
402
|
+
}
|
|
403
|
+
/** Fidel design-system section header: a heading with an optional muted description under it. */
|
|
404
|
+
declare function SectionHeader({ title, description, as: Heading, titleId, className, ...rest }: SectionHeaderProps): react.JSX.Element;
|
|
405
|
+
|
|
406
|
+
interface SplitProps extends HTMLAttributes<HTMLDivElement> {
|
|
407
|
+
/** The narrow side column, e.g. a SectionHeader. */
|
|
408
|
+
aside: ReactNode;
|
|
409
|
+
/** The main column. */
|
|
410
|
+
children?: ReactNode;
|
|
411
|
+
/** Width of the side column. @default '280px' */
|
|
412
|
+
asideWidth?: string;
|
|
413
|
+
/** Keep the side column in view while the main column scrolls. @default false */
|
|
414
|
+
sticky?: boolean;
|
|
415
|
+
/** Breakpoint below which the columns stack, aside first: md 640px, lg 900px. @default 'lg' */
|
|
416
|
+
collapseBelow?: 'md' | 'lg';
|
|
417
|
+
}
|
|
418
|
+
/**
|
|
419
|
+
* Fidel design-system two-column layout: a fixed-width side column beside a
|
|
420
|
+
* flexible main column, stacking into one column below a breakpoint.
|
|
421
|
+
*/
|
|
422
|
+
declare function Split({ aside, children, asideWidth, sticky, collapseBelow, className, style, ...rest }: SplitProps): react.JSX.Element;
|
|
423
|
+
|
|
424
|
+
export { AppNav, type AppNavProps, Avatar, type AvatarProps, type AvatarSize, type Breakpoint, Button, type ButtonProps, type ButtonSize, type ButtonVariant, type DiffElement, type DiffPropertyLine, DiffPropertyList, type DiffPropertyListProps, DiffSection, type DiffSectionProps, MismatchCard, type MismatchCardProps, type MismatchProperty, Modal, type ModalProps, type ModalSize, type ModalTone, SectionHeader, type SectionHeaderProps, SegmentedControl, type SegmentedControlProps, type SegmentedOption, Select, type SelectOption, type SelectProps, SettingsSection, type SettingsSectionProps, Split, type SplitProps, TabNav, type TabNavProps, Toggle, type ToggleProps, type ToggleSize, breakpoints };
|