@webority/ui-react 0.88.1 → 0.90.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
@@ -24,31 +24,24 @@ import "@webority/ui-elements/elements/overflow";
24
24
  *
25
25
  * @param {object} props
26
26
  * @param {{ key: string, label: import('react').ReactNode, count?: number, countLabel?: string, tone?: string, icon?: string|import('react').ReactNode, image?: string, imageAlt?: string, tooltip?: import('react').ReactNode, danger?: boolean, disabled?: boolean, href?: string, to?: string, target?: string, rel?: string }[]} props.tabs
27
- * `count` is printed with Indian digit grouping (1,284; 12,34,567).
28
- * `icon` is an iconsax name from the library catalogue OR a custom node (e.g. an iconsax glyph); `image` is a
29
- * picture URL (logo/avatar) rendered before the label — `image` wins over `icon`. `tooltip`
30
- * is a hover/focus hint (text or node) shown on the tab via AppTooltip — the same branded
31
- * tip the Razor `<app-tab tooltip="…">` renders. `href`/`to` turn the tab into a link (see
32
- * above); `target`/`rel` are the standard anchor attributes on such a tab.
33
- * @param {string} props.value Selected tab key.
27
+ * @param {string} props.value
34
28
  * @param {(key: string) => void} [props.onChange] Optional for link tabs; required for panel tabs.
