@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.
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 +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] Form field name.
16
- * @param {string} [props.id] DOM id for the file input and its labels' `for` target.
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=false]
19
- * @param {number} [props.maxFiles] Cap on total files in multiple mode.
20
- * @param {string} [props.accept=".jpg,.jpeg,.png"] Accepted file types (the `accept` attribute).
21
- * @param {number} [props.maxSizeMb] Defaults to the shared DEFAULT_MAX_SIZE_MB. 0 means no size
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] Helper text below the control; an error (the caller's or a rejected
26
- * pick's) replaces it while it shows.
27
- * @param {boolean} [props.loading=false] Spinner over the control and picking blocked, e.g. while
28
- * the chosen file uploads.
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 `options` fills an `enum` or `multiEnum`;
26
- * one with no options draws nothing. `label` names the control for assistive technology and is its placeholder.
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=3] How many facets stay in the row; the rest fold into the Filters button.
33
- * @param {boolean} [props.floating=false] 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.
34
- * @param {boolean} [props.apply=false] 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.
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 The dock 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='Quick navigation'] Accessible name for the dock landmark.
22
- * @param {boolean} [props.magnify=true] Set false to render a static dock (no hover effect).
23
- * @param {number} [props.maxScale] Item scale at cursor center (element default 1.6).
24
- * @param {number} [props.radius] Px falloff distance for the magnification (element default 100).
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=false] Stick to viewport bottom with border + background.
11
- * @param {"end"|"start"|"between"} [props.align="end"] Alignment of children.
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=2] Number of columns, 1 to 12.
11
- * @param {boolean} [props.collapse=true] Stack to one column below the md breakpoint; false keeps the set columns at every width.
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] Section heading (h3).
12
- * @param {import('react').ReactNode} [props.description] Intro text below the title (optional).
13
- * @param {'stacked'|'side'} [props.layout='stacked'] `side` puts the title and description in a
14
- * column beside the fields from lg up; below that it stacks.
15
- * @param {'top'|'start'} [props.labels='top'] `start` puts each field's label beside its control
16
- * (one field per row) from md up; below that labels sit on top.
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 The name or link the card belongs to. Make it a link
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=false] Shows a spinner and `loadingLabel` in place of the children while
17
- * the preview is fetched; open the fetch from `onOpenChange`.
18
- * @param {string} [props.loadingLabel="Loading"] The text beside the spinner.
19
- * @param {string} [props.label] The card's accessible name ("Asha Verma, profile").
20
- * @param {number} [props.openDelay=300] Milliseconds of hover or focus before it opens.
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 Icon name (kebab-case; curated or full-catalogue).
29
- * @param {number} [props.size=16]
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] A collision-aware hover/focus tooltip (via `AppTooltip` / Popper)
32
- * that flips to stay on-screen. The glyph is wrapped in a `role="img"` + `aria-label` span so the
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] The icon colour. Without it the icon takes --wui-icon-color when an ancestor sets that variable, else the inherited text colour.
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] The popover title, and the trigger's accessible name. Unset, the trigger is named "More information".
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="auto"] Where the popover opens; `auto` flips it to stay in view.
12
- * @param {"sm"|"md"|"lg"|"xl"} [props.width="md"] The widest the card grows before its text wraps: 220, 276, 360 or 480px. It is a maximum, so a short tip stays as narrow as its text.
13
- * @param {string} [props.className=""] Extra classes on the wrapper.
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] The saved value. A date is `yyyy-MM-dd`; a select
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='text'] The control it turns into.
28
- * @param {{ value: string | number, label: string }[]} [props.options] The choices of a select.
29
- * @param {string} props.label What the value is ("Owner"): the accessible name of the value and
30
- * the control, and the subject of what screen readers hear ("Owner saved.").
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=false] Show the value without the edit affordance.
39
- * @param {string} [props.className] Extra classes on the root element.
40
- * @param {string} [props.id] The root's id; the control and error ids derive from it. Generated when omitted.
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;