@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
@@ -8,15 +8,28 @@ import "@webority/ui-elements/elements/overflow";
8
8
  *
9
9
  * @param {object} props
10
10
  * @param {import('react').ReactNode} props.children The chips.
11
- * @param {"wrap"|"menu"} [props.overflow="wrap"] `wrap` lets the chips wrap; `menu` moves the extras into a More menu.
12
- * @param {string} [props.moreLabel="More"] The More button's text when `overflow="menu"`.
13
- * @param {string} [props.label] Accessible name for the group.
11
+ * @param {"wrap"|"menu"} [props.overflow]
12
+ * @param {string} [props.moreLabel]
13
+ * @param {string} [props.label]
14
14
  * @param {string} [props.className]
15
15
  */
16
16
  export default function AppChipGroup(props: {
17
17
  children: import('react').ReactNode;
18
+ /**
19
+ * `wrap` lets the chips wrap; `menu` moves the extras into a More menu.
20
+ * @default "wrap"
21
+ */
18
22
  overflow?: "wrap" | "menu";
23
+ /**
24
+ * The More button text when overflow is menu.
25
+ * @default "More"
26
+ */
19
27
  moreLabel?: string;
28
+ /** Accessible name for the group. */
20
29
  label?: string;
30
+ /**
31
+ * Extra class names added to the group.
32
+ * @default ""
33
+ */
21
34
  className?: string;
22
35
  }): import("react").JSX.Element;
@@ -3,49 +3,90 @@
3
3
  *
4
4
  * @param {object} props
5
5
  * @param {string} props.name
6
- * @param {boolean} [props.multiple=false] Render as a checkbox (multi-select) rather than a radio.
6
+ * @param {boolean} [props.multiple]
7
7
  * @param {string} props.value
8
8
  * @param {boolean} props.checked
9
9
  * @param {(e: import('react').ChangeEvent<HTMLInputElement>) => void} props.onChange
10
- * @param {string} [props.icon] Icon name. Renders linear, and switches to the solid (bold) style
11
- * while the card is checked so the selected card reads at a glance.
10
+ * @param {string} [props.icon]
12
11
  * @param {import('react').ReactNode} [props.iconNode]
13
- * @param {number} [props.iconSize] Icon glyph size in px. Defaults to the card size: 16 (sm), 18 (md), 22 (lg).
14
- * @param {string} [props.image] Image URL — renders an image-forward card (overrides `icon`).
12
+ * @param {number} [props.iconSize]
13
+ * @param {string} [props.image]
15
14
  * @param {string} [props.imageAlt]
16
15
  * @param {import('react').ReactNode} [props.children] Custom body, overriding title/description.
17
16
  * @param {import('react').ReactNode} props.title
18
17
  * @param {import('react').ReactNode} [props.description]
19
- * @param {string} [props.checkIcon="check"]
20
- * @param {number} [props.checkSize=18]
21
- * @param {boolean} [props.hideCheck=false] Render no selected tick. Selection then reads from the
22
- * card's border and fill alone, and the card sheds the top/bottom room the tick needed.
23
- * @param {boolean} [props.disabled=false] The card cannot change: no pointer, no hover, announced as disabled. A disabled parent fieldset does the same.
24
- * @param {'sm'|'md'|'lg'} [props.size='md'] Card size: padding, gap, icon disc, type and the
25
- * tick offset step together.
26
- * @param {'inline'|'stacked'} [props.layout='inline'] `inline` puts the icon beside the text;
27
- * `stacked` puts the icon on its own line with the title and description below it.
18
+ * @param {string} [props.checkIcon]
19
+ * @param {number} [props.checkSize]
20
+ * @param {boolean} [props.hideCheck]
21
+ * @param {boolean} [props.disabled]
22
+ * @param {'sm'|'md'|'lg'} [props.size]
23
+ * @param {'inline'|'stacked'} [props.layout]
28
24
  * @param {string} [props.className]
29
25
  */
