@webority/ui-react 0.88.0 → 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.
Files changed (190) hide show
  1. package/dist/canvas-kit/kit.css +0 -0
  2. package/dist/canvas-kit/kit.js +155261 -0
  3. package/dist/canvas-kit/manifest.json +26177 -0
  4. package/dist/canvas-kit/release.json +25 -0
  5. package/dist/components/AppAutocomplete.js +1 -1
  6. package/dist/components/AppAvatarPicker.js +1 -1
  7. package/dist/components/AppChipGroup.js +1 -1
  8. package/dist/components/AppColorField.js +1 -1
  9. package/dist/components/AppCommandPalette.js +1 -1
  10. package/dist/components/AppCountrySelect.js +1 -1
  11. package/dist/components/AppDatePicker.js +1 -1
  12. package/dist/components/AppDateRangePicker.js +1 -1
  13. package/dist/components/AppDropZone.js +1 -1
  14. package/dist/components/AppFileAttachment.js +1 -1
  15. package/dist/components/AppFilePicker.js +1 -1
  16. package/dist/components/AppIcon.js +1 -1
  17. package/dist/components/AppInput.js +1 -1
  18. package/dist/components/AppLogoPicker.js +1 -1
  19. package/dist/components/AppMentionInput.js +1 -1
  20. package/dist/components/AppMeter.js +1 -1
  21. package/dist/components/AppModal.js +1 -1
  22. package/dist/components/AppMultiSelect.js +1 -1
  23. package/dist/components/AppNumberInput.js +1 -1
  24. package/dist/components/AppOtpInput.js +1 -1
  25. package/dist/components/AppPhoneNumberInput.js +1 -1
  26. package/dist/components/AppProgress.js +1 -1
  27. package/dist/components/AppRadioGroup.js +1 -1
  28. package/dist/components/AppRating.js +1 -1
  29. package/dist/components/AppRichText.js +1 -1
  30. package/dist/components/AppSearch.js +1 -1
  31. package/dist/components/AppSegmented.js +1 -1
  32. package/dist/components/AppSelect.js +1 -1
  33. package/dist/components/AppSidebarMenu.js +1 -1
  34. package/dist/components/AppSlider.js +1 -1
  35. package/dist/components/AppSplitView.js +1 -1
  36. package/dist/components/AppTabs.js +1 -1
  37. package/dist/components/AppTagInput.js +1 -1
  38. package/dist/components/AppTextarea.js +1 -1
  39. package/dist/components/AppTimePicker.js +1 -1
  40. package/dist/guidance.json +9623 -0
  41. package/dist/lib/wuiMarker.js +1 -1
  42. package/dist/types/components/AppAccordion.d.ts +14 -4
  43. package/dist/types/components/AppActionIcon.d.ts +40 -15
  44. package/dist/types/components/AppAlert.d.ts +50 -17
  45. package/dist/types/components/AppAsyncBlock.d.ts +19 -9
  46. package/dist/types/components/AppAutocomplete.d.ts +36 -0
  47. package/dist/types/components/AppAvatar.d.ts +48 -12
  48. package/dist/types/components/AppAvatarGroup.d.ts +14 -4
  49. package/dist/types/components/AppAvatarPicker.d.ts +50 -19
  50. package/dist/types/components/AppBadge.d.ts +14 -3
  51. package/dist/types/components/AppBanner.d.ts +13 -3
  52. package/dist/types/components/AppBreadcrumbs.d.ts +3 -3
  53. package/dist/types/components/AppButton.d.ts +72 -20
  54. package/dist/types/components/AppButtonGroup.d.ts +18 -4
  55. package/dist/types/components/AppCalendar.d.ts +13 -0
  56. package/dist/types/components/AppCard.d.ts +60 -21
  57. package/dist/types/components/AppCarousel.d.ts +56 -14
  58. package/dist/types/components/AppChart.d.ts +38 -0
  59. package/dist/types/components/AppChartCard.d.ts +13 -5
  60. package/dist/types/components/AppCheckbox.d.ts +9 -0
  61. package/dist/types/components/AppChip.d.ts +29 -10
  62. package/dist/types/components/AppChipGroup.d.ts +16 -3
  63. package/dist/types/components/AppChoiceCard.d.ts +55 -14
  64. package/dist/types/components/AppChoiceChip.d.ts +26 -6
  65. package/dist/types/components/AppCodeBlock.d.ts +27 -7
  66. package/dist/types/components/AppColorField.d.ts +36 -8
  67. package/dist/types/components/AppColumnMenu.d.ts +17 -4
  68. package/dist/types/components/AppCommandPalette.d.ts +72 -29
  69. package/dist/types/components/AppCommentThread.d.ts +25 -7
  70. package/dist/types/components/AppCompareTable.d.ts +9 -4
  71. package/dist/types/components/AppConfirmDialog.d.ts +54 -15
  72. package/dist/types/components/AppConsentBanner.d.ts +45 -12
  73. package/dist/types/components/AppContextMenu.d.ts +23 -10
  74. package/dist/types/components/AppCopyButton.d.ts +39 -9
  75. package/dist/types/components/AppCountrySelect.d.ts +50 -1
  76. package/dist/types/components/AppDashboardCell.d.ts +10 -2
  77. package/dist/types/components/AppDashboardGrid.d.ts +5 -1
  78. package/dist/types/components/AppDataTable.d.ts +103 -50
  79. package/dist/types/components/AppDatePicker.d.ts +32 -0
  80. package/dist/types/components/AppDateRangePicker.d.ts +31 -0
  81. package/dist/types/components/AppDescriptions.d.ts +28 -8
  82. package/dist/types/components/AppDrawer.d.ts +54 -13
  83. package/dist/types/components/AppDropZone.d.ts +34 -11
  84. package/dist/types/components/AppDropdown.d.ts +27 -20
  85. package/dist/types/components/AppDueDate.d.ts +16 -5
  86. package/dist/types/components/AppEmptyState.d.ts +22 -6
  87. package/dist/types/components/AppErrorSummary.d.ts +17 -4
  88. package/dist/types/components/AppFileAttachment.d.ts +30 -14
  89. package/dist/types/components/AppFilePicker.d.ts +39 -13
  90. package/dist/types/components/AppFileViewer.d.ts +21 -0
  91. package/dist/types/components/AppFilterBar.d.ts +23 -8
  92. package/dist/types/components/AppFloatingDock.d.ts +20 -6
  93. package/dist/types/components/AppFormActions.d.ts +11 -2
  94. package/dist/types/components/AppFormRow.d.ts +11 -2
  95. package/dist/types/components/AppFormSection.d.ts +25 -9
  96. package/dist/types/components/AppHoverCard.d.ts +25 -8
  97. package/dist/types/components/AppIcon.d.ts +18 -8
  98. package/dist/types/components/AppInfoList.d.ts +2 -0
  99. package/dist/types/components/AppInfoTip.d.ts +17 -4
  100. package/dist/types/components/AppInlineEdit.d.ts +22 -11
  101. package/dist/types/components/AppInput.d.ts +81 -2
  102. package/dist/types/components/AppInputGroup.d.ts +19 -6
  103. package/dist/types/components/AppKanban.d.ts +51 -23
  104. package/dist/types/components/AppKbd.d.ts +1 -0
  105. package/dist/types/components/AppKpiTile.d.ts +61 -31
  106. package/dist/types/components/AppLightbox.d.ts +12 -6
  107. package/dist/types/components/AppLink.d.ts +38 -17
  108. package/dist/types/components/AppLogoPicker.d.ts +88 -23
  109. package/dist/types/components/AppMarkdown.d.ts +3 -1
  110. package/dist/types/components/AppMentionInput.d.ts +35 -0
  111. package/dist/types/components/AppMenubar.d.ts +9 -7
  112. package/dist/types/components/AppMeter.d.ts +39 -10
  113. package/dist/types/components/AppMetricStrip.d.ts +11 -2
  114. package/dist/types/components/AppModal.d.ts +48 -19
  115. package/dist/types/components/AppMultiSelect.d.ts +44 -0
  116. package/dist/types/components/AppNavigationMenu.d.ts +6 -3
  117. package/dist/types/components/AppNotificationCenter.d.ts +23 -8
  118. package/dist/types/components/AppNumberInput.d.ts +38 -1
  119. package/dist/types/components/AppOnboardingChecklist.d.ts +27 -8
  120. package/dist/types/components/AppOtpInput.d.ts +24 -0
  121. package/dist/types/components/AppPageHeader.d.ts +60 -19
  122. package/dist/types/components/AppPagination.d.ts +21 -7
  123. package/dist/types/components/AppPhoneNumberInput.d.ts +37 -0
  124. package/dist/types/components/AppPopover.d.ts +23 -16
  125. package/dist/types/components/AppPricingCard.d.ts +27 -8
  126. package/dist/types/components/AppProgress.d.ts +44 -10
  127. package/dist/types/components/AppQrCode.d.ts +13 -5
  128. package/dist/types/components/AppRadio.d.ts +10 -0
  129. package/dist/types/components/AppRadioGroup.d.ts +47 -17
  130. package/dist/types/components/AppRating.d.ts +52 -15
  131. package/dist/types/components/AppRecordPager.d.ts +24 -8
  132. package/dist/types/components/AppRelativeTime.d.ts +9 -5
  133. package/dist/types/components/AppRepeater.d.ts +34 -8
  134. package/dist/types/components/AppResizable.d.ts +11 -3
  135. package/dist/types/components/AppResizableHandle.d.ts +9 -1
  136. package/dist/types/components/AppResizablePanel.d.ts +10 -3
  137. package/dist/types/components/AppResourceCard.d.ts +14 -2
  138. package/dist/types/components/AppResult.d.ts +23 -7
  139. package/dist/types/components/AppRichText.d.ts +34 -0
  140. package/dist/types/components/AppRollingNumber.d.ts +17 -7
  141. package/dist/types/components/AppRouteError.d.ts +22 -5
  142. package/dist/types/components/AppScoreScale.d.ts +40 -12
  143. package/dist/types/components/AppScrollbar.d.ts +7 -3
  144. package/dist/types/components/AppSearch.d.ts +32 -7
  145. package/dist/types/components/AppSectionCallToAction.d.ts +27 -7
  146. package/dist/types/components/AppSectionFaq.d.ts +27 -7
  147. package/dist/types/components/AppSectionFeatures.d.ts +34 -8
  148. package/dist/types/components/AppSectionHero.d.ts +29 -8
  149. package/dist/types/components/AppSectionLogos.d.ts +29 -7
  150. package/dist/types/components/AppSectionPricing.d.ts +25 -6
  151. package/dist/types/components/AppSectionTestimonials.d.ts +29 -7
  152. package/dist/types/components/AppSegmented.d.ts +41 -13
  153. package/dist/types/components/AppSelect.d.ts +53 -1
  154. package/dist/types/components/AppSelectMini.d.ts +28 -11
  155. package/dist/types/components/AppShell.d.ts +81 -35
  156. package/dist/types/components/AppShortcutLegend.d.ts +12 -4
  157. package/dist/types/components/AppShowMore.d.ts +26 -5
  158. package/dist/types/components/AppSidebarMenu.d.ts +59 -18
  159. package/dist/types/components/AppSkeleton.d.ts +33 -4
  160. package/dist/types/components/AppSlider.d.ts +43 -0
  161. package/dist/types/components/AppSortableList.d.ts +20 -0
  162. package/dist/types/components/AppSparkline.d.ts +19 -5
  163. package/dist/types/components/AppSpinner.d.ts +14 -3
  164. package/dist/types/components/AppSplash.d.ts +24 -7
  165. package/dist/types/components/AppSplitButton.d.ts +47 -14
  166. package/dist/types/components/AppSplitView.d.ts +53 -27
  167. package/dist/types/components/AppStatusBadge.d.ts +11 -3
  168. package/dist/types/components/AppStepper.d.ts +36 -11
  169. package/dist/types/components/AppSwitch.d.ts +16 -0
  170. package/dist/types/components/AppTableEmptyState.d.ts +7 -3
  171. package/dist/types/components/AppTablePagination.d.ts +23 -9
  172. package/dist/types/components/AppTableToolbar.d.ts +24 -10
  173. package/dist/types/components/AppTabs.d.ts +47 -18
  174. package/dist/types/components/AppTagInput.d.ts +38 -0
  175. package/dist/types/components/AppTextarea.d.ts +46 -0
  176. package/dist/types/components/AppThemeToggle.d.ts +58 -12
  177. package/dist/types/components/AppTimePicker.d.ts +38 -1
  178. package/dist/types/components/AppTimeline.d.ts +22 -20
  179. package/dist/types/components/AppToast.d.ts +30 -12
  180. package/dist/types/components/AppToolbar.d.ts +24 -9
  181. package/dist/types/components/AppTooltip.d.ts +24 -14
  182. package/dist/types/components/AppTour.d.ts +10 -0
  183. package/dist/types/components/AppTreeView.d.ts +23 -0
  184. package/dist/types/components/AppTruncate.d.ts +11 -2
  185. package/dist/types/components/AppUpdateBar.d.ts +10 -2
  186. package/dist/types/components/AppWhatsNew.d.ts +26 -7
  187. package/dist/types/components/AppWizard.d.ts +79 -0
  188. package/dist/types/components/AppWorkspaceSwitcher.d.ts +36 -17
  189. package/dist/types/lib/wuiMarker.d.ts +4 -0
  190. package/package.json +11 -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 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.
