@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
|
@@ -12,26 +12,25 @@
|
|
|
12
12
|
* @param {object} props
|
|
13
13
|
* @param {string} [props.label]
|
|
14
14
|
* @param {File|{ url: string, name?: string }|Array<File|{ url: string, name?: string }>|null} [props.value]
|
|
15
|
-
* @param {string} [props.name]
|
|
16
|
-
* @param {string} [props.id]
|
|
15
|
+
* @param {string} [props.name]
|
|
16
|
+
* @param {string} [props.id]
|
|
17
17
|
* @param {(file: File|null) => void | (files: File[]) => void} props.onPick single → File|null; multiple → File[]
|
|
18
|
-
* @param {boolean} [props.multiple
|
|
19
|
-
* @param {number} [props.maxFiles]
|
|
20
|
-
* @param {string} [props.accept
|
|
21
|
-
* @param {number} [props.maxSizeMb]
|
|
22
|
-
* limit: nothing is rejected for its size, and the hint names no size.
|
|
18
|
+
* @param {boolean} [props.multiple]
|
|
19
|
+
* @param {number} [props.maxFiles]
|
|
20
|
+
* @param {string} [props.accept]
|
|
21
|
+
* @param {number} [props.maxSizeMb]
|
|
23
22
|
* @param {boolean} [props.required]
|
|
24
23
|
* @param {string} [props.error]
|
|
25
|
-
* @param {string} [props.hint]
|
|
26
|
-
*
|
|
27
|
-
* @param {
|
|
28
|
-
*
|
|
29
|
-
* @param {string} [props.className] Class to apply to the control element — the preview or dropzone shell.
|
|
30
|
-
* @param {string} [props.fieldClassName] Class to apply to the wrapper field div — e.g. a `file-w-*` width preset.
|
|
24
|
+
* @param {string} [props.hint]
|
|
25
|
+
* @param {boolean} [props.loading]
|
|
26
|
+
* @param {string} [props.className]
|
|
27
|
+
* @param {string} [props.fieldClassName]
|
|
31
28
|
* @param {object} [props.style] Inline style; lands on the control with `className`.
|
|
32
29
|
*/
|
|
33
30
|
export default function AppFilePicker(props: {
|
|
31
|
+
/** The label shown above the field. */
|
|
34
32
|
label?: string;
|
|
33
|
+
/** The chosen file or files: a File, an object with a url and an optional name, an array of those, or null. */
|
|
35
34
|
value?: File | {
|
|
36
35
|
url: string;
|
|
37
36
|
name?: string;
|
|
@@ -39,18 +38,45 @@ export default function AppFilePicker(props: {
|
|
|
39
38
|
url: string;
|
|
40
39
|
name?: string;
|
|
41
40
|
}> | null;
|
|
41
|
+
/** Form field name. */
|
|
42
42
|
name?: string;
|
|
43
|
+
/** DOM id for the file input and its labels' for target. */
|
|
43
44
|
id?: string;
|
|
44
45
|
onPick: (file: File | null) => void | ((files: File[]) => void);
|
|
46
|
+
/**
|
|
47
|
+
* Lets the person pick several files. They stack in a list inside the dropzone.
|
|
48
|
+
* @default false
|
|
49
|
+
*/
|
|
45
50
|
multiple?: boolean;
|
|
51
|
+
/** Cap on total files in multiple mode. */
|
|
46
52
|
maxFiles?: number;
|
|
53
|
+
/**
|
|
54
|
+
* Accepted file types (the accept attribute). Widen it, for example image/*,application/pdf, and non-image files show a file-type icon instead of a thumbnail.
|
|
55
|
+
* @default ".jpg,.jpeg,.png"
|
|
56
|
+
*/
|
|
47
57
|
accept?: string;
|
|
58
|
+
/** The size limit in megabytes. Defaults to the shared limit. 0 means no size limit: nothing is rejected for its size, and the hint names no size. */
|
|
48
59
|
maxSizeMb?: number;
|
|
60
|
+
/** Marks the field as required in its label. */
|
|
49
61
|
required?: boolean;
|
|
62
|
+
/** A message from the page, shown below the control. */
|
|
50
63
|
error?: string;
|
|
64
|
+
/** Helper text below the control. An error (the page's or a rejected pick's) replaces it while it shows. */
|
|
51
65
|
hint?: string;
|
|
66
|
+
/**
|
|
67
|
+
* Spinner over the control and picking blocked, for example while the chosen file uploads.
|
|
68
|
+
* @default false
|
|
69
|
+
*/
|
|
52
70
|
loading?: boolean;
|
|
71
|
+
/**
|
|
72
|
+
* Class to apply to the control element: the preview or dropzone shell.
|
|
73
|
+
* @default ""
|
|
74
|
+
*/
|
|
53
75
|
className?: string;
|
|
76
|
+
/**
|
|
77
|
+
* Class to apply to the wrapper field div, for example a file-w-* width preset.
|
|
78
|
+
* @default ""
|
|
79
|
+
*/
|
|
54
80
|
fieldClassName?: string;
|
|
55
81
|
style?: object;
|
|
56
82
|
}): import("react").JSX.Element;
|
|
@@ -1,16 +1,33 @@
|
|
|
1
1
|
import "@webority/ui-elements/file-viewer";
|
|
2
2
|
declare const AppFileViewer: import("react").ForwardRefExoticComponent<{
|
|
3
|
+
/** The file's URL. Changing it opens the new file. Without one the viewer draws its frame with a "No file to show." message. */
|
|
3
4
|
src: string;
|
|
5
|
+
/** The name shown in the toolbar and used for printing and download. Defaults to the last part of src. */
|
|
4
6
|
name?: string;
|
|
7
|
+
/** The file's MIME type. Defaults to a guess from the extension of name or src. */
|
|
5
8
|
type?: string;
|
|
9
|
+
/** The view settings to start from, when your app stores them itself (for example against the signed-in person). Read when a file opens. With it, the browser stores nothing; save what onPrefsChange hands you and pass it back next time. */
|
|
6
10
|
prefs?: object;
|
|
7
11
|
onPrefsChange?: (prefs: object) => void;
|
|
12
|
+
/** Remembers the view settings (zoom, two-page view, thumbnails) in this browser under this key. Without it they last for the viewer's life. */
|
|
8
13
|
viewKey?: string;
|
|
14
|
+
/**
|
|
15
|
+
* Shows a download button in the toolbar.
|
|
16
|
+
* @default false
|
|
17
|
+
*/
|
|
9
18
|
download?: boolean;
|
|
19
|
+
/**
|
|
20
|
+
* Shows the print button for a PDF or an image. Pass false to hide it.
|
|
21
|
+
* @default true
|
|
22
|
+
*/
|
|
10
23
|
print?: boolean;
|
|
24
|
+
/** URL of a hosted pdf.js worker, for a site whose content security policy refuses blob: workers. Defaults to the bundled copy. */
|
|
11
25
|
workerSrc?: string;
|
|
26
|
+
/** A WebVTT captions file for a video; adds a captions button to the player. */
|
|
12
27
|
captions?: string;
|
|
28
|
+
/** Folder holding pdf.js's cmaps/, standard_fonts/ and wasm/, which unusual PDFs need (Asian text, fonts a file does not embed, some scanned images). */
|
|
13
29
|
assetBase?: string;
|
|
30
|
+
/** Your own controls, shown at the end of the toolbar. Hidden in full screen. */
|
|
14
31
|
actions?: import('react').ReactNode;
|
|
15
32
|
onLoad?: (detail: {
|
|
16
33
|
kind: string;
|
|
@@ -19,6 +36,10 @@ declare const AppFileViewer: import("react").ForwardRefExoticComponent<{
|
|
|
19
36
|
onError?: (detail: {
|
|
20
37
|
message: string;
|
|
21
38
|
}) => void;
|
|
39
|
+
/**
|
|
40
|
+
* Extra classes on the element.
|
|
41
|
+
* @default ""
|
|
42
|
+
*/
|
|
22
43
|
className?: string;
|
|
23
44
|
style?: import('react').CSSProperties;
|
|
24
45
|
} & import("react").RefAttributes<HTMLElement>>;
|
|
@@ -22,19 +22,17 @@ import "@webority/ui-elements/elements/filter-popover";
|
|
|
22
22
|
*
|
|
23
23
|
* @param {object} props
|
|
24
24
|
* @param {{ key: string, label: string, type: 'enum'|'multiEnum'|'dateRange'|'text',
|
|
25
|
-
* options?: { value: string, label: string }[], allLabel?: string, presets?: string[] }[]} props.facets
|
|
26
|
-
*
|
|
27
|
-
* `allLabel` names an `enum` facet's clearing segment ("All payments"; default "All"); a facet shown as a select ignores it.
|
|
28
|
-
* `presets` gives a `dateRange` facet quick ranges (today, yesterday, last7Days, last30Days, thisMonth, lastMonth, thisFinancialYear).
|
|
29
|
-
* @param {Record<string, string|string[]|{ from: string, to: string }>} props.value The current filters.
|
|
25
|
+
* options?: { value: string, label: string }[], allLabel?: string, presets?: string[] }[]} props.facets
|
|
26
|
+
* @param {Record<string, string|string[]|{ from: string, to: string }>} props.value
|
|
30
27
|
* @param {(key: string, value: string|string[]|{ from: string, to: string }) => void} props.onChange
|
|
31
28
|
* Called with the facet key and its new value. Clear all calls it once per active facet, with the empty value.
|
|
32
|
-
* @param {number} [props.inline
|
|
33
|
-
* @param {boolean} [props.floating
|
|
34
|
-
* @param {boolean} [props.apply
|
|
29
|
+
* @param {number} [props.inline]
|
|
30
|
+
* @param {boolean} [props.floating]
|
|
31
|
+
* @param {boolean} [props.apply]
|
|
35
32
|
* @param {string} [props.className]
|
|
36
33
|
*/
|
|
37
34
|
export default function AppFilterBar(props: {
|
|
35
|
+
/** The facets to draw, one filter control each. A facet with no options draws nothing. */
|
|
38
36
|
facets: {
|
|
39
37
|
key: string;
|
|
40
38
|
label: string;
|
|
@@ -46,6 +44,7 @@ export default function AppFilterBar(props: {
|
|
|
46
44
|
allLabel?: string;
|
|
47
45
|
presets?: string[];
|
|
48
46
|
}[];
|
|
47
|
+
/** The current filters, keyed by facet key: a string, a list of strings, or a { from, to } date range. */
|
|
49
48
|
value: Record<string, string | string[] | {
|
|
50
49
|
from: string;
|
|
51
50
|
to: string;
|
|
@@ -54,8 +53,24 @@ export default function AppFilterBar(props: {
|
|
|
54
53
|
from: string;
|
|
55
54
|
to: string;
|
|
56
55
|
}) => void;
|
|
56
|
+
/**
|
|
57
|
+
* How many facets stay in the row; the rest fold into the Filters button.
|
|
58
|
+
* @default 3
|
|
59
|
+
*/
|
|
57
60
|
inline?: number;
|
|
61
|
+
/**
|
|
62
|
+
* A floating panel: hover, click or F opens the facets in a non-modal panel under the Filters button, with a chip summary in the row.
|
|
63
|
+
* @default false
|
|
64
|
+
*/
|
|
58
65
|
floating?: boolean;
|
|
66
|
+
/**
|
|
67
|
+
* Hold search and date range edits until Apply (or Enter in a search box), as the Razor app-filter-bar does; other choices still apply when they change. Apply shows only when a text or dateRange facet is present, and never with floating.
|
|
68
|
+
* @default false
|
|
69
|
+
*/
|
|
59
70
|
apply?: boolean;
|
|
71
|
+
/**
|
|
72
|
+
* Extra classes on the filter bar.
|
|
73
|
+
* @default ""
|
|
74
|
+
*/
|
|
60
75
|
className?: string;
|
|
61
76
|
}): import("react").JSX.Element;
|
|
@@ -15,16 +15,16 @@ import "@webority/ui-elements/elements/dock";
|
|
|
15
15
|
*
|
|
16
16
|
* @param {object} props
|
|
17
17
|
* @param {{ key?: string, title: string, icon: string|import('react').ReactNode,
|
|
18
|
-
* href?: string, to?: string, onClick?: () => void }[]} props.items
|
|
19
|
-
* left to right. `title` is the accessible name and the hover tooltip.
|
|
18
|
+
* href?: string, to?: string, onClick?: () => void }[]} props.items
|
|
20
19
|
* @param {import('react').ElementType} [props.linkComponent] Component for `to` items (e.g. Link).
|
|
21
|
-
* @param {string} [props.ariaLabel
|
|
22
|
-
* @param {boolean} [props.magnify
|
|
23
|
-
* @param {number} [props.maxScale]
|
|
24
|
-
* @param {number} [props.radius]
|
|
20
|
+
* @param {string} [props.ariaLabel]
|
|
21
|
+
* @param {boolean} [props.magnify]
|
|
22
|
+
* @param {number} [props.maxScale]
|
|
23
|
+
* @param {number} [props.radius]
|
|
25
24
|
* @param {string} [props.className]
|
|
26
25
|
*/
|
|
27
26
|
export default function AppFloatingDock(props: {
|
|
27
|
+
/** The dock items, left to right. title is the accessible name and the hover tooltip. */
|
|
28
28
|
items: {
|
|
29
29
|
key?: string;
|
|
30
30
|
title: string;
|
|
@@ -34,9 +34,23 @@ export default function AppFloatingDock(props: {
|
|
|
34
34
|
onClick?: () => void;
|
|
35
35
|
}[];
|
|
36
36
|
linkComponent?: import('react').ElementType;
|
|
37
|
+
/**
|
|
38
|
+
* Accessible name for the dock landmark.
|
|
39
|
+
* @default "Quick navigation"
|
|
40
|
+
*/
|
|
37
41
|
ariaLabel?: string;
|
|
42
|
+
/**
|
|
43
|
+
* Set false to render a static dock, with no hover effect.
|
|
44
|
+
* @default true
|
|
45
|
+
*/
|
|
38
46
|
magnify?: boolean;
|
|
47
|
+
/** Item scale at the cursor's center. The element default is 1.6. */
|
|
39
48
|
maxScale?: number;
|
|
49
|
+
/** Falloff distance for the magnification, in pixels. The element default is 100. */
|
|
40
50
|
radius?: number;
|
|
51
|
+
/**
|
|
52
|
+
* Extra classes on the dock.
|
|
53
|
+
* @default ""
|
|
54
|
+
*/
|
|
41
55
|
className?: string;
|
|
42
56
|
}): import("react").JSX.Element;
|
|
@@ -7,13 +7,22 @@
|
|
|
7
7
|
*
|
|
8
8
|
* @param {object} props
|
|
9
9
|
* @param {import('react').ReactNode} props.children The action buttons.
|
|
10
|
-
* @param {boolean} [props.sticky
|
|
11
|
-
* @param {"end"|"start"|"between"} [props.align
|
|
10
|
+
* @param {boolean} [props.sticky]
|
|
11
|
+
* @param {"end"|"start"|"between"} [props.align]
|
|
12
12
|
* @param {string} [props.className]
|
|
13
13
|
*/
|
|
14
14
|
export default function AppFormActions(props: {
|
|
15
15
|
children: import('react').ReactNode;
|
|
16
|
+
/**
|
|
17
|
+
* Sticks the actions to the bottom of the viewport with a border and background.
|
|
18
|
+
* @default false
|
|
19
|
+
*/
|
|
16
20
|
sticky?: boolean;
|
|
21
|
+
/**
|
|
22
|
+
* Alignment of the children: end, start or between.
|
|
23
|
+
* @default "end"
|
|
24
|
+
*/
|
|
17
25
|
align?: "end" | "start" | "between";
|
|
26
|
+
/** Extra class names added to the root element. */
|
|
18
27
|
className?: string;
|
|
19
28
|
}): import("react").JSX.Element;
|
|
@@ -7,13 +7,22 @@
|
|
|
7
7
|
*
|
|
8
8
|
* @param {object} props
|
|
9
9
|
* @param {import('react').ReactNode} props.children Field components (AppInput, AppSelect, etc.).
|
|
10
|
-
* @param {1|2|3|4|5|6|7|8|9|10|11|12} [props.columns
|
|
11
|
-
* @param {boolean} [props.collapse
|
|
10
|
+
* @param {1|2|3|4|5|6|7|8|9|10|11|12} [props.columns]
|
|
11
|
+
* @param {boolean} [props.collapse]
|
|
12
12
|
* @param {string} [props.className]
|
|
13
13
|
*/
|
|
14
14
|
export default function AppFormRow(props: {
|
|
15
15
|
children: import('react').ReactNode;
|
|
16
|
+
/**
|
|
17
|
+
* Number of columns, 1 to 12.
|
|
18
|
+
* @default 2
|
|
19
|
+
*/
|
|
16
20
|
columns?: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12;
|
|
21
|
+
/**
|
|
22
|
+
* Stack to one column below the md breakpoint; false keeps the set columns at every width.
|
|
23
|
+
* @default true
|
|
24
|
+
*/
|
|
17
25
|
collapse?: boolean;
|
|
26
|
+
/** Extra class names added to the root element. */
|
|
18
27
|
className?: string;
|
|
19
28
|
}): import("react").JSX.Element;
|
|
@@ -8,24 +8,40 @@
|
|
|
8
8
|
*
|
|
9
9
|
* @param {object} props
|
|
10
10
|
* @param {import('react').ReactNode} props.children The form fields.
|
|
11
|
-
* @param {import('react').ReactNode} [props.title]
|
|
12
|
-
* @param {import('react').ReactNode} [props.description]
|
|
13
|
-
* @param {'stacked'|'side'} [props.layout
|
|
14
|
-
*
|
|
15
|
-
* @param {'
|
|
16
|
-
*
|
|
17
|
-
* @param {'comfortable'|'compact'} [props.density='comfortable'] `compact` uses 32px controls and
|
|
18
|
-
* tighter gaps, for admin screens and dialogs.
|
|
19
|
-
* @param {2|3|4} [props.headingLevel=3] Heading level of the section title, so it nests under the page or drawer heading.
|
|
11
|
+
* @param {import('react').ReactNode} [props.title]
|
|
12
|
+
* @param {import('react').ReactNode} [props.description]
|
|
13
|
+
* @param {'stacked'|'side'} [props.layout]
|
|
14
|
+
* @param {'top'|'start'} [props.labels]
|
|
15
|
+
* @param {'comfortable'|'compact'} [props.density]
|
|
16
|
+
* @param {2|3|4} [props.headingLevel]
|
|
20
17
|
* @param {string} [props.className]
|
|
21
18
|
*/
|
|
22
19
|
export default function AppFormSection(props: {
|
|
23
20
|
children: import('react').ReactNode;
|
|
21
|
+
/** Section heading (h3). */
|
|
24
22
|
title?: import('react').ReactNode;
|
|
23
|
+
/** Intro text below the title (optional). */
|
|
25
24
|
description?: import('react').ReactNode;
|
|
25
|
+
/**
|
|
26
|
+
* side puts the title and description in a column beside the fields from lg up; below that it stacks.
|
|
27
|
+
* @default "stacked"
|
|
28
|
+
*/
|
|
26
29
|
layout?: 'stacked' | 'side';
|
|
30
|
+
/**
|
|
31
|
+
* start puts each field's label beside its control (one field per row) from md up; below that labels sit on top.
|
|
32
|
+
* @default "top"
|
|
33
|
+
*/
|
|
27
34
|
labels?: 'top' | 'start';
|
|
35
|
+
/**
|
|
36
|
+
* compact uses 32px controls and tighter gaps, for admin screens and dialogs.
|
|
37
|
+
* @default "comfortable"
|
|
38
|
+
*/
|
|
28
39
|
density?: 'comfortable' | 'compact';
|
|
40
|
+
/**
|
|
41
|
+
* Heading level of the section title, so it nests under the page or drawer heading.
|
|
42
|
+
* @default 3
|
|
43
|
+
*/
|
|
29
44
|
headingLevel?: 2 | 3 | 4;
|
|
45
|
+
/** Extra class names added to the root element. */
|
|
30
46
|
className?: string;
|
|
31
47
|
}): import("react").JSX.Element;
|
|
@@ -9,27 +9,44 @@ import "@webority/ui-elements/elements/hover-card";
|
|
|
9
9
|
* text, no interactive content). Wraps `<wui-hover-card>`, which Razor `<app-hover-card>` renders too.
|
|
10
10
|
*
|
|
11
11
|
* @param {object} props
|
|
12
|
-
* @param {import('react').ReactNode} props.trigger
|
|
13
|
-
* or button so keyboard users can focus it.
|
|
12
|
+
* @param {import('react').ReactNode} props.trigger
|
|
14
13
|
* @param {import('react').ReactNode} [props.children] The card's content. The card is phrasing content, so it can
|
|
15
14
|
* sit on a name inside a sentence; there, build the content from spans (a `<div>` cannot be inside a `<p>`).
|
|
16
|
-
* @param {boolean} [props.loading
|
|
17
|
-
*
|
|
18
|
-
* @param {string} [props.
|
|
19
|
-
* @param {
|
|
20
|
-
* @param {number} [props.
|
|
21
|
-
* @param {number} [props.closeDelay=150] Milliseconds after leaving before it closes.
|
|
15
|
+
* @param {boolean} [props.loading]
|
|
16
|
+
* @param {string} [props.loadingLabel]
|
|
17
|
+
* @param {string} [props.label]
|
|
18
|
+
* @param {number} [props.openDelay]
|
|
19
|
+
* @param {number} [props.closeDelay]
|
|
22
20
|
* @param {(open: boolean) => void} [props.onOpenChange] Called when the card opens or closes.
|
|
23
21
|
* @param {string} [props.className]
|
|
24
22
|
*/
|
|
25
23
|
export default function AppHoverCard(props: {
|
|
24
|
+
/** The name or link the card belongs to. Make it a link or button so keyboard users can focus it. */
|
|
26
25
|
trigger: import('react').ReactNode;
|
|
27
26
|
children?: import('react').ReactNode;
|
|
27
|
+
/**
|
|
28
|
+
* Shows a spinner and the loading label in place of the children while the preview is fetched; start the fetch when the card opens.
|
|
29
|
+
* @default false
|
|
30
|
+
*/
|
|
28
31
|
loading?: boolean;
|
|
32
|
+
/**
|
|
33
|
+
* The text beside the spinner.
|
|
34
|
+
* @default "Loading"
|
|
35
|
+
*/
|
|
29
36
|
loadingLabel?: string;
|
|
37
|
+
/** The card's accessible name, for example Asha Verma, profile. */
|
|
30
38
|
label?: string;
|
|
39
|
+
/**
|
|
40
|
+
* Milliseconds of hover or focus before it opens.
|
|
41
|
+
* @default 300
|
|
42
|
+
*/
|
|
31
43
|
openDelay?: number;
|
|
44
|
+
/**
|
|
45
|
+
* Milliseconds after leaving before it closes.
|
|
46
|
+
* @default 150
|
|
47
|
+
*/
|
|
32
48
|
closeDelay?: number;
|
|
33
49
|
onOpenChange?: (open: boolean) => void;
|
|
50
|
+
/** Extra class names added to the root element. */
|
|
34
51
|
className?: string;
|
|
35
52
|
}): import("react").JSX.Element;
|
|
@@ -25,25 +25,35 @@ export declare function registerIcons(map: Record<string, (props: {
|
|
|
25
25
|
}) => import('react').ReactNode>): void;
|
|
26
26
|
/**
|
|
27
27
|
* @param {object} props
|
|
28
|
-
* @param {string} props.name
|
|
29
|
-
* @param {number} [props.size
|
|
28
|
+
* @param {string} props.name
|
|
29
|
+
* @param {number} [props.size]
|
|
30
30
|
* @param {'linear'|'outline'|'bold'|'bulk'|'broken'|'twotone'} [props.variant]
|
|
31
|
-
* @param {string} [props.tooltip]
|
|
32
|
-
*
|
|
33
|
-
* icon is also named for assistive tech.
|
|
34
|
-
* @param {'auto'|'top'|'bottom'|'start'|'end'} [props.tooltipPlacement='auto'] Preferred tooltip
|
|
35
|
-
* side; `auto` picks the side with the most room.
|
|
31
|
+
* @param {string} [props.tooltip]
|
|
32
|
+
* @param {'auto'|'top'|'bottom'|'start'|'end'} [props.tooltipPlacement]
|
|
36
33
|
* @param {string} [props.className]
|
|
37
|
-
* @param {string} [props.color]
|
|
34
|
+
* @param {string} [props.color]
|
|
38
35
|
* @param {object} [props.style]
|
|
39
36
|
*/
|
|
40
37
|
export default function AppIcon(props: {
|
|
38
|
+
/** Icon name (kebab-case; curated or full-catalogue). */
|
|
41
39
|
name: string;
|
|
40
|
+
/**
|
|
41
|
+
* Icon size in pixels.
|
|
42
|
+
* @default 16
|
|
43
|
+
*/
|
|
42
44
|
size?: number;
|
|
45
|
+
/** Icon style: linear, outline, bold, bulk, broken or twotone. */
|
|
43
46
|
variant?: 'linear' | 'outline' | 'bold' | 'bulk' | 'broken' | 'twotone';
|
|
47
|
+
/** A hover and focus tooltip that flips to stay on screen. The glyph is wrapped in a span with role img and an aria-label, so the icon is also named for assistive tech. */
|
|
44
48
|
tooltip?: string;
|
|
49
|
+
/**
|
|
50
|
+
* Preferred tooltip side; auto picks the side with the most room.
|
|
51
|
+
* @default "auto"
|
|
52
|
+
*/
|
|
45
53
|
tooltipPlacement?: 'auto' | 'top' | 'bottom' | 'start' | 'end';
|
|
54
|
+
/** Extra class names added to the root element. */
|
|
46
55
|
className?: string;
|
|
56
|
+
/** The icon colour. Without it the icon takes --wui-icon-color when an ancestor sets that variable, else the inherited text colour. */
|
|
47
57
|
color?: string;
|
|
48
58
|
style?: object;
|
|
49
59
|
}): any;
|
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
* @param {string} [props.className]
|
|
14
14
|
*/
|
|
15
15
|
export default function AppInfoList(props: {
|
|
16
|
+
/** The rows, in order. Each row has an icon, a label and a value. */
|
|
16
17
|
items: {
|
|
17
18
|
key?: string;
|
|
18
19
|
icon: string | import('react').ReactNode;
|
|
@@ -20,5 +21,6 @@ export default function AppInfoList(props: {
|
|
|
20
21
|
value: import('react').ReactNode;
|
|
21
22
|
href?: string;
|
|
22
23
|
}[];
|
|
24
|
+
/** Extra classes on the list. */
|
|
23
25
|
className?: string;
|
|
24
26
|
}): import("react").JSX.Element;
|
|
@@ -6,16 +6,29 @@
|
|
|
6
6
|
* Implemented as a thin wrapper over AppPopover with hover and focus triggers.
|
|
7
7
|
*
|
|
8
8
|
* @param {object} props
|
|
9
|
-
* @param {string} [props.label]
|
|
9
|
+
* @param {string} [props.label]
|
|
10
10
|
* @param {import('react').ReactNode} [props.children] The popover body. Supply a label, a body, or both: a body-less tip is a heading, a title-less tip is just the body. With neither, the tip renders nothing.
|
|
11
|
-
* @param {"auto"|"top"|"bottom"|"start"|"end"} [props.placement
|
|
12
|
-
* @param {"sm"|"md"|"lg"|"xl"} [props.width
|
|
13
|
-
* @param {string} [props.className
|
|
11
|
+
* @param {"auto"|"top"|"bottom"|"start"|"end"} [props.placement]
|
|
12
|
+
* @param {"sm"|"md"|"lg"|"xl"} [props.width]
|
|
13
|
+
* @param {string} [props.className]
|
|
14
14
|
*/
|
|
15
15
|
export default function AppInfoTip(props: {
|
|
16
|
+
/** The popover title and the trigger’s accessible name. Unset, the trigger is named “More information”. */
|
|
16
17
|
label?: string;
|
|
17
18
|
children?: import('react').ReactNode;
|
|
19
|
+
/**
|
|
20
|
+
* Where the popover opens. Auto flips it to stay in view.
|
|
21
|
+
* @default "auto"
|
|
22
|
+
*/
|
|
18
23
|
placement?: "auto" | "top" | "bottom" | "start" | "end";
|
|
24
|
+
/**
|
|
25
|
+
* The widest the card grows before its text wraps, at 220, 276, 360 or 480px. It is a maximum, so a short tip stays as narrow as its text.
|
|
26
|
+
* @default "md"
|
|
27
|
+
*/
|
|
19
28
|
width?: "sm" | "md" | "lg" | "xl";
|
|
29
|
+
/**
|
|
30
|
+
* Extra classes on the wrapper.
|
|
31
|
+
* @default ""
|
|
32
|
+
*/
|
|
20
33
|
className?: string;
|
|
21
34
|
}): import("react").JSX.Element;
|
|
@@ -19,39 +19,50 @@ import "@webority/ui-elements/elements/select";
|
|
|
19
19
|
* the Razor `<app-inline-edit>` renders the same markup.
|
|
20
20
|
*
|
|
21
21
|
* @param {object} props
|
|
22
|
-
* @param {string | number | null} [props.value]
|
|
23
|
-
* value is one of the `options` values.
|
|
22
|
+
* @param {string | number | null} [props.value]
|
|
24
23
|
* @param {(next: string | number | null) => void | Promise<unknown>} [props.onSave] Persist the new
|
|
25
24
|
* value. A number field passes a number (null when cleared); the others pass a string. Reject to
|
|
26
25
|
* refuse it: the rejection's message is shown.
|
|
27
|
-
* @param {'text'|'number'|'select'|'date'|'textarea'} [props.type
|
|
28
|
-
* @param {{ value: string | number, label: string }[]} [props.options]
|
|
29
|
-
* @param {string} props.label
|
|
30
|
-
*
|
|
31
|
-
* @param {string} [props.placeholder] Shown, muted, when there is no value, and in the empty
|
|
32
|
-
* control. Without it an empty value shows a hyphen.
|
|
26
|
+
* @param {'text'|'number'|'select'|'date'|'textarea'} [props.type]
|
|
27
|
+
* @param {{ value: string | number, label: string }[]} [props.options]
|
|
28
|
+
* @param {string} props.label
|
|
29
|
+
* @param {string} [props.placeholder]
|
|
33
30
|
* @param {(next: string | number | null) => string | null | undefined} [props.validate] Checked
|
|
34
31
|
* before saving: return a message to keep the control open with that message, or nothing to save.
|
|
35
32
|
* @param {(value: string | number | null) => import('react').ReactNode} [props.renderValue] How a
|
|
36
33
|
* saved, non-empty value reads (a formatted amount, a status badge). Text and markup only: the
|
|
37
34
|
* value is a button, so it must not hold its own controls or links.
|
|
38
|
-
* @param {boolean} [props.disabled
|
|
39
|
-
* @param {string} [props.className]
|
|
40
|
-
* @param {string} [props.id]
|
|
35
|
+
* @param {boolean} [props.disabled]
|
|
36
|
+
* @param {string} [props.className]
|
|
37
|
+
* @param {string} [props.id]
|
|
41
38
|
*/
|
|
42
39
|
export default function AppInlineEdit(props: {
|
|
40
|
+
/** The saved value. A date is yyyy-MM-dd; a select value is one of the options' values. */
|
|
43
41
|
value?: string | number | null;
|
|
44
42
|
onSave?: (next: string | number | null) => void | Promise<unknown>;
|
|
43
|
+
/**
|
|
44
|
+
* The control the value turns into.
|
|
45
|
+
* @default "text"
|
|
46
|
+
*/
|
|
45
47
|
type?: 'text' | 'number' | 'select' | 'date' | 'textarea';
|
|
48
|
+
/** The choices of a select. */
|
|
46
49
|
options?: {
|
|
47
50
|
value: string | number;
|
|
48
51
|
label: string;
|
|
49
52
|
}[];
|
|
53
|
+
/** What the value is, such as Owner: its accessible name and what screen readers announce, as in Owner saved. */
|
|
50
54
|
label: string;
|
|
55
|
+
/** Shown, muted, when there is no value, and in the empty control. Without it an empty value shows a hyphen. */
|
|
51
56
|
placeholder?: string;
|
|
52
57
|
validate?: (next: string | number | null) => string | null | undefined;
|
|
53
58
|
renderValue?: (value: string | number | null) => import('react').ReactNode;
|
|
59
|
+
/**
|
|
60
|
+
* Shows the value without the edit affordance.
|
|
61
|
+
* @default false
|
|
62
|
+
*/
|
|
54
63
|
disabled?: boolean;
|
|
64
|
+
/** Extra classes on the root element. */
|
|
55
65
|
className?: string;
|
|
66
|
+
/** The root's id; the control and error ids derive from it. Generated when omitted. */
|
|
56
67
|
id?: string;
|
|
57
68
|
}): import("react").JSX.Element;
|