30
26
  export default function AppChoiceCard(props: {
27
+ /** Shared form name. Cards with the same name form one group. */
31
28
  name: string;
29
+ /**
30
+ * Render as a checkbox (multi-select) rather than a radio.
31
+ * @default false
32
+ */
32
33
  multiple?: boolean;
34
+ /** The value this card submits when selected. */
33
35
  value: string;
36
+ /** Whether the card is selected. */
34
37
  checked: boolean;
35
38
  onChange: (e: import('react').ChangeEvent<HTMLInputElement>) => void;
39
+ /** Icon name. Renders linear, and switches to the solid (bold) style while the card is checked so the selected card reads at a glance. */
36
40
  icon?: string;
41
+ /** Custom icon content, used in place of icon. */
37
42
  iconNode?: import('react').ReactNode;
43
+ /** Icon glyph size in px. Defaults to the card size: 16 (sm), 18 (md), 22 (lg). */
38
44
  iconSize?: number;
45
+ /** Image URL. Renders an image-forward card (overrides icon). */
39
46
  image?: string;
47
+ /**
48
+ * Alternative text for the image.
49
+ * @default ""
50
+ */
40
51
  imageAlt?: string;
41
52
  children?: import('react').ReactNode;
53
+ /** The card title. */
42
54
  title: import('react').ReactNode;
55
+ /** Secondary text under the title. */
43
56
  description?: import('react').ReactNode;
57
+ /**
58
+ * Icon name for the selected tick.
59
+ * @default "check"
60
+ */
44
61
  checkIcon?: string;
62
+ /**
63
+ * Tick icon size in px.
64
+ * @default 18
65
+ */
45
66
  checkSize?: number;
67
+ /**
68
+ * Render no selected tick. Selection then reads from the card's border and fill alone, and the card sheds the top and bottom room the tick needed.
69
+ * @default false
70
+ */
46
71
  hideCheck?: boolean;
72
+ /**
73
+ * The card cannot change: no pointer, no hover, announced as disabled. A disabled parent fieldset does the same.
74
+ * @default false
75
+ */
47
76
  disabled?: boolean;
77
+ /**
78
+ * Card size: padding, gap, icon disc, type and the tick offset step together.
79
+ * @default "md"
80
+ */
48
81
  size?: 'sm' | 'md' | 'lg';
82
+ /**
83
+ * `inline` puts the icon beside the text; `stacked` puts the icon on its own line with the title and description below it.
84
+ * @default "inline"
85
+ */
49
86
  layout?: 'inline' | 'stacked';
87
+ /**
88
+ * Extra class names added to the card.
89
+ * @default ""
90
+ */
50
91
  className?: string;
51
92
  }): import("react").JSX.Element;
@@ -2,29 +2,49 @@
2
2
  * Selectable chip for multi/single-select pills (.choice-chip).
3
3
  *
4
4
  * @param {object} props
5
- * @param {boolean} [props.multiple=true] Checkbox (multi-select) when true, radio when false.
6
- * @param {import('react').ReactNode} [props.label] Chip text (or use `children`).
5
+ * @param {boolean} [props.multiple]
6
+ * @param {import('react').ReactNode} [props.label]
7
7
  * @param {string} [props.name]
8
8
  * @param {string} [props.value]
9
9
  * @param {boolean} props.checked
10
10
  * @param {(e: import('react').ChangeEvent<HTMLInputElement>) => void} props.onChange
11
11
  * @param {import('react').ReactNode} props.children
12
- * @param {import('react').ReactNode} [props.count] A matching-row count, e.g. "Active 12".
13
- * Shown as a small badge that inverts when the chip is selected.
14
- * @param {'sm'|'md'|'lg'} [props.size='md'] Pill size — padding, gap and font step together.
15
- * @param {boolean} [props.disabled=false] The chip dims and cannot be picked.
12
+ * @param {import('react').ReactNode} [props.count]
13
+ * @param {'sm'|'md'|'lg'} [props.size]
14
+ * @param {boolean} [props.disabled]
16
15
  * @param {string} [props.className]
17
16
  */