35
29
  * @param {import('react').ElementType} [props.linkComponent] Component for `to` tabs (e.g. react-router's Link). The library never imports a router.
36
- * @param {"underline"|"pills"} [props.variant="underline"]
37
- * @param {"horizontal"|"vertical"} [props.orientation="horizontal"] Vertical renders a side rail.
38
- * @param {"sm"|"md"|"lg"} [props.size="md"]
39
- * @param {boolean} [props.fitted=false] Tabs share the width equally instead of scrolling.
40
- * @param {"scroll"|"menu"} [props.overflow="scroll"] What a horizontal strip does when the tabs do not fit:
41
- * `scroll` scrolls it (chevrons and edge fades); `menu` moves the tabs that do not fit into a More menu
42
- * (`<wui-overflow>`), always keeping the selected tab visible. Ignored when `orientation="vertical"`.
43
- * @param {string} [props.moreLabel="More"] The More button's text when `overflow="menu"`.
44
- * @param {number} [props.maxVisible] Puts the tabs that do not fit the row in a More menu, as overflow="menu" does; the selected tab always stays visible.
45
- * @param {"automatic"|"manual"} [props.activation="automatic"] Whether arrow keys also select.
30
+ * @param {"underline"|"pills"} [props.variant]
31
+ * @param {"horizontal"|"vertical"} [props.orientation]
32
+ * @param {"sm"|"md"|"lg"} [props.size]
33
+ * @param {boolean} [props.fitted]
34
+ * @param {"scroll"|"menu"} [props.overflow]
35
+ * @param {string} [props.moreLabel]
36
+ * @param {number} [props.maxVisible]
37
+ * @param {"automatic"|"manual"} [props.activation]
46
38
  * @param {string} [props.ariaLabel]
47
39
  * @param {string} [props.className]
48
40
  * @param {import('react').CSSProperties} [props.style]
49
- * @param {"success"|"warning"|"danger"|"info"} [props.tone] Per-tab count-pill tint (set as `tabs[].tone`).
41
+ * @param {"success"|"warning"|"danger"|"info"} [props.tone]
50
42
  */
51
43
  export default function AppTabs(props: {
44
+ /** The tabs, in order. Each tab also needs a unique `key`. */
52
45
  tabs: {
53
46
  key: string;
54
47
  label: import('react').ReactNode;
@@ -66,19 +59,55 @@ export default function AppTabs(props: {
66
59
  target?: string;
67
60
  rel?: string;
68
61
  }[];
62
+ /** The key of the selected tab. */
69
63
  value: string;
70
64
  onChange?: (key: string) => void;
71
65
  linkComponent?: import('react').ElementType;
66
+ /**
67
+ * The look of the strip: an underline with a sliding bar, or pills.
68
+ * @default "underline"
69
+ */
72
70
  variant?: "underline" | "pills";
71
+ /**
72
+ * horizontal lays the tabs in a row. vertical renders a side rail.
73
+ * @default "horizontal"
74
+ */
73
75
  orientation?: "horizontal" | "vertical";
76
+ /**
77
+ * The size of the tabs.
78
+ * @default "md"
79
+ */
74
80
  size?: "sm" | "md" | "lg";
81
+ /**
82
+ * The tabs share the width equally instead of scrolling.
83
+ * @default false
84
+ */
75
85
  fitted?: boolean;
86
+ /**
87
+ * What a horizontal strip does when the tabs do not fit. scroll scrolls it with chevrons and edge fades. menu moves the tabs that do not fit into a More menu and always keeps the selected tab visible. Ignored when orientation is vertical.
88
+ * @default "scroll"
89
+ */
76
90
  overflow?: "scroll" | "menu";
91
+ /**
92
+ * The text of the More button when overflow is menu.
93
+ * @default "More"
94
+ */
77
95
  moreLabel?: string;
96
+ /** Puts the tabs that do not fit the row in a More menu, as overflow menu does. The selected tab always stays visible. */
78
97
  maxVisible?: number;
98
+ /**
99
+ * Whether the arrow keys also select. automatic selects as focus moves. manual moves focus only and selects on Enter or Space.
100
+ * @default "automatic"
101
+ */
79
102
  activation?: "automatic" | "manual";
103
+ /** The accessible name of the tab strip. */
80
104
  ariaLabel?: string;
105
+ /**
106
+ * Extra class names added to the tab strip.
107
+ * @default ""
108
+ */
81
109
  className?: string;
82
110
  style?: import('react').CSSProperties;
111
+ /** Tints the count pill of a tab. Set it as tone on a tab, not on the strip. */
83
112
  tone?: "success" | "warning" | "danger" | "info";
84
113
  }): import("react").JSX.Element;
@@ -1,22 +1,60 @@
1
1
  import "@webority/ui-elements/elements/taginput";
2
2
  declare const AppTagInput: import("react").ForwardRefExoticComponent<{
3
+ /** The current tags, one string per tag, in the order shown. */
3
4
  values?: string[];
4
5
  onChange?: (values: string[]) => void;
6
+ /**
7
+ * Placeholder for the input field.
8
+ * @default "Add…"
9
+ */
5
10
  placeholder?: string;
11
+ /** The field name the tags post under. */
6
12
  name?: string;
13
+ /** The label above the field. */
7
14
  label?: import('react').ReactNode;
15
+ /** An error message. It replaces the hint and marks the field invalid. */
8
16
  error?: string;
17
+ /** Help text under the field. */
9
18
  hint?: string;
19
+ /**
20
+ * Marks the field required and shows the required mark beside the label.
21
+ * @default false
22
+ */
10
23
  required?: boolean;
24
+ /** Control size around the default; leave unset for the default size. */
11
25
  size?: 'sm' | 'lg';
26
+ /** The most tags the field accepts. */
12
27
  maxTags?: number;
28
+ /**
29
+ * Allows case-sensitive duplicate values.
30
+ * @default false
31
+ */
13
32
  allowDuplicates?: boolean;
33
+ /**
34
+ * Locks the field.
35
+ * @default false
36
+ */
14
37
  disabled?: boolean;
38
+ /** The control's id. A generated id is used when this is unset. */
15
39
  id?: string;
40
+ /** The accessible name of the input. When unset, a text label names it. */
16
41
  ariaLabel?: string;
42
+ /**
43
+ * A class added to the control.
44
+ * @default ""
45
+ */
17
46
  className?: string;
47
+ /**
48
+ * A class added to the wrapping field.
49
+ * @default ""
50
+ */
18
51
  fieldClassName?: string;
52
+ /** Help content shown in an info tip beside the label. */
19
53
  help?: import('react').ReactNode;
54
+ /**
55
+ * The accessible name of that info tip.
56
+ * @default "More information"
57
+ */
20
58
  helpLabel?: string;
21
59
  } & import("react").RefAttributes<HTMLElement>>;
22
60
  export default AppTagInput;
@@ -1,22 +1,68 @@
1
1
  declare const AppTextarea: import("react").ForwardRefExoticComponent<{
2
+ /** The label above the field. */
2
3
  label?: import('react').ReactNode;
4
+ /**
5
+ * Marks the field required and shows the required mark beside the label.
6
+ * @default false
7
+ */
3
8
  required?: boolean;
9
+ /** An error message. It replaces the hint and marks the field invalid. */
4
10
  error?: string;
11
+ /** Help text under the field. */
5
12
  hint?: string;
13
+ /** Text shown in the empty field. */
6
14
  placeholder?: string;
15
+ /** Info-tip content shown beside the label. */
7
16
  help?: import('react').ReactNode;
17
+ /**
18
+ * The accessible name of the info-tip button.
19
+ * @default "More information"
20
+ */
8
21
  helpLabel?: string;
22
+ /** The control's id. A generated id is used when this is unset. */
9
23
  id?: string;
24
+ /** The field name the text posts under. */
10
25
  name?: string;
26
+ /**
27
+ * The visible number of text lines.
28
+ * @default 4
29
+ */
11
30
  rows?: number;
31
+ /**
32
+ * Grows the height to fit the content as the user types.
33
+ * @default false
34
+ */
12
35
  autoGrow?: boolean;
36
+ /**
37
+ * Shows a live character count under the field, as count / maxLength when maxLength is set.
38
+ * @default false
39
+ */
13
40
  showCount?: boolean;
41
+ /** The character cap. The count turns red as it is approached. */
14
42
  maxLength?: number;
43
+ /**
44
+ * Locks the field and keeps it out of the form post.
45
+ * @default false
46
+ */
15
47
  disabled?: boolean;
48
+ /**
49
+ * Locks the field; the value still posts.
50
+ * @default false
51
+ */
16
52
  readOnly?: boolean;
53
+ /**
54
+ * A class added to the control.
55
+ * @default ""
56
+ */
17
57
  className?: string;
58
+ /**
59
+ * A class added to the wrapping field.
60
+ * @default ""
61
+ */
18
62
  fieldClassName?: string;
63
+ /** The controlled value, paired with onChange. */
19
64
  value?: string | number;
65
+ /** The starting value of an uncontrolled field. */
20
66
  defaultValue?: string | number;
21
67
  onInput?: (e: import('react').FormEvent<HTMLTextAreaElement>) => void;
22
68
  } & import("react").RefAttributes<HTMLTextAreaElement>>;
@@ -20,34 +20,80 @@
20
20
  * that have a direction.
21
21
  *
22
22
  * @param {object} props
23
- * @param {"icon"|"segmented"} [props.variant="icon"] One cycling disc, or one option per mode.
24
- * @param {"wave"|"circle"|"slide"|"blinds"|"fade"|"none"} [props.effect="wave"] The page-wide effect.
25
- * @param {boolean} [props.includeAuto=true] Offer the system-following mode beside light and dark. Off, the toggle offers light and dark and shows an auto page as its resolved theme.
26
- * @param {string} [props.storageKey="theme"] The localStorage key the choice is kept under.
27
- * @param {number} [props.duration] Effect length in ms; each effect has its own default.
28
- * @param {string} [props.label="Theme"] Accessible name: the disc's tooltip ("Theme: dark") or the segmented group's name.
29
- * @param {string} [props.lightLabel="Light"] The segmented variant's option text for light.
30
- * @param {string} [props.darkLabel="Dark"] The segmented variant's option text for dark.
31
- * @param {string} [props.autoLabel="System"] The segmented variant's option text for auto.
32
- * @param {string} [props.name] The segmented variant's field name (what groups its radios). Defaults to a generated one.
33
- * @param {"sm"|"md"|"lg"|"xl"} [props.size="md"] The disc's glyph size (16/20/24/28px, the disc scales with it) or the segmented strip's size (xl draws the lg strip).
34
- * @param {"auto"|"top"|"bottom"|"start"|"end"} [props.tooltipPlacement="auto"] The disc's preferred tooltip side.
23
+ * @param {"icon"|"segmented"} [props.variant]
24
+ * @param {"wave"|"circle"|"slide"|"blinds"|"fade"|"none"} [props.effect]
25
+ * @param {boolean} [props.includeAuto]
26
+ * @param {string} [props.storageKey]
27
+ * @param {number} [props.duration]
28
+ * @param {string} [props.label]
29
+ * @param {string} [props.lightLabel]
30
+ * @param {string} [props.darkLabel]
31
+ * @param {string} [props.autoLabel]
32
+ * @param {string} [props.name]
33
+ * @param {"sm"|"md"|"lg"|"xl"} [props.size]
34
+ * @param {"auto"|"top"|"bottom"|"start"|"end"} [props.tooltipPlacement]
35
35
  * @param {(mode: "light"|"dark"|"auto") => void} [props.onChange] Fires with the new mode once it is applied.
36
36
  * @param {string} [props.className]
37
37
  */
38
38
  export default function AppThemeToggle(props: {
39
+ /**
40
+ * One cycling disc, or one option per mode.
41
+ * @default "icon"
42
+ */
39
43
  variant?: "icon" | "segmented";
44
+ /**
45
+ * The page-wide effect that plays when the theme changes.
46
+ * @default "wave"
47
+ */
40
48
  effect?: "wave" | "circle" | "slide" | "blinds" | "fade" | "none";
49
+ /**
50
+ * Offers the system-following mode beside light and dark. Off, the toggle offers only light and dark.
51
+ * @default true
52
+ */
41
53
  includeAuto?: boolean;
54
+ /**
55
+ * The localStorage key the choice is kept under.
56
+ * @default "theme"
57
+ */
42
58
  storageKey?: string;
59
+ /** The effect length in milliseconds. Each effect has its own default. */
43
60
  duration?: number;
61
+ /**
62
+ * The accessible name: the disc's tooltip, or the segmented group's name.
63
+ * @default "Theme"
64
+ */
44
65
  label?: string;
66
+ /**
67
+ * The segmented variant's option text for light.
68
+ * @default "Light"
69
+ */
45
70
  lightLabel?: string;
71
+ /**
72
+ * The segmented variant's option text for dark.
73
+ * @default "Dark"
74
+ */
46
75
  darkLabel?: string;
76
+ /**
77
+ * The segmented variant's option text for the system-following mode.
78
+ * @default "System"
79
+ */
47
80
  autoLabel?: string;
81
+ /** The segmented variant's field name, which groups its radios. A generated name is used when this is unset. */
48
82
  name?: string;
83
+ /**
84
+ * The disc's glyph size (16, 20, 24 or 28 px) or the segmented strip's size; xl draws the lg strip.
85
+ * @default "md"
86
+ */
49
87
  size?: "sm" | "md" | "lg" | "xl";
88
+ /**
89
+ * The disc's preferred tooltip side.
90
+ * @default "auto"
91
+ */
50
92
  tooltipPlacement?: "auto" | "top" | "bottom" | "start" | "end";
51
93
  onChange?: (mode: "light" | "dark" | "auto") => void;
94
+ /**
95
+ * A class added to the toggle.
96
+ * @default ""
97
+ */
52
98
  className?: string;
53
99
  }): import("react").JSX.Element;
@@ -1,24 +1,61 @@
1
1
  import "@webority/ui-elements/elements/timepicker";
2
2
  declare const AppTimePicker: import("react").ForwardRefExoticComponent<{
3
+ /** The time as 24-hour "HH:mm" text, which is also the wire format. */
3
4
  value?: string;
4
5
  onChange?: (value: string) => void;
6
+ /** The label above the field. */
5
7
  label?: string;
8
+ /**
9
+ * Marks the field required and shows the required mark beside the label.
10
+ * @default false
11
+ */
6
12
  required?: boolean;
13
+ /** Help text under the field. */
7
14
  hint?: string;
15
+ /** An error message. It replaces the hint and marks the field invalid. */
8
16
  error?: string;
17
+ /** Content for the info tip beside the label. */
9
18
  help?: import('react').ReactNode;
19
+ /**
20
+ * The accessible name of the info-tip button.
21
+ * @default "More information"
22
+ */
10
23
  helpLabel?: string;
24
+ /** The field name the time posts under. */
11
25
  name?: string;
26
+ /** The earliest time that can be picked, as "HH:mm". */
12
27
  min?: string;
28
+ /** The latest time that can be picked, as "HH:mm". */
13
29
  max?: string;
30
+ /** The minutes between choices. The control uses 30 when this is unset. */
14
31
  step?: number;
15
- format?: '12' | '24' | 12 | 24;
32
+ /**
33
+ * The display format, 12 or 24 hour. The wire value stays 24 hour.
34
+ * @default 24
35
+ */
36
+ format?: 12 | 24;
37
+ /**
38
+ * The text shown while no time is chosen.
39
+ * @default "Select time"
40
+ */
16
41
  placeholder?: string;
42
+ /** Locks the field. */
17
43
  disabled?: boolean;
44
+ /** The control height tier, matching AppInput; leave unset for the default height. */
18
45
  size?: 'sm' | 'md' | 'lg';
46
+ /** The control's id. A generated id is used when this is unset. */
19
47
  id?: string;
48
+ /** The accessible name of the control. When unset, a text label names it. */
20
49
  ariaLabel?: string;
50
+ /**
51
+ * A class added to the control.
52
+ * @default ""
53
+ */
21
54
  className?: string;
55
+ /**
56
+ * A class added to the wrapping field.
57
+ * @default ""
58
+ */
22
59
  fieldClassName?: string;
23
60
  } & import("react").RefAttributes<HTMLElement>>;
24
61
  export default AppTimePicker;
@@ -21,29 +21,20 @@
21
21
  * tone?: 'neutral'|'success'|'warning'|'danger'|'info',
22
22
  * status?: 'upcoming'|'current'|'done'|'on-hold'|'rejected'|'cancelled'|'skipped',
23
23
  * title: import('react').ReactNode, description?: import('react').ReactNode,
24
- * at?: string, atTitle?: string, time?: string, by?: string, byHref?: string, note?: string }[]} props.items
25
- * Feed variant: newest first. Progress variant: first stage first. Steps variant: first step first.
26
- * `status` drives the dot + rail in the progress variant; `description` is a
27
- * plain inline subtext under the title (distinct from the boxed `note`).
28
- * Steps variant: the label above the title; omitted it reads `Step 1`, `Step 2`…, an empty string hides it.
29
- * `at` is the date and `time` an optional time-of-day shown beside it — both are
30
- * pre-formatted strings the caller owns (IST, DD-MMM-YYYY / HH:mm); pass either or both.
31
- * `atTitle` is the full date and time shown on hover over `at`, such as `14 Oct 2026, 4:05 pm`; omit it for no tooltip.
32
- * `byHref` links the `by` name (a path starting with one `/`, or an `http://` / `https://` address);
33
- * any other value, or `byHref` without `by`, throws.
34
- * @param {'feed'|'progress'|'steps'} [props.variant] Layout mode. Defaults to `feed`.
35
- * `steps`: a numbered process: large tinted icon discs joined by a dashed line, each with an eyebrow, title and description. A row from md up, a column on phones.
36
- * @param {'vertical'|'horizontal'} [props.orientation] Feed and progress: vertical (default) or horizontal.
37
- * Steps: a row from md up and a column below; `vertical` keeps the column at every width.
38
- * Horizontal lays dots in a row with the body beneath each. Orthogonal to `variant` for feed and progress.
39
- * @param {'linear'|'outline'|'bold'|'bulk'|'broken'|'twotone'} [props.iconVariant] The iconsax style of the dot icons. Defaults to bulk for steps and linear otherwise.
40
- * @param {'sm'|'md'|'lg'|number} [props.size] A preset, or the dot diameter in px. sm, md (default) and lg set the dot (feed and progress 18, 24 and 32px; steps 44, 56 and 72px) and scale the text and spacing to match. A px number sets only the dot, and the glyph follows it.
24
+ * at?: string, atTitle?: string, time?: string, by?: string, byHref?: string, note?: string }[]} [props.items]
25
+ * @param {'feed'|'progress'|'steps'} [props.variant]
26
+ * @param {'vertical'|'horizontal'} [props.orientation]
27
+ * @param {'linear'|'outline'|'bold'|'bulk'|'broken'|'twotone'} [props.iconVariant]
28
+ * @param {'sm'|'md'|'lg'|number} [props.size]
41
29
  * @param {string} [props.className]