13
- * @param {string} [props.label] What the trend measures; it starts the text alternative ("Signups trend from 12 to 19 across 4 points.").
14
- * @param {number} [props.width=48] Width in px.
15
- * @param {number} [props.height=16] Height in px.
16
- * @param {string} [props.className] Extra classes on the svg.
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='md'] A preset, or an exact diameter in px — pass any
10
- * positive number so the spinner matches whatever it sits in; the border scales with it.
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] Brand mark — an `<img>` or an SVG.
15
- * @param {string} [props.initials] Fallback mark when there is no logo.
16
- * @param {string} [props.text] One line, e.g. "Signing you in…".
17
- * @param {string} [props.subtext] A quieter second line under the text.
18
- * @param {'bar'|'ring'|'dots'} [props.variant='bar'] The indeterminate boot indicator.
19
- * @param {'sm'|'md'|'lg'|number} [props.size='md'] Mark size — a preset or an exact px diameter.
20
- * @param {string} [props.label='Loading'] Accessible name for the live region.
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 The main button's text, also the group's accessible name.
11
- * @param {{ key: string, label?: string, icon?: string|import('react').ReactNode, image?: string, to?: string, onClick?: () => void, danger?: boolean, shortcut?: string, divider?: true }[]} [props.items]
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] Make the main button a link.
15
- * @param {'button'|'submit'|'reset'} [props.type='button'] The main button's type.
16
- * @param {'primary'|'secondary'|'outline'|'ghost'|'danger'|'success'|'secondary-danger'|'outline-danger'|'light'|'warning'|'neutral'|'outline-light'|'outline-secondary'|'text'|'subtle'} [props.variant='primary'] Both halves share it. subtle is deprecated (use neutral) and is removed in 0.79.0.
17
- * @param {'sm'|'md'|'lg'} [props.size='md']
18
- * @param {boolean} [props.disabled=false] Disables both halves.
19
- * @param {boolean} [props.loading=false] Shows the spinner on the main button and disables both halves.
20
- * @param {string} [props.leftIcon] Icon name before the main label.
21
- * @param {string} [props.shortcut] The key that runs the main action, drawn as a key chip after the label.
22
- * @param {string} [props.menuLabel='More actions'] Accessible name of the chevron.
23
- * @param {'start'|'end'} [props.align='end'] Which edge the menu lines up with.
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?: true;
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
- * The list. `meta` is the line under the title (sender, excerpt), `trailing` sits at the end (a
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=false] A checkbox on each item and a select-all box in the header.
27
- * @param {Set<string|number>} [props.selectedKeys] The ticked items' keys.
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] Buttons shown in place of the header while
31
- * items are ticked, beside "N selected", as `AppTableToolbar` does over a table.
32
- * @param {import('react').ReactNode} [props.header] The list header: a count, a sort label, a filter trigger.
33
- * @param {import('react').ReactNode} [props.chips] A row under the header for the active filters.
34
- * @param {import('react').ReactNode} [props.pane] The open item's content.
35
- * @param {import('react').ReactNode} [props.paneHeader] Above the pane, before the pager: the open
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
- * Extra single-key shortcuts (archive, approve); `onPress` gets the open item's key. They are
43
- * listed in the `?` sheet. J, K, Enter, `?` (and X with `selectable`) are built in and win over an
44
- * extra with the same key.
45
- * @param {boolean} [props.shortcutsEnabled=true] The keyboard shortcuts and their legend. They listen
46
- * while focus is in the view, or nowhere (the page body) for the first view on the page.
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
- selectedKeys?: Set<string | number>;
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] Tone class suffix (e.g. success | warning | danger | info | neutral).
8
+ * @param {string} [props.tone]
9
9
  * @param {string} [props.className]