18
17
  export default function AppChoiceChip(props: {
18
+ /**
19
+ * Checkbox (multi-select) when true, radio when false.
20
+ * @default true
21
+ */
19
22
  multiple?: boolean;
23
+ /** Chip text. Children work in its place. */
20
24
  label?: import('react').ReactNode;
25
+ /** Shared form name. Chips with the same name form one group. */
21
26
  name?: string;
27
+ /** The value this chip submits when selected. */
22
28
  value?: string;
29
+ /** Whether the chip is selected. */
23
30
  checked: boolean;
24
31
  onChange: (e: import('react').ChangeEvent<HTMLInputElement>) => void;
25
32
  children: import('react').ReactNode;
33
+ /** A matching-row count, such as Active 12. Shown as a small badge that inverts when the chip is selected. */
26
34
  count?: import('react').ReactNode;
35
+ /**
36
+ * Pill size: padding, gap and font step together.
37
+ * @default "md"
38
+ */
27
39
  size?: 'sm' | 'md' | 'lg';
40
+ /**
41
+ * The chip dims and cannot be picked.
42
+ * @default false
43
+ */
28
44
  disabled?: boolean;
45
+ /**
46
+ * Extra class names added to the chip.
47
+ * @default ""
48
+ */
29
49
  className?: string;
30
50
  }): import("react").JSX.Element;
@@ -7,22 +7,42 @@ import "@webority/ui-elements/elements/code-block";
7
7
  * beyond 100,000 characters is shown uncoloured. Not an editor: it shows code, it does not edit it.
8
8
  *
9
9
  * @param {object} props
10
- * @param {string} props.code The source text. A single trailing newline is dropped.
11
- * @param {"text"|"json"|"js"|"cs"|"sql"|"bash"|"http"|"html"|"css"} [props.language="text"] What to colour; `text` shows it as written.
12
- * @param {boolean} [props.lineNumbers=false] Number the lines. The numbers are not copied or selected.
13
- * @param {boolean} [props.wrap=false] Wrap long lines instead of scrolling sideways.
14
- * @param {string} [props.label] The header title ("webhook.json") and the code region's accessible name. Without it the header names the language.
15
- * @param {string} [props.copyLabel="Copy"] The copy button's label.
16
- * @param {string} [props.copiedLabel="Copied"] The copy button's label for two seconds after a copy.
10
+ * @param {string} props.code
11
+ * @param {"text"|"json"|"js"|"cs"|"sql"|"bash"|"http"|"html"|"css"} [props.language]
12
+ * @param {boolean} [props.lineNumbers]
13
+ * @param {boolean} [props.wrap]
14
+ * @param {string} [props.label]
15
+ * @param {string} [props.copyLabel]
16
+ * @param {string} [props.copiedLabel]
17
17
  * @param {string} [props.className]
18
18
  */
19
19
  export default function AppCodeBlock(props: {
20
+ /** The source text. A single trailing newline is dropped. */
20
21
  code: string;
22
+ /**
23
+ * What to colour; `text` shows it as written.
24
+ * @default "text"
25
+ */
21
26
  language?: "text" | "json" | "js" | "cs" | "sql" | "bash" | "http" | "html" | "css";
27
+ /**
28
+ * Number the lines. The numbers are not copied or selected.
29
+ * @default false
30
+ */
22
31
  lineNumbers?: boolean;
32
+ /**
33
+ * Wrap long lines instead of scrolling sideways.
34
+ * @default false
35
+ */
23
36
  wrap?: boolean;
37
+ /** The header title, such as webhook.json, and the code region's accessible name. Without it the header names the language. */
24
38
  label?: string;
39
+ /** The copy button's label. It reads Copy when left out. */
25
40
  copyLabel?: string;
41
+ /** The copy button's label for two seconds after a copy. It reads Copied when left out. */
26
42
  copiedLabel?: string;
43
+ /**
44
+ * Extra class on the root.
45
+ * @default ""
46
+ */
27
47
  className?: string;
28
48
  }): import("react").JSX.Element;
@@ -10,31 +10,59 @@
10
10
  * once the value is complete rather than on every keystroke.
11
11
  *
12
12
  * @param {object} props
13
- * @param {string} props.value Hex colour, e.g. "#4F46E5".
13
+ * @param {string} [props.value]
14
14
  * @param {(hex: string) => void} props.onChange