42
- * @param {import('react').CSSProperties} [props.style] Inline style on the list;
43
- * the `size` var is merged into it.
30
+ * @param {import('react').CSSProperties} [props.style]
44
31
  */
45
32
  export default function AppTimeline(props: {
46
- items: {
33
+ /**
34
+ * The entries. Feed: newest first. Progress and steps: first stage first.
35
+ * @default []
36
+ */
37
+ items?: {
47
38
  key?: string;
48
39
  icon?: string;
49
40
  eyebrow?: import('react').ReactNode;
@@ -58,10 +49,21 @@ export default function AppTimeline(props: {
58
49
  byHref?: string;
59
50
  note?: string;
60
51
  }[];
52
+ /**
53
+ * The layout: an activity feed, a status tracker for a fixed sequence of stages, or a numbered process.
54
+ * @default "feed"
55
+ */
61
56
  variant?: 'feed' | 'progress' | 'steps';
57
+ /** Feed and progress: vertical or horizontal. Steps: a row from md up and a column below, where vertical keeps the column at every width. */
62
58
  orientation?: 'vertical' | 'horizontal';
59
+ /** The iconsax style of the dot icons. Unset, steps use bulk and the others linear. */
63
60
  iconVariant?: 'linear' | 'outline' | 'bold' | 'bulk' | 'broken' | 'twotone';
61
+ /** A preset, or the dot diameter in px. The presets scale the dot, text and spacing together; a number sets only the dot. */
64
62
  size?: 'sm' | 'md' | 'lg' | number;
63
+ /**
64
+ * A class added to the list.
65
+ * @default ""
66
+ */
65
67
  className?: string;
66
68
  style?: import('react').CSSProperties;
67
69
  }): import("react").JSX.Element;
@@ -8,24 +8,42 @@
8
8
  * id (replace/refresh), and a string OR React-node message (rich body).
9
9
  *
10
10
  * @param {object} props
11
- * @param {'top-start'|'top-center'|'top-end'|'middle-center'|'bottom-start'|'bottom-center'|'bottom-end'} [props.position='bottom-end']
12
- * @param {number} [props.maxVisible=4] Most toasts shown at once; older ones collapse to a "+N more" chip.
13
- * @param {'rise'|'organic'|'jelly'|'spring'} [props.animation='rise'] Default entrance motion for
14
- * every toast: `rise` (soft fade + lift), `organic` (surface materializes, status icon grows
15
- * from a dot, message trails in), `jelly` (squash-and-stretch drop), `spring` (elastic
16
- * slide-up). A per-toast `animation` option overrides it.
17
- * @param {'rounded'|'pill'|'sharp'} [props.shape='rounded'] Default corner treatment; a per-toast
18
- * `shape` option overrides it.
19
- * @param {'auto'|'inverse'} [props.surface='auto'] `inverse` renders every toast on the OPPOSITE
20
- * surface of the active mode — a dark card in light mode, a light card in dark mode — so the
21
- * stack always contrasts with the page. A per-toast `surface` option overrides it.
22
- * @param {string} [props.className] Extra class on the container element.
11
+ * @param {'top-start'|'top-center'|'top-end'|'middle-center'|'bottom-start'|'bottom-center'|'bottom-end'} [props.position]
12
+ * @param {number} [props.maxVisible]
13
+ * @param {'rise'|'organic'|'jelly'|'spring'} [props.animation]
14
+ * @param {'rounded'|'pill'|'sharp'} [props.shape]
15
+ * @param {'auto'|'inverse'} [props.surface]
16
+ * @param {string} [props.className]
23
17
  */
24
18
  export default function AppToast(props: {
19
+ /**
20
+ * Which corner or edge of the screen the toasts stack in.
21
+ * @default "bottom-end"
22
+ */
25
23
  position?: 'top-start' | 'top-center' | 'top-end' | 'middle-center' | 'bottom-start' | 'bottom-center' | 'bottom-end';
24
+ /**
25
+ * Most toasts shown at once. Older ones collapse to a "+N more" chip.
26
+ * @default 4
27
+ */
26
28
  maxVisible?: number;
29
+ /**
30
+ * Default entrance motion for every toast: `rise` (soft fade and lift), `organic` (surface materializes, status icon grows from a dot, message trails in), `jelly` (squash-and-stretch drop), `spring` (elastic slide-up). A per-toast `animation` option overrides it.
31
+ * @default "rise"
32
+ */
27
33
  animation?: 'rise' | 'organic' | 'jelly' | 'spring';
34
+ /**
35
+ * Default corner treatment. A per-toast `shape` option overrides it.
36
+ * @default "rounded"
37
+ */
28
38
  shape?: 'rounded' | 'pill' | 'sharp';
39
+ /**
40
+ * `inverse` renders every toast on the opposite surface of the active mode: a dark card in light mode, a light card in dark mode, so the stack always contrasts with the page. A per-toast `surface` option overrides it.
41
+ * @default "auto"
42
+ */
29
43
  surface?: 'auto' | 'inverse';
44
+ /**
45
+ * Extra class on the container element.
46
+ * @default ""
47
+ */
30
48
  className?: string;
31
49
  }): import("react").JSX.Element;
@@ -17,26 +17,29 @@
17
17
  *
18
18
  * @param {object} props
19
19
  * @param {{ value: string, title: string, icon: string|import('react').ReactNode,
20
- * disabled?: boolean }[]} props.items The tools, left to right.
20
+ * disabled?: boolean }[]} props.items
21
21
  * @param {{ key?: string, title: string, icon: string|import('react').ReactNode,
22
- * onClick?: () => void, disabled?: boolean }[]} [props.actions] Momentary buttons after
23
- * a divider — fire and forget, never selected.
24
- * @param {string} [props.value] The active tool's value (controlled).
25
- * @param {string} [props.defaultValue] Initially active tool (uncontrolled).
22
+ * onClick?: () => void, disabled?: boolean }[]} [props.actions]
23
+ * @param {string} [props.value]
24
+ * @param {string} [props.defaultValue]
26
25
  * @param {(value: string) => void} [props.onSelect]
