@webority/ui-react 0.88.1 → 0.89.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/canvas-kit/kit.css +0 -0
- package/dist/canvas-kit/kit.js +155261 -0
- package/dist/canvas-kit/manifest.json +26177 -0
- package/dist/canvas-kit/release.json +25 -0
- package/dist/components/AppAutocomplete.js +1 -1
- package/dist/components/AppAvatarPicker.js +1 -1
- package/dist/components/AppChipGroup.js +1 -1
- package/dist/components/AppColorField.js +1 -1
- package/dist/components/AppCommandPalette.js +1 -1
- package/dist/components/AppCountrySelect.js +1 -1
- package/dist/components/AppDatePicker.js +1 -1
- package/dist/components/AppDateRangePicker.js +1 -1
- package/dist/components/AppDropZone.js +1 -1
- package/dist/components/AppFileAttachment.js +1 -1
- package/dist/components/AppFilePicker.js +1 -1
- package/dist/components/AppIcon.js +1 -1
- package/dist/components/AppInput.js +1 -1
- package/dist/components/AppLogoPicker.js +1 -1
- package/dist/components/AppMentionInput.js +1 -1
- package/dist/components/AppMeter.js +1 -1
- package/dist/components/AppModal.js +1 -1
- package/dist/components/AppMultiSelect.js +1 -1
- package/dist/components/AppNumberInput.js +1 -1
- package/dist/components/AppOtpInput.js +1 -1
- package/dist/components/AppPhoneNumberInput.js +1 -1
- package/dist/components/AppProgress.js +1 -1
- package/dist/components/AppRadioGroup.js +1 -1
- package/dist/components/AppRating.js +1 -1
- package/dist/components/AppRichText.js +1 -1
- package/dist/components/AppSearch.js +1 -1
- package/dist/components/AppSegmented.js +1 -1
- package/dist/components/AppSelect.js +1 -1
- package/dist/components/AppSidebarMenu.js +1 -1
- package/dist/components/AppSlider.js +1 -1
- package/dist/components/AppSplitView.js +1 -1
- package/dist/components/AppTabs.js +1 -1
- package/dist/components/AppTagInput.js +1 -1
- package/dist/components/AppTextarea.js +1 -1
- package/dist/components/AppTimePicker.js +1 -1
- package/dist/guidance.json +9623 -0
- package/dist/lib/wuiMarker.js +1 -1
- package/dist/types/components/AppAccordion.d.ts +14 -4
- package/dist/types/components/AppActionIcon.d.ts +40 -15
- package/dist/types/components/AppAlert.d.ts +50 -17
- package/dist/types/components/AppAsyncBlock.d.ts +19 -9
- package/dist/types/components/AppAutocomplete.d.ts +36 -0
- package/dist/types/components/AppAvatar.d.ts +48 -12
- package/dist/types/components/AppAvatarGroup.d.ts +14 -4
- package/dist/types/components/AppAvatarPicker.d.ts +50 -19
- package/dist/types/components/AppBadge.d.ts +14 -3
- package/dist/types/components/AppBanner.d.ts +13 -3
- package/dist/types/components/AppBreadcrumbs.d.ts +3 -3
- package/dist/types/components/AppButton.d.ts +72 -20
- package/dist/types/components/AppButtonGroup.d.ts +18 -4
- package/dist/types/components/AppCalendar.d.ts +13 -0
- package/dist/types/components/AppCard.d.ts +60 -21
- package/dist/types/components/AppCarousel.d.ts +56 -14
- package/dist/types/components/AppChart.d.ts +38 -0
- package/dist/types/components/AppChartCard.d.ts +13 -5
- package/dist/types/components/AppCheckbox.d.ts +9 -0
- package/dist/types/components/AppChip.d.ts +29 -10
- package/dist/types/components/AppChipGroup.d.ts +16 -3
- package/dist/types/components/AppChoiceCard.d.ts +55 -14
- package/dist/types/components/AppChoiceChip.d.ts +26 -6
- package/dist/types/components/AppCodeBlock.d.ts +27 -7
- package/dist/types/components/AppColorField.d.ts +36 -8
- package/dist/types/components/AppColumnMenu.d.ts +17 -4
- package/dist/types/components/AppCommandPalette.d.ts +72 -29
- package/dist/types/components/AppCommentThread.d.ts +25 -7
- package/dist/types/components/AppCompareTable.d.ts +9 -4
- package/dist/types/components/AppConfirmDialog.d.ts +54 -15
- package/dist/types/components/AppConsentBanner.d.ts +45 -12
- package/dist/types/components/AppContextMenu.d.ts +23 -10
- package/dist/types/components/AppCopyButton.d.ts +39 -9
- package/dist/types/components/AppCountrySelect.d.ts +50 -1
- package/dist/types/components/AppDashboardCell.d.ts +10 -2
- package/dist/types/components/AppDashboardGrid.d.ts +5 -1
- package/dist/types/components/AppDataTable.d.ts +103 -50
- package/dist/types/components/AppDatePicker.d.ts +32 -0
- package/dist/types/components/AppDateRangePicker.d.ts +31 -0
- package/dist/types/components/AppDescriptions.d.ts +28 -8
- package/dist/types/components/AppDrawer.d.ts +54 -13
- package/dist/types/components/AppDropZone.d.ts +34 -11
- package/dist/types/components/AppDropdown.d.ts +27 -20
- package/dist/types/components/AppDueDate.d.ts +16 -5
- package/dist/types/components/AppEmptyState.d.ts +22 -6
- package/dist/types/components/AppErrorSummary.d.ts +17 -4
- package/dist/types/components/AppFileAttachment.d.ts +30 -14
- package/dist/types/components/AppFilePicker.d.ts +39 -13
- package/dist/types/components/AppFileViewer.d.ts +21 -0
- package/dist/types/components/AppFilterBar.d.ts +23 -8
- package/dist/types/components/AppFloatingDock.d.ts +20 -6
- package/dist/types/components/AppFormActions.d.ts +11 -2
- package/dist/types/components/AppFormRow.d.ts +11 -2
- package/dist/types/components/AppFormSection.d.ts +25 -9
- package/dist/types/components/AppHoverCard.d.ts +25 -8
- package/dist/types/components/AppIcon.d.ts +18 -8
- package/dist/types/components/AppInfoList.d.ts +2 -0
- package/dist/types/components/AppInfoTip.d.ts +17 -4
- package/dist/types/components/AppInlineEdit.d.ts +22 -11
- package/dist/types/components/AppInput.d.ts +81 -2
- package/dist/types/components/AppInputGroup.d.ts +19 -6
- package/dist/types/components/AppKanban.d.ts +51 -23
- package/dist/types/components/AppKbd.d.ts +1 -0
- package/dist/types/components/AppKpiTile.d.ts +61 -31
- package/dist/types/components/AppLightbox.d.ts +12 -6
- package/dist/types/components/AppLink.d.ts +38 -17
- package/dist/types/components/AppLogoPicker.d.ts +88 -23
- package/dist/types/components/AppMarkdown.d.ts +3 -1
- package/dist/types/components/AppMentionInput.d.ts +35 -0
- package/dist/types/components/AppMenubar.d.ts +9 -7
- package/dist/types/components/AppMeter.d.ts +39 -10
- package/dist/types/components/AppMetricStrip.d.ts +11 -2
- package/dist/types/components/AppModal.d.ts +48 -19
- package/dist/types/components/AppMultiSelect.d.ts +44 -0
- package/dist/types/components/AppNavigationMenu.d.ts +6 -3
- package/dist/types/components/AppNotificationCenter.d.ts +23 -8
- package/dist/types/components/AppNumberInput.d.ts +38 -1
- package/dist/types/components/AppOnboardingChecklist.d.ts +27 -8
- package/dist/types/components/AppOtpInput.d.ts +24 -0
- package/dist/types/components/AppPageHeader.d.ts +60 -19
- package/dist/types/components/AppPagination.d.ts +21 -7
- package/dist/types/components/AppPhoneNumberInput.d.ts +37 -0
- package/dist/types/components/AppPopover.d.ts +23 -16
- package/dist/types/components/AppPricingCard.d.ts +27 -8
- package/dist/types/components/AppProgress.d.ts +44 -10
- package/dist/types/components/AppQrCode.d.ts +13 -5
- package/dist/types/components/AppRadio.d.ts +10 -0
- package/dist/types/components/AppRadioGroup.d.ts +47 -17
- package/dist/types/components/AppRating.d.ts +52 -15
- package/dist/types/components/AppRecordPager.d.ts +24 -8
- package/dist/types/components/AppRelativeTime.d.ts +9 -5
- package/dist/types/components/AppRepeater.d.ts +34 -8
- package/dist/types/components/AppResizable.d.ts +11 -3
- package/dist/types/components/AppResizableHandle.d.ts +9 -1
- package/dist/types/components/AppResizablePanel.d.ts +10 -3
- package/dist/types/components/AppResourceCard.d.ts +14 -2
- package/dist/types/components/AppResult.d.ts +23 -7
- package/dist/types/components/AppRichText.d.ts +34 -0
- package/dist/types/components/AppRollingNumber.d.ts +17 -7
- package/dist/types/components/AppRouteError.d.ts +22 -5
- package/dist/types/components/AppScoreScale.d.ts +40 -12
- package/dist/types/components/AppScrollbar.d.ts +7 -3
- package/dist/types/components/AppSearch.d.ts +32 -7
- package/dist/types/components/AppSectionCallToAction.d.ts +27 -7
- package/dist/types/components/AppSectionFaq.d.ts +27 -7
- package/dist/types/components/AppSectionFeatures.d.ts +34 -8
- package/dist/types/components/AppSectionHero.d.ts +29 -8
- package/dist/types/components/AppSectionLogos.d.ts +29 -7
- package/dist/types/components/AppSectionPricing.d.ts +25 -6
- package/dist/types/components/AppSectionTestimonials.d.ts +29 -7
- package/dist/types/components/AppSegmented.d.ts +41 -13
- package/dist/types/components/AppSelect.d.ts +53 -1
- package/dist/types/components/AppSelectMini.d.ts +28 -11
- package/dist/types/components/AppShell.d.ts +81 -35
- package/dist/types/components/AppShortcutLegend.d.ts +12 -4
- package/dist/types/components/AppShowMore.d.ts +26 -5
- package/dist/types/components/AppSidebarMenu.d.ts +59 -18
- package/dist/types/components/AppSkeleton.d.ts +33 -4
- package/dist/types/components/AppSlider.d.ts +43 -0
- package/dist/types/components/AppSortableList.d.ts +20 -0
- package/dist/types/components/AppSparkline.d.ts +19 -5
- package/dist/types/components/AppSpinner.d.ts +14 -3
- package/dist/types/components/AppSplash.d.ts +24 -7
- package/dist/types/components/AppSplitButton.d.ts +47 -14
- package/dist/types/components/AppSplitView.d.ts +53 -27
- package/dist/types/components/AppStatusBadge.d.ts +11 -3
- package/dist/types/components/AppStepper.d.ts +36 -11
- package/dist/types/components/AppSwitch.d.ts +16 -0
- package/dist/types/components/AppTableEmptyState.d.ts +7 -3
- package/dist/types/components/AppTablePagination.d.ts +23 -9
- package/dist/types/components/AppTableToolbar.d.ts +24 -10
- package/dist/types/components/AppTabs.d.ts +47 -18
- package/dist/types/components/AppTagInput.d.ts +38 -0
- package/dist/types/components/AppTextarea.d.ts +46 -0
- package/dist/types/components/AppThemeToggle.d.ts +58 -12
- package/dist/types/components/AppTimePicker.d.ts +38 -1
- package/dist/types/components/AppTimeline.d.ts +22 -20
- package/dist/types/components/AppToast.d.ts +30 -12
- package/dist/types/components/AppToolbar.d.ts +24 -9
- package/dist/types/components/AppTooltip.d.ts +24 -14
- package/dist/types/components/AppTour.d.ts +10 -0
- package/dist/types/components/AppTreeView.d.ts +23 -0
- package/dist/types/components/AppTruncate.d.ts +11 -2
- package/dist/types/components/AppUpdateBar.d.ts +10 -2
- package/dist/types/components/AppWhatsNew.d.ts +26 -7
- package/dist/types/components/AppWizard.d.ts +79 -0
- package/dist/types/components/AppWorkspaceSwitcher.d.ts +36 -17
- package/dist/types/lib/wuiMarker.d.ts +4 -0
- package/package.json +10 -7
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import "@webority/ui-elements/elements/sortable";
|
|
2
2
|
declare const AppSortableList: import("react").ForwardRefExoticComponent<{
|
|
3
|
+
/** The items, in the order shown. Each has an id, a label and optionally content and a disabled flag. */
|
|
3
4
|
items: {
|
|
4
5
|
id: string;
|
|
5
6
|
label: string;
|
|
@@ -7,12 +8,31 @@ declare const AppSortableList: import("react").ForwardRefExoticComponent<{
|
|
|
7
8
|
disabled?: boolean;
|
|
8
9
|
}[];
|
|
9
10
|
onReorder?: (ids: string[], detail: object) => void;
|
|
11
|
+
/** Names the list for assistive tech; also used in announcements when an item moves between lists. */
|
|
10
12
|
ariaLabel: string;
|
|
13
|
+
/**
|
|
14
|
+
* Drag only from the handle. Without it an item can also be dragged from its body (links, buttons and inputs inside it keep working).
|
|
15
|
+
* @default false
|
|
16
|
+
*/
|
|
11
17
|
handle?: boolean;
|
|
18
|
+
/** Name shared by lists that accept each other's items. */
|
|
12
19
|
group?: string;
|
|
20
|
+
/** Form field name; posts the order as one hidden input per item. */
|
|
13
21
|
name?: string;
|
|
22
|
+
/**
|
|
23
|
+
* No item can be picked up.
|
|
24
|
+
* @default false
|
|
25
|
+
*/
|
|
14
26
|
disabled?: boolean;
|
|
27
|
+
/**
|
|
28
|
+
* Direction the items run; horizontal also covers a wrapping row.
|
|
29
|
+
* @default "vertical"
|
|
30
|
+
*/
|
|
15
31
|
orientation?: 'vertical' | 'horizontal';
|
|
32
|
+
/**
|
|
33
|
+
* Extra class names for the list element.
|
|
34
|
+
* @default ""
|
|
35
|
+
*/
|
|
16
36
|
className?: string;
|
|
17
37
|
} & import("react").RefAttributes<HTMLElement>>;
|
|
18
38
|
export default AppSortableList;
|
|
@@ -9,16 +9,30 @@
|
|
|
9
9
|
* ```
|
|
10
10
|
*
|
|
11
11
|
* @param {object} props
|
|
12
|
-
* @param {number[]} props.data
|
|
13
|
-
* @param {string} [props.label]
|
|
14
|
-
* @param {number} [props.width
|
|
15
|
-
* @param {number} [props.height
|
|
16
|
-
* @param {string} [props.className]
|
|
12
|
+
* @param {number[]} props.data
|
|
13
|
+
* @param {string} [props.label]
|
|
14
|
+
* @param {number} [props.width]
|
|
15
|
+
* @param {number} [props.height]
|
|
16
|
+
* @param {string} [props.className]
|
|
17
17
|
*/
|
|
18
18
|
export default function AppSparkline(props: {
|
|
19
|
+
/** The values, in order. A value that is not a finite number (null, NaN, a string) is left out, and a series with none left draws nothing. */
|
|
19
20
|
data: number[];
|
|
21
|
+
/** What the trend measures; it starts the text alternative. */
|
|
20
22
|
label?: string;
|
|
23
|
+
/**
|
|
24
|
+
* Width in px.
|
|
25
|
+
* @default 48
|
|
26
|
+
*/
|
|
21
27
|
width?: number;
|
|
28
|
+
/**
|
|
29
|
+
* Height in px.
|
|
30
|
+
* @default 16
|
|
31
|
+
*/
|
|
22
32
|
height?: number;
|
|
33
|
+
/**
|
|
34
|
+
* Extra classes on the svg.
|
|
35
|
+
* @default ""
|
|
36
|
+
*/
|
|
23
37
|
className?: string;
|
|
24
38
|
}): import("react").JSX.Element;
|
|
@@ -6,13 +6,24 @@
|
|
|
6
6
|
* placeholder reads better than a spinner above the fold.
|
|
7
7
|
*
|
|
8
8
|
* @param {object} props
|
|
9
|
-
* @param {'sm'|'md'|number} [props.size
|
|
10
|
-
*
|
|
11
|
-
* @param {string} [props.label='Loading'] Accessible name.
|
|
9
|
+
* @param {'sm'|'md'|number} [props.size]
|
|
10
|
+
* @param {string} [props.label]
|
|
12
11
|
* @param {string} [props.className]
|
|
13
12
|
*/
|
|
14
13
|
export default function AppSpinner(props: {
|
|
14
|
+
/**
|
|
15
|
+
* A preset (sm or md), or an exact diameter in px; the border scales with it. Pass any positive number so the spinner matches what it sits in.
|
|
16
|
+
* @default "md"
|
|
17
|
+
*/
|
|
15
18
|
size?: 'sm' | 'md' | number;
|
|
19
|
+
/**
|
|
20
|
+
* Accessible name.
|
|
21
|
+
* @default "Loading"
|
|
22
|
+
*/
|
|
16
23
|
label?: string;
|
|
24
|
+
/**
|
|
25
|
+
* Extra class names for the spinner element.
|
|
26
|
+
* @default ""
|
|
27
|
+
*/
|
|
17
28
|
className?: string;
|
|
18
29
|
}): import("react").JSX.Element;
|
|
@@ -11,22 +11,39 @@
|
|
|
11
11
|
* style with `variant` (a sweeping bar, a spinning ring, or bouncing dots).
|
|
12
12
|
*
|
|
13
13
|
* @param {object} props
|
|
14
|
-
* @param {import('react').ReactNode} [props.logo]
|
|
15
|
-
* @param {string} [props.initials]
|
|
16
|
-
* @param {string} [props.text]
|
|
17
|
-
* @param {string} [props.subtext]
|
|
18
|
-
* @param {'bar'|'ring'|'dots'} [props.variant
|
|
19
|
-
* @param {'sm'|'md'|'lg'|number} [props.size
|
|
20
|
-
* @param {string} [props.label
|
|
14
|
+
* @param {import('react').ReactNode} [props.logo]
|
|
15
|
+
* @param {string} [props.initials]
|
|
16
|
+
* @param {string} [props.text]
|
|
17
|
+
* @param {string} [props.subtext]
|
|
18
|
+
* @param {'bar'|'ring'|'dots'} [props.variant]
|
|
19
|
+
* @param {'sm'|'md'|'lg'|number} [props.size]
|
|
20
|
+
* @param {string} [props.label]
|
|
21
21
|
* @param {string} [props.className]
|
|
22
22
|
*/
|
|
23
23
|
export default function AppSplash(props: {
|
|
24
|
+
/** The brand mark, an image or an SVG. It takes the place of the initials. */
|
|
24
25
|
logo?: import('react').ReactNode;
|
|
26
|
+
/** The fallback mark shown when there is no logo. */
|
|
25
27
|
initials?: string;
|
|
28
|
+
/** One line of text under the mark, for example Signing you in. */
|
|
26
29
|
text?: string;
|
|
30
|
+
/** A quieter second line under the text. */
|
|
27
31
|
subtext?: string;
|
|
32
|
+
/**
|
|
33
|
+
* The indeterminate boot indicator: a sweeping bar, a spinning ring or bouncing dots. Boot has no measurable percentage, so the indicator never shows progress.
|
|
34
|
+
* @default "bar"
|
|
35
|
+
*/
|
|
28
36
|
variant?: 'bar' | 'ring' | 'dots';
|
|
37
|
+
/**
|
|
38
|
+
* The mark size, a preset or an exact diameter in px. The presets are 44, 56 and 72 px.
|
|
39
|
+
* @default "md"
|
|
40
|
+
*/
|
|
29
41
|
size?: 'sm' | 'md' | 'lg' | number;
|
|
42
|
+
/**
|
|
43
|
+
* The accessible name for the live region.
|
|
44
|
+
* @default "Loading"
|
|
45
|
+
*/
|
|
30
46
|
label?: string;
|
|
47
|
+
/** Extra classes on the root. */
|
|
31
48
|
className?: string;
|
|
32
49
|
}): import("react").JSX.Element;
|
|
@@ -7,25 +7,26 @@
|
|
|
7
7
|
* by `label`. Razor counterpart: `<app-split-button>` with `<app-split-button-item>` children.
|
|
8
8
|
*
|
|
9
9
|
* @param {object} props
|
|
10
|
-
* @param {string} props.label
|
|
11
|
-
* @param {{ key: string, label?: string, icon?: string|import('react').ReactNode, image?: string, to?: string, onClick?: () => void, danger?: boolean, shortcut?: string, divider?:
|
|
12
|
-
* The menu, as `AppDropdown` takes it.
|
|
10
|
+
* @param {string} props.label
|
|
11
|
+
* @param {{ key: string, label?: string, icon?: string|import('react').ReactNode, image?: string, to?: string, onClick?: () => void, danger?: boolean, shortcut?: string, divider?: boolean }[]} [props.items]
|
|
13
12
|
* @param {() => void} [props.onClick] Called when the main button is pressed.
|
|
14
|
-
* @param {string} [props.href]
|
|
15
|
-
* @param {'button'|'submit'|'reset'} [props.type
|
|
16
|
-
* @param {'primary'|'secondary'|'outline'|'ghost'|'danger'|'success'|'secondary-danger'|'outline-danger'|'light'|'warning'|'neutral'|'outline-light'|'outline-secondary'|'text'|'subtle'} [props.variant
|
|
17
|
-
* @param {'sm'|'md'|'lg'} [props.size
|
|
18
|
-
* @param {boolean} [props.disabled
|
|
19
|
-
* @param {boolean} [props.loading
|
|
20
|
-
* @param {string} [props.leftIcon]
|
|
21
|
-
* @param {string} [props.shortcut]
|
|
22
|
-
* @param {string} [props.menuLabel
|
|
23
|
-
* @param {'start'|'end'} [props.align
|
|
13
|
+
* @param {string} [props.href]
|
|
14
|
+
* @param {'button'|'submit'|'reset'} [props.type]
|
|
15
|
+
* @param {'primary'|'secondary'|'outline'|'ghost'|'danger'|'success'|'secondary-danger'|'outline-danger'|'light'|'warning'|'neutral'|'outline-light'|'outline-secondary'|'text'|'subtle'} [props.variant]
|
|
16
|
+
* @param {'sm'|'md'|'lg'} [props.size]
|
|
17
|
+
* @param {boolean} [props.disabled]
|
|
18
|
+
* @param {boolean} [props.loading]
|
|
19
|
+
* @param {string} [props.leftIcon]
|
|
20
|
+
* @param {string} [props.shortcut]
|
|
21
|
+
* @param {string} [props.menuLabel]
|
|
22
|
+
* @param {'start'|'end'} [props.align]
|
|
24
23
|
* @param {import('react').ElementType} [props.linkComponent] Component for items with `to` (e.g. a router Link).
|
|
25
24
|
* @param {string} [props.className]
|
|
26
25
|
*/
|
|
27
26
|
export default function AppSplitButton(props: {
|
|
27
|
+
/** The main button's text, also the group's accessible name. */
|
|
28
28
|
label: string;
|
|
29
|
+
/** The menu, as the dropdown takes it. Each item needs a unique `key`. An item with divider true draws a separator. */
|
|
29
30
|
items?: {
|
|
30
31
|
key: string;
|
|
31
32
|
label?: string;
|
|
@@ -35,19 +36,51 @@ export default function AppSplitButton(props: {
|
|
|
35
36
|
onClick?: () => void;
|
|
36
37
|
danger?: boolean;
|
|
37
38
|
shortcut?: string;
|
|
38
|
-
divider?:
|
|
39
|
+
divider?: boolean;
|
|
39
40
|
}[];
|
|
40
41
|
onClick?: () => void;
|
|
42
|
+
/** Makes the main button a link. */
|
|
41
43
|
href?: string;
|
|
44
|
+
/**
|
|
45
|
+
* The main button's type.
|
|
46
|
+
* @default "button"
|
|
47
|
+
*/
|
|
42
48
|
type?: 'button' | 'submit' | 'reset';
|
|
49
|
+
/**
|
|
50
|
+
* Both halves share it. subtle is deprecated (use neutral) and is removed in 0.79.0.
|
|
51
|
+
* @default "primary"
|
|
52
|
+
*/
|
|
43
53
|
variant?: 'primary' | 'secondary' | 'outline' | 'ghost' | 'danger' | 'success' | 'secondary-danger' | 'outline-danger' | 'light' | 'warning' | 'neutral' | 'outline-light' | 'outline-secondary' | 'text' | 'subtle';
|
|
54
|
+
/**
|
|
55
|
+
* The size of both halves.
|
|
56
|
+
* @default "md"
|
|
57
|
+
*/
|
|
44
58
|
size?: 'sm' | 'md' | 'lg';
|
|
59
|
+
/**
|
|
60
|
+
* Disables both halves.
|
|
61
|
+
* @default false
|
|
62
|
+
*/
|
|
45
63
|
disabled?: boolean;
|
|
64
|
+
/**
|
|
65
|
+
* Shows the spinner on the main button and disables both halves.
|
|
66
|
+
* @default false
|
|
67
|
+
*/
|
|
46
68
|
loading?: boolean;
|
|
69
|
+
/** The icon name before the main label. */
|
|
47
70
|
leftIcon?: string;
|
|
71
|
+
/** The key that runs the main action, drawn as a key chip after the label. */
|
|
48
72
|
shortcut?: string;
|
|
73
|
+
/**
|
|
74
|
+
* The accessible name of the chevron.
|
|
75
|
+
* @default "More actions"
|
|
76
|
+
*/
|
|
49
77
|
menuLabel?: string;
|
|
78
|
+
/**
|
|
79
|
+
* Which edge the menu lines up with.
|
|
80
|
+
* @default "end"
|
|
81
|
+
*/
|
|
50
82
|
align?: 'start' | 'end';
|
|
51
83
|
linkComponent?: import('react').ElementType;
|
|
84
|
+
/** Extra CSS classes added to the group. */
|
|
52
85
|
className?: string;
|
|
53
86
|
}): import("react").JSX.Element;
|
|
@@ -18,39 +18,28 @@
|
|
|
18
18
|
* @param {object} props
|
|
19
19
|
* @param {{ key: string|number, title: import('react').ReactNode, href?: string,
|
|
20
20
|
* meta?: import('react').ReactNode, trailing?: import('react').ReactNode, badge?: string|number }[]} [props.items]
|
|
21
|
-
*
|
|
22
|
-
* date), `badge` is a short count or label. Keep links and buttons out of all three: the item is
|
|
23
|
-
* itself a link (with `href`) or a button.
|
|
24
|
-
* @param {string|number} [props.currentKey] The key of the open item.
|
|
21
|
+
* @param {string|number} [props.currentKey]
|
|
25
22
|
* @param {(key: string|number) => void} [props.onSelect] Called with an item's key when it is opened in place.
|
|
26
|
-
* @param {boolean} [props.selectable
|
|
27
|
-
* @param {
|
|
23
|
+
* @param {boolean} [props.selectable]
|
|
24
|
+
* @param {(string|number)[]} [props.selectedKeys]
|
|
28
25
|
* @param {(key: string|number) => void} [props.onToggle] Called when an item's checkbox changes.
|
|
29
26
|
* @param {(checked: boolean) => void} [props.onToggleAll] Called when the select-all box changes.
|
|
30
|
-
* @param {import('react').ReactNode} [props.bulkActions]
|
|
31
|
-
*
|
|
32
|
-
* @param {import('react').ReactNode} [props.
|
|
33
|
-
* @param {import('react').ReactNode} [props.
|
|
34
|
-
* @param {import('react').ReactNode} [props.
|
|
35
|
-
* @param {
|
|
36
|
-
* item's title or status, a link back to the list for phones.
|
|
37
|
-
* @param {boolean} [props.pager=true] The record pager at the end of the pane header: "3 of 12"
|
|
38
|
-
* over the items on screen, and previous and next, which open the item before or after the open
|
|
39
|
-
* one as a click on it would. Turn it off to put your own `AppRecordPager` in `paneHeader` (a
|
|
40
|
-
* paged list whose total is larger than the items on screen).
|
|
27
|
+
* @param {import('react').ReactNode} [props.bulkActions]
|
|
28
|
+
* @param {import('react').ReactNode} [props.header]
|
|
29
|
+
* @param {import('react').ReactNode} [props.chips]
|
|
30
|
+
* @param {import('react').ReactNode} [props.pane]
|
|
31
|
+
* @param {import('react').ReactNode} [props.paneHeader]
|
|
32
|
+
* @param {boolean} [props.pager]
|
|
41
33
|
* @param {{ key: string, label: string, onPress: (currentKey?: string|number) => void }[]} [props.shortcuts]
|
|
42
|
-
*
|
|
43
|
-
*
|
|
44
|
-
*
|
|
45
|
-
* @param {
|
|
46
|
-
*
|
|
47
|
-
* @param {import('react').ReactNode} [props.empty="Nothing here yet."] Shown when there are no items.
|
|
48
|
-
* @param {boolean} [props.loading=false] Placeholder items instead of the list.
|
|
49
|
-
* @param {3|4|5|6|7|8} [props.listWidth=5] The list's share of 12 columns when side by side.
|
|
50
|
-
* @param {'sm'|'md'|'lg'|'xl'|'xxl'} [props.stackBelow='xl'] Below this tier the list and pane are two screens.
|
|
34
|
+
* @param {boolean} [props.shortcutsEnabled]
|
|
35
|
+
* @param {import('react').ReactNode} [props.empty]
|
|
36
|
+
* @param {boolean} [props.loading]
|
|
37
|
+
* @param {3|4|5|6|7|8} [props.listWidth]
|
|
38
|
+
* @param {'sm'|'md'|'lg'|'xl'|'xxl'} [props.stackBelow]
|
|
51
39
|
* @param {string} [props.className]
|
|
52
40
|
*/
|
|
53
41
|
export default function AppSplitView(props: {
|
|
42
|
+
/** The list. meta is the line under the title (sender, excerpt), trailing sits at the end (a date), badge is a short count or label. Keep links and buttons out of all three: the item is itself a link (with href) or a button. Each item needs a unique `key`, a string or a number. */
|
|
54
43
|
items?: {
|
|
55
44
|
key: string | number;
|
|
56
45
|
title: import('react').ReactNode;
|
|
@@ -59,27 +48,64 @@ export default function AppSplitView(props: {
|
|
|
59
48
|
trailing?: import('react').ReactNode;
|
|
60
49
|
badge?: string | number;
|
|
61
50
|
}[];
|
|
51
|
+
/** The key of the open item. It gets aria-current and the subtle primary background. */
|
|
62
52
|
currentKey?: string | number;
|
|
63
53
|
onSelect?: (key: string | number) => void;
|
|
54
|
+
/**
|
|
55
|
+
* A checkbox on each item and a select-all box in the header.
|
|
56
|
+
* @default false
|
|
57
|
+
*/
|
|
64
58
|
selectable?: boolean;
|
|
65
|
-
|
|
59
|
+
/** The keys of the ticked items. Each key is a string or a number, and the component reads it as a set. */
|
|
60
|
+
selectedKeys?: (string | number)[];
|
|
66
61
|
onToggle?: (key: string | number) => void;
|
|
67
62
|
onToggleAll?: (checked: boolean) => void;
|
|
63
|
+
/** Buttons shown in place of the header while items are ticked, beside "N selected". */
|
|
68
64
|
bulkActions?: import('react').ReactNode;
|
|
65
|
+
/** The list header: a count, a sort label, a filter trigger. */
|
|
69
66
|
header?: import('react').ReactNode;
|
|
67
|
+
/** A row under the header for the active filters. */
|
|
70
68
|
chips?: import('react').ReactNode;
|
|
69
|
+
/** The open item's content. */
|
|
71
70
|
pane?: import('react').ReactNode;
|
|
71
|
+
/** Above the pane, before the pager: the open item's title or status, and a link back to the list for phones. */
|
|
72
72
|
paneHeader?: import('react').ReactNode;
|
|
73
|
+
/**
|
|
74
|
+
* The record pager at the end of the pane header: "3 of 12" over the items on screen, and previous and next, which open the item before or after the open one as a click on it would. Turn it off to put your own pager in paneHeader for a paged list whose total is larger than the items on screen.
|
|
75
|
+
* @default true
|
|
76
|
+
*/
|
|
73
77
|
pager?: boolean;
|
|
78
|
+
/** Extra single-key shortcuts (archive, approve), listed in the ? sheet. J, K, Enter, ? (and X with selectable) are built in and win over an extra with the same key. Each shortcut needs a `key`, a single key such as e. */
|
|
74
79
|
shortcuts?: {
|
|
75
80
|
key: string;
|
|
76
81
|
label: string;
|
|
77
82
|
onPress: (currentKey?: string | number) => void;
|
|
78
83
|
}[];
|
|
84
|
+
/**
|
|
85
|
+
* The keyboard shortcuts and their legend. They listen while focus is in the view, or nowhere for the first view on the page.
|
|
86
|
+
* @default true
|
|
87
|
+
*/
|
|
79
88
|
shortcutsEnabled?: boolean;
|
|
89
|
+
/**
|
|
90
|
+
* Shown when there are no items.
|
|
91
|
+
* @default "Nothing here yet."
|
|
92
|
+
*/
|
|
80
93
|
empty?: import('react').ReactNode;
|
|
94
|
+
/**
|
|
95
|
+
* Placeholder items instead of the list.
|
|
96
|
+
* @default false
|
|
97
|
+
*/
|
|
81
98
|
loading?: boolean;
|
|
99
|
+
/**
|
|
100
|
+
* The list's share of 12 columns when side by side.
|
|
101
|
+
* @default 5
|
|
102
|
+
*/
|
|
82
103
|
listWidth?: 3 | 4 | 5 | 6 | 7 | 8;
|
|
104
|
+
/**
|
|
105
|
+
* Below this tier the list and pane are two screens.
|
|
106
|
+
* @default "xl"
|
|
107
|
+
*/
|
|
83
108
|
stackBelow?: 'sm' | 'md' | 'lg' | 'xl' | 'xxl';
|
|
109
|
+
/** Extra classes on the root element. */
|
|
84
110
|
className?: string;
|
|
85
111
|
}): import("react").JSX.Element;
|
|
@@ -5,15 +5,23 @@
|
|
|
5
5
|
*
|
|
6
6
|
* @param {object} props
|
|
7
7
|
* @param {import('react').ReactNode} [props.label]
|
|
8
|
-
* @param {string} [props.tone]
|
|
8
|
+
* @param {string} [props.tone]
|
|
9
9
|
* @param {string} [props.className]
|
|
10
|
-
* @param {string} [props.tooltip]
|
|
11
|
-
* @param {"auto"|"top"|"bottom"|"start"|"end"} [props.tooltipPlacement
|
|
10
|
+
* @param {string} [props.tooltip]
|
|
11
|
+
* @param {"auto"|"top"|"bottom"|"start"|"end"} [props.tooltipPlacement]
|
|
12
12
|
*/
|
|
13
13
|
export default function AppStatusBadge(props: {
|
|
14
|
+
/** The status text, as a string or a React node. When it is empty the badge draws a plain hyphen. */
|
|
14
15
|
label?: import('react').ReactNode;
|
|
16
|
+
/** The tone class suffix: neutral, primary, success, warning, danger or info. */
|
|
15
17
|
tone?: string;
|
|
18
|
+
/** Extra classes on the pill, appended after the tone class. */
|
|
16
19
|
className?: string;
|
|
20
|
+
/** A hover and focus tooltip that flips to stay on screen. Use it to spell out a terse status. */
|
|
17
21
|
tooltip?: string;
|
|
22
|
+
/**
|
|
23
|
+
* The preferred tooltip side. Auto picks the side with the most room.
|
|
24
|
+
* @default "auto"
|
|
25
|
+
*/
|
|
18
26
|
tooltipPlacement?: "auto" | "top" | "bottom" | "start" | "end";
|
|
19
27
|
}): any;
|
|
@@ -21,24 +21,22 @@
|
|
|
21
21
|
*
|
|
22
22
|
* @param {object} props
|
|
23
23
|
* @param {{ key?: string, label: string, description?: string, status?: 'done'|'active'|'pending'|'error', href?: string, icon?: string }[]} props.steps
|
|
24
|
-
* @param {'steps'|'journey'} [props.variant
|
|
25
|
-
* @param {'horizontal'|'vertical'} [props.orientation
|
|
26
|
-
* @param {'linear'|'outline'|'bold'|'bulk'|'broken'|'twotone'} [props.iconVariant
|
|
27
|
-
*
|
|
28
|
-
* @param {
|
|
29
|
-
* @param {number} [props.
|
|
30
|
-
* @param {number} [props.activeStep] When set, statuses are DERIVED from the index —
|
|
31
|
-
* steps before it are `done`, the one at it is `active`, the rest `pending`. A step's
|
|
32
|
-
* own explicit `status` still wins, so a failed step can be marked `error`.
|
|
24
|
+
* @param {'steps'|'journey'} [props.variant]
|
|
25
|
+
* @param {'horizontal'|'vertical'} [props.orientation]
|
|
26
|
+
* @param {'linear'|'outline'|'bold'|'bulk'|'broken'|'twotone'} [props.iconVariant]
|
|
27
|
+
* @param {'sm'|'md'|'lg'} [props.size]
|
|
28
|
+
* @param {number} [props.iconSize]
|
|
29
|
+
* @param {number} [props.activeStep]
|
|
33
30
|
* @param {(step: object, index: number) => void} [props.onStepClick] Makes each step a
|
|
34
31
|
* button that reports the step it stands for. React-only (no Razor counterpart).
|
|
35
|
-
* @param {string} [props.label
|
|
36
|
-
* @param {'primary'|'info'} [props.tone
|
|
32
|
+
* @param {string} [props.label]
|
|
33
|
+
* @param {'primary'|'info'} [props.tone]
|
|
37
34
|
* @param {import('react').ElementType} [props.linkComponent] Router link for a revisitable
|
|
38
35
|
* step; it receives `to` instead of `href`.
|
|
39
36
|
* @param {string} [props.className]
|
|
40
37
|
*/
|
|
41
38
|
export default function AppStepper(props: {
|
|
39
|
+
/** The stages of the flow, in order. A step with href links back to that stage. Each step may carry a unique `key`. */
|
|
42
40
|
steps: {
|
|
43
41
|
key?: string;
|
|
44
42
|
label: string;
|
|
@@ -47,15 +45,42 @@ export default function AppStepper(props: {
|
|
|
47
45
|
href?: string;
|
|
48
46
|
icon?: string;
|
|
49
47
|
}[];
|
|
48
|
+
/**
|
|
49
|
+
* steps is compact, a numbered circle above its label. journey is wide, a large dot beside a step index and a title.
|
|
50
|
+
* @default "steps"
|
|
51
|
+
*/
|
|
50
52
|
variant?: 'steps' | 'journey';
|
|
53
|
+
/**
|
|
54
|
+
* Lay the steps out in a row or stack them down a side rail.
|
|
55
|
+
* @default "horizontal"
|
|
56
|
+
*/
|
|
51
57
|
orientation?: 'horizontal' | 'vertical';
|
|
58
|
+
/**
|
|
59
|
+
* The iconsax style of every step glyph.
|
|
60
|
+
* @default "linear"
|
|
61
|
+
*/
|
|
52
62
|
iconVariant?: 'linear' | 'outline' | 'bold' | 'bulk' | 'broken' | 'twotone';
|
|
63
|
+
/**
|
|
64
|
+
* Scales the badge, its number, the labels and the glyphs together.
|
|
65
|
+
* @default "md"
|
|
66
|
+
*/
|
|
53
67
|
size?: 'sm' | 'md' | 'lg';
|
|
68
|
+
/** The width and height in px of every step glyph. Unset, it follows size. */
|
|
54
69
|
iconSize?: number;
|
|
70
|
+
/** The index of the current step. Steps before it are done, the one at it is active, the rest are pending; a step's own status still wins. */
|
|
55
71
|
activeStep?: number;
|
|
56
72
|
onStepClick?: (step: object, index: number) => void;
|
|
73
|
+
/**
|
|
74
|
+
* The accessible name of the list.
|
|
75
|
+
* @default "Progress"
|
|
76
|
+
*/
|
|
57
77
|
label?: string;
|
|
78
|
+
/**
|
|
79
|
+
* The accent of the active and done steps.
|
|
80
|
+
* @default "primary"
|
|
81
|
+
*/
|
|
58
82
|
tone?: 'primary' | 'info';
|
|
59
83
|
linkComponent?: import('react').ElementType;
|
|
84
|
+
/** Extra class names added to the stepper's root element. */
|
|
60
85
|
className?: string;
|
|
61
86
|
}): import("react").JSX.Element;
|
|
@@ -1,14 +1,30 @@
|
|
|
1
1
|
declare const AppSwitch: import("react").ForwardRefExoticComponent<{
|
|
2
|
+
/** The text shown beside the switch. It is a real label tied to the input. */
|
|
2
3
|
label?: import('react').ReactNode;
|
|
4
|
+
/** The id of the switch input, which its label points at. A generated id is used when none is given. */
|
|
3
5
|
id?: string;
|
|
6
|
+
/** The field name the switch posts under in a form. */
|
|
4
7
|
name?: string;
|
|
8
|
+
/** Controlled on or off state. Pair it with onChange. */
|
|
5
9
|
checked?: boolean;
|
|
10
|
+
/** The starting state when the switch is uncontrolled. */
|
|
6
11
|
defaultChecked?: boolean;
|
|
12
|
+
/** Locks the switch and dims it. */
|
|
7
13
|
disabled?: boolean;
|
|
8
14
|
onChange?: (event: import('react').ChangeEvent<HTMLInputElement>) => void;
|
|
15
|
+
/** Error message shown below the control. It replaces the hint and marks the switch invalid. */
|
|
9
16
|
error?: string;
|
|
17
|
+
/** Helper text shown below the control. It is hidden while an error shows. */
|
|
10
18
|
hint?: string;
|
|
19
|
+
/**
|
|
20
|
+
* The track shape. round is the sliding pill with circular ends, pill is the same pill with squircle ends, and circle is a compact round on/off button.
|
|
21
|
+
* @default "round"
|
|
22
|
+
*/
|
|
11
23
|
shape?: 'round' | 'pill' | 'circle';
|
|
24
|
+
/**
|
|
25
|
+
* Extra class names added to the form-check wrapper.
|
|
26
|
+
* @default ""
|
|
27
|
+
*/
|
|
12
28
|
className?: string;
|
|
13
29
|
} & import("react").RefAttributes<HTMLInputElement>>;
|
|
14
30
|
export default AppSwitch;
|
|
@@ -2,17 +2,21 @@
|
|
|
2
2
|
* Empty ledger body for AppDataTable.
|
|
3
3
|
*
|
|
4
4
|
* @param {object} props
|
|
5
|
-
* @param {string|import('react').ReactNode} [props.icon]
|
|
6
|
-
*
|
|
7
|
-
* @param {string|import('react').ReactNode} [props.illustration] A named drawing ("no-results" | "no-data" | "empty-inbox" | "no-notifications" | "no-files" | "no-access" | "offline" | "error"), or your own decorative SVG node drawn unboxed at up to 120 px. Replaces the icon bubble when set.
|
|
5
|
+
* @param {string|import('react').ReactNode} [props.icon]
|
|
6
|
+
* @param {string|import('react').ReactNode} [props.illustration]
|
|
8
7
|
* @param {import('react').ReactNode} props.title
|
|
9
8
|
* @param {import('react').ReactNode} [props.text]
|
|
10
9
|
* @param {import('react').ReactNode} [props.action]
|
|
11
10
|
*/
|
|
12
11
|
export default function AppTableEmptyState(props: {
|
|
12
|
+
/** An icon name or a custom node shown in a round bubble. Needed unless illustration is set, which replaces it. */
|
|
13
13
|
icon?: string | import('react').ReactNode;
|
|
14
|
+
/** A named drawing (no-results, no-data, empty-inbox, no-notifications, no-files, no-access, offline or error) or your own decorative SVG node, drawn unboxed at up to 120 px. It replaces the icon bubble when set. */
|
|
14
15
|
illustration?: string | import('react').ReactNode;
|
|
16
|
+
/** The heading: what would appear here. */
|
|
15
17
|
title: import('react').ReactNode;
|
|
18
|
+
/** A supporting line of guidance below the title. */
|
|
16
19
|
text?: import('react').ReactNode;
|
|
20
|
+
/** The next step, usually a small AppButton. */
|
|
17
21
|
action?: import('react').ReactNode;
|
|
18
22
|
}): import("react").JSX.Element;
|
|
@@ -8,29 +8,43 @@
|
|
|
8
8
|
* `totalPages` is the page count, the name Razor and the shared response shape use.
|
|
9
9
|
*
|
|
10
10
|
* @param {object} props
|
|
11
|
-
* @param {number} props.page
|
|
12
|
-
* @param {number} [props.totalPages]
|
|
13
|
-
* @param {number} [props.total]
|
|
11
|
+
* @param {number} props.page
|
|
12
|
+
* @param {number} [props.totalPages]
|
|
13
|
+
* @param {number} [props.total]
|
|
14
14
|
* @param {number} props.pageSize
|
|
15
15
|
* @param {(page: number) => void} [props.onPageChange]
|
|
16
16
|
* @param {(size: number) => void} [props.onPageSizeChange]
|
|
17
17
|
* @param {number[]} [props.pageSizes]
|
|
18
|
-
* @param {'numbered'|'prev-next'} [props.mode
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
* @param {boolean} [props.showPageSize=true] Show the page-size menu. Set false for a pager that
|
|
22
|
-
* pages but doesn't expose page size.
|
|
23
|
-
* @param {string} [props.className] Merged with the component's own table-pagination class.
|
|
18
|
+
* @param {'numbered'|'prev-next'} [props.mode]
|
|
19
|
+
* @param {boolean} [props.showPageSize]
|
|
20
|
+
* @param {string} [props.className]
|
|
24
21
|
*/
|
|
25
22
|
export default function AppTablePagination(props: {
|
|
23
|
+
/** The current page, counted from 1. */
|
|
26
24
|
page: number;
|
|
25
|
+
/** The number of pages. It wins over total when both are given. */
|
|
27
26
|
totalPages?: number;
|
|
27
|
+
/** The number of rows across all pages. Used when totalPages is not given: the page count is the total divided by pageSize, rounded up. */
|
|
28
28
|
total?: number;
|
|
29
|
+
/** The rows per page. The page-size menu shows it as selected. */
|
|
29
30
|
pageSize: number;
|
|
30
31
|
onPageChange?: (page: number) => void;
|
|
31
32
|
onPageSizeChange?: (size: number) => void;
|
|
33
|
+
/** The page sizes the menu offers. It offers 5, 10, 25 and 50 when left out. */
|
|
32
34
|
pageSizes?: number[];
|
|
35
|
+
/**
|
|
36
|
+
* numbered shows windowed page buttons (first, last and an ellipsis over any run of hidden pages) between the arrows. prev-next shows the arrows with a Page N of M readout.
|
|
37
|
+
* @default "numbered"
|
|
38
|
+
*/
|
|
33
39
|
mode?: 'numbered' | 'prev-next';
|
|
40
|
+
/**
|
|
41
|
+
* Shows the page-size menu. Set it to false for a pager that pages but does not expose the page size.
|
|
42
|
+
* @default true
|
|
43
|
+
*/
|
|
34
44
|
showPageSize?: boolean;
|
|
45
|
+
/**
|
|
46
|
+
* Extra class names added to the pager.
|
|
47
|
+
* @default ""
|
|
48
|
+
*/
|
|
35
49
|
className?: string;
|
|
36
50
|
}): import("react").JSX.Element;
|
|
@@ -8,30 +8,44 @@
|
|
|
8
8
|
* and the swap never shifts what comes after.
|
|
9
9
|
*
|
|
10
10
|
* @param {object} props
|
|
11
|
-
* @param {import('react').ReactNode} [props.filters]
|
|
12
|
-
* @param {import('react').ReactNode} [props.actions]
|
|
13
|
-
* @param {number} [props.selectedCount
|
|
14
|
-
* @param {import('react').ReactNode} [props.bulkActions]
|
|
11
|
+
* @param {import('react').ReactNode} [props.filters]
|
|
12
|
+
* @param {import('react').ReactNode} [props.actions]
|
|
13
|
+
* @param {number} [props.selectedCount]
|
|
14
|
+
* @param {import('react').ReactNode} [props.bulkActions]
|
|
15
15
|
* @param {() => void} [props.onClearSelection] Shows a Clear button in the bulk bar that calls this.
|
|
16
|
-
* @param {number} [props.totalCount]
|
|
17
|
-
*
|
|
18
|
-
* @param {number} [props.pageCount] Rows on the current page. The offer waits until `selectedCount`
|
|
19
|
-
* reaches it; without it, any selection qualifies.
|
|
16
|
+
* @param {number} [props.totalCount]
|
|
17
|
+
* @param {number} [props.pageCount]
|
|
20
18
|
* @param {() => void} [props.onSelectAllMatching] Called when the offer is taken; the screen then runs
|
|
21
19
|
* its action on the query rather than on ids, and sets `allMatchingSelected`.
|
|
22
|
-
* @param {boolean} [props.allMatchingSelected
|
|
23
|
-
* "All 1,284 selected" and Clear becomes "Clear selection". The screen resets it on any row change.
|
|
20
|
+
* @param {boolean} [props.allMatchingSelected]
|
|
24
21
|
* @param {string} [props.className]
|
|
25
22
|
*/
|
|
26
23
|
export default function AppTableToolbar(props: {
|
|
24
|
+
/** The left side: status segments, chips or a filter menu. */
|
|
27
25
|
filters?: import('react').ReactNode;
|
|
26
|
+
/** The right side: search, export or a columns menu. */
|
|
28
27
|
actions?: import('react').ReactNode;
|
|
28
|
+
/**
|
|
29
|
+
* The number of selected rows. Above 0 the bulk bar replaces the toolbar.
|
|
30
|
+
* @default 0
|
|
31
|
+
*/
|
|
29
32
|
selectedCount?: number;
|
|
33
|
+
/** The buttons shown in the bulk bar. */
|
|
30
34
|
bulkActions?: import('react').ReactNode;
|
|
31
35
|
onClearSelection?: () => void;
|
|
36
|
+
/** The rows matching across every page. With onSelectAllMatching, the bulk bar offers Select all N matching once the page is selected and more rows match than it shows. */
|
|
32
37
|
totalCount?: number;
|
|
38
|
+
/** The rows on the current page. The offer waits until selectedCount reaches it; without it, any selection qualifies. */
|
|
33
39
|
pageCount?: number;
|
|
34
40
|
onSelectAllMatching?: () => void;
|
|
41
|
+
/**
|
|
42
|
+
* Every matching row is selected: the bar reads All N selected and Clear becomes Clear selection. The screen resets it on any row change.
|
|
43
|
+
* @default false
|
|
44
|
+
*/
|
|
35
45
|
allMatchingSelected?: boolean;
|
|
46
|
+
/**
|
|
47
|
+
* Extra class names added to the toolbar.
|
|
48
|
+
* @default ""
|
|
49
|
+
*/
|
|
36
50
|
className?: string;
|
|
37
51
|
}): import("react").JSX.Element;
|