15
15
  * @param {import('react').ReactNode} [props.label]
16
- * @param {boolean} [props.required=false]
16
+ * @param {boolean} [props.required]
17
17
  * @param {string} [props.error]
18
18
  * @param {string} [props.hint]
19
19
  * @param {string} [props.name]
20
20
  * @param {string} [props.id]
21
- * @param {boolean} [props.disabled=false]
22
- * @param {"sm"|"md"|"lg"} [props.size="md"] Control size — sm/lg opt out of the shared height,
23
- * resizing both the swatch and the hex box together.
24
- * @param {string} [props.className] Applied to the hex text input (the control).
25
- * @param {string} [props.fieldClassName] Applied to the `.field` wrapper.
21
+ * @param {boolean} [props.disabled]
22
+ * @param {"sm"|"md"|"lg"} [props.size]
23
+ * @param {string} [props.className]
24
+ * @param {string} [props.fieldClassName]
26
25
  */
27
26
  export default function AppColorField(props: {
28
- value: string;
27
+ /**
28
+ * Hex colour, for example #4F46E5.
29
+ * @default "#000000"
30
+ */
31
+ value?: string;
29
32
  onChange: (hex: string) => void;
33
+ /** The field label. */
30
34
  label?: import('react').ReactNode;
35
+ /**
36
+ * Marks the field as required.
37
+ * @default false
38
+ */
31
39
  required?: boolean;
40
+ /** Error message shown under the field. */
32
41
  error?: string;
42
+ /** Helper text shown under the field. */
33
43
  hint?: string;
44
+ /** Form field name on the text box, the control that posts. */
34
45
  name?: string;
46
+ /** Element id of the hex text box. Defaults to a generated id, not name. */
35
47
  id?: string;
48
+ /**
49
+ * The field cannot change.
50
+ * @default false
51
+ */
36
52
  disabled?: boolean;
53
+ /**
54
+ * Control size. sm and lg resize the swatch and the hex box together.
55
+ * @default "md"
56
+ */
37
57
  size?: "sm" | "md" | "lg";
58
+ /**
59
+ * Applied to the hex text input, the control.
60
+ * @default ""
61
+ */
38
62
  className?: string;
63
+ /**
64
+ * Applied to the field wrapper.
65
+ * @default ""
66
+ */
39
67
  fieldClassName?: string;
40
68
  }): import("react").JSX.Element;
@@ -4,20 +4,33 @@
4
4
  * hands the same `hiddenColumns` to `AppDataTable`. Razor counterpart: `<app-column-menu for="…" view-key="…">`.
5
5
  *
6
6
  * @param {object} props
7
- * @param {{ key: string, label: import('react').ReactNode, hideable?: boolean }[]} props.columns The table's columns.
8
- * @param {string[]} [props.hiddenColumns] Keys of the columns currently hidden.
7
+ * @param {{ key: string, label: import('react').ReactNode, hideable?: boolean }[]} props.columns
8
+ * @param {string[]} [props.hiddenColumns]
9
9
  * @param {(key: string) => void} props.onToggle Called with a column's key when its box changes.
10
- * @param {string} [props.label="Columns"] Accessible name and tooltip of the button, and the menu heading.
11
- * @param {string} [props.className] Extra classes on the menu panel.
10
+ * @param {string} [props.label]
11
+ * @param {string} [props.className]
12
12
  */
13
13
  export default function AppColumnMenu(props: {
14
+ /** The table's columns. */
14
15
  columns: {
15
16
  key: string;
16
17
  label: import('react').ReactNode;
17
18
  hideable?: boolean;
18
19
  }[];
20
+ /**
21
+ * Keys of the columns currently hidden.
22
+ * @default []
23
+ */
19
24
  hiddenColumns?: string[];
20
25
  onToggle: (key: string) => void;
26
+ /**
27
+ * Accessible name and tooltip of the button, and the menu heading.
28
+ * @default "Columns"
29
+ */
21
30
  label?: string;
31
+ /**
32
+ * Extra classes on the menu panel.
33
+ * @default ""
34
+ */
22
35
  className?: string;
23
36
  }): import("react").JSX.Element;