27
- * @param {string} props.label Accessible name for the toolbar.
28
- * @param {string} [props.name] Field name grouping the radios (and what posts in a form).
29
- * Defaults to a generated one.
30
- * @param {boolean} [props.disabled=false] Disables the whole toolbar.
26
+ * @param {string} props.label
27
+ * @param {string} [props.name]
28
+ * @param {boolean} [props.disabled]
31
29
  * @param {string} [props.className]
32
30
  */
33
31
  export default function AppToolbar(props: {
32
+ /** The tools, left to right. */
34
33
  items: {
35
34
  value: string;
36
35
  title: string;
37
36
  icon: string | import('react').ReactNode;
38
37
  disabled?: boolean;
39
38
  }[];
39
+ /**
40
+ * Momentary buttons after a divider: fire and forget, never selected.
41
+ * @default []
42
+ */
40
43
  actions?: {
41
44
  key?: string;
42
45
  title: string;
@@ -44,11 +47,23 @@ export default function AppToolbar(props: {
44
47
  onClick?: () => void;
45
48
  disabled?: boolean;
46
49
  }[];
50
+ /** The active tool's value (controlled). */
47
51
  value?: string;
52
+ /** Initially active tool (uncontrolled). */
48
53
  defaultValue?: string;
49
54
  onSelect?: (value: string) => void;
55
+ /** Accessible name for the toolbar. */
50
56
  label: string;
57
+ /** Field name grouping the radios, and what posts in a form. Defaults to a generated one. */
51
58
  name?: string;
59
+ /**
60
+ * Disables the whole toolbar.
61
+ * @default false
62
+ */
52
63
  disabled?: boolean;
64
+ /**
65
+ * Extra class on the toolbar element.
66
+ * @default ""
67
+ */
53
68
  className?: string;
54
69
  }): import("react").JSX.Element;
@@ -5,30 +5,40 @@
5
5
  * Bootstrap's own tooltip, so both surfaces stay in lockstep.
6
6
  *
7
7
  * @param {object} props
8
- * @param {import('react').ReactNode} props.content The tooltip text or node (required).
8
+ * @param {import('react').ReactNode} props.content
9
9
  * @param {import('react').ReactElement} props.children A single trigger element that forwards
10
10
  * a ref (a DOM element, or a react-bootstrap-based App* like AppButton/AppActionIcon). It
11
11
  * renders as written; hovering or focusing it reveals the tooltip.
12
- * @param {'auto'|'top'|'bottom'|'start'|'end'} [props.placement='top'] Where the tooltip appears.
13
- * A named side is preferred but flips if needed to stay in view; `auto` lets Popper pick the
14
- * side with the most room outright. Either way the tooltip never clips off-screen.
15
- * @param {'default'|'dark'|'primary'|'success'|'warning'|'danger'} [props.tone='default'] Preset
16
- * colour of the tooltip. `default` is the light surface look; the others are solid tints. For
17
- * a fully custom colour, pass a `className` whose rule sets the `--wui-tooltip-bg` /
18
- * `--wui-tooltip-color` / `--wui-tooltip-border` / `--wui-tooltip-radius` CSS vars.
19
- * @param {'sm'|'md'|'lg'} [props.size='md'] Preset size (font-size + padding + max-width). For a
20
- * fully custom size, pass a `className` that sets the `--wui-tooltip-font-size` /
21
- * `--wui-tooltip-padding-y` / `--wui-tooltip-padding-x` / `--wui-tooltip-max-width` CSS vars.
22
- * @param {string} [props.shortcut] The key that runs the action ("A", "E", "/"), drawn as a key chip
23
- * after the text ("Approve A"). One character is written in upper case.
24
- * @param {string} [props.className] Extra class on the tooltip element.
12
+ * @param {'auto'|'top'|'bottom'|'start'|'end'} [props.placement]
13
+ * @param {'default'|'dark'|'primary'|'success'|'warning'|'danger'} [props.tone]
14
+ * @param {'sm'|'md'|'lg'} [props.size]
15
+ * @param {string} [props.shortcut]
16
+ * @param {string} [props.className]
25
17
  */
26
18
  export default function AppTooltip({ content, children, placement, tone, size, shortcut, className, ...rest }: {
19
+ /** The tooltip text or node. */
27
20
  content: import('react').ReactNode;
28
21
  children: import('react').ReactElement;
22
+ /**
23
+ * Where the tooltip appears. A named side is preferred but flips if needed to stay in view; `auto` lets Popper pick the side with the most room outright. Either way the tooltip never clips off-screen.
24
+ * @default "top"
25
+ */
29
26
  placement?: 'auto' | 'top' | 'bottom' | 'start' | 'end';
27
+ /**
28
+ * Preset colour of the tooltip. `default` is the light surface look; the others are solid tints. For a fully custom colour, pass a `className` whose rule sets the `--wui-tooltip-bg`, `--wui-tooltip-color`, `--wui-tooltip-border` and `--wui-tooltip-radius` CSS vars.
29
+ * @default "default"
30
+ */
30
31
  tone?: 'default' | 'dark' | 'primary' | 'success' | 'warning' | 'danger';
32
+ /**
33
+ * Preset size (font size, padding and max width). For a fully custom size, pass a `className` that sets the `--wui-tooltip-font-size`, `--wui-tooltip-padding-y`, `--wui-tooltip-padding-x` and `--wui-tooltip-max-width` CSS vars.
34
+ * @default "md"
35
+ */
31
36
  size?: 'sm' | 'md' | 'lg';
37
+ /** The key that runs the action ("A", "E", "/"), drawn as a key chip after the text ("Approve A"). One character is written in upper case. */
32
38
  shortcut?: string;
39
+ /**
40
+ * Extra class on the tooltip element.
41
+ * @default ""
42
+ */
33
43
  className?: string;
34
44
  }): import("react").JSX.Element;