10
- * @param {string} [props.tooltip] A collision-aware hover/focus tooltip (via AppTooltip / Popper) — flips to stay on-screen. Useful to spell out a terse status pill's full meaning.
11
- * @param {"auto"|"top"|"bottom"|"start"|"end"} [props.tooltipPlacement="auto"] Preferred tooltip side; `auto` picks the side with the most room.
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='steps']
25
- * @param {'horizontal'|'vertical'} [props.orientation='horizontal']
26
- * @param {'linear'|'outline'|'bold'|'bulk'|'broken'|'twotone'} [props.iconVariant='linear'] The iconsax style of
27
- * every step glyph: the done tick, the error alert and each step's own `icon`.
28
- * @param {'sm'|'md'|'lg'} [props.size='md'] Scales the badge, its number, the labels and the glyphs together.
29
- * @param {number} [props.iconSize] Every step glyph's width and height in px. Unset, it follows `size` (12, 14 or 18).
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='Progress'] Accessible name for the list.
36
- * @param {'primary'|'info'} [props.tone='primary'] The accent of the active and done steps.
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] Icon name, or a custom node. Needed unless
6
- * `illustration` is set, which replaces the icon.
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 1-based.
12
- * @param {number} [props.totalPages] Page count. Wins over `total` when given.
13
- * @param {number} [props.total] Total rows across all pages. Used when totalPages is not given: pages = ceil(total / pageSize).
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='numbered'] numbered (default) puts windowed page
19
- * buttons (first/last plus an ellipsis over any run of hidden pages) between the arrows.
20
- * prev-next is the arrows with a "Page N of M" readout.
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] Left side: status segments, chips, a filter menu.
12
- * @param {import('react').ReactNode} [props.actions] Right side: search, export, a columns menu.
13
- * @param {number} [props.selectedCount=0] Selected rows. Above 0, the bulk bar replaces the toolbar.
14
- * @param {import('react').ReactNode} [props.bulkActions] Buttons shown in the bulk bar.
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] Rows matching across every page. With `onSelectAllMatching`, the bulk
17
- * bar offers "Select all 1,284 matching" once the page is selected and more rows match than it shows.
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=false] Every matching row is selected: the bar reads
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;