@@ -24,50 +24,50 @@ import "@webority/ui-elements/elements/command-palette";
24
24
  * @param {object} props
25
25
  * @param {boolean} props.open
26
26
  * @param {() => void} props.onClose Called on Escape, a backdrop click, and after a selection.
27
- * @param {string} [props.query=''] The search text (controlled).
27
+ * @param {string} [props.query]
28
28
  * @param {(value: string) => void} [props.onQueryChange] Called with the new text as the user types.
29
- * @param {string} [props.placeholder='Search…']
29
+ * @param {string} [props.placeholder]
30
30
  * @param {{ key: string, label: import('react').ReactNode, items: { key: string,
31
31
  * label: import('react').ReactNode, description?: import('react').ReactNode,
32
32
  * icon?: string | import('react').ReactNode, meta?: import('react').ReactNode,
33
33
  * disabled?: boolean, ariaLabel?: string, shortcut?: string,
34
- * page?: { key: string, label: string }, onSelect?: () => void }[] }[]} [props.groups=[]]
35
- * Results, rendered in order under their group headings. Keys must be unique within their
36
- * group; groups with no items are left out. `icon` is a library icon name or a node; `meta` is
37
- * short trailing text or a node. A `disabled` item is listed but cannot be chosen: the arrow
38
- * keys skip it. `ariaLabel` is the option's accessible name, by default a string `label`, so a
39
- * screen reader reads the name whole rather than in the pieces the search emphasis splits it
40
- * into; give it for a label passed as a node. The description and meta describe the option.
41
- * `shortcut` is the key that runs the item elsewhere ("N", "Ctrl K"), drawn as a key chip at
42
- * the end of the row; it is a hint, your page binds the key. `page` makes the item open a
43
- * nested page ({ key, label }, the label shows in the breadcrumb) instead of calling `onSelect`.
44
- * @param {{ key: string, label: string }[]} [props.path=[]] The open nested pages, outermost first
45
- * (controlled). Empty shows the first page.
34
+ * page?: { key: string, label: string }, onSelect?: () => void }[] }[]} [props.groups]
35
+ * @param {{ key: string, label: string }[]} [props.path]
46
36
  * @param {(path: { key: string, label: string }[]) => void} [props.onPathChange] Called with the
47
37
  * new path when the user opens a page, presses Back, picks a breadcrumb entry, or presses
48
38
  * Backspace in an empty search. The search is cleared with it.
49
- * @param {string} [props.rootLabel='All'] Breadcrumb text for the first page.
50
- * @param {string} [props.backLabel='Back'] Accessible name of the Back button.
51
- * @param {string} [props.recentsKey] localStorage key to remember chosen items under; omit for no
52
- * recents. Make it per user, for example from the user's public id.
53
- * @param {number} [props.recentsLimit=5] How many recent items to keep (at most 20).
54
- * @param {string} [props.recentsLabel='Recent'] Heading of the recent items.
55
- * @param {boolean} [props.loading=false] Shows the library spinner in the input.
56
- * @param {import('react').ReactNode} [props.emptyText='No results'] Shown when the query is
57
- * not blank, nothing is loading, and no group has items.
58
- * @param {import('react').ReactNode} [props.footer] Content under the list, such as key hints.
59
- * @param {string} [props.ariaLabel='Search'] Accessible name of the dialog and its input.
60
- * @param {boolean} [props.highlight=true] Bold the query inside each string label,
61
- * case-insensitively. A label given as a node renders as it is.
62
- * @param {string} [props.id] Seeds the result and heading ids; defaults to a generated id.
63
- * @param {string} [props.className] Extra classes on the dialog card.
39
+ * @param {string} [props.rootLabel]
40
+ * @param {string} [props.backLabel]
41
+ * @param {string} [props.recentsKey]
42
+ * @param {number} [props.recentsLimit]
43
+ * @param {string} [props.recentsLabel]
44
+ * @param {boolean} [props.loading]
45
+ * @param {import('react').ReactNode} [props.emptyText]
46
+ * @param {import('react').ReactNode} [props.footer]
47
+ * @param {string} [props.ariaLabel]
48
+ * @param {boolean} [props.highlight]
49
+ * @param {string} [props.id]
50
+ * @param {string} [props.className]
64
51
  */
65
52
  export default function AppCommandPalette(props: {
53
+ /** Shows the palette while true. */
66
54
  open: boolean;
67
55
  onClose: () => void;
56
+ /**
57
+ * The search text (controlled).
58
+ * @default ""
59
+ */
68
60
  query?: string;
69
61
  onQueryChange?: (value: string) => void;
62
+ /**
63
+ * The text the search field shows while it is empty.
64
+ * @default "Search…"
65
+ */
70
66
  placeholder?: string;
67
+ /**
68
+ * Results, rendered in order under their group headings; groups with no items are left out.
69
+ * @default []
70
+ */
71
71
  groups?: {
72
72
  key: string;
73
73
  label: import('react').ReactNode;
@@ -87,6 +87,10 @@ export default function AppCommandPalette(props: {
87
87
  onSelect?: () => void;
88
88
  }[];
89
89
  }[];
90
+ /**
91
+ * The open nested pages, outermost first (controlled); empty shows the first page.
92
+ * @default []
93
+ */
90
94
  path?: {
91
95
  key: string;
92
96
  label: string;
@@ -95,16 +99,55 @@ export default function AppCommandPalette(props: {
95
99
  key: string;
96
100
  label: string;
97
101
  }[]) => void;
102
+ /**
103
+ * Breadcrumb text for the first page.
104
+ * @default "All"
105
+ */
98
106
  rootLabel?: string;
107
+ /**
108
+ * Accessible name of the Back button.
109
+ * @default "Back"
110
+ */
99
111
  backLabel?: string;
112
+ /** localStorage key to remember chosen items under; omit for no recents. Make it per user, for example from the user's public id. */
100
113
  recentsKey?: string;
114
+ /**
115
+ * How many recent items to keep (at most 20).
116
+ * @default 5
117
+ */
101
118
  recentsLimit?: number;
119
+ /**
120
+ * Heading of the recent items.
121
+ * @default "Recent"
122
+ */
102
123
  recentsLabel?: string;
124
+ /**
125
+ * Shows the library spinner in the input.
126
+ * @default false
127
+ */
103
128
  loading?: boolean;
129
+ /**
130
+ * Shown when the query is not blank, nothing is loading, and no group has items.
131
+ * @default "No results"
132
+ */
104
133
  emptyText?: import('react').ReactNode;
134
+ /** Content under the list, such as key hints. */
105
135
  footer?: import('react').ReactNode;
136
+ /**
137
+ * Accessible name of the dialog and its input.
138
+ * @default "Search"
139
+ */
106
140
  ariaLabel?: string;
141
+ /**
142
+ * Bold the query inside each string label, case-insensitively. A label given as a node renders as it is.
143
+ * @default true
144
+ */
107
145
  highlight?: boolean;
146
+ /** Seeds the result and heading ids; defaults to a generated id. */
108
147
  id?: string;
148
+ /**
149
+ * Extra classes on the dialog card.
150
+ * @default ""
151
+ */
109
152
  className?: string;
110
153
  }): import("react").JSX.Element;
@@ -71,7 +71,7 @@ export type CommentThreadItem = {
71
71
  * @property {CommentThreadItem[]} [replies] Replies, oldest first. Replies to a reply are not nested.
72
72
  *
73
73
  * @param {object} props
74
- * @param {CommentThreadItem[]} [props.comments] Top-level comments, oldest first.
74
+ * @param {CommentThreadItem[]} [props.comments]
75
75
  * @param {(body: string) => unknown | Promise<unknown>} [props.onPost] A new comment.
76
76
  * @param {(parentId: string, body: string) => unknown | Promise<unknown>} [props.onReply]
77
77
  * @param {(commentId: string, body: string) => unknown | Promise<unknown>} [props.onEdit]
@@ -79,22 +79,26 @@ export type CommentThreadItem = {
79
79
  * @param {(commentId: string, emoji: string) => unknown | Promise<unknown>} [props.onReact] Toggle
80
80
  * this person's reaction.
81
81
  * @param {{ value: string, label: string, description?: string, src?: string }[]} [props.people]
82
- * The people the boxes offer after "@".
83
82
  * @param {(query: string) => Promise<{ value: string, label: string, description?: string, src?: string }[]>} [props.loadPeople]
84
83
  * Look people up instead of `people`.
85
- * @param {string[]} [props.reactionChoices] The reactions the panel offers (default 👍 ❤️ 🎉 😄 👀 🙏).
86
- * @param {boolean} [props.readOnly=false] Show the thread without the box, actions or reacting.
87
- * @param {string} [props.label="Comments"] The list's accessible name.
88
- * @param {string} [props.id] The root's id. Generated when omitted.
89
- * @param {string} [props.className] Extra classes on the root.
84
+ * @param {string[]} [props.reactionChoices]
85
+ * @param {boolean} [props.readOnly]
86
+ * @param {string} [props.label]
87
+ * @param {string} [props.id]
88
+ * @param {string} [props.className]
90
89
  */
91
90
  export default function AppCommentThread(props: {
91
+ /**
92
+ * Top-level comments, oldest first.
93
+ * @default []
94
+ */
92
95
  comments?: CommentThreadItem[];
93
96
  onPost?: (body: string) => unknown | Promise<unknown>;
94
97
  onReply?: (parentId: string, body: string) => unknown | Promise<unknown>;
95
98
  onEdit?: (commentId: string, body: string) => unknown | Promise<unknown>;
96
99
  onDelete?: (commentId: string) => unknown | Promise<unknown>;
97
100
  onReact?: (commentId: string, emoji: string) => unknown | Promise<unknown>;
101
+ /** The people the boxes offer after @. */
98
102
  people?: {
99
103
  value: string;
100
104
  label: string;
@@ -107,9 +111,23 @@ export default function AppCommentThread(props: {
107
111
  description?: string;
108
112
  src?: string;
109
113
  }[]>;
114
+ /** The reactions the panel offers. Without it the panel offers a thumbs up, heart, party, smile, eyes and folded hands. */
110
115
  reactionChoices?: string[];
116
+ /**
117
+ * Show the thread without the box, actions or reacting.
118
+ * @default false
119
+ */
111
120
  readOnly?: boolean;
121
+ /**
122
+ * The list's accessible name.
123
+ * @default "Comments"
124
+ */
112
125
  label?: string;
126
+ /** The root's id. Generated when omitted. */
113
127
  id?: string;
128
+ /**
129
+ * Extra classes on the root.
130
+ * @default ""
131
+ */
114
132
  className?: string;
115
133
  }): import("react").JSX.Element;
@@ -10,23 +10,28 @@
10
10
  * this is an editorial comparison, not a grid.
11
11
  *
12
12
  * @param {object} props
13
- * @param {{ label: string, highlight?: boolean }[]} props.columns The first column is
14
- * the feature-name column and normally has an empty label.
13
+ * @param {{ label: string, highlight?: boolean }[]} props.columns
15
14
  * @param {{ key?: string, label: string, values: (boolean|import('react').ReactNode)[] }[]} props.rows
16
- * `values` aligns with `columns` after the first (feature-name) column.
17
- * @param {string} [props.caption] Accessible description of what is being compared.
15
+ * @param {string} [props.caption]
18
16
  * @param {string} [props.className]
19
17
  */
20
18
  export default function AppCompareTable(props: {
19
+ /** The columns, including the leading capability-name column, whose label is normally empty. */
21
20
  columns: {
22
21
  label: string;
23
22
  highlight?: boolean;
24
23
  }[];
24
+ /** One row per capability. */
25
25
  rows: {
26
26
  key?: string;
27
27
  label: string;
28
28
  values: (boolean | import('react').ReactNode)[];
29
29
  }[];
30
+ /** Accessible description of what is being compared. */
30
31
  caption?: string;
32
+ /**
33
+ * Extra classes on the root.
34
+ * @default ""
35
+ */
31
36
  className?: string;
32
37
  }): import("react").JSX.Element;