@spfx-fast/sharepoint-ui 0.0.0-stage → 0.4.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 (158) hide show
  1. package/AGENTS.md +211 -0
  2. package/LICENSE +21 -0
  3. package/README.md +897 -2
  4. package/components.json +5810 -0
  5. package/dist/appearance.d.ts +6 -0
  6. package/dist/appearance.js +217 -0
  7. package/dist/elements/accordion.d.ts +9 -0
  8. package/dist/elements/accordion.js +338 -0
  9. package/dist/elements/alert.d.ts +2 -0
  10. package/dist/elements/alert.js +62 -0
  11. package/dist/elements/avatar-group-primitives.d.ts +3 -0
  12. package/dist/elements/avatar-group-primitives.js +189 -0
  13. package/dist/elements/avatar-group.d.ts +2 -0
  14. package/dist/elements/avatar-group.js +110 -0
  15. package/dist/elements/avatar.d.ts +4 -0
  16. package/dist/elements/avatar.js +251 -0
  17. package/dist/elements/badge.d.ts +8 -0
  18. package/dist/elements/badge.js +182 -0
  19. package/dist/elements/breadcrumb.d.ts +4 -0
  20. package/dist/elements/breadcrumb.js +233 -0
  21. package/dist/elements/button-group.d.ts +1 -0
  22. package/dist/elements/button-group.js +20 -0
  23. package/dist/elements/button-variants.d.ts +6 -0
  24. package/dist/elements/button-variants.js +339 -0
  25. package/dist/elements/button.d.ts +5 -0
  26. package/dist/elements/button.js +233 -0
  27. package/dist/elements/card-primitives.d.ts +3 -0
  28. package/dist/elements/card-primitives.js +83 -0
  29. package/dist/elements/card.d.ts +5 -0
  30. package/dist/elements/card.js +213 -0
  31. package/dist/elements/carousel.d.ts +92 -0
  32. package/dist/elements/carousel.js +1112 -0
  33. package/dist/elements/color-picker.d.ts +24 -0
  34. package/dist/elements/color-picker.js +1004 -0
  35. package/dist/elements/combobox.d.ts +1 -0
  36. package/dist/elements/combobox.js +1012 -0
  37. package/dist/elements/data-grid-model.d.ts +117 -0
  38. package/dist/elements/data-grid-model.js +294 -0
  39. package/dist/elements/data-grid.d.ts +29 -0
  40. package/dist/elements/data-grid.js +1567 -0
  41. package/dist/elements/date-picker.d.ts +1 -0
  42. package/dist/elements/date-picker.js +486 -0
  43. package/dist/elements/dialog.d.ts +23 -0
  44. package/dist/elements/dialog.js +409 -0
  45. package/dist/elements/divider.d.ts +2 -0
  46. package/dist/elements/divider.js +66 -0
  47. package/dist/elements/drawer.d.ts +3 -0
  48. package/dist/elements/drawer.js +308 -0
  49. package/dist/elements/field-composition.d.ts +26 -0
  50. package/dist/elements/field-composition.js +133 -0
  51. package/dist/elements/field.d.ts +1 -0
  52. package/dist/elements/field.js +67 -0
  53. package/dist/elements/file-upload.d.ts +6 -0
  54. package/dist/elements/file-upload.js +211 -0
  55. package/dist/elements/floating-position.d.ts +26 -0
  56. package/dist/elements/floating-position.js +39 -0
  57. package/dist/elements/image.d.ts +28 -0
  58. package/dist/elements/image.js +38 -0
  59. package/dist/elements/info.d.ts +9 -0
  60. package/dist/elements/info.js +102 -0
  61. package/dist/elements/input.d.ts +5 -0
  62. package/dist/elements/input.js +255 -0
  63. package/dist/elements/label.d.ts +15 -0
  64. package/dist/elements/label.js +56 -0
  65. package/dist/elements/link.d.ts +1 -0
  66. package/dist/elements/link.js +92 -0
  67. package/dist/elements/list.d.ts +19 -0
  68. package/dist/elements/list.js +297 -0
  69. package/dist/elements/menu.d.ts +33 -0
  70. package/dist/elements/menu.js +1103 -0
  71. package/dist/elements/message-bar.d.ts +10 -0
  72. package/dist/elements/message-bar.js +299 -0
  73. package/dist/elements/nav.d.ts +32 -0
  74. package/dist/elements/nav.js +791 -0
  75. package/dist/elements/overflow.d.ts +9 -0
  76. package/dist/elements/overflow.js +218 -0
  77. package/dist/elements/persona.d.ts +3 -0
  78. package/dist/elements/persona.js +124 -0
  79. package/dist/elements/popover.d.ts +77 -0
  80. package/dist/elements/popover.js +840 -0
  81. package/dist/elements/progress-bar.d.ts +4 -0
  82. package/dist/elements/progress-bar.js +82 -0
  83. package/dist/elements/radio-group.d.ts +1 -0
  84. package/dist/elements/radio-group.js +303 -0
  85. package/dist/elements/rating-display.d.ts +2 -0
  86. package/dist/elements/rating-display.js +125 -0
  87. package/dist/elements/rating.d.ts +2 -0
  88. package/dist/elements/rating.js +206 -0
  89. package/dist/elements/rich-text-editor.d.ts +18 -0
  90. package/dist/elements/rich-text-editor.js +508 -0
  91. package/dist/elements/search.d.ts +3 -0
  92. package/dist/elements/search.js +207 -0
  93. package/dist/elements/select.d.ts +6 -0
  94. package/dist/elements/select.js +291 -0
  95. package/dist/elements/shared.d.ts +19 -0
  96. package/dist/elements/shared.js +396 -0
  97. package/dist/elements/skeleton.d.ts +6 -0
  98. package/dist/elements/skeleton.js +91 -0
  99. package/dist/elements/slider.d.ts +1 -0
  100. package/dist/elements/slider.js +248 -0
  101. package/dist/elements/spin-button.d.ts +7 -0
  102. package/dist/elements/spin-button.js +499 -0
  103. package/dist/elements/spinner.d.ts +4 -0
  104. package/dist/elements/spinner.js +124 -0
  105. package/dist/elements/swatch-picker.d.ts +5 -0
  106. package/dist/elements/swatch-picker.js +363 -0
  107. package/dist/elements/table.d.ts +21 -0
  108. package/dist/elements/table.js +261 -0
  109. package/dist/elements/tabs.d.ts +1 -0
  110. package/dist/elements/tabs.js +276 -0
  111. package/dist/elements/tag-picker.d.ts +29 -0
  112. package/dist/elements/tag-picker.js +697 -0
  113. package/dist/elements/tags.d.ts +21 -0
  114. package/dist/elements/tags.js +421 -0
  115. package/dist/elements/teaching-popover.d.ts +32 -0
  116. package/dist/elements/teaching-popover.js +412 -0
  117. package/dist/elements/text.d.ts +5 -0
  118. package/dist/elements/text.js +69 -0
  119. package/dist/elements/textarea.d.ts +1 -0
  120. package/dist/elements/textarea.js +182 -0
  121. package/dist/elements/toast.d.ts +25 -0
  122. package/dist/elements/toast.js +337 -0
  123. package/dist/elements/toaster.d.ts +6 -0
  124. package/dist/elements/toaster.js +356 -0
  125. package/dist/elements/toggle.d.ts +2 -0
  126. package/dist/elements/toggle.js +246 -0
  127. package/dist/elements/toolbar.d.ts +12 -0
  128. package/dist/elements/toolbar.js +381 -0
  129. package/dist/elements/tooltip.d.ts +76 -0
  130. package/dist/elements/tooltip.js +510 -0
  131. package/dist/elements/tree-model.d.ts +19 -0
  132. package/dist/elements/tree-model.js +34 -0
  133. package/dist/elements/tree.d.ts +5 -0
  134. package/dist/elements/tree.js +273 -0
  135. package/dist/elements/view-card.d.ts +2 -0
  136. package/dist/elements/view-card.js +78 -0
  137. package/dist/elements/virtual-list.d.ts +41 -0
  138. package/dist/elements/virtual-list.js +369 -0
  139. package/dist/elements.d.ts +72 -0
  140. package/dist/elements.js +207 -0
  141. package/dist/index.d.ts +76 -0
  142. package/dist/index.js +66 -0
  143. package/dist/react-theme-styles.d.ts +2 -0
  144. package/dist/react-theme-styles.js +75 -0
  145. package/dist/react.d.ts +4540 -0
  146. package/dist/react.js +6799 -0
  147. package/dist/theme.d.ts +169 -0
  148. package/dist/theme.js +167 -0
  149. package/dist/virtualizer-hooks.d.ts +80 -0
  150. package/dist/virtualizer-hooks.js +253 -0
  151. package/package.json +87 -4
  152. package/scripts/generate-token-index.mjs +43 -0
  153. package/scripts/sync-component-catalog-signatures.mjs +55 -0
  154. package/scripts/validate-component-catalog.mjs +44 -0
  155. package/skills/sharepoint-ui/SKILL.md +12 -0
  156. package/skills/sharepoint-ui/references/choosing-components.md +20 -0
  157. package/skills/sharepoint-ui/references/sharepoint-patterns.md +17 -0
  158. package/tokens.json +3777 -0
@@ -0,0 +1,4540 @@
1
+ import * as React from "react";
2
+ import { type ButtonAppearance, type ButtonShape, type ButtonSize } from "./elements/button-variants.js";
3
+ import { type InputAppearance, type InputSize, type InputType } from "./elements/input.js";
4
+ import { type FileUploadError } from "./elements/file-upload.js";
5
+ import { type ImageFit, type ImageShape } from "./elements/image.js";
6
+ import { type FieldOrientation, type FieldValidationState } from "./elements/field-composition.js";
7
+ import { type CardAppearance, type CardFocusMode, type CardOrientation, type CardSize } from "./elements/card.js";
8
+ import { type BadgeAppearance, type BadgeColor, type BadgeShape, type BadgeSize, type PresenceBadgeStatus } from "./elements/badge.js";
9
+ import { type SpinnerAppearance, type SpinnerLabelPosition, type SpinnerSize } from "./elements/spinner.js";
10
+ export type { SpinnerAppearance, SpinnerLabelPosition, SpinnerSize } from "./elements/spinner.js";
11
+ import { type MessageBarGroupAnimation, type MessageBarIntent, type MessageBarLayout, type MessageBarPoliteness, type MessageBarShape } from "./elements/message-bar.js";
12
+ export type { DialogOpenChangeData } from "./elements/dialog.js";
13
+ export type DialogOpenChangeEvent = React.KeyboardEvent<HTMLElement> | React.MouseEvent<HTMLElement>;
14
+ export type DialogOnOpenChangeData = {
15
+ type: "escapeKeyDown";
16
+ open: boolean;
17
+ event: React.KeyboardEvent<HTMLElement>;
18
+ } | {
19
+ type: "backdropClick" | "triggerClick";
20
+ open: boolean;
21
+ event: React.MouseEvent<HTMLElement>;
22
+ };
23
+ import { type ProgressBarColor, type ProgressBarShape, type ProgressBarThickness } from "./elements/progress-bar.js";
24
+ export type { ProgressBarColor, ProgressBarShape, ProgressBarThickness } from "./elements/progress-bar.js";
25
+ export type { SpinButtonAppearance, SpinButtonSize, SpinButtonChangeData } from "./elements/spin-button.js";
26
+ import { type SkeletonAnimation, type SkeletonAppearance, type SkeletonItemSize, type SkeletonShape } from "./elements/skeleton.js";
27
+ import { type DividerAppearance } from "./elements/divider.js";
28
+ export type { DividerAppearance } from "./elements/divider.js";
29
+ import { type AccordionItemValue, type AccordionNavigation } from "./elements/accordion.js";
30
+ import { type AvatarColor } from "./elements/avatar.js";
31
+ import { type PersonaPresence, type PersonaSize } from "./elements/persona.js";
32
+ import { type VirtualListDataSource } from "./elements/virtual-list.js";
33
+ import { type DataGridCellEdit, type DataGridColumn, type DataGridDataSource, type DataGridDataSourceRow, type DataGridColumnSizingOptions, type DataGridColumnWidths, type DataGridEditValue, type DataGridFocusMode, type DataGridSelectionAppearance, type DataGridSelectionModel, type DataGridSort } from "./elements/data-grid-model.js";
34
+ import { type TreeNode } from "./elements/tree-model.js";
35
+ import { type InteractionTagSelectData, type TagAppearance, type TagGroupSelectData, type TagSize } from "./elements/tags.js";
36
+ import { type TagPickerOpenChangeType } from "./elements/tag-picker.js";
37
+ export type { TagPickerOpenChangeType, TagPickerOnOpenChangeData, TagPickerOnOptionSelectData } from "./elements/tag-picker.js";
38
+ import { type ListItemValue, type ListNavigationMode, type ListSelectionMode } from "./elements/list.js";
39
+ export type { ListItemActionData, ListItemActionEvent, ListSelectionChangeData } from "./elements/list.js";
40
+ import { type TooltipAppearance, type TooltipPositioning, type TooltipRelationship, type TooltipVisibleChangeData } from "./elements/tooltip.js";
41
+ export type { TooltipPositioning, TooltipPositioningBoundary, TooltipPositioningEndData, TooltipPositioningImperativeRef, TooltipPositioningOffset, TooltipPositioningOffsetParams, TooltipPositioningOptions, TooltipPositioningPlacement, TooltipPositioningRect, TooltipPositioningRef, TooltipPositioningShorthand, TooltipPositioningTarget, TooltipPositioningTargetRect } from "./elements/tooltip.js";
42
+ import { type PopoverOpenChangeData, type PopoverPositioning } from "./elements/popover.js";
43
+ export type { PopoverAlignment, PopoverAutoSize, PopoverBoundary, PopoverBoundaryPadding, PopoverBoundaryRect, PopoverOffset, PopoverOffsetParams, PopoverOpenChangeData, PopoverPosition, PopoverPositioning, PopoverPositioningEndData, PopoverPositioningImperativeRef, PopoverPositioningOptions, PopoverPositioningPlacement, PopoverPositioningRef, PopoverPositioningTargetRect, PopoverTarget } from "./elements/popover.js";
44
+ import { type TeachingPopoverCarouselValueChangeType } from "./elements/teaching-popover.js";
45
+ export type { TeachingPopoverCarouselValueChangeType, TeachingPopoverCarouselValueChangeDetail, TeachingPopoverFinishDetail } from "./elements/teaching-popover.js";
46
+ import { type MenuOpenChangeData } from "./elements/menu.js";
47
+ export type { MenuOpenChangeData, MenuOpenChangeType } from "./elements/menu.js";
48
+ import { type TextFont, type TextSize, type TextTag, type TextWeight } from "./elements/text.js";
49
+ import { type ToastIntent, type ToastPoliteness } from "./elements/toast.js";
50
+ import { type ToastAnnounce, type ToastPosition } from "./elements/toaster.js";
51
+ export type { ToastAnnounce, ToastAnnounceOptions } from "./elements/toaster.js";
52
+ export type { ToastAppearance } from "./elements/toast.js";
53
+ import { type SearchAppearance, type SearchSize } from "./elements/search.js";
54
+ import { type ColorPickerFormat, type ColorPickerHsvColor, type ColorPickerShape, type ColorPickerSize, type ColorSliderChannel } from "./elements/color-picker.js";
55
+ export type { ColorPickerHsvColor } from "./elements/color-picker.js";
56
+ import { type ToolbarCheckedValues } from "./elements/toolbar.js";
57
+ import { type NavItemSelectData, type NavCategoryToggleData } from "./elements/nav.js";
58
+ export type { NavItemSelectData, NavCategoryToggleData } from "./elements/nav.js";
59
+ export type NavReactItemSelectData = Omit<NavItemSelectData, "event" | "type"> & ({
60
+ type: undefined;
61
+ event: SharePointUIEvent;
62
+ } | {
63
+ type: "click";
64
+ event: React.MouseEvent<HTMLButtonElement | HTMLAnchorElement>;
65
+ });
66
+ export type NavReactCategoryToggleData = Omit<NavCategoryToggleData, "event" | "type"> & ({
67
+ type: undefined;
68
+ event: SharePointUIEvent;
69
+ } | {
70
+ type: "click";
71
+ event: React.MouseEvent<HTMLButtonElement | HTMLAnchorElement>;
72
+ });
73
+ import { type LabelSize, type LabelWeight } from "./elements/label.js";
74
+ import { type InfoPlacement } from "./elements/info.js";
75
+ import { type CarouselAlign, type CarouselAppearance, type CarouselMotion } from "./elements/carousel.js";
76
+ export type { CarouselIndexChangeData } from "./elements/carousel.js";
77
+ export type { CarouselAlign, CarouselAppearance, CarouselMotion } from "./elements/carousel.js";
78
+ import { type OverflowAxis, type OverflowState } from "./elements/overflow.js";
79
+ export type { OverflowAxis, OverflowState } from "./elements/overflow.js";
80
+ import { type SharePointUIAppearance, type SharePointUIBaseAppearance, type SharePointUIDensity, type SharePointUIStyleTokens } from "./appearance.js";
81
+ import { type FluentThemeTokens, type SharePointUIDesignTheme } from "./theme.js";
82
+ export { createResizeObserverFromDocument, getRTLRootMargin, scrollToItemDynamic, scrollToItemStatic, useDynamicVirtualizerMeasure, useIntersectionObserver, useMeasureList, useResizeObserverRef_unstable, useStaticVirtualizerMeasure } from "./virtualizer-hooks.js";
83
+ export type { IndexedResizeCallbackElement, ResizeCallbackWithRef, ScrollToItemDynamicParams, ScrollToItemStaticParams, VirtualizerContextMeasureProps, VirtualizerMeasureDynamicProps, VirtualizerMeasureProps } from "./virtualizer-hooks.js";
84
+ export { composeSharePointUIDesignThemes } from "./theme.js";
85
+ export type { FluentThemeTokens, SharePointUIDesignTheme } from "./theme.js";
86
+ export type { AvatarColor, AvatarNamedColor } from "./elements/avatar.js";
87
+ export type { SharePointUIDensity } from "./appearance.js";
88
+ export type SharePointUIEvent = Event | React.SyntheticEvent;
89
+ type MenuEventData<T> = T extends {
90
+ type: infer Type;
91
+ event: infer E;
92
+ } ? Type extends "clickOutside" | "scrollOutside" | "menuMouseEnter" ? Omit<T, "event"> & {
93
+ event: E;
94
+ } : Type extends "menuSafeZoneMouseEnter" ? Omit<T, "event"> & {
95
+ event: React.MouseEvent<Element>;
96
+ } : Omit<T, "event"> & {
97
+ event: E extends MouseEvent ? React.MouseEvent<HTMLElement> : E extends KeyboardEvent ? React.KeyboardEvent<HTMLElement> : E;
98
+ } : never;
99
+ type MenuReactOpenChangeData = MenuOpenChangeData extends infer T ? T extends MenuOpenChangeData ? MenuEventData<T> : never : never;
100
+ type MenuReactOpenChangeEvent = MenuReactOpenChangeData["event"];
101
+ type ElementProps = React.HTMLAttributes<HTMLElement> & {
102
+ [attribute: `data-${string}`]: string | number | boolean | undefined;
103
+ };
104
+ export type FieldControlProps = Pick<React.HTMLAttributes<HTMLElement>, "id" | "aria-label" | "aria-labelledby" | "aria-describedby" | "aria-description" | "aria-invalid" | "aria-required">;
105
+ export type FieldControlOptions = {
106
+ supportsLabelFor?: boolean;
107
+ supportsRequired?: boolean;
108
+ supportsSize?: boolean;
109
+ };
110
+ export type FieldContextValue = Readonly<{
111
+ generatedControlId: string;
112
+ labelText?: string;
113
+ descriptionText?: string;
114
+ orientation: FieldOrientation;
115
+ required: boolean;
116
+ size: LabelSize;
117
+ validationState: FieldValidationState;
118
+ labelFor?: string;
119
+ labelId?: string;
120
+ validationMessageId?: string;
121
+ hintId?: string;
122
+ disabled?: boolean;
123
+ }>;
124
+ /** Merge Field context into a form control or custom control's prop set. */
125
+ export declare function useFieldControlProps_unstable<T extends object>(props: T, options?: FieldControlOptions): T & FieldControlProps;
126
+ export type ToastDispatchOptions = {
127
+ id?: string;
128
+ toastId?: string;
129
+ title?: React.ReactNode;
130
+ priority?: number;
131
+ intent?: ToastIntent;
132
+ appearance?: "brand" | "inverted";
133
+ politeness?: ToastPoliteness;
134
+ timeout?: number;
135
+ dismissLabel?: string;
136
+ pauseOnHover?: boolean;
137
+ pauseOnWindowBlur?: boolean;
138
+ action?: React.ReactNode;
139
+ onAction?: (id: string) => void;
140
+ };
141
+ export type SharePointUIStrings = {
142
+ loading: string;
143
+ close: string;
144
+ dialogLabel?: string;
145
+ richTextEditorLabel?: string;
146
+ dismiss: string;
147
+ notifications?: string;
148
+ clear: string;
149
+ spinButtonIncrement?: string;
150
+ spinButtonDecrement?: string;
151
+ remove: string;
152
+ noResults: string;
153
+ selectedOptionsLabel?: string;
154
+ required: string;
155
+ invalidValue: string;
156
+ moreInformation: string;
157
+ people?: string;
158
+ showMorePeople?: string;
159
+ showFewerPeople?: string;
160
+ navigationMenu?: string;
161
+ navigationClose?: string;
162
+ navigationExpand?: string;
163
+ navigationCollapse?: string;
164
+ treeLabel?: string;
165
+ treeToggleLabel?: string;
166
+ treeEmptyMessage?: string;
167
+ splitButtonMenuLabel?: string;
168
+ navigationToggle?: string;
169
+ splitNavItemActionLabel?: string;
170
+ virtualizerLabel?: string;
171
+ dataGridLabel?: string;
172
+ dataGridFilterLabel?: string;
173
+ dataGridSelectRow?: string;
174
+ dataGridSelectAll?: string;
175
+ dataGridRowLabel?: string;
176
+ dataGridLoadingLabel?: string;
177
+ dataGridEmptyLabel?: string;
178
+ dataGridSortPriority?: string;
179
+ dataGridResizeLabel?: string;
180
+ dataGridReorderLabel?: string;
181
+ dataGridEmptyGroupLabel?: string;
182
+ dataGridExpandGroupLabel?: string;
183
+ dataGridCollapseGroupLabel?: string;
184
+ dataGridGroupCountLabel?: string;
185
+ dataGridEditHint?: string;
186
+ dataGridSelectionCopied?: string;
187
+ dataGridCopyFailed?: string;
188
+ dataGridPasteOne?: string;
189
+ dataGridPasteMany?: string;
190
+ dataGridPasteFailed?: string;
191
+ dataGridColumnReordered?: string;
192
+ tableResizeHandle?: string;
193
+ toolbarLabel?: string;
194
+ breadcrumbLabel?: string;
195
+ menuBarLabel?: string;
196
+ drawerExpand?: string;
197
+ drawerRestore?: string;
198
+ drawerLabel?: string;
199
+ drawerNavigation?: string;
200
+ tableResizeColumn?: string;
201
+ ratingValue: string;
202
+ colorChoose: string;
203
+ colorHex: string;
204
+ colorHue?: string;
205
+ colorArea?: string;
206
+ colorAreaValue?: string;
207
+ colorSaturation?: string;
208
+ colorValue?: string;
209
+ colorFormat?: string;
210
+ colorRgb?: string;
211
+ colorRed?: string;
212
+ colorGreen?: string;
213
+ colorBlue?: string;
214
+ colorOpacity: string;
215
+ colorSwatches: string;
216
+ colorAdd?: string;
217
+ colorSwatch: string;
218
+ colorInvalid: string;
219
+ richTextBold: string;
220
+ richTextItalic: string;
221
+ richTextUnderline: string;
222
+ richTextBulletList: string;
223
+ richTextNumberList: string;
224
+ richTextLink: string;
225
+ richTextToolbar: string;
226
+ richTextLinkPrompt: string;
227
+ richTextRequired?: string;
228
+ richTextChooseImage?: string;
229
+ richTextUndo?: string;
230
+ richTextRedo?: string;
231
+ richTextInsertTable?: string;
232
+ richTextInsertImage?: string;
233
+ richTextInsertRowAbove?: string;
234
+ richTextInsertRowBelow?: string;
235
+ richTextInsertColumnBefore?: string;
236
+ richTextInsertColumnAfter?: string;
237
+ richTextDeleteRow?: string;
238
+ richTextDeleteColumn?: string;
239
+ richTextDeleteTable?: string;
240
+ fileUploadBrowse?: string;
241
+ fileUploadDrop?: string;
242
+ fileUploadRemove?: string;
243
+ fileUploadSelected?: string;
244
+ fileUploadRequired?: string;
245
+ fileUploadTypeError?: string;
246
+ fileUploadSizeError?: string;
247
+ fileUploadLimitError?: string;
248
+ datePickerCalendar?: string;
249
+ datePickerPreviousMonth?: string;
250
+ datePickerNextMonth?: string;
251
+ datePickerInvalid?: string;
252
+ datePickerRequired?: string;
253
+ carouselDescription?: string;
254
+ carouselPrevious?: string;
255
+ carouselNext?: string;
256
+ carouselSlide?: string;
257
+ carouselRoleDescription?: string;
258
+ carouselSlides?: string;
259
+ carouselNavigation?: string;
260
+ carouselPlay?: string;
261
+ carouselPause?: string;
262
+ teachingPopoverLabel?: string;
263
+ teachingPopoverDismiss?: string;
264
+ teachingPopoverPrevious?: string;
265
+ teachingPopoverNext?: string;
266
+ teachingPopoverFinish?: string;
267
+ teachingPopoverSteps?: string;
268
+ teachingPopoverPageCount?: string;
269
+ teachingPopoverPageLabel?: string;
270
+ overflowDescription?: string;
271
+ overflowMenuLabel?: string;
272
+ };
273
+ export type AvatarGroupContextValue = {
274
+ size: number;
275
+ layout: "stack" | "spread" | "pie";
276
+ isOverflow?: boolean;
277
+ };
278
+ type BreadcrumbSize = "small" | "medium" | "large";
279
+ export type MenuCheckedValues = Record<string, string[]>;
280
+ export type MenuCheckedValueChangeEvent = React.MouseEvent | React.KeyboardEvent;
281
+ export type MenuCheckedValueChangeData = {
282
+ name: string;
283
+ checkedItems: string[];
284
+ };
285
+ export type ToastControllerUpdateOptions = Omit<ToastDispatchOptions, "id" | "toastId"> & {
286
+ toastId: string;
287
+ content?: React.ReactNode;
288
+ };
289
+ type ToastControllerUpdate = {
290
+ (id: string, update: {
291
+ content?: React.ReactNode;
292
+ options?: ToastDispatchOptions;
293
+ }): void;
294
+ (options: ToastControllerUpdateOptions): void;
295
+ };
296
+ type ToastControllerValue = {
297
+ dispatchToast: (content: React.ReactNode, options?: ToastDispatchOptions) => string;
298
+ updateToast: ToastControllerUpdate;
299
+ dismissToast: (id: string) => void;
300
+ dismissAllToasts: () => void;
301
+ pauseToast: (id: string) => boolean;
302
+ playToast: (id: string) => boolean;
303
+ focusNewest: () => boolean;
304
+ };
305
+ export type CarouselContextValue = {
306
+ activeIndex: number;
307
+ appearance?: CarouselAppearance;
308
+ circular: boolean;
309
+ selectPageByElement: (event: React.FocusEvent, element: HTMLElement, jump?: boolean) => number;
310
+ selectPageByDirection: (event: React.MouseEvent<HTMLButtonElement | HTMLAnchorElement>, direction: "next" | "prev") => number;
311
+ selectPageByIndex: (event: React.MouseEvent<HTMLButtonElement | HTMLAnchorElement>, value: number, jump?: boolean) => void;
312
+ subscribeForValues: (listener: (data: {
313
+ activeIndex: number;
314
+ navItemsCount: number;
315
+ groupIndexList: number[][];
316
+ slideNodes: HTMLElement[];
317
+ canLoop?: boolean;
318
+ }) => void) => () => void;
319
+ enableAutoplay: (autoplay: boolean, temporary?: boolean) => void;
320
+ resetAutoplay: () => void;
321
+ containerRef?: React.RefObject<HTMLDivElement | null>;
322
+ viewportRef?: React.RefObject<HTMLDivElement | null>;
323
+ };
324
+ export type CarouselAnnouncerFunction = (index: number, totalSlides: number, slideGroupList: number[][]) => string;
325
+ type DividerWrapper = React.ReactElement | React.HTMLAttributes<HTMLDivElement>;
326
+ type NativeMousePointerEventProps<T extends Element> = Pick<React.DOMAttributes<T>, "onAuxClick" | "onAuxClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerEnter" | "onPointerLeave" | "onPointerMove" | "onPointerMoveCapture" | "onPointerOut" | "onPointerOutCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerUp" | "onPointerUpCapture">;
327
+ type NativeAdditionalEventProps<T extends Element> = Pick<React.DOMAttributes<T>, "onInvalid" | "onInvalidCapture" | "onChange" | "onChangeCapture" | "onScroll" | "onScrollCapture" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture">;
328
+ type NativeRootEventProps<T extends Element> = Pick<React.DOMAttributes<T>, "onKeyDown" | "onKeyDownCapture" | "onKeyUp" | "onKeyUpCapture" | "onKeyPress" | "onKeyPressCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture"> & NativeMousePointerEventProps<T> & NativeAdditionalEventProps<T>;
329
+ export declare function SharePointUIProvider({ children, lang, dir, appearance, baseAppearance, density, theme, tokens, fluentTokens, strings }: React.PropsWithChildren<{
330
+ lang?: string;
331
+ dir?: "ltr" | "rtl" | "auto";
332
+ appearance?: SharePointUIAppearance;
333
+ baseAppearance?: SharePointUIBaseAppearance;
334
+ density?: SharePointUIDensity;
335
+ theme?: SharePointUIDesignTheme;
336
+ tokens?: Partial<SharePointUIStyleTokens>;
337
+ fluentTokens?: FluentThemeTokens;
338
+ strings?: Partial<SharePointUIStrings>;
339
+ }>): React.ReactElement;
340
+ export type TextProps = ElementProps & {
341
+ as?: TextTag;
342
+ size?: TextSize;
343
+ weight?: TextWeight;
344
+ font?: TextFont;
345
+ align?: "start" | "center" | "end" | "justify";
346
+ italic?: boolean;
347
+ underline?: boolean;
348
+ strikethrough?: boolean;
349
+ truncate?: boolean;
350
+ wrap?: boolean;
351
+ block?: boolean;
352
+ children?: React.ReactNode;
353
+ };
354
+ export declare const Text: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & {
355
+ [attribute: `data-${string}`]: string | number | boolean | undefined;
356
+ } & {
357
+ as?: TextTag;
358
+ size?: TextSize;
359
+ weight?: TextWeight;
360
+ font?: TextFont;
361
+ align?: "start" | "center" | "end" | "justify";
362
+ italic?: boolean;
363
+ underline?: boolean;
364
+ strikethrough?: boolean;
365
+ truncate?: boolean;
366
+ wrap?: boolean;
367
+ block?: boolean;
368
+ children?: React.ReactNode;
369
+ } & React.RefAttributes<HTMLElement>>;
370
+ export type TextPresetProps = Omit<Parameters<typeof Text>[0], "size" | "weight" | "font">;
371
+ export declare function Body1(props: TextPresetProps): React.ReactElement;
372
+ export declare function Body1Strong(props: TextPresetProps): React.ReactElement;
373
+ export declare function Body1Stronger(props: TextPresetProps): React.ReactElement;
374
+ export declare function Body2(props: TextPresetProps): React.ReactElement;
375
+ export declare function Caption1(props: TextPresetProps): React.ReactElement;
376
+ export declare function Caption1Strong(props: TextPresetProps): React.ReactElement;
377
+ export declare function Caption1Stronger(props: TextPresetProps): React.ReactElement;
378
+ export declare function Caption2(props: TextPresetProps): React.ReactElement;
379
+ export declare function Caption2Strong(props: TextPresetProps): React.ReactElement;
380
+ export declare function Display(props: TextPresetProps): React.ReactElement;
381
+ export declare function LargeTitle(props: TextPresetProps): React.ReactElement;
382
+ export declare function Subtitle1(props: TextPresetProps): React.ReactElement;
383
+ export declare function Subtitle2(props: TextPresetProps): React.ReactElement;
384
+ export declare function Subtitle2Stronger(props: TextPresetProps): React.ReactElement;
385
+ export declare function Title1(props: TextPresetProps): React.ReactElement;
386
+ export declare function Title2(props: TextPresetProps): React.ReactElement;
387
+ export declare function Title3(props: TextPresetProps): React.ReactElement;
388
+ export type LabelRequiredSlotProps = React.HTMLAttributes<HTMLSpanElement> & {
389
+ children?: React.ReactNode;
390
+ };
391
+ export type LabelRequired = boolean | React.ReactNode | LabelRequiredSlotProps;
392
+ export declare function Label({ htmlFor, size, weight, required, disabled, children, style, ...props }: React.LabelHTMLAttributes<HTMLLabelElement> & {
393
+ size?: LabelSize;
394
+ weight?: LabelWeight;
395
+ required?: LabelRequired;
396
+ disabled?: boolean;
397
+ }): React.ReactElement;
398
+ export type InfoButtonPopoverProps = {
399
+ label?: string;
400
+ placement?: InfoPlacement;
401
+ arrow?: boolean;
402
+ trapFocus?: boolean;
403
+ };
404
+ export declare const InfoButton: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & {
405
+ [attribute: `data-${string}`]: string | number | boolean | undefined;
406
+ } & {
407
+ info?: React.ReactNode;
408
+ children?: React.ReactNode;
409
+ label?: string;
410
+ placement?: InfoPlacement;
411
+ size?: "small" | "medium" | "large";
412
+ inline?: boolean;
413
+ popover?: InfoButtonPopoverProps;
414
+ open?: boolean;
415
+ onOpenChange?: (open: boolean) => void;
416
+ } & React.RefAttributes<HTMLElement>>;
417
+ export type InfoLabelLabelSlot = React.ReactElement<any> | Omit<Parameters<typeof Label>[0], "children">;
418
+ export type InfoLabelButtonSlot = React.ReactElement<any> | Omit<Parameters<typeof InfoButton>[0], "children" | "info">;
419
+ export type InfoLabelProps = React.HTMLAttributes<HTMLSpanElement> & {
420
+ children?: React.ReactNode;
421
+ info: React.ReactNode;
422
+ htmlFor?: string;
423
+ size?: LabelSize;
424
+ weight?: LabelWeight;
425
+ required?: LabelRequired;
426
+ disabled?: boolean;
427
+ infoButtonLabel?: string;
428
+ placement?: InfoPlacement;
429
+ label?: InfoLabelLabelSlot;
430
+ infoButton?: InfoLabelButtonSlot | null;
431
+ };
432
+ export declare const InfoLabel: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLSpanElement> & {
433
+ children?: React.ReactNode;
434
+ info: React.ReactNode;
435
+ htmlFor?: string;
436
+ size?: LabelSize;
437
+ weight?: LabelWeight;
438
+ required?: LabelRequired;
439
+ disabled?: boolean;
440
+ infoButtonLabel?: string;
441
+ placement?: InfoPlacement;
442
+ label?: InfoLabelLabelSlot;
443
+ infoButton?: InfoLabelButtonSlot | null;
444
+ } & React.RefAttributes<HTMLSpanElement>>;
445
+ export type ButtonContextValue = {
446
+ size?: ButtonSize;
447
+ };
448
+ export declare const ButtonContextProvider: React.Provider<ButtonContextValue | undefined>;
449
+ export declare function useButtonContext(): ButtonContextValue;
450
+ type NativeClickHostProps<T extends Element> = Omit<ElementProps, keyof NativeRootEventProps<T> | "onClick" | "onClickCapture"> & NativeRootEventProps<T> & {
451
+ onClick?: React.MouseEventHandler<T>;
452
+ onClickCapture?: React.MouseEventHandler<T>;
453
+ };
454
+ type NativeButtonHostProps = NativeClickHostProps<HTMLButtonElement>;
455
+ export type ButtonProps = NativeClickHostProps<HTMLButtonElement | HTMLAnchorElement> & {
456
+ as?: "button" | "a";
457
+ href?: string;
458
+ target?: string;
459
+ rel?: string;
460
+ download?: string | boolean;
461
+ hrefLang?: string;
462
+ referrerPolicy?: string;
463
+ form?: string;
464
+ formAction?: string;
465
+ formEncType?: string;
466
+ formMethod?: string;
467
+ formNoValidate?: boolean;
468
+ formTarget?: string;
469
+ name?: string;
470
+ value?: string | number | readonly string[];
471
+ type?: "button" | "submit" | "reset";
472
+ variant?: "primary" | "default";
473
+ appearance?: ButtonAppearance;
474
+ size?: ButtonSize;
475
+ shape?: ButtonShape;
476
+ iconOnly?: boolean;
477
+ disabled?: boolean;
478
+ disabledFocusable?: boolean;
479
+ vertical?: boolean;
480
+ icon?: React.ReactNode;
481
+ iconPosition?: "before" | "after";
482
+ };
483
+ export declare const Button: React.ForwardRefExoticComponent<Omit<ElementProps, "onClick" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onInvalid" | "onInvalidCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAuxClick" | "onAuxClickCapture" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerLeave" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture"> & Pick<React.DOMAttributes<HTMLAnchorElement | HTMLButtonElement>, "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture"> & NativeMousePointerEventProps<HTMLAnchorElement | HTMLButtonElement> & NativeAdditionalEventProps<HTMLAnchorElement | HTMLButtonElement> & {
484
+ onClick?: React.MouseEventHandler<HTMLAnchorElement | HTMLButtonElement> | undefined;
485
+ onClickCapture?: React.MouseEventHandler<HTMLAnchorElement | HTMLButtonElement> | undefined;
486
+ } & {
487
+ as?: "button" | "a";
488
+ href?: string;
489
+ target?: string;
490
+ rel?: string;
491
+ download?: string | boolean;
492
+ hrefLang?: string;
493
+ referrerPolicy?: string;
494
+ form?: string;
495
+ formAction?: string;
496
+ formEncType?: string;
497
+ formMethod?: string;
498
+ formNoValidate?: boolean;
499
+ formTarget?: string;
500
+ name?: string;
501
+ value?: string | number | readonly string[];
502
+ type?: "button" | "submit" | "reset";
503
+ variant?: "primary" | "default";
504
+ appearance?: ButtonAppearance;
505
+ size?: ButtonSize;
506
+ shape?: ButtonShape;
507
+ iconOnly?: boolean;
508
+ disabled?: boolean;
509
+ disabledFocusable?: boolean;
510
+ vertical?: boolean;
511
+ icon?: React.ReactNode;
512
+ iconPosition?: "before" | "after";
513
+ } & React.RefAttributes<HTMLElement>>;
514
+ /** A themed menu trigger. Compose it as Menu's trigger; Menu owns open state, focus, and dismissal. */
515
+ export declare const MenuButton: React.ForwardRefExoticComponent<Omit<ElementProps, "onClick" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onInvalid" | "onInvalidCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAuxClick" | "onAuxClickCapture" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerLeave" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture"> & Pick<React.DOMAttributes<HTMLButtonElement>, "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture"> & NativeMousePointerEventProps<HTMLButtonElement> & NativeAdditionalEventProps<HTMLButtonElement> & {
516
+ onClick?: React.MouseEventHandler<HTMLButtonElement> | undefined;
517
+ onClickCapture?: React.MouseEventHandler<HTMLButtonElement> | undefined;
518
+ } & {
519
+ children?: React.ReactNode;
520
+ icon?: React.ReactNode;
521
+ menuIcon?: React.ReactNode;
522
+ appearance?: ButtonAppearance;
523
+ size?: ButtonSize;
524
+ shape?: ButtonShape;
525
+ disabled?: boolean;
526
+ disabledFocusable?: boolean;
527
+ type?: "button" | "submit" | "reset";
528
+ } & React.RefAttributes<HTMLElement>>;
529
+ export declare const ButtonGroup: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & {
530
+ [attribute: `data-${string}`]: string | number | boolean | undefined;
531
+ } & {
532
+ children?: React.ReactNode;
533
+ orientation?: "horizontal" | "vertical";
534
+ label?: string;
535
+ } & React.RefAttributes<HTMLElement>>;
536
+ export declare const CompoundButton: React.ForwardRefExoticComponent<Omit<ElementProps, "onClick" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onInvalid" | "onInvalidCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAuxClick" | "onAuxClickCapture" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerLeave" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture"> & Pick<React.DOMAttributes<HTMLButtonElement>, "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture"> & NativeMousePointerEventProps<HTMLButtonElement> & NativeAdditionalEventProps<HTMLButtonElement> & {
537
+ onClick?: React.MouseEventHandler<HTMLButtonElement> | undefined;
538
+ onClickCapture?: React.MouseEventHandler<HTMLButtonElement> | undefined;
539
+ } & {
540
+ children?: React.ReactNode;
541
+ secondaryContent?: React.ReactNode;
542
+ contentContainer?: React.ReactElement;
543
+ icon?: React.ReactNode;
544
+ iconPosition?: "before" | "after";
545
+ appearance?: ButtonAppearance;
546
+ size?: ButtonSize;
547
+ shape?: ButtonShape;
548
+ disabled?: boolean;
549
+ disabledFocusable?: boolean;
550
+ } & React.RefAttributes<HTMLElement>>;
551
+ export declare const ToggleButton: React.ForwardRefExoticComponent<Omit<ElementProps, "onClick" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onInvalid" | "onInvalidCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAuxClick" | "onAuxClickCapture" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerLeave" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture"> & Pick<React.DOMAttributes<HTMLButtonElement>, "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture"> & NativeMousePointerEventProps<HTMLButtonElement> & NativeAdditionalEventProps<HTMLButtonElement> & {
552
+ onClick?: React.MouseEventHandler<HTMLButtonElement> | undefined;
553
+ onClickCapture?: React.MouseEventHandler<HTMLButtonElement> | undefined;
554
+ } & {
555
+ children?: React.ReactNode;
556
+ pressed?: boolean;
557
+ defaultPressed?: boolean;
558
+ checked?: boolean;
559
+ defaultChecked?: boolean;
560
+ isAccessible?: boolean;
561
+ onPressedChange?: (pressed: boolean) => void;
562
+ onCheckedChange?: (checked: boolean) => void;
563
+ appearance?: ButtonAppearance;
564
+ size?: ButtonSize;
565
+ shape?: ButtonShape;
566
+ disabled?: boolean;
567
+ disabledFocusable?: boolean;
568
+ icon?: React.ReactNode;
569
+ iconPosition?: "before" | "after";
570
+ name?: string;
571
+ value?: string;
572
+ } & React.RefAttributes<HTMLElement>>;
573
+ export declare const SplitButton: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & {
574
+ [attribute: `data-${string}`]: string | number | boolean | undefined;
575
+ } & {
576
+ children: React.ReactNode;
577
+ menuItems: React.ReactNode;
578
+ menuLabel?: string;
579
+ appearance?: ButtonAppearance;
580
+ size?: ButtonSize;
581
+ shape?: ButtonShape;
582
+ disabled?: boolean;
583
+ disabledFocusable?: boolean;
584
+ icon?: React.ReactNode;
585
+ iconPosition?: "before" | "after";
586
+ menuIcon?: React.ReactNode;
587
+ onClick?: React.MouseEventHandler<HTMLElement>;
588
+ primaryActionButton?: React.ReactElement | Partial<React.ComponentProps<typeof Button>>;
589
+ menuButton?: React.ReactElement | Partial<React.ComponentProps<typeof MenuButton>>;
590
+ } & React.RefAttributes<HTMLElement>>;
591
+ export type ToolbarCheckedValueChangeEvent = React.MouseEvent | React.KeyboardEvent;
592
+ export type ToolbarCheckedValueChangeData = {
593
+ name: string;
594
+ checkedItems: string[];
595
+ };
596
+ export type ToolbarProps = NativeClickHostProps<HTMLDivElement> & {
597
+ children?: React.ReactNode;
598
+ label?: string;
599
+ orientation?: "horizontal" | "vertical";
600
+ vertical?: boolean;
601
+ loop?: boolean;
602
+ size?: "small" | "medium" | "large";
603
+ checkedValues?: ToolbarCheckedValues;
604
+ defaultCheckedValues?: ToolbarCheckedValues;
605
+ onCheckedValueChange?: (event: ToolbarCheckedValueChangeEvent, data: ToolbarCheckedValueChangeData) => void;
606
+ };
607
+ export declare const Toolbar: React.ForwardRefExoticComponent<Omit<ElementProps, "onClick" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onInvalid" | "onInvalidCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAuxClick" | "onAuxClickCapture" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerLeave" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture"> & Pick<React.DOMAttributes<HTMLDivElement>, "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture"> & NativeMousePointerEventProps<HTMLDivElement> & NativeAdditionalEventProps<HTMLDivElement> & {
608
+ onClick?: React.MouseEventHandler<HTMLDivElement> | undefined;
609
+ onClickCapture?: React.MouseEventHandler<HTMLDivElement> | undefined;
610
+ } & {
611
+ children?: React.ReactNode;
612
+ label?: string;
613
+ orientation?: "horizontal" | "vertical";
614
+ vertical?: boolean;
615
+ loop?: boolean;
616
+ size?: "small" | "medium" | "large";
617
+ checkedValues?: ToolbarCheckedValues;
618
+ defaultCheckedValues?: ToolbarCheckedValues;
619
+ onCheckedValueChange?: (event: ToolbarCheckedValueChangeEvent, data: ToolbarCheckedValueChangeData) => void;
620
+ } & React.RefAttributes<HTMLElement>>;
621
+ export declare const ToolbarGroup: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & {
622
+ [attribute: `data-${string}`]: string | number | boolean | undefined;
623
+ } & {
624
+ children?: React.ReactNode;
625
+ label?: string;
626
+ } & React.RefAttributes<HTMLElement>>;
627
+ export declare const ToolbarSeparator: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & {
628
+ [attribute: `data-${string}`]: string | number | boolean | undefined;
629
+ } & React.RefAttributes<HTMLElement>>;
630
+ export declare function ToolbarButton({ children, icon, appearance, size, shape, vertical, ...props }: ElementProps & {
631
+ children?: React.ReactNode;
632
+ icon?: React.ReactNode;
633
+ appearance?: "primary" | "secondary" | "outline" | "subtle" | "transparent";
634
+ size?: "small" | "medium" | "large";
635
+ shape?: "rounded" | "circular" | "square";
636
+ vertical?: boolean;
637
+ }): React.ReactElement;
638
+ export declare function ToolbarToggleButton({ children, icon, name, value, appearance, size, shape, ...props }: ElementProps & {
639
+ children?: React.ReactNode;
640
+ icon?: React.ReactNode;
641
+ name: string;
642
+ value: string;
643
+ appearance?: "primary" | "secondary" | "outline" | "subtle" | "transparent";
644
+ size?: "small" | "medium" | "large";
645
+ shape?: "rounded" | "circular" | "square";
646
+ pressed?: boolean;
647
+ defaultPressed?: boolean;
648
+ onPressedChange?: (pressed: boolean) => void;
649
+ }): React.ReactElement;
650
+ export declare const ToolbarRadioGroup: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & {
651
+ [attribute: `data-${string}`]: string | number | boolean | undefined;
652
+ } & {
653
+ children?: React.ReactNode;
654
+ label?: string;
655
+ } & React.RefAttributes<HTMLElement>>;
656
+ export declare const ToolbarRadioButton: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & {
657
+ [attribute: `data-${string}`]: string | number | boolean | undefined;
658
+ } & {
659
+ children?: React.ReactNode;
660
+ icon?: React.ReactNode;
661
+ name: string;
662
+ value: string;
663
+ appearance?: "primary" | "subtle" | "transparent";
664
+ size?: "small" | "medium" | "large";
665
+ disabled?: boolean;
666
+ } & React.RefAttributes<HTMLElement>>;
667
+ export declare const ToolbarDivider: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & {
668
+ [attribute: `data-${string}`]: string | number | boolean | undefined;
669
+ } & {
670
+ vertical?: boolean;
671
+ wrapper?: DividerWrapper;
672
+ } & React.RefAttributes<HTMLElement>>;
673
+ type OverflowItemBaseProps = ElementProps & {
674
+ id: string;
675
+ groupId?: string;
676
+ overflowLabel?: string;
677
+ overflowContent?: React.ReactNode;
678
+ children?: React.ReactNode;
679
+ };
680
+ export type OverflowItemProps = OverflowItemBaseProps & ({
681
+ pinned: true;
682
+ priority?: never;
683
+ } | {
684
+ pinned?: false;
685
+ priority?: number;
686
+ });
687
+ export declare const OverflowItem: React.ForwardRefExoticComponent<OverflowItemProps & React.RefAttributes<HTMLElement>>;
688
+ export declare const OverflowDivider: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & {
689
+ [attribute: `data-${string}`]: string | number | boolean | undefined;
690
+ } & {
691
+ groupId: string;
692
+ children?: React.ReactNode;
693
+ } & React.RefAttributes<HTMLElement>>;
694
+ /** The native Overflow engine already observes child-list changes; this renderless marker is only needed by other implementations. */
695
+ export declare function OverflowReorderObserver(_props?: Record<string, never>): null;
696
+ export type OverflowGroupState = OverflowState["groupVisibility"][string];
697
+ export type OverflowItemEntry = {
698
+ element: HTMLElement;
699
+ id: string;
700
+ priority: number;
701
+ groupId?: string;
702
+ pinned?: boolean;
703
+ };
704
+ export type OverflowDividerEntry = {
705
+ element: HTMLElement;
706
+ groupId: string;
707
+ };
708
+ export type OverflowSnapshot = {
709
+ itemVisibility: Record<string, boolean>;
710
+ groupVisibility: Record<string, OverflowGroupState>;
711
+ invisibleItemCount: number;
712
+ };
713
+ export type OverflowContextValue = OverflowState & {
714
+ registerItem: (item: OverflowItemEntry) => () => void;
715
+ registerOverflowMenu: (element: HTMLElement) => () => void;
716
+ updateOverflow: (padding?: number) => void;
717
+ forceUpdateOverflow: () => void;
718
+ registerDivider: (divider: OverflowDividerEntry) => () => void;
719
+ containerRef?: React.RefObject<HTMLElement | null>;
720
+ getSnapshot: () => OverflowSnapshot;
721
+ subscribe: (listener: () => void) => () => void;
722
+ };
723
+ export declare function OverflowProvider({ value, children }: {
724
+ value: OverflowContextValue;
725
+ children?: React.ReactNode;
726
+ }): React.ReactElement;
727
+ export declare function useIsOverflowItemVisible(id: string): boolean;
728
+ export declare function useIsOverflowGroupVisible(id: string): OverflowGroupState;
729
+ export declare function useOverflowCount(): number;
730
+ export declare function useOverflowVisibility(): Pick<OverflowState, "itemVisibility" | "groupVisibility">;
731
+ /** Subscribe to a selected value from the latest overflow snapshot. */
732
+ export declare function useOverflowSnapshot<TSelected>(selector: (snapshot: OverflowSnapshot) => TSelected): TSelected;
733
+ export declare function useOverflowItem<TElement extends HTMLElement = HTMLElement>(id: string, priority?: number, groupId?: string, pinned?: boolean): React.RefObject<TElement | null>;
734
+ export declare function useOverflowDivider<TElement extends HTMLElement = HTMLElement>(groupId?: string): React.RefObject<TElement | null>;
735
+ export declare function useOverflowMenu<TElement extends HTMLElement = HTMLElement>(id?: string): {
736
+ ref: React.MutableRefObject<TElement | null>;
737
+ overflowCount: number;
738
+ isOverflowing: boolean;
739
+ };
740
+ export declare function Overflow({ children, label, minimumVisible, overflowDirection, overflowAxis, hasHiddenItems, overflowContent, padding, onOverflowChange, onOverflowItemSelect, ...props }: ElementProps & {
741
+ children?: React.ReactNode;
742
+ label?: string;
743
+ minimumVisible?: number;
744
+ overflowDirection?: "start" | "end";
745
+ overflowAxis?: OverflowAxis;
746
+ hasHiddenItems?: boolean;
747
+ overflowContent?: React.ReactNode;
748
+ padding?: number;
749
+ onOverflowChange?: (event: null, data: OverflowState) => void;
750
+ onOverflowItemSelect?: (id: string) => void;
751
+ }): React.ReactElement;
752
+ export type CardOnSelectionChangeEvent = React.MouseEvent | React.KeyboardEvent | React.ChangeEvent;
753
+ export type CardProps = NativeClickHostProps<HTMLDivElement> & {
754
+ appearance?: CardAppearance;
755
+ orientation?: CardOrientation;
756
+ size?: CardSize;
757
+ focusMode?: CardFocusMode;
758
+ selected?: boolean;
759
+ defaultSelected?: boolean;
760
+ disabled?: boolean;
761
+ selectionLabel?: string;
762
+ checkbox?: React.ReactElement<HTMLInputElement>;
763
+ floatingAction?: React.ReactNode;
764
+ onSelectionChange?: (event: CardOnSelectionChangeEvent, data: {
765
+ selected: boolean;
766
+ }) => void;
767
+ };
768
+ export declare const Card: React.ForwardRefExoticComponent<Omit<ElementProps, "onClick" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onInvalid" | "onInvalidCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAuxClick" | "onAuxClickCapture" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerLeave" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture"> & Pick<React.DOMAttributes<HTMLDivElement>, "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture"> & NativeMousePointerEventProps<HTMLDivElement> & NativeAdditionalEventProps<HTMLDivElement> & {
769
+ onClick?: React.MouseEventHandler<HTMLDivElement> | undefined;
770
+ onClickCapture?: React.MouseEventHandler<HTMLDivElement> | undefined;
771
+ } & {
772
+ appearance?: CardAppearance;
773
+ orientation?: CardOrientation;
774
+ size?: CardSize;
775
+ focusMode?: CardFocusMode;
776
+ selected?: boolean;
777
+ defaultSelected?: boolean;
778
+ disabled?: boolean;
779
+ selectionLabel?: string;
780
+ checkbox?: React.ReactElement<HTMLInputElement>;
781
+ floatingAction?: React.ReactNode;
782
+ onSelectionChange?: (event: CardOnSelectionChangeEvent, data: {
783
+ selected: boolean;
784
+ }) => void;
785
+ } & React.RefAttributes<HTMLElement>>;
786
+ export declare const SharePointCard: React.ForwardRefExoticComponent<Omit<ElementProps, "onClick" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onInvalid" | "onInvalidCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAuxClick" | "onAuxClickCapture" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerLeave" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture"> & Pick<React.DOMAttributes<HTMLDivElement>, "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture"> & NativeMousePointerEventProps<HTMLDivElement> & NativeAdditionalEventProps<HTMLDivElement> & {
787
+ onClick?: React.MouseEventHandler<HTMLDivElement> | undefined;
788
+ onClickCapture?: React.MouseEventHandler<HTMLDivElement> | undefined;
789
+ } & {
790
+ appearance?: CardAppearance;
791
+ orientation?: CardOrientation;
792
+ size?: CardSize;
793
+ focusMode?: CardFocusMode;
794
+ selected?: boolean;
795
+ defaultSelected?: boolean;
796
+ disabled?: boolean;
797
+ selectionLabel?: string;
798
+ checkbox?: React.ReactElement<HTMLInputElement>;
799
+ floatingAction?: React.ReactNode;
800
+ onSelectionChange?: (event: CardOnSelectionChangeEvent, data: {
801
+ selected: boolean;
802
+ }) => void;
803
+ } & React.RefAttributes<HTMLElement>>;
804
+ export type { CardAppearance, CardFocusMode, CardOrientation, CardSize };
805
+ export declare const CardHeader: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & {
806
+ [attribute: `data-${string}`]: string | number | boolean | undefined;
807
+ } & {
808
+ image?: React.ReactNode;
809
+ header?: React.ReactNode;
810
+ description?: React.ReactNode;
811
+ action?: React.ReactNode;
812
+ } & React.RefAttributes<HTMLElement>>;
813
+ export declare const CardFooter: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & {
814
+ [attribute: `data-${string}`]: string | number | boolean | undefined;
815
+ } & {
816
+ action?: React.ReactNode;
817
+ } & React.RefAttributes<HTMLElement>>;
818
+ export declare const CardPreview: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & {
819
+ [attribute: `data-${string}`]: string | number | boolean | undefined;
820
+ } & {
821
+ logo?: React.ReactNode;
822
+ } & React.RefAttributes<HTMLElement>>;
823
+ export declare const ViewCard: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & {
824
+ [attribute: `data-${string}`]: string | number | boolean | undefined;
825
+ } & {
826
+ kind: "document" | "person" | "task" | "approval" | "list-item";
827
+ title: string;
828
+ subtitle?: string;
829
+ description?: string;
830
+ } & React.RefAttributes<HTMLElement>>;
831
+ export type PresenceMotionSlotProps = {
832
+ visible: boolean;
833
+ appear?: boolean;
834
+ unmountOnExit?: boolean;
835
+ slot?: string;
836
+ children?: React.ReactNode;
837
+ };
838
+ export type DrawerSurfaceMotionSlotProps = PresenceMotionSlotProps & {
839
+ position: "start" | "end" | "top" | "bottom";
840
+ size: "small" | "medium" | "large" | "full";
841
+ dir: "ltr" | "rtl";
842
+ };
843
+ export type DrawerBackdropMotionSlotProps = PresenceMotionSlotProps & {
844
+ size: "small" | "medium" | "large" | "full";
845
+ };
846
+ export type PortalMountNode = HTMLElement | null | {
847
+ element?: HTMLElement | null;
848
+ className?: string;
849
+ };
850
+ export declare const Dialog: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & {
851
+ [attribute: `data-${string}`]: string | number | boolean | undefined;
852
+ } & {
853
+ open?: boolean;
854
+ defaultOpen?: boolean;
855
+ title?: string;
856
+ dialogLabel?: string;
857
+ modal?: boolean;
858
+ modalType?: "modal" | "non-modal" | "alert";
859
+ inertTrapFocus?: boolean;
860
+ dismissible?: boolean;
861
+ closeLabel?: string;
862
+ unmountOnClose?: boolean;
863
+ surfaceMotion?: React.ComponentType<PresenceMotionSlotProps>;
864
+ actions?: React.ReactNode;
865
+ onOpenChange?: (event: DialogOpenChangeEvent, data: DialogOnOpenChangeData) => void;
866
+ children?: React.ReactNode;
867
+ } & React.RefAttributes<HTMLElement>>;
868
+ export type DialogBackdropSlotProps = React.ReactElement | (React.HTMLAttributes<HTMLDivElement> & {
869
+ appearance?: "dimmed" | "transparent";
870
+ });
871
+ export type DialogSurfaceProps = Omit<React.HTMLAttributes<HTMLDivElement>, "children"> & {
872
+ children?: React.ReactNode;
873
+ backdrop?: DialogBackdropSlotProps;
874
+ backdropMotion?: React.ComponentType<PresenceMotionSlotProps>;
875
+ mountNode?: PortalMountNode;
876
+ };
877
+ export declare const DialogSurface: React.ForwardRefExoticComponent<Omit<React.HTMLAttributes<HTMLDivElement>, "children"> & {
878
+ children?: React.ReactNode;
879
+ backdrop?: DialogBackdropSlotProps;
880
+ backdropMotion?: React.ComponentType<PresenceMotionSlotProps>;
881
+ mountNode?: PortalMountNode;
882
+ } & React.RefAttributes<HTMLDivElement>>;
883
+ export type DialogTitleProps = Omit<React.HTMLAttributes<HTMLHeadingElement>, "children"> & {
884
+ children?: React.ReactNode;
885
+ action?: React.ReactNode;
886
+ };
887
+ export declare const DialogTitle: React.ForwardRefExoticComponent<Omit<React.HTMLAttributes<HTMLHeadingElement>, "children"> & {
888
+ children?: React.ReactNode;
889
+ action?: React.ReactNode;
890
+ } & React.RefAttributes<HTMLHeadingElement>>;
891
+ export type DialogContentProps = React.HTMLAttributes<HTMLDivElement> & {
892
+ [attribute: `data-${string}`]: string | number | boolean | undefined;
893
+ as?: React.ElementType;
894
+ children?: React.ReactNode;
895
+ };
896
+ export declare const DialogContent: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & {
897
+ [attribute: `data-${string}`]: string | number | boolean | undefined;
898
+ as?: React.ElementType;
899
+ children?: React.ReactNode;
900
+ } & React.RefAttributes<HTMLElement>>;
901
+ export type DialogBodyProps = React.HTMLAttributes<HTMLDivElement> & {
902
+ [attribute: `data-${string}`]: string | number | boolean | undefined;
903
+ as?: React.ElementType;
904
+ children?: React.ReactNode;
905
+ };
906
+ export declare const DialogBody: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & {
907
+ [attribute: `data-${string}`]: string | number | boolean | undefined;
908
+ as?: React.ElementType;
909
+ children?: React.ReactNode;
910
+ } & React.RefAttributes<HTMLElement>>;
911
+ export type DialogActionsProps = React.HTMLAttributes<HTMLDivElement> & {
912
+ [attribute: `data-${string}`]: string | number | boolean | undefined;
913
+ children?: React.ReactNode;
914
+ fluid?: boolean;
915
+ position?: "start" | "end";
916
+ };
917
+ export declare const DialogActions: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & {
918
+ [attribute: `data-${string}`]: string | number | boolean | undefined;
919
+ children?: React.ReactNode;
920
+ fluid?: boolean;
921
+ position?: "start" | "end";
922
+ } & React.RefAttributes<HTMLDivElement>>;
923
+ export type DialogTriggerChildProps = React.HTMLAttributes<HTMLElement> & {
924
+ slot?: string;
925
+ "aria-haspopup"?: React.AriaAttributes["aria-haspopup"];
926
+ };
927
+ export type DialogTriggerProps = Omit<ElementProps, "children"> & {
928
+ children?: React.ReactElement | ((props: DialogTriggerChildProps) => React.ReactElement | null) | null;
929
+ action?: "open" | "close";
930
+ disableButtonEnhancement?: boolean;
931
+ };
932
+ export declare const DialogTrigger: React.ForwardRefExoticComponent<Omit<ElementProps, "children"> & {
933
+ children?: React.ReactElement | ((props: DialogTriggerChildProps) => React.ReactElement | null) | null;
934
+ action?: "open" | "close";
935
+ disableButtonEnhancement?: boolean;
936
+ } & React.RefAttributes<HTMLElement>>;
937
+ export type DrawerProps = ElementProps & {
938
+ type?: "overlay" | "inline";
939
+ open?: boolean;
940
+ defaultOpen?: boolean;
941
+ unmountOnClose?: boolean;
942
+ separator?: boolean;
943
+ title?: string;
944
+ modal?: boolean;
945
+ modalType?: "modal" | "non-modal" | "alert";
946
+ inertTrapFocus?: boolean;
947
+ dismissible?: boolean;
948
+ position?: "start" | "end" | "top" | "bottom";
949
+ size?: "small" | "medium" | "large" | "full";
950
+ expandable?: boolean;
951
+ expanded?: boolean;
952
+ surfaceMotion?: React.ComponentType<DrawerSurfaceMotionSlotProps>;
953
+ backdropMotion?: React.ComponentType<DrawerBackdropMotionSlotProps>;
954
+ closeLabel?: string;
955
+ expandLabel?: string;
956
+ restoreLabel?: string;
957
+ actions?: React.ReactNode;
958
+ onOpenChange?: (open: boolean) => void;
959
+ onExpandedChange?: (expanded: boolean) => void;
960
+ onDismiss?: () => void;
961
+ children?: React.ReactNode;
962
+ };
963
+ export declare const Drawer: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & {
964
+ [attribute: `data-${string}`]: string | number | boolean | undefined;
965
+ } & {
966
+ type?: "overlay" | "inline";
967
+ open?: boolean;
968
+ defaultOpen?: boolean;
969
+ unmountOnClose?: boolean;
970
+ separator?: boolean;
971
+ title?: string;
972
+ modal?: boolean;
973
+ modalType?: "modal" | "non-modal" | "alert";
974
+ inertTrapFocus?: boolean;
975
+ dismissible?: boolean;
976
+ position?: "start" | "end" | "top" | "bottom";
977
+ size?: "small" | "medium" | "large" | "full";
978
+ expandable?: boolean;
979
+ expanded?: boolean;
980
+ surfaceMotion?: React.ComponentType<DrawerSurfaceMotionSlotProps>;
981
+ backdropMotion?: React.ComponentType<DrawerBackdropMotionSlotProps>;
982
+ closeLabel?: string;
983
+ expandLabel?: string;
984
+ restoreLabel?: string;
985
+ actions?: React.ReactNode;
986
+ onOpenChange?: (open: boolean) => void;
987
+ onExpandedChange?: (expanded: boolean) => void;
988
+ onDismiss?: () => void;
989
+ children?: React.ReactNode;
990
+ } & React.RefAttributes<HTMLElement>>;
991
+ export declare function DrawerHeader({ children }: {
992
+ children?: React.ReactNode;
993
+ }): React.ReactElement;
994
+ export declare function DrawerHeaderNavigation({ children, label, ...props }: ElementProps & {
995
+ children?: React.ReactNode;
996
+ label?: string;
997
+ }): React.ReactElement;
998
+ export type DrawerHeaderTitleHeadingSlot = React.ReactElement<any> | Omit<React.HTMLAttributes<HTMLElement>, "children">;
999
+ export declare function DrawerHeaderTitle({ children, action, heading, ...props }: ElementProps & {
1000
+ children?: React.ReactNode;
1001
+ action?: React.ReactNode;
1002
+ heading?: DrawerHeaderTitleHeadingSlot;
1003
+ }): React.ReactElement;
1004
+ export declare function DrawerBody({ children, ...props }: ElementProps & {
1005
+ children?: React.ReactNode;
1006
+ }): React.ReactElement;
1007
+ export declare function DrawerFooter({ children, ...props }: ElementProps & {
1008
+ children?: React.ReactNode;
1009
+ }): React.ReactElement;
1010
+ export type InlineDrawerProps = ElementProps & {
1011
+ open?: boolean;
1012
+ title?: string;
1013
+ position?: "start" | "end" | "top" | "bottom";
1014
+ size?: "small" | "medium" | "large" | "full";
1015
+ separator?: boolean;
1016
+ unmountOnClose?: boolean;
1017
+ surfaceMotion?: React.ComponentType<DrawerSurfaceMotionSlotProps>;
1018
+ actions?: React.ReactNode;
1019
+ children?: React.ReactNode;
1020
+ };
1021
+ export declare const InlineDrawer: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & {
1022
+ [attribute: `data-${string}`]: string | number | boolean | undefined;
1023
+ } & {
1024
+ open?: boolean;
1025
+ title?: string;
1026
+ position?: "start" | "end" | "top" | "bottom";
1027
+ size?: "small" | "medium" | "large" | "full";
1028
+ separator?: boolean;
1029
+ unmountOnClose?: boolean;
1030
+ surfaceMotion?: React.ComponentType<DrawerSurfaceMotionSlotProps>;
1031
+ actions?: React.ReactNode;
1032
+ children?: React.ReactNode;
1033
+ } & React.RefAttributes<HTMLElement>>;
1034
+ export type OverlayDrawerProps = Omit<Parameters<typeof Drawer>[0], "type" | "open" | "modal" | "modalType" | "inertTrapFocus" | "position" | "size" | "onOpenChange"> & {
1035
+ open?: boolean;
1036
+ defaultOpen?: boolean;
1037
+ modalType?: "modal" | "non-modal" | "alert";
1038
+ inertTrapFocus?: boolean;
1039
+ position?: "start" | "end" | "bottom";
1040
+ size?: "small" | "medium" | "large" | "full";
1041
+ onOpenChange?: (event: DialogOpenChangeEvent, data: DialogOnOpenChangeData) => void;
1042
+ };
1043
+ export declare function OverlayDrawer({ open, defaultOpen, modalType, inertTrapFocus, position, size, onOpenChange, ...props }: OverlayDrawerProps): React.ReactElement;
1044
+ export declare const ProgressBar: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & {
1045
+ [attribute: `data-${string}`]: string | number | boolean | undefined;
1046
+ } & {
1047
+ value?: number;
1048
+ max?: number;
1049
+ label?: string;
1050
+ color?: ProgressBarColor;
1051
+ shape?: ProgressBarShape;
1052
+ thickness?: ProgressBarThickness;
1053
+ bar?: React.ReactNode;
1054
+ indeterminateMotion?: React.ReactNode;
1055
+ } & React.RefAttributes<HTMLElement>>;
1056
+ export type SelectChangeEvent = React.ChangeEvent<HTMLSelectElement>;
1057
+ export type { SelectAppearance, SelectSize, SelectChangeData } from "./elements/select.js";
1058
+ export type SelectProps = Omit<NativeClickHostProps<HTMLSelectElement>, "onChange"> & {
1059
+ label?: string;
1060
+ value?: string | number | readonly string[];
1061
+ defaultValue?: string | number | readonly string[];
1062
+ autoComplete?: string;
1063
+ required?: boolean;
1064
+ disabled?: boolean;
1065
+ name?: string;
1066
+ form?: string;
1067
+ multiple?: boolean;
1068
+ size?: "small" | "medium" | "large";
1069
+ appearance?: "outline" | "underline" | "filled-darker" | "filled-lighter";
1070
+ icon?: React.ReactNode;
1071
+ select?: React.ReactElement<React.SelectHTMLAttributes<HTMLSelectElement>> | React.SelectHTMLAttributes<HTMLSelectElement>;
1072
+ onValueChange?: (value: string) => void;
1073
+ onChange?: (event: SelectChangeEvent, data: {
1074
+ value: string;
1075
+ }) => void;
1076
+ children?: React.ReactNode;
1077
+ };
1078
+ export declare const Select: React.ForwardRefExoticComponent<Omit<NativeClickHostProps<HTMLSelectElement>, "onChange"> & {
1079
+ label?: string;
1080
+ value?: string | number | readonly string[];
1081
+ defaultValue?: string | number | readonly string[];
1082
+ autoComplete?: string;
1083
+ required?: boolean;
1084
+ disabled?: boolean;
1085
+ name?: string;
1086
+ form?: string;
1087
+ multiple?: boolean;
1088
+ size?: "small" | "medium" | "large";
1089
+ appearance?: "outline" | "underline" | "filled-darker" | "filled-lighter";
1090
+ icon?: React.ReactNode;
1091
+ select?: React.ReactElement<React.SelectHTMLAttributes<HTMLSelectElement>> | React.SelectHTMLAttributes<HTMLSelectElement>;
1092
+ onValueChange?: (value: string) => void;
1093
+ onChange?: (event: SelectChangeEvent, data: {
1094
+ value: string;
1095
+ }) => void;
1096
+ children?: React.ReactNode;
1097
+ } & React.RefAttributes<HTMLElement>>;
1098
+ export type RadioGroupProps = Omit<NativeClickHostProps<HTMLDivElement>, "onChange"> & {
1099
+ label?: string;
1100
+ value?: string;
1101
+ defaultValue?: string;
1102
+ name?: string;
1103
+ form?: string;
1104
+ required?: boolean;
1105
+ disabled?: boolean;
1106
+ layout?: "vertical" | "horizontal" | "horizontal-stacked";
1107
+ orientation?: "vertical" | "horizontal";
1108
+ onValueChange?: (value: string) => void;
1109
+ onChange?: (event: React.FormEvent<HTMLDivElement>, data: {
1110
+ value: string;
1111
+ }) => void;
1112
+ };
1113
+ export declare const RadioGroup: React.ForwardRefExoticComponent<Omit<NativeClickHostProps<HTMLDivElement>, "onChange"> & {
1114
+ label?: string;
1115
+ value?: string;
1116
+ defaultValue?: string;
1117
+ name?: string;
1118
+ form?: string;
1119
+ required?: boolean;
1120
+ disabled?: boolean;
1121
+ layout?: "vertical" | "horizontal" | "horizontal-stacked";
1122
+ orientation?: "vertical" | "horizontal";
1123
+ onValueChange?: (value: string) => void;
1124
+ onChange?: (event: React.FormEvent<HTMLDivElement>, data: {
1125
+ value: string;
1126
+ }) => void;
1127
+ } & React.RefAttributes<HTMLElement>>;
1128
+ export type RadioInputSlot = React.ReactElement<React.InputHTMLAttributes<HTMLInputElement>> | React.InputHTMLAttributes<HTMLInputElement>;
1129
+ export type RadioIndicatorSlot = React.ReactElement<React.HTMLAttributes<HTMLSpanElement>> | React.HTMLAttributes<HTMLSpanElement>;
1130
+ export type RadioProps = Omit<ElementProps, "onChange"> & {
1131
+ value?: string;
1132
+ label?: React.ReactNode;
1133
+ labelPosition?: "after" | "below";
1134
+ disabled?: boolean;
1135
+ input?: RadioInputSlot;
1136
+ indicator?: RadioIndicatorSlot;
1137
+ onChange?: (event: React.ChangeEvent<HTMLInputElement>, data: {
1138
+ value: string;
1139
+ }) => void;
1140
+ children?: React.ReactNode;
1141
+ };
1142
+ export declare const Radio: React.ForwardRefExoticComponent<Omit<ElementProps, "onChange"> & {
1143
+ value?: string;
1144
+ label?: React.ReactNode;
1145
+ labelPosition?: "after" | "below";
1146
+ disabled?: boolean;
1147
+ input?: RadioInputSlot;
1148
+ indicator?: RadioIndicatorSlot;
1149
+ onChange?: (event: React.ChangeEvent<HTMLInputElement>, data: {
1150
+ value: string;
1151
+ }) => void;
1152
+ children?: React.ReactNode;
1153
+ } & React.RefAttributes<HTMLElement>>;
1154
+ export type SpinButtonChangeEvent = React.MouseEvent<HTMLButtonElement> | React.ChangeEvent<HTMLElement> | React.FocusEvent<HTMLInputElement> | React.KeyboardEvent<HTMLInputElement>;
1155
+ export type SpinButtonOnChangeData = {
1156
+ value?: number | null;
1157
+ displayValue?: string;
1158
+ };
1159
+ export type SpinButtonProps = Omit<NativeClickHostProps<HTMLInputElement>, "onChange"> & {
1160
+ label?: string;
1161
+ value?: number | null;
1162
+ defaultValue?: number | null;
1163
+ displayValue?: string;
1164
+ input?: React.ReactElement<React.InputHTMLAttributes<HTMLInputElement>> | React.InputHTMLAttributes<HTMLInputElement>;
1165
+ incrementButton?: React.ReactElement<React.ButtonHTMLAttributes<HTMLButtonElement>> | React.ButtonHTMLAttributes<HTMLButtonElement>;
1166
+ decrementButton?: React.ReactElement<React.ButtonHTMLAttributes<HTMLButtonElement>> | React.ButtonHTMLAttributes<HTMLButtonElement>;
1167
+ min?: number;
1168
+ max?: number;
1169
+ step?: number;
1170
+ stepPage?: number;
1171
+ precision?: number;
1172
+ appearance?: "outline" | "underline" | "filled-darker" | "filled-lighter";
1173
+ size?: "small" | "medium";
1174
+ incrementLabel?: string;
1175
+ decrementLabel?: string;
1176
+ name?: string;
1177
+ form?: string;
1178
+ required?: boolean;
1179
+ disabled?: boolean;
1180
+ readOnly?: boolean;
1181
+ onValueChange?: (value: number | undefined) => void;
1182
+ onChange?: (event: SpinButtonChangeEvent, data: SpinButtonOnChangeData) => void;
1183
+ };
1184
+ export declare const SpinButton: React.ForwardRefExoticComponent<Omit<NativeClickHostProps<HTMLInputElement>, "onChange"> & {
1185
+ label?: string;
1186
+ value?: number | null;
1187
+ defaultValue?: number | null;
1188
+ displayValue?: string;
1189
+ input?: React.ReactElement<React.InputHTMLAttributes<HTMLInputElement>> | React.InputHTMLAttributes<HTMLInputElement>;
1190
+ incrementButton?: React.ReactElement<React.ButtonHTMLAttributes<HTMLButtonElement>> | React.ButtonHTMLAttributes<HTMLButtonElement>;
1191
+ decrementButton?: React.ReactElement<React.ButtonHTMLAttributes<HTMLButtonElement>> | React.ButtonHTMLAttributes<HTMLButtonElement>;
1192
+ min?: number;
1193
+ max?: number;
1194
+ step?: number;
1195
+ stepPage?: number;
1196
+ precision?: number;
1197
+ appearance?: "outline" | "underline" | "filled-darker" | "filled-lighter";
1198
+ size?: "small" | "medium";
1199
+ incrementLabel?: string;
1200
+ decrementLabel?: string;
1201
+ name?: string;
1202
+ form?: string;
1203
+ required?: boolean;
1204
+ disabled?: boolean;
1205
+ readOnly?: boolean;
1206
+ onValueChange?: (value: number | undefined) => void;
1207
+ onChange?: (event: SpinButtonChangeEvent, data: SpinButtonOnChangeData) => void;
1208
+ } & React.RefAttributes<HTMLElement>>;
1209
+ export type SliderOnChangeData = {
1210
+ value: number;
1211
+ };
1212
+ export type SliderProps = Omit<NativeClickHostProps<HTMLInputElement>, "onChange"> & {
1213
+ label?: string;
1214
+ value?: number;
1215
+ defaultValue?: number;
1216
+ input?: React.ReactElement<React.InputHTMLAttributes<HTMLInputElement>> | React.InputHTMLAttributes<HTMLInputElement>;
1217
+ rail?: React.ReactNode;
1218
+ thumb?: React.ReactNode;
1219
+ min?: number;
1220
+ max?: number;
1221
+ step?: number;
1222
+ size?: "small" | "medium";
1223
+ vertical?: boolean;
1224
+ name?: string;
1225
+ form?: string;
1226
+ disabled?: boolean;
1227
+ valueText?: string;
1228
+ onValueChange?: (value: number) => void;
1229
+ onChange?: (event: React.ChangeEvent<HTMLInputElement>, data: SliderOnChangeData) => void;
1230
+ };
1231
+ export declare const Slider: React.ForwardRefExoticComponent<Omit<NativeClickHostProps<HTMLInputElement>, "onChange"> & {
1232
+ label?: string;
1233
+ value?: number;
1234
+ defaultValue?: number;
1235
+ input?: React.ReactElement<React.InputHTMLAttributes<HTMLInputElement>> | React.InputHTMLAttributes<HTMLInputElement>;
1236
+ rail?: React.ReactNode;
1237
+ thumb?: React.ReactNode;
1238
+ min?: number;
1239
+ max?: number;
1240
+ step?: number;
1241
+ size?: "small" | "medium";
1242
+ vertical?: boolean;
1243
+ name?: string;
1244
+ form?: string;
1245
+ disabled?: boolean;
1246
+ valueText?: string;
1247
+ onValueChange?: (value: number) => void;
1248
+ onChange?: (event: React.ChangeEvent<HTMLInputElement>, data: SliderOnChangeData) => void;
1249
+ } & React.RefAttributes<HTMLElement>>;
1250
+ export type DatePickerProps = NativeClickHostProps<HTMLDivElement> & {
1251
+ label?: string;
1252
+ value?: string;
1253
+ defaultValue?: string;
1254
+ min?: string;
1255
+ max?: string;
1256
+ name?: string;
1257
+ form?: string;
1258
+ placeholder?: string;
1259
+ required?: boolean;
1260
+ disabled?: boolean;
1261
+ readOnly?: boolean;
1262
+ calendarLabel?: string;
1263
+ previousMonthLabel?: string;
1264
+ nextMonthLabel?: string;
1265
+ invalidDateMessage?: string;
1266
+ requiredMessage?: string;
1267
+ onValueChange?: (value: string) => void;
1268
+ };
1269
+ export declare const DatePicker: React.ForwardRefExoticComponent<Omit<ElementProps, "onClick" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onInvalid" | "onInvalidCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAuxClick" | "onAuxClickCapture" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerLeave" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture"> & Pick<React.DOMAttributes<HTMLDivElement>, "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture"> & NativeMousePointerEventProps<HTMLDivElement> & NativeAdditionalEventProps<HTMLDivElement> & {
1270
+ onClick?: React.MouseEventHandler<HTMLDivElement> | undefined;
1271
+ onClickCapture?: React.MouseEventHandler<HTMLDivElement> | undefined;
1272
+ } & {
1273
+ label?: string;
1274
+ value?: string;
1275
+ defaultValue?: string;
1276
+ min?: string;
1277
+ max?: string;
1278
+ name?: string;
1279
+ form?: string;
1280
+ placeholder?: string;
1281
+ required?: boolean;
1282
+ disabled?: boolean;
1283
+ readOnly?: boolean;
1284
+ calendarLabel?: string;
1285
+ previousMonthLabel?: string;
1286
+ nextMonthLabel?: string;
1287
+ invalidDateMessage?: string;
1288
+ requiredMessage?: string;
1289
+ onValueChange?: (value: string) => void;
1290
+ } & React.RefAttributes<HTMLElement>>;
1291
+ export type ComboboxPositioning = "above" | "below" | "above-start" | "above-end" | "below-start" | "below-end" | {
1292
+ position?: "above" | "below";
1293
+ align?: "start" | "center" | "end";
1294
+ };
1295
+ export type ComboboxSelectionEvent = React.ChangeEvent<HTMLElement> | React.KeyboardEvent<HTMLElement> | React.MouseEvent<HTMLElement>;
1296
+ export type ComboboxOpenChangeEvent = React.MouseEvent<HTMLElement> | React.KeyboardEvent<HTMLElement> | React.FocusEvent<HTMLElement>;
1297
+ export type ComboboxActiveOptionChangeData = {
1298
+ event: React.SyntheticEvent | Event;
1299
+ type: undefined;
1300
+ previousOption: ComboboxOptionValue | null | undefined;
1301
+ nextOption: ComboboxOptionValue | null | undefined;
1302
+ } | {
1303
+ event: CustomEvent<{
1304
+ id: string;
1305
+ previousId: string | null;
1306
+ }>;
1307
+ type: "change";
1308
+ previousOption: ComboboxOptionValue | null | undefined;
1309
+ nextOption: ComboboxOptionValue | null | undefined;
1310
+ };
1311
+ export type ComboBoxProps = NativeClickHostProps<HTMLInputElement> & {
1312
+ label?: string;
1313
+ selectedLabel?: string;
1314
+ value?: string;
1315
+ defaultValue?: string;
1316
+ selectedValue?: string;
1317
+ selectedOptions?: readonly string[];
1318
+ defaultSelectedOptions?: readonly string[];
1319
+ multiselect?: boolean;
1320
+ name?: string;
1321
+ form?: string;
1322
+ input?: React.ReactElement<React.InputHTMLAttributes<HTMLInputElement>> | React.InputHTMLAttributes<HTMLInputElement>;
1323
+ listbox?: React.ReactElement;
1324
+ mountNode?: PortalMountNode;
1325
+ placeholder?: string;
1326
+ required?: boolean;
1327
+ disabled?: boolean;
1328
+ freeform?: boolean;
1329
+ allowFreeform?: boolean;
1330
+ noResults?: string;
1331
+ clearable?: boolean;
1332
+ clearIcon?: React.ReactNode;
1333
+ expandIcon?: React.ReactNode;
1334
+ defaultOpen?: boolean;
1335
+ disableAutoFocus?: boolean;
1336
+ inlinePopup?: boolean;
1337
+ open?: boolean;
1338
+ appearance?: "filled-darker" | "filled-lighter" | "outline" | "underline";
1339
+ size?: "small" | "medium" | "large";
1340
+ positioning?: ComboboxPositioning;
1341
+ children?: React.ReactNode;
1342
+ onValueChange?: (value: string) => void;
1343
+ onOptionSelect?: (event: ComboboxSelectionEvent, data: ComboboxOptionSelectData) => void;
1344
+ onSelectedOptionsChange?: (selectedOptions: string[]) => void;
1345
+ onOpenChange?: (event: ComboboxOpenChangeEvent, data: {
1346
+ open: boolean;
1347
+ }) => void;
1348
+ onActiveOptionChange?: (event: React.SyntheticEvent | Event, data: ComboboxActiveOptionChangeData) => void;
1349
+ };
1350
+ export declare const ComboBox: React.ForwardRefExoticComponent<Omit<ElementProps, "onClick" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onInvalid" | "onInvalidCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAuxClick" | "onAuxClickCapture" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerLeave" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture"> & Pick<React.DOMAttributes<HTMLInputElement>, "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture"> & NativeMousePointerEventProps<HTMLInputElement> & NativeAdditionalEventProps<HTMLInputElement> & {
1351
+ onClick?: React.MouseEventHandler<HTMLInputElement> | undefined;
1352
+ onClickCapture?: React.MouseEventHandler<HTMLInputElement> | undefined;
1353
+ } & {
1354
+ label?: string;
1355
+ selectedLabel?: string;
1356
+ value?: string;
1357
+ defaultValue?: string;
1358
+ selectedValue?: string;
1359
+ selectedOptions?: readonly string[];
1360
+ defaultSelectedOptions?: readonly string[];
1361
+ multiselect?: boolean;
1362
+ name?: string;
1363
+ form?: string;
1364
+ input?: React.ReactElement<React.InputHTMLAttributes<HTMLInputElement>> | React.InputHTMLAttributes<HTMLInputElement>;
1365
+ listbox?: React.ReactElement;
1366
+ mountNode?: PortalMountNode;
1367
+ placeholder?: string;
1368
+ required?: boolean;
1369
+ disabled?: boolean;
1370
+ freeform?: boolean;
1371
+ allowFreeform?: boolean;
1372
+ noResults?: string;
1373
+ clearable?: boolean;
1374
+ clearIcon?: React.ReactNode;
1375
+ expandIcon?: React.ReactNode;
1376
+ defaultOpen?: boolean;
1377
+ disableAutoFocus?: boolean;
1378
+ inlinePopup?: boolean;
1379
+ open?: boolean;
1380
+ appearance?: "filled-darker" | "filled-lighter" | "outline" | "underline";
1381
+ size?: "small" | "medium" | "large";
1382
+ positioning?: ComboboxPositioning;
1383
+ children?: React.ReactNode;
1384
+ onValueChange?: (value: string) => void;
1385
+ onOptionSelect?: (event: ComboboxSelectionEvent, data: ComboboxOptionSelectData) => void;
1386
+ onSelectedOptionsChange?: (selectedOptions: string[]) => void;
1387
+ onOpenChange?: (event: ComboboxOpenChangeEvent, data: {
1388
+ open: boolean;
1389
+ }) => void;
1390
+ onActiveOptionChange?: (event: React.SyntheticEvent | Event, data: ComboboxActiveOptionChangeData) => void;
1391
+ } & React.RefAttributes<HTMLElement>>;
1392
+ export declare const ComboOption: React.ForwardRefExoticComponent<{
1393
+ value: string;
1394
+ label?: string;
1395
+ disabled?: boolean;
1396
+ children?: React.ReactNode;
1397
+ } & React.RefAttributes<HTMLElement>>;
1398
+ export type ComboboxOptionSelectData = {
1399
+ optionValue: string | undefined;
1400
+ optionText: string | undefined;
1401
+ selectedOptions: string[];
1402
+ };
1403
+ export type ComboboxOptionValue = {
1404
+ disabled?: boolean;
1405
+ id: string;
1406
+ text: string;
1407
+ value: string;
1408
+ };
1409
+ export type ComboboxContextValue = {
1410
+ activeOption?: ComboboxOptionValue;
1411
+ appearance: NonNullable<DropdownProps["appearance"]>;
1412
+ focusVisible: boolean;
1413
+ open: boolean;
1414
+ registerOption: (option: ComboboxOptionValue, element: HTMLElement) => () => void;
1415
+ selectedOptions: string[];
1416
+ selectOption: (event: ComboboxSelectionEvent, option: ComboboxOptionValue) => void;
1417
+ setActiveOption: React.Dispatch<React.SetStateAction<ComboboxOptionValue | undefined>>;
1418
+ setOpen: (event: ComboboxOpenChangeEvent, open: boolean) => void;
1419
+ size: NonNullable<DropdownProps["size"]>;
1420
+ };
1421
+ export type ComboboxProviderValue = Partial<Omit<ComboboxContextValue, "selectedOptions">> & {
1422
+ value?: string;
1423
+ selectedOptions?: readonly string[];
1424
+ setValue?: (value: string | undefined) => void;
1425
+ onValueChange?: (value: string) => void;
1426
+ onOpenChange?: (open: boolean) => void;
1427
+ onOptionSelect?: (event: ComboboxSelectionEvent, data: ComboboxOptionSelectData) => void;
1428
+ };
1429
+ /** Supply shared value and selection callbacks to composed options. */
1430
+ export declare function ComboboxProvider({ value, children }: {
1431
+ value: ComboboxProviderValue;
1432
+ children?: React.ReactNode;
1433
+ }): React.ReactElement;
1434
+ export type DropdownProps = NativeClickHostProps<HTMLInputElement> & {
1435
+ label?: string;
1436
+ button?: React.ReactNode;
1437
+ appearance?: "filled-darker" | "filled-lighter" | "outline" | "underline";
1438
+ clearable?: boolean;
1439
+ clearButton?: React.ReactNode;
1440
+ defaultOpen?: boolean;
1441
+ defaultValue?: string;
1442
+ disableAutoFocus?: boolean;
1443
+ defaultSelectedOptions?: string[];
1444
+ inlinePopup?: boolean;
1445
+ listbox?: React.ReactElement;
1446
+ mountNode?: PortalMountNode;
1447
+ multiselect?: boolean;
1448
+ form?: string;
1449
+ onOpenChange?: (event: ComboboxOpenChangeEvent, data: {
1450
+ open: boolean;
1451
+ }) => void;
1452
+ onOptionSelect?: (event: ComboboxSelectionEvent, data: ComboboxOptionSelectData) => void;
1453
+ onActiveOptionChange?: (event: React.SyntheticEvent | Event, data: ComboboxActiveOptionChangeData) => void;
1454
+ expandIcon?: React.ReactNode;
1455
+ open?: boolean;
1456
+ placeholder?: string;
1457
+ positioning?: ComboboxPositioning;
1458
+ selectedOptions?: string[];
1459
+ size?: "small" | "medium" | "large";
1460
+ value?: string;
1461
+ disabled?: boolean;
1462
+ children?: React.ReactNode;
1463
+ };
1464
+ /** Selection-only combobox that shares the theme, form, and keyboard engine with ComboBox. */
1465
+ export declare const Dropdown: React.ForwardRefExoticComponent<Omit<ElementProps, "onClick" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onInvalid" | "onInvalidCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAuxClick" | "onAuxClickCapture" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerLeave" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture"> & Pick<React.DOMAttributes<HTMLInputElement>, "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture"> & NativeMousePointerEventProps<HTMLInputElement> & NativeAdditionalEventProps<HTMLInputElement> & {
1466
+ onClick?: React.MouseEventHandler<HTMLInputElement> | undefined;
1467
+ onClickCapture?: React.MouseEventHandler<HTMLInputElement> | undefined;
1468
+ } & {
1469
+ label?: string;
1470
+ button?: React.ReactNode;
1471
+ appearance?: "filled-darker" | "filled-lighter" | "outline" | "underline";
1472
+ clearable?: boolean;
1473
+ clearButton?: React.ReactNode;
1474
+ defaultOpen?: boolean;
1475
+ defaultValue?: string;
1476
+ disableAutoFocus?: boolean;
1477
+ defaultSelectedOptions?: string[];
1478
+ inlinePopup?: boolean;
1479
+ listbox?: React.ReactElement;
1480
+ mountNode?: PortalMountNode;
1481
+ multiselect?: boolean;
1482
+ form?: string;
1483
+ onOpenChange?: (event: ComboboxOpenChangeEvent, data: {
1484
+ open: boolean;
1485
+ }) => void;
1486
+ onOptionSelect?: (event: ComboboxSelectionEvent, data: ComboboxOptionSelectData) => void;
1487
+ onActiveOptionChange?: (event: React.SyntheticEvent | Event, data: ComboboxActiveOptionChangeData) => void;
1488
+ expandIcon?: React.ReactNode;
1489
+ open?: boolean;
1490
+ placeholder?: string;
1491
+ positioning?: ComboboxPositioning;
1492
+ selectedOptions?: string[];
1493
+ size?: "small" | "medium" | "large";
1494
+ value?: string;
1495
+ disabled?: boolean;
1496
+ children?: React.ReactNode;
1497
+ } & React.RefAttributes<HTMLElement>>;
1498
+ export type ListboxProps = ElementProps & {
1499
+ children?: React.ReactNode;
1500
+ selectedOptions?: string[];
1501
+ defaultSelectedOptions?: string[];
1502
+ multiselect?: boolean;
1503
+ disableAutoFocus?: boolean;
1504
+ onOptionSelect?: (event: ComboboxSelectionEvent, data: ComboboxOptionSelectData) => void;
1505
+ };
1506
+ /** Standalone keyboard-operable listbox for composing selectable Option elements. */
1507
+ export declare const Listbox: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & {
1508
+ [attribute: `data-${string}`]: string | number | boolean | undefined;
1509
+ } & {
1510
+ children?: React.ReactNode;
1511
+ selectedOptions?: string[];
1512
+ defaultSelectedOptions?: string[];
1513
+ multiselect?: boolean;
1514
+ disableAutoFocus?: boolean;
1515
+ onOptionSelect?: (event: ComboboxSelectionEvent, data: ComboboxOptionSelectData) => void;
1516
+ } & React.RefAttributes<HTMLDivElement>>;
1517
+ export type OptionProps = ElementProps & {
1518
+ value?: string;
1519
+ text?: string;
1520
+ disabled?: boolean;
1521
+ checkIcon?: React.ReactNode;
1522
+ children?: React.ReactNode;
1523
+ };
1524
+ /** Option for Dropdown/ComboBox or a standalone Listbox. */
1525
+ export declare const Option: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & {
1526
+ [attribute: `data-${string}`]: string | number | boolean | undefined;
1527
+ } & {
1528
+ value?: string;
1529
+ text?: string;
1530
+ disabled?: boolean;
1531
+ checkIcon?: React.ReactNode;
1532
+ children?: React.ReactNode;
1533
+ } & React.RefAttributes<HTMLElement>>;
1534
+ export type OptionGroupProps = ElementProps & {
1535
+ label?: string;
1536
+ children?: React.ReactNode;
1537
+ };
1538
+ /** Group related options under an accessible label. */
1539
+ export declare const OptionGroup: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & {
1540
+ [attribute: `data-${string}`]: string | number | boolean | undefined;
1541
+ } & {
1542
+ label?: string;
1543
+ children?: React.ReactNode;
1544
+ } & React.RefAttributes<HTMLElement>>;
1545
+ export type RichTextEditorProps = NativeClickHostProps<HTMLDivElement> & {
1546
+ label?: string;
1547
+ editorLabel?: string;
1548
+ value?: string;
1549
+ defaultValue?: string;
1550
+ placeholder?: string;
1551
+ disabled?: boolean;
1552
+ readOnly?: boolean;
1553
+ required?: boolean;
1554
+ name?: string;
1555
+ form?: string;
1556
+ onValueChange?: (html: string) => void;
1557
+ onImageUpload?: (file: File) => Promise<string>;
1558
+ };
1559
+ export declare const RichTextEditor: React.ForwardRefExoticComponent<Omit<ElementProps, "onClick" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onInvalid" | "onInvalidCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAuxClick" | "onAuxClickCapture" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerLeave" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture"> & Pick<React.DOMAttributes<HTMLDivElement>, "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture"> & NativeMousePointerEventProps<HTMLDivElement> & NativeAdditionalEventProps<HTMLDivElement> & {
1560
+ onClick?: React.MouseEventHandler<HTMLDivElement> | undefined;
1561
+ onClickCapture?: React.MouseEventHandler<HTMLDivElement> | undefined;
1562
+ } & {
1563
+ label?: string;
1564
+ editorLabel?: string;
1565
+ value?: string;
1566
+ defaultValue?: string;
1567
+ placeholder?: string;
1568
+ disabled?: boolean;
1569
+ readOnly?: boolean;
1570
+ required?: boolean;
1571
+ name?: string;
1572
+ form?: string;
1573
+ onValueChange?: (html: string) => void;
1574
+ onImageUpload?: (file: File) => Promise<string>;
1575
+ } & React.RefAttributes<HTMLElement>>;
1576
+ export type BadgeProps = ElementProps & {
1577
+ children?: React.ReactNode;
1578
+ icon?: React.ReactNode;
1579
+ appearance?: BadgeAppearance;
1580
+ color?: BadgeColor;
1581
+ iconPosition?: "before" | "after";
1582
+ shape?: BadgeShape;
1583
+ size?: BadgeSize;
1584
+ };
1585
+ export declare const Badge: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & {
1586
+ [attribute: `data-${string}`]: string | number | boolean | undefined;
1587
+ } & {
1588
+ children?: React.ReactNode;
1589
+ icon?: React.ReactNode;
1590
+ appearance?: BadgeAppearance;
1591
+ color?: BadgeColor;
1592
+ iconPosition?: "before" | "after";
1593
+ shape?: BadgeShape;
1594
+ size?: BadgeSize;
1595
+ } & React.RefAttributes<HTMLElement>>;
1596
+ export declare const CounterBadge: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & {
1597
+ [attribute: `data-${string}`]: string | number | boolean | undefined;
1598
+ } & {
1599
+ count?: number;
1600
+ dot?: boolean;
1601
+ overflowCount?: number;
1602
+ showZero?: boolean;
1603
+ appearance?: "filled" | "ghost";
1604
+ color?: Extract<BadgeColor, "brand" | "danger" | "important" | "informative">;
1605
+ shape?: "circular" | "rounded";
1606
+ size?: BadgeSize;
1607
+ icon?: React.ReactNode;
1608
+ iconPosition?: "before" | "after";
1609
+ } & React.RefAttributes<HTMLElement>>;
1610
+ export declare const PresenceBadge: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & {
1611
+ [attribute: `data-${string}`]: string | number | boolean | undefined;
1612
+ } & {
1613
+ status?: PresenceBadgeStatus;
1614
+ outOfOffice?: boolean;
1615
+ size?: BadgeSize;
1616
+ icon?: React.ReactNode;
1617
+ } & React.RefAttributes<HTMLElement>>;
1618
+ export type TagProps = ElementProps & {
1619
+ children?: React.ReactNode;
1620
+ appearance?: "filled" | "outline" | "brand";
1621
+ size?: "extra-small" | "small" | "medium" | "large";
1622
+ shape?: "rounded" | "circular";
1623
+ color?: "neutral" | "success" | "warning" | "danger" | "informative";
1624
+ value?: string;
1625
+ label?: string;
1626
+ disabled?: boolean;
1627
+ selected?: boolean;
1628
+ dismissible?: boolean;
1629
+ dismissLabel?: string;
1630
+ onDismiss?: (value: string, label: string) => void;
1631
+ media?: React.ReactNode;
1632
+ icon?: React.ReactNode;
1633
+ primaryText?: React.ReactNode;
1634
+ secondaryText?: React.ReactNode;
1635
+ dismissIcon?: React.ReactNode;
1636
+ };
1637
+ export declare const Tag: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & {
1638
+ [attribute: `data-${string}`]: string | number | boolean | undefined;
1639
+ } & {
1640
+ children?: React.ReactNode;
1641
+ appearance?: "filled" | "outline" | "brand";
1642
+ size?: "extra-small" | "small" | "medium" | "large";
1643
+ shape?: "rounded" | "circular";
1644
+ color?: "neutral" | "success" | "warning" | "danger" | "informative";
1645
+ value?: string;
1646
+ label?: string;
1647
+ disabled?: boolean;
1648
+ selected?: boolean;
1649
+ dismissible?: boolean;
1650
+ dismissLabel?: string;
1651
+ onDismiss?: (value: string, label: string) => void;
1652
+ media?: React.ReactNode;
1653
+ icon?: React.ReactNode;
1654
+ primaryText?: React.ReactNode;
1655
+ secondaryText?: React.ReactNode;
1656
+ dismissIcon?: React.ReactNode;
1657
+ } & React.RefAttributes<HTMLElement>>;
1658
+ export declare const InteractionTag: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & {
1659
+ [attribute: `data-${string}`]: string | number | boolean | undefined;
1660
+ } & {
1661
+ children?: React.ReactNode;
1662
+ appearance?: "filled" | "outline" | "brand";
1663
+ size?: "extra-small" | "small" | "medium";
1664
+ shape?: "rounded" | "circular";
1665
+ value?: string;
1666
+ label?: string;
1667
+ disabled?: boolean;
1668
+ selected?: boolean;
1669
+ onTagSelect?: (event: Event, data: InteractionTagSelectData) => void;
1670
+ onDismiss?: (event: TagDismissEvent, data: {
1671
+ value: string;
1672
+ }) => void;
1673
+ } & React.RefAttributes<HTMLElement>>;
1674
+ export declare const InteractionTagPrimary: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & {
1675
+ [attribute: `data-${string}`]: string | number | boolean | undefined;
1676
+ } & {
1677
+ children?: React.ReactNode;
1678
+ media?: React.ReactNode;
1679
+ icon?: React.ReactNode;
1680
+ primaryText?: React.ReactNode;
1681
+ secondaryText?: React.ReactNode;
1682
+ hasSecondaryAction?: boolean;
1683
+ } & React.RefAttributes<HTMLElement>>;
1684
+ export declare const InteractionTagSecondary: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & {
1685
+ [attribute: `data-${string}`]: string | number | boolean | undefined;
1686
+ } & {
1687
+ children?: React.ReactNode;
1688
+ label?: string;
1689
+ } & React.RefAttributes<HTMLElement>>;
1690
+ export type TagDismissEvent = React.MouseEvent | React.KeyboardEvent;
1691
+ export type TagGroupReactSelectData = Omit<TagGroupSelectData, "event" | "type"> & ({
1692
+ event: SharePointUIEvent;
1693
+ type: undefined;
1694
+ } | {
1695
+ event: React.MouseEvent<HTMLButtonElement>;
1696
+ type: "click";
1697
+ });
1698
+ export declare const TagGroup: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & {
1699
+ [attribute: `data-${string}`]: string | number | boolean | undefined;
1700
+ } & {
1701
+ children?: React.ReactNode;
1702
+ orientation?: "horizontal" | "vertical";
1703
+ label?: string;
1704
+ appearance?: TagAppearance;
1705
+ size?: TagSize;
1706
+ disabled?: boolean;
1707
+ dismissible?: boolean;
1708
+ selectedValues?: string[];
1709
+ defaultSelectedValues?: string[];
1710
+ onTagSelect?: (event: SharePointUIEvent, data: TagGroupReactSelectData) => void;
1711
+ onDismiss?: (event: TagDismissEvent, data: {
1712
+ value: string;
1713
+ }) => void;
1714
+ } & React.RefAttributes<HTMLElement>>;
1715
+ type TagPickerReactOpenChangeData = {
1716
+ open: boolean;
1717
+ reason: string;
1718
+ } & ({
1719
+ type: undefined;
1720
+ event: SharePointUIEvent;
1721
+ } | {
1722
+ type: "click";
1723
+ event: React.MouseEvent<HTMLDivElement>;
1724
+ } | {
1725
+ type: "keydown";
1726
+ event: React.KeyboardEvent<HTMLDivElement>;
1727
+ } | {
1728
+ type: Exclude<TagPickerOpenChangeType, "click" | "keydown" | "programmatic">;
1729
+ event: SharePointUIEvent;
1730
+ } | {
1731
+ type: "programmatic";
1732
+ event: Event;
1733
+ });
1734
+ type TagPickerReactOptionSelectData = {
1735
+ value: string;
1736
+ selectedOptions: string[];
1737
+ } & ({
1738
+ type: undefined;
1739
+ event: SharePointUIEvent;
1740
+ } | {
1741
+ type: "click";
1742
+ event: React.MouseEvent<HTMLDivElement>;
1743
+ } | {
1744
+ type: "keydown";
1745
+ event: React.KeyboardEvent<HTMLDivElement>;
1746
+ });
1747
+ export type TagPickerProps = Omit<ElementProps, "onChange"> & {
1748
+ children?: React.ReactNode;
1749
+ label?: string;
1750
+ selectedLabel?: string;
1751
+ form?: string;
1752
+ disabled?: boolean;
1753
+ selectedOptions?: readonly string[];
1754
+ defaultSelectedOptions?: readonly string[];
1755
+ selectedValues?: readonly string[];
1756
+ defaultSelectedValues?: readonly string[];
1757
+ inputValue?: string;
1758
+ open?: boolean;
1759
+ defaultOpen?: boolean;
1760
+ positioning?: TooltipPositioning;
1761
+ disableAutoFocus?: boolean;
1762
+ inline?: boolean;
1763
+ noPopover?: boolean;
1764
+ onOpenChange?: (event: SharePointUIEvent, data: TagPickerReactOpenChangeData) => void;
1765
+ onOptionSelect?: (event: SharePointUIEvent, data: TagPickerReactOptionSelectData) => void;
1766
+ onInputValueChange?: (value: string) => void;
1767
+ onChange?: (values: string[]) => void;
1768
+ };
1769
+ export declare const TagPicker: React.ForwardRefExoticComponent<Omit<ElementProps, "onChange"> & {
1770
+ children?: React.ReactNode;
1771
+ label?: string;
1772
+ selectedLabel?: string;
1773
+ form?: string;
1774
+ disabled?: boolean;
1775
+ selectedOptions?: readonly string[];
1776
+ defaultSelectedOptions?: readonly string[];
1777
+ selectedValues?: readonly string[];
1778
+ defaultSelectedValues?: readonly string[];
1779
+ inputValue?: string;
1780
+ open?: boolean;
1781
+ defaultOpen?: boolean;
1782
+ positioning?: TooltipPositioning;
1783
+ disableAutoFocus?: boolean;
1784
+ inline?: boolean;
1785
+ noPopover?: boolean;
1786
+ onOpenChange?: (event: SharePointUIEvent, data: TagPickerReactOpenChangeData) => void;
1787
+ onOptionSelect?: (event: SharePointUIEvent, data: TagPickerReactOptionSelectData) => void;
1788
+ onInputValueChange?: (value: string) => void;
1789
+ onChange?: (values: string[]) => void;
1790
+ } & React.RefAttributes<HTMLElement>>;
1791
+ export declare function TagPickerControl({ children, secondaryAction, expandIcon }: ElementProps & {
1792
+ children?: React.ReactNode;
1793
+ secondaryAction?: React.ReactNode;
1794
+ expandIcon?: React.ReactNode;
1795
+ }): React.ReactElement;
1796
+ export declare const TagPickerGroup: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & {
1797
+ [attribute: `data-${string}`]: string | number | boolean | undefined;
1798
+ } & {
1799
+ children?: React.ReactNode;
1800
+ label?: string;
1801
+ } & React.RefAttributes<HTMLElement>>;
1802
+ export declare const TagPickerInput: React.ForwardRefExoticComponent<Omit<ElementProps, "children"> & {
1803
+ value?: string;
1804
+ placeholder?: string;
1805
+ disabled?: boolean;
1806
+ clearable?: boolean;
1807
+ appearance?: "filled-darker" | "filled-lighter" | "outline" | "underline";
1808
+ onValueChange?: (value: string) => void;
1809
+ } & React.RefAttributes<HTMLElement>>;
1810
+ export declare function TagPickerList({ children }: ElementProps & {
1811
+ children?: React.ReactNode;
1812
+ disableAutoFocus?: boolean;
1813
+ }): React.ReactElement;
1814
+ export declare function TagPickerButton({ children, appearance, size, disabled, ...props }: ElementProps & {
1815
+ children?: React.ReactNode;
1816
+ appearance?: "filled-darker" | "filled-lighter" | "outline" | "underline";
1817
+ size?: "small" | "medium" | "large";
1818
+ disabled?: boolean;
1819
+ }): React.ReactElement;
1820
+ export declare const TagPickerOption: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & {
1821
+ [attribute: `data-${string}`]: string | number | boolean | undefined;
1822
+ } & {
1823
+ value: string;
1824
+ text?: string;
1825
+ label?: string;
1826
+ group?: string;
1827
+ media?: React.ReactNode;
1828
+ secondaryContent?: React.ReactNode;
1829
+ disabled?: boolean;
1830
+ children?: React.ReactNode;
1831
+ } & React.RefAttributes<HTMLElement>>;
1832
+ export declare const TagPickerOptionGroup: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & {
1833
+ [attribute: `data-${string}`]: string | number | boolean | undefined;
1834
+ } & {
1835
+ children?: React.ReactNode;
1836
+ label: string;
1837
+ disabled?: boolean;
1838
+ } & React.RefAttributes<HTMLElement>>;
1839
+ export type RatingOnChangeData = {
1840
+ value: number;
1841
+ } & ({
1842
+ event: SharePointUIEvent;
1843
+ type: undefined;
1844
+ } | {
1845
+ event: React.FormEvent<HTMLDivElement>;
1846
+ type: "change";
1847
+ });
1848
+ export type RatingInputSlot = React.ReactElement<any> | Omit<React.InputHTMLAttributes<HTMLInputElement>, "type" | "name" | "value" | "checked" | "disabled" | "required">;
1849
+ export type RatingProps = Omit<ElementProps, "onChange"> & {
1850
+ value?: number;
1851
+ defaultValue?: number;
1852
+ max?: number;
1853
+ step?: 0.5 | 1;
1854
+ size?: "small" | "medium" | "large" | "extra-large";
1855
+ color?: "brand" | "marigold" | "neutral";
1856
+ label?: string;
1857
+ itemLabel?: (rating: number) => string;
1858
+ iconFilled?: React.ElementType;
1859
+ iconOutline?: React.ElementType;
1860
+ fullValueInput?: RatingInputSlot;
1861
+ halfValueInput?: RatingInputSlot;
1862
+ name?: string;
1863
+ form?: string;
1864
+ disabled?: boolean;
1865
+ readOnly?: boolean;
1866
+ required?: boolean;
1867
+ onChange?: (event: SharePointUIEvent, data: RatingOnChangeData) => void;
1868
+ };
1869
+ export declare const Rating: React.ForwardRefExoticComponent<Omit<ElementProps, "onChange"> & {
1870
+ value?: number;
1871
+ defaultValue?: number;
1872
+ max?: number;
1873
+ step?: 0.5 | 1;
1874
+ size?: "small" | "medium" | "large" | "extra-large";
1875
+ color?: "brand" | "marigold" | "neutral";
1876
+ label?: string;
1877
+ itemLabel?: (rating: number) => string;
1878
+ iconFilled?: React.ElementType;
1879
+ iconOutline?: React.ElementType;
1880
+ fullValueInput?: RatingInputSlot;
1881
+ halfValueInput?: RatingInputSlot;
1882
+ name?: string;
1883
+ form?: string;
1884
+ disabled?: boolean;
1885
+ readOnly?: boolean;
1886
+ required?: boolean;
1887
+ onChange?: (event: SharePointUIEvent, data: RatingOnChangeData) => void;
1888
+ } & React.RefAttributes<HTMLElement>>;
1889
+ export declare const RatingItem: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & {
1890
+ [attribute: `data-${string}`]: string | number | boolean | undefined;
1891
+ } & {
1892
+ value?: number;
1893
+ selectedIcon?: React.ReactNode;
1894
+ unselectedIcon?: React.ReactNode;
1895
+ } & React.RefAttributes<HTMLElement>>;
1896
+ export declare const RatingDisplay: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & {
1897
+ [attribute: `data-${string}`]: string | number | boolean | undefined;
1898
+ } & {
1899
+ value?: number;
1900
+ max?: number;
1901
+ count?: number;
1902
+ compact?: boolean;
1903
+ color?: "brand" | "marigold" | "neutral";
1904
+ size?: "small" | "medium" | "large" | "extra-large";
1905
+ icon?: React.ElementType;
1906
+ label?: string;
1907
+ valueText?: React.ReactNode;
1908
+ countText?: React.ReactNode;
1909
+ children?: React.ReactNode;
1910
+ } & React.RefAttributes<HTMLElement>>;
1911
+ export type ListOnSelectionChangeData = {
1912
+ event: SharePointUIEvent;
1913
+ type: undefined;
1914
+ selectedItems: ListItemValue[];
1915
+ } | {
1916
+ event: React.SyntheticEvent;
1917
+ type: "change";
1918
+ selectedItems: ListItemValue[];
1919
+ };
1920
+ export declare const List: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & {
1921
+ [attribute: `data-${string}`]: string | number | boolean | undefined;
1922
+ } & {
1923
+ navigationMode?: ListNavigationMode;
1924
+ selectionMode?: ListSelectionMode;
1925
+ selectedItems?: ListItemValue[];
1926
+ defaultSelectedItems?: ListItemValue[];
1927
+ onSelectionChange?: (event: SharePointUIEvent, data: ListOnSelectionChangeData) => void;
1928
+ children?: React.ReactNode;
1929
+ } & React.RefAttributes<HTMLElement>>;
1930
+ export type ListItemReactActionEvent = CustomEvent<{
1931
+ originalEvent: React.MouseEvent | React.KeyboardEvent;
1932
+ }>;
1933
+ export type ListItemReactActionData = {
1934
+ event: SharePointUIEvent;
1935
+ type: undefined;
1936
+ value: ListItemValue;
1937
+ } | {
1938
+ event: ListItemReactActionEvent;
1939
+ type: "ListItemAction";
1940
+ value: ListItemValue;
1941
+ };
1942
+ export declare const ListItem: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & {
1943
+ [attribute: `data-${string}`]: string | number | boolean | undefined;
1944
+ } & {
1945
+ value?: ListItemValue;
1946
+ disabledSelection?: boolean;
1947
+ checkmark?: React.ReactNode;
1948
+ onAction?: (event: SharePointUIEvent, data: ListItemReactActionData) => void;
1949
+ children?: React.ReactNode;
1950
+ } & React.RefAttributes<HTMLElement>>;
1951
+ export declare const CarouselCard: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & {
1952
+ [attribute: `data-${string}`]: string | number | boolean | undefined;
1953
+ } & {
1954
+ children?: React.ReactNode;
1955
+ autoSize?: boolean;
1956
+ } & React.RefAttributes<HTMLElement>>;
1957
+ export declare const CarouselNav: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & {
1958
+ [attribute: `data-${string}`]: string | number | boolean | undefined;
1959
+ } & {
1960
+ children?: React.ReactNode;
1961
+ label?: string;
1962
+ appearance?: "brand";
1963
+ slot?: string;
1964
+ } & React.RefAttributes<HTMLElement>>;
1965
+ export declare const CarouselNavButton: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & {
1966
+ [attribute: `data-${string}`]: string | number | boolean | undefined;
1967
+ } & {
1968
+ children?: React.ReactNode;
1969
+ index: number;
1970
+ label?: string;
1971
+ selected?: boolean;
1972
+ disabled?: boolean;
1973
+ } & React.RefAttributes<HTMLElement>>;
1974
+ export declare const CarouselNavImageButton: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & {
1975
+ [attribute: `data-${string}`]: string | number | boolean | undefined;
1976
+ } & {
1977
+ index: number;
1978
+ src: string;
1979
+ alt: string;
1980
+ label?: string;
1981
+ image?: React.ReactElement;
1982
+ selected?: boolean;
1983
+ disabled?: boolean;
1984
+ } & React.RefAttributes<HTMLElement>>;
1985
+ export declare const CarouselButton: React.ForwardRefExoticComponent<Omit<ElementProps, "slot"> & {
1986
+ children?: React.ReactNode;
1987
+ icon?: React.ReactNode;
1988
+ navType?: "prev" | "next";
1989
+ label?: string;
1990
+ slot?: string | null;
1991
+ } & React.RefAttributes<HTMLElement>>;
1992
+ export type CarouselAutoplayChangeData = {
1993
+ checked: boolean;
1994
+ } & ({
1995
+ event: SharePointUIEvent;
1996
+ type: undefined;
1997
+ } | {
1998
+ event: React.MouseEvent<HTMLButtonElement | HTMLAnchorElement>;
1999
+ type: "click";
2000
+ });
2001
+ export type CarouselAutoplayButtonProps = Omit<ElementProps, "slot"> & {
2002
+ icon?: React.ReactNode;
2003
+ appearance?: ButtonAppearance;
2004
+ checked?: boolean;
2005
+ defaultChecked?: boolean;
2006
+ disabled?: boolean;
2007
+ disabledFocusable?: boolean;
2008
+ iconPosition?: "before" | "after";
2009
+ isAccessible?: boolean;
2010
+ shape?: ButtonShape;
2011
+ size?: ButtonSize;
2012
+ playLabel?: string;
2013
+ pauseLabel?: string;
2014
+ onCheckedChange?: (event: SharePointUIEvent, data: CarouselAutoplayChangeData) => void;
2015
+ slot?: string | null;
2016
+ };
2017
+ export declare const CarouselAutoplayButton: React.ForwardRefExoticComponent<Omit<ElementProps, "slot"> & {
2018
+ icon?: React.ReactNode;
2019
+ appearance?: ButtonAppearance;
2020
+ checked?: boolean;
2021
+ defaultChecked?: boolean;
2022
+ disabled?: boolean;
2023
+ disabledFocusable?: boolean;
2024
+ iconPosition?: "before" | "after";
2025
+ isAccessible?: boolean;
2026
+ shape?: ButtonShape;
2027
+ size?: ButtonSize;
2028
+ playLabel?: string;
2029
+ pauseLabel?: string;
2030
+ onCheckedChange?: (event: SharePointUIEvent, data: CarouselAutoplayChangeData) => void;
2031
+ slot?: string | null;
2032
+ } & React.RefAttributes<HTMLElement>>;
2033
+ export type CarouselNavButtonSlotProps = React.ReactElement | Omit<Parameters<typeof CarouselButton>[0], "navType" | "slot">;
2034
+ export type CarouselAutoplaySlotProps = React.ReactElement | Omit<Parameters<typeof CarouselAutoplayButton>[0], "slot"> | boolean;
2035
+ export type CarouselTooltipSlotProps = React.ReactElement | Omit<Parameters<typeof Tooltip>[0], "children" | "slot">;
2036
+ export type CarouselReactIndexChangeData = {
2037
+ index: number;
2038
+ } & ({
2039
+ event: SharePointUIEvent;
2040
+ type: undefined;
2041
+ } | {
2042
+ event: React.MouseEvent<HTMLButtonElement | HTMLAnchorElement>;
2043
+ type: "click";
2044
+ } | {
2045
+ event: React.FocusEvent<Element>;
2046
+ type: "focus";
2047
+ } | {
2048
+ event: PointerEvent | MouseEvent;
2049
+ type: "drag";
2050
+ } | {
2051
+ event: Event;
2052
+ type: "autoplay" | "scroll" | "programmatic";
2053
+ } | {
2054
+ event: React.KeyboardEvent<HTMLElement>;
2055
+ type: "keydown";
2056
+ });
2057
+ export declare const CarouselNavContainer: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & {
2058
+ [attribute: `data-${string}`]: string | number | boolean | undefined;
2059
+ } & {
2060
+ children?: React.ReactNode;
2061
+ prev?: CarouselNavButtonSlotProps | null;
2062
+ next?: CarouselNavButtonSlotProps | null;
2063
+ autoplay?: CarouselAutoplaySlotProps | null;
2064
+ prevTooltip?: CarouselTooltipSlotProps | null;
2065
+ nextTooltip?: CarouselTooltipSlotProps | null;
2066
+ autoplayTooltip?: CarouselTooltipSlotProps | null;
2067
+ layout?: "inline" | "inline-wide" | "overlay" | "overlay-wide" | "overlay-expanded";
2068
+ } & React.RefAttributes<HTMLElement>>;
2069
+ export declare function CarouselProvider({ value, children }: {
2070
+ value: CarouselContextValue | undefined;
2071
+ children?: React.ReactNode;
2072
+ }): React.ReactElement;
2073
+ export declare function useCarouselContext(): CarouselContextValue | undefined;
2074
+ export declare const CarouselSlider: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & {
2075
+ [attribute: `data-${string}`]: string | number | boolean | undefined;
2076
+ } & {
2077
+ children?: React.ReactNode;
2078
+ cardFocus?: boolean;
2079
+ } & React.RefAttributes<HTMLElement>>;
2080
+ export declare const CarouselViewport: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & {
2081
+ [attribute: `data-${string}`]: string | number | boolean | undefined;
2082
+ } & {
2083
+ children?: React.ReactNode;
2084
+ } & React.RefAttributes<HTMLElement>>;
2085
+ export declare const Carousel: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & {
2086
+ [attribute: `data-${string}`]: string | number | boolean | undefined;
2087
+ } & {
2088
+ children?: React.ReactNode;
2089
+ label?: string;
2090
+ roleDescription?: string;
2091
+ previousLabel?: string;
2092
+ nextLabel?: string;
2093
+ slideLabel?: string;
2094
+ slideGroupLabel?: string;
2095
+ navigationLabel?: string;
2096
+ playLabel?: string;
2097
+ pauseLabel?: string;
2098
+ slideWidth?: string;
2099
+ align?: CarouselAlign;
2100
+ appearance?: CarouselAppearance;
2101
+ motion?: CarouselMotion;
2102
+ motionDuration?: number;
2103
+ autoplay?: boolean;
2104
+ autoplayInterval?: number;
2105
+ selectedIndex?: number;
2106
+ activeIndex?: number;
2107
+ defaultSelectedIndex?: number;
2108
+ defaultActiveIndex?: number;
2109
+ wrap?: boolean;
2110
+ circular?: boolean;
2111
+ groupSize?: number | "auto";
2112
+ draggable?: boolean;
2113
+ whitespace?: boolean;
2114
+ announcement?: CarouselAnnouncerFunction;
2115
+ onIndexChange?: (index: number) => void;
2116
+ onActiveIndexChange?: (event: SharePointUIEvent, data: CarouselReactIndexChangeData) => void;
2117
+ } & React.RefAttributes<HTMLElement>>;
2118
+ export declare const Breadcrumb: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & {
2119
+ [attribute: `data-${string}`]: string | number | boolean | undefined;
2120
+ } & {
2121
+ children?: React.ReactNode;
2122
+ label?: string;
2123
+ focusMode?: "tab" | "arrow";
2124
+ size?: "small" | "medium" | "large";
2125
+ separator?: string;
2126
+ list?: React.ReactElement;
2127
+ } & React.RefAttributes<HTMLElement>>;
2128
+ export declare const BreadcrumbItem: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & {
2129
+ [attribute: `data-${string}`]: string | number | boolean | undefined;
2130
+ } & {
2131
+ children?: React.ReactNode;
2132
+ current?: boolean;
2133
+ size?: BreadcrumbSize;
2134
+ } & React.RefAttributes<HTMLElement>>;
2135
+ export declare const BreadcrumbButton: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & {
2136
+ [attribute: `data-${string}`]: string | number | boolean | undefined;
2137
+ } & {
2138
+ children?: React.ReactNode;
2139
+ icon?: React.ReactNode;
2140
+ href?: string;
2141
+ target?: string;
2142
+ rel?: string;
2143
+ type?: "button" | "submit" | "reset";
2144
+ current?: boolean;
2145
+ disabled?: boolean;
2146
+ disabledFocusable?: boolean;
2147
+ size?: BreadcrumbSize;
2148
+ } & React.RefAttributes<HTMLElement>>;
2149
+ export declare const BreadcrumbDivider: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & {
2150
+ [attribute: `data-${string}`]: string | number | boolean | undefined;
2151
+ } & {
2152
+ children?: React.ReactNode;
2153
+ } & React.RefAttributes<HTMLElement>>;
2154
+ export declare const Nav: React.ForwardRefExoticComponent<Omit<ElementProps, "onClick" | "onClickCapture" | "onSelect"> & {
2155
+ onClick?: React.MouseEventHandler<HTMLElement>;
2156
+ onClickCapture?: React.MouseEventHandler<HTMLElement>;
2157
+ children?: React.ReactNode;
2158
+ label?: string;
2159
+ selectedValue?: string | null;
2160
+ defaultSelectedValue?: string | null;
2161
+ selectedCategoryValue?: string | null;
2162
+ defaultSelectedCategoryValue?: string | null;
2163
+ openCategories?: readonly string[];
2164
+ defaultOpenCategories?: readonly string[];
2165
+ open?: boolean;
2166
+ defaultOpen?: boolean;
2167
+ collapsed?: boolean;
2168
+ defaultCollapsed?: boolean;
2169
+ collapsible?: boolean;
2170
+ multiple?: boolean;
2171
+ density?: "small" | "medium" | "large";
2172
+ tabbable?: boolean | "true" | "false";
2173
+ openLabel?: string;
2174
+ closeLabel?: string;
2175
+ onItemSelect?: (value: string, href: string | null, label: string) => void;
2176
+ onCategoryToggle?: (value: string, open: boolean, openCategories: string[]) => void;
2177
+ onNavItemSelect?: (event: SharePointUIEvent, data: NavReactItemSelectData) => void;
2178
+ onNavCategoryItemToggle?: (event: SharePointUIEvent, data: NavReactCategoryToggleData) => void;
2179
+ onOpenChange?: (open: boolean) => void;
2180
+ onCollapsedChange?: (collapsed: boolean) => void;
2181
+ } & React.RefAttributes<HTMLElement>>;
2182
+ export declare const NavItem: React.ForwardRefExoticComponent<Omit<ElementProps, "onClick" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onInvalid" | "onInvalidCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAuxClick" | "onAuxClickCapture" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerLeave" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture"> & Pick<React.DOMAttributes<HTMLAnchorElement | HTMLButtonElement>, "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture"> & NativeMousePointerEventProps<HTMLAnchorElement | HTMLButtonElement> & NativeAdditionalEventProps<HTMLAnchorElement | HTMLButtonElement> & {
2183
+ onClick?: React.MouseEventHandler<HTMLAnchorElement | HTMLButtonElement> | undefined;
2184
+ onClickCapture?: React.MouseEventHandler<HTMLAnchorElement | HTMLButtonElement> | undefined;
2185
+ } & {
2186
+ children?: React.ReactNode;
2187
+ value: string;
2188
+ href?: string;
2189
+ disabled?: boolean;
2190
+ icon?: React.ReactNode;
2191
+ avatar?: React.ReactElement;
2192
+ } & React.RefAttributes<HTMLElement>>;
2193
+ export declare const NavCategory: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & {
2194
+ [attribute: `data-${string}`]: string | number | boolean | undefined;
2195
+ } & {
2196
+ children?: React.ReactNode;
2197
+ value: string;
2198
+ disabled?: boolean;
2199
+ } & React.RefAttributes<HTMLElement>>;
2200
+ export declare const NavCategoryItem: React.ForwardRefExoticComponent<Omit<ElementProps, "onClick" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onInvalid" | "onInvalidCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAuxClick" | "onAuxClickCapture" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerLeave" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture"> & Pick<React.DOMAttributes<HTMLButtonElement>, "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture"> & NativeMousePointerEventProps<HTMLButtonElement> & NativeAdditionalEventProps<HTMLButtonElement> & {
2201
+ onClick?: React.MouseEventHandler<HTMLButtonElement> | undefined;
2202
+ onClickCapture?: React.MouseEventHandler<HTMLButtonElement> | undefined;
2203
+ } & {
2204
+ children?: React.ReactNode;
2205
+ icon?: React.ReactNode;
2206
+ avatar?: React.ReactElement;
2207
+ expandIcon?: React.ReactNode;
2208
+ expandIconMotion?: React.ComponentType<PresenceMotionSlotProps>;
2209
+ } & React.RefAttributes<HTMLElement>>;
2210
+ export declare const NavSubItemGroup: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & {
2211
+ [attribute: `data-${string}`]: string | number | boolean | undefined;
2212
+ } & {
2213
+ children?: React.ReactNode;
2214
+ collapseMotion?: React.ComponentType<PresenceMotionSlotProps>;
2215
+ } & React.RefAttributes<HTMLElement>>;
2216
+ export declare const NavSubItem: React.ForwardRefExoticComponent<Omit<ElementProps, "onClick" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onInvalid" | "onInvalidCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAuxClick" | "onAuxClickCapture" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerLeave" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture"> & Pick<React.DOMAttributes<HTMLAnchorElement | HTMLButtonElement>, "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture"> & NativeMousePointerEventProps<HTMLAnchorElement | HTMLButtonElement> & NativeAdditionalEventProps<HTMLAnchorElement | HTMLButtonElement> & {
2217
+ onClick?: React.MouseEventHandler<HTMLAnchorElement | HTMLButtonElement> | undefined;
2218
+ onClickCapture?: React.MouseEventHandler<HTMLAnchorElement | HTMLButtonElement> | undefined;
2219
+ } & {
2220
+ children?: React.ReactNode;
2221
+ value: string;
2222
+ href?: string;
2223
+ disabled?: boolean;
2224
+ icon?: React.ReactNode;
2225
+ avatar?: React.ReactElement;
2226
+ } & React.RefAttributes<HTMLElement>>;
2227
+ export type NavDividerProps = ElementProps & {
2228
+ wrapper?: DividerWrapper;
2229
+ alignContent?: "start" | "center" | "end";
2230
+ appearance?: DividerAppearance;
2231
+ inset?: boolean;
2232
+ vertical?: boolean;
2233
+ };
2234
+ export declare const NavDivider: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & {
2235
+ [attribute: `data-${string}`]: string | number | boolean | undefined;
2236
+ } & {
2237
+ wrapper?: DividerWrapper;
2238
+ alignContent?: "start" | "center" | "end";
2239
+ appearance?: DividerAppearance;
2240
+ inset?: boolean;
2241
+ vertical?: boolean;
2242
+ } & React.RefAttributes<HTMLElement>>;
2243
+ export declare const NavSectionHeader: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & {
2244
+ [attribute: `data-${string}`]: string | number | boolean | undefined;
2245
+ } & {
2246
+ children?: React.ReactNode;
2247
+ } & React.RefAttributes<HTMLElement>>;
2248
+ export declare const AppItem: React.ForwardRefExoticComponent<Omit<ElementProps, "onClick" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onInvalid" | "onInvalidCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAuxClick" | "onAuxClickCapture" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerLeave" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture"> & Pick<React.DOMAttributes<HTMLAnchorElement | HTMLButtonElement>, "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture"> & NativeMousePointerEventProps<HTMLAnchorElement | HTMLButtonElement> & NativeAdditionalEventProps<HTMLAnchorElement | HTMLButtonElement> & {
2249
+ onClick?: React.MouseEventHandler<HTMLAnchorElement | HTMLButtonElement> | undefined;
2250
+ onClickCapture?: React.MouseEventHandler<HTMLAnchorElement | HTMLButtonElement> | undefined;
2251
+ } & {
2252
+ children?: React.ReactNode;
2253
+ value: string;
2254
+ href?: string;
2255
+ disabled?: boolean;
2256
+ icon?: React.ReactNode;
2257
+ avatar?: React.ReactElement;
2258
+ } & React.RefAttributes<HTMLElement>>;
2259
+ export declare const AppItemStatic: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & {
2260
+ [attribute: `data-${string}`]: string | number | boolean | undefined;
2261
+ } & {
2262
+ children?: React.ReactNode;
2263
+ icon?: React.ReactNode;
2264
+ } & React.RefAttributes<HTMLElement>>;
2265
+ export type HamburgerProps = NativeButtonHostProps & {
2266
+ children?: React.ReactNode;
2267
+ icon?: React.ReactNode;
2268
+ open?: boolean;
2269
+ label?: string;
2270
+ disabled?: boolean;
2271
+ disabledFocusable?: boolean;
2272
+ appearance?: ButtonAppearance;
2273
+ iconPosition?: "before" | "after";
2274
+ shape?: ButtonShape;
2275
+ size?: ButtonSize;
2276
+ };
2277
+ export declare const Hamburger: React.ForwardRefExoticComponent<Omit<ElementProps, "onClick" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onInvalid" | "onInvalidCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAuxClick" | "onAuxClickCapture" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerLeave" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture"> & Pick<React.DOMAttributes<HTMLButtonElement>, "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture"> & NativeMousePointerEventProps<HTMLButtonElement> & NativeAdditionalEventProps<HTMLButtonElement> & {
2278
+ onClick?: React.MouseEventHandler<HTMLButtonElement> | undefined;
2279
+ onClickCapture?: React.MouseEventHandler<HTMLButtonElement> | undefined;
2280
+ } & {
2281
+ children?: React.ReactNode;
2282
+ icon?: React.ReactNode;
2283
+ open?: boolean;
2284
+ label?: string;
2285
+ disabled?: boolean;
2286
+ disabledFocusable?: boolean;
2287
+ appearance?: ButtonAppearance;
2288
+ iconPosition?: "before" | "after";
2289
+ shape?: ButtonShape;
2290
+ size?: ButtonSize;
2291
+ } & React.RefAttributes<HTMLElement>>;
2292
+ export type NavDrawerProps = Omit<React.ComponentProps<typeof Nav>, "children" | "open" | "defaultOpen" | "onOpenChange"> & {
2293
+ children?: React.ReactNode;
2294
+ type?: "overlay" | "inline";
2295
+ open?: boolean;
2296
+ defaultOpen?: boolean;
2297
+ modal?: boolean;
2298
+ dismissible?: boolean;
2299
+ position?: "start" | "end" | "top" | "bottom";
2300
+ size?: "small" | "medium" | "large" | "full";
2301
+ expandable?: boolean;
2302
+ expanded?: boolean;
2303
+ unmountOnClose?: boolean;
2304
+ separator?: boolean;
2305
+ closeLabel?: string;
2306
+ onOpenChange?: (open: boolean) => void;
2307
+ onDismiss?: () => void;
2308
+ onExpandedChange?: (expanded: boolean) => void;
2309
+ tabbable?: boolean;
2310
+ };
2311
+ export declare const NavDrawer: React.ForwardRefExoticComponent<Omit<NavDrawerProps, "ref"> & React.RefAttributes<HTMLElement>>;
2312
+ export declare const NavDrawerHeader: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & {
2313
+ [attribute: `data-${string}`]: string | number | boolean | undefined;
2314
+ } & {
2315
+ children?: React.ReactNode;
2316
+ } & React.RefAttributes<HTMLElement>>;
2317
+ export declare const NavDrawerBody: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & {
2318
+ [attribute: `data-${string}`]: string | number | boolean | undefined;
2319
+ } & {
2320
+ children?: React.ReactNode;
2321
+ } & React.RefAttributes<HTMLElement>>;
2322
+ export declare const NavDrawerFooter: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & {
2323
+ [attribute: `data-${string}`]: string | number | boolean | undefined;
2324
+ } & {
2325
+ children?: React.ReactNode;
2326
+ } & React.RefAttributes<HTMLElement>>;
2327
+ export declare const SplitNavItem: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & {
2328
+ [attribute: `data-${string}`]: string | number | boolean | undefined;
2329
+ } & {
2330
+ children?: React.ReactNode;
2331
+ value: string;
2332
+ href?: string;
2333
+ disabled?: boolean;
2334
+ icon?: React.ReactNode;
2335
+ action?: React.ReactNode;
2336
+ actionLabel?: string;
2337
+ onAction?: React.MouseEventHandler<HTMLButtonElement>;
2338
+ navItem?: React.ReactElement;
2339
+ actionButton?: React.ReactElement;
2340
+ actionButtonTooltip?: React.ReactElement;
2341
+ menuButton?: React.ReactElement;
2342
+ menuButtonTooltip?: React.ReactElement;
2343
+ toggleButton?: React.ReactElement;
2344
+ toggleButtonTooltip?: React.ReactElement;
2345
+ } & React.RefAttributes<HTMLElement>>;
2346
+ export type TabValue = unknown;
2347
+ export declare const Tabs: <T = string>(props: ElementProps & {
2348
+ children?: React.ReactNode;
2349
+ selectedValue?: T;
2350
+ defaultSelectedValue?: T;
2351
+ disabled?: boolean;
2352
+ onTabSelect?: (value: T) => void;
2353
+ } & React.RefAttributes<HTMLElement>) => React.ReactElement;
2354
+ export type TabSelectData = {
2355
+ value: TabValue;
2356
+ };
2357
+ export type TabSelectEvent = React.MouseEvent<HTMLElement> | React.KeyboardEvent<HTMLElement> | React.FocusEvent<HTMLElement>;
2358
+ export type TabRegisterData = {
2359
+ value: TabValue;
2360
+ ref: React.RefObject<HTMLElement | null>;
2361
+ };
2362
+ export type TabListProviderValue = {
2363
+ onTabSelect?: (event: TabSelectEvent, data: TabSelectData) => void;
2364
+ selectTabOnFocus?: boolean;
2365
+ selectedValue?: TabValue;
2366
+ reserveSelectedTabSpace?: boolean;
2367
+ appearance: "transparent" | "subtle" | "subtle-circular" | "filled-circular";
2368
+ disabled: boolean;
2369
+ size: "small" | "medium" | "large";
2370
+ vertical: boolean;
2371
+ onRegister: (data: TabRegisterData) => void;
2372
+ onUnregister: (data: TabRegisterData) => void;
2373
+ onSelect: (event: TabSelectEvent, data: TabSelectData) => void;
2374
+ getRegisteredTabs: () => {
2375
+ selectedValue?: TabValue;
2376
+ previousSelectedValue?: TabValue;
2377
+ registeredTabs: Record<string, TabRegisterData>;
2378
+ };
2379
+ };
2380
+ export declare function TabListProvider({ value, children }: {
2381
+ value: TabListProviderValue;
2382
+ children?: React.ReactNode;
2383
+ }): React.ReactElement;
2384
+ export type TabListProps = ElementProps & {
2385
+ children?: React.ReactNode;
2386
+ selectedValue?: TabValue;
2387
+ defaultSelectedValue?: TabValue;
2388
+ selectTabOnFocus?: boolean;
2389
+ reserveSelectedTabSpace?: boolean;
2390
+ vertical?: boolean;
2391
+ disabled?: boolean;
2392
+ appearance?: "transparent" | "subtle" | "subtle-circular" | "filled-circular";
2393
+ size?: "small" | "medium" | "large";
2394
+ onTabSelect?: (event: TabSelectEvent, data: TabSelectData) => void;
2395
+ };
2396
+ export declare const TabList: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & {
2397
+ [attribute: `data-${string}`]: string | number | boolean | undefined;
2398
+ } & {
2399
+ children?: React.ReactNode;
2400
+ selectedValue?: TabValue;
2401
+ defaultSelectedValue?: TabValue;
2402
+ selectTabOnFocus?: boolean;
2403
+ reserveSelectedTabSpace?: boolean;
2404
+ vertical?: boolean;
2405
+ disabled?: boolean;
2406
+ appearance?: "transparent" | "subtle" | "subtle-circular" | "filled-circular";
2407
+ size?: "small" | "medium" | "large";
2408
+ onTabSelect?: (event: TabSelectEvent, data: TabSelectData) => void;
2409
+ } & React.RefAttributes<HTMLElement>>;
2410
+ export declare const Tab: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & {
2411
+ [attribute: `data-${string}`]: string | number | boolean | undefined;
2412
+ } & {
2413
+ value: TabValue;
2414
+ disabled?: boolean;
2415
+ icon?: React.ReactNode;
2416
+ content?: React.ReactNode;
2417
+ children?: React.ReactNode;
2418
+ } & React.RefAttributes<HTMLElement>>;
2419
+ export declare const TabPanel: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & {
2420
+ [attribute: `data-${string}`]: string | number | boolean | undefined;
2421
+ } & {
2422
+ value: TabValue;
2423
+ children?: React.ReactNode;
2424
+ } & React.RefAttributes<HTMLElement>>;
2425
+ export type TooltipVisibleChangeEvent = React.PointerEvent<HTMLElement> | React.FocusEvent<HTMLElement> | undefined;
2426
+ export type TooltipProps = ElementProps & {
2427
+ children?: React.ReactNode;
2428
+ content?: React.ReactNode;
2429
+ mountNode?: PortalMountNode;
2430
+ placement?: "top" | "bottom" | "start" | "end" | "left" | "right";
2431
+ positioning?: TooltipPositioning;
2432
+ align?: "start" | "center" | "end";
2433
+ offset?: number;
2434
+ appearance?: TooltipAppearance;
2435
+ relationship?: TooltipRelationship;
2436
+ disabled?: boolean;
2437
+ open?: boolean;
2438
+ visible?: boolean;
2439
+ delay?: number;
2440
+ showDelay?: number;
2441
+ hideDelay?: number;
2442
+ withArrow?: boolean;
2443
+ onOpenChange?: (open: boolean) => void;
2444
+ onVisibleChange?: (event: TooltipVisibleChangeEvent, data: TooltipVisibleChangeData) => void;
2445
+ };
2446
+ export declare const Tooltip: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & {
2447
+ [attribute: `data-${string}`]: string | number | boolean | undefined;
2448
+ } & {
2449
+ children?: React.ReactNode;
2450
+ content?: React.ReactNode;
2451
+ mountNode?: PortalMountNode;
2452
+ placement?: "top" | "bottom" | "start" | "end" | "left" | "right";
2453
+ positioning?: TooltipPositioning;
2454
+ align?: "start" | "center" | "end";
2455
+ offset?: number;
2456
+ appearance?: TooltipAppearance;
2457
+ relationship?: TooltipRelationship;
2458
+ disabled?: boolean;
2459
+ open?: boolean;
2460
+ visible?: boolean;
2461
+ delay?: number;
2462
+ showDelay?: number;
2463
+ hideDelay?: number;
2464
+ withArrow?: boolean;
2465
+ onOpenChange?: (open: boolean) => void;
2466
+ onVisibleChange?: (event: TooltipVisibleChangeEvent, data: TooltipVisibleChangeData) => void;
2467
+ } & React.RefAttributes<HTMLElement>>;
2468
+ export type PopoverContextValue = {
2469
+ open: boolean;
2470
+ toggleOpen: (event: Event) => void;
2471
+ setOpen: (event: Event, open: boolean) => void;
2472
+ triggerRef: React.MutableRefObject<HTMLElement | null>;
2473
+ contentRef: React.MutableRefObject<HTMLElement | null>;
2474
+ openOnHover: boolean;
2475
+ openOnContext: boolean;
2476
+ mountNode?: PortalMountNode;
2477
+ withArrow: boolean;
2478
+ arrowRef: React.MutableRefObject<HTMLDivElement | null>;
2479
+ size: "small" | "medium" | "large";
2480
+ appearance?: "brand" | "inverted";
2481
+ trapFocus: boolean;
2482
+ inertTrapFocus?: boolean;
2483
+ inline: boolean;
2484
+ };
2485
+ export declare function PopoverProvider({ value, children }: {
2486
+ value: PopoverContextValue;
2487
+ children?: React.ReactNode;
2488
+ }): React.ReactElement;
2489
+ export type PopoverOpenChangeEvent = MouseEvent | TouchEvent | FocusEvent | React.FocusEvent<HTMLElement> | React.KeyboardEvent<HTMLElement> | React.MouseEvent<HTMLElement>;
2490
+ export declare const Popover: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & {
2491
+ [attribute: `data-${string}`]: string | number | boolean | undefined;
2492
+ } & {
2493
+ children?: React.ReactNode;
2494
+ trigger?: React.ReactElement;
2495
+ label?: string;
2496
+ placement?: "top" | "bottom" | "start" | "end";
2497
+ positioning?: PopoverPositioning;
2498
+ open?: boolean;
2499
+ defaultOpen?: boolean;
2500
+ openOnContext?: boolean;
2501
+ openOnHover?: boolean;
2502
+ mouseLeaveDelay?: number;
2503
+ closeOnIframeFocus?: boolean;
2504
+ onOpenChange?: (event: PopoverOpenChangeEvent, data: PopoverOpenChangeData) => void;
2505
+ inline?: boolean;
2506
+ trapFocus?: boolean;
2507
+ inertTrapFocus?: boolean;
2508
+ legacyTrapFocus?: boolean;
2509
+ unstable_disableAutoFocus?: boolean;
2510
+ arrow?: boolean;
2511
+ withArrow?: boolean;
2512
+ appearance?: "brand" | "inverted";
2513
+ size?: "small" | "medium" | "large";
2514
+ closeOnScroll?: boolean;
2515
+ surfaceMotion?: React.ComponentType<PresenceMotionSlotProps>;
2516
+ mountNode?: PortalMountNode;
2517
+ } & React.RefAttributes<HTMLElement>>;
2518
+ export declare const PopoverTrigger: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & {
2519
+ [attribute: `data-${string}`]: string | number | boolean | undefined;
2520
+ } & {
2521
+ children?: React.ReactNode;
2522
+ disableButtonEnhancement?: boolean;
2523
+ } & React.RefAttributes<HTMLElement>>;
2524
+ export declare const PopoverSurface: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & {
2525
+ [attribute: `data-${string}`]: string | number | boolean | undefined;
2526
+ } & {
2527
+ children?: React.ReactNode;
2528
+ } & React.RefAttributes<HTMLElement>>;
2529
+ type TeachingPopoverCarouselEventData<TType extends string> = {
2530
+ type: undefined;
2531
+ event: Event | React.SyntheticEvent;
2532
+ } | (TType extends "click" ? {
2533
+ type: TType;
2534
+ event: React.MouseEvent<HTMLButtonElement | HTMLAnchorElement>;
2535
+ } : TType extends "keydown" ? {
2536
+ type: TType;
2537
+ event: React.KeyboardEvent<HTMLElement>;
2538
+ } : {
2539
+ type: TType;
2540
+ event: Event;
2541
+ });
2542
+ export type TeachingPopoverCarouselValueChangeData = TeachingPopoverCarouselEventData<TeachingPopoverCarouselValueChangeType> & {
2543
+ value?: string;
2544
+ };
2545
+ export type TeachingPopoverCarouselFinishData = TeachingPopoverCarouselEventData<"click"> & {
2546
+ value?: string;
2547
+ };
2548
+ export type TeachingPopoverCarouselChangeEvent = Event | React.SyntheticEvent;
2549
+ export type TeachingPopoverProps = React.ComponentProps<typeof Popover>;
2550
+ /** Guided, keyboard-contained help surface. Its parts use native React composition and add no runtime dependency. */
2551
+ export declare function TeachingPopover({ children, trigger, trapFocus, withArrow, ...props }: TeachingPopoverProps): React.ReactElement;
2552
+ export declare const TeachingPopoverTrigger: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & {
2553
+ [attribute: `data-${string}`]: string | number | boolean | undefined;
2554
+ } & {
2555
+ children?: React.ReactNode;
2556
+ disableButtonEnhancement?: boolean;
2557
+ } & React.RefAttributes<HTMLElement>>;
2558
+ export declare function TeachingPopoverSurface({ children, ...props }: ElementProps & {
2559
+ children?: React.ReactNode;
2560
+ }): React.ReactElement;
2561
+ export type TeachingPopoverButtonSlot = React.ReactNode | Parameters<typeof Button>[0];
2562
+ export declare function TeachingPopoverHeader({ children, icon, dismissButton, onDismiss, dismissLabel, style, ...props }: ElementProps & {
2563
+ children?: React.ReactNode;
2564
+ icon?: React.ReactNode;
2565
+ dismissButton?: TeachingPopoverButtonSlot;
2566
+ onDismiss?: () => void;
2567
+ dismissLabel?: string;
2568
+ }): React.ReactElement;
2569
+ export declare function TeachingPopoverTitle({ children, dismissButton, ...props }: ElementProps & {
2570
+ children?: React.ReactNode;
2571
+ dismissButton?: TeachingPopoverButtonSlot;
2572
+ }): React.ReactElement;
2573
+ export declare function TeachingPopoverBody({ children, media, mediaLength, ...props }: ElementProps & {
2574
+ children?: React.ReactNode;
2575
+ media?: React.ReactNode;
2576
+ mediaLength?: "short" | "medium" | "tall";
2577
+ }): React.ReactElement;
2578
+ export declare const TeachingPopoverFooter: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & {
2579
+ [attribute: `data-${string}`]: string | number | boolean | undefined;
2580
+ } & {
2581
+ children?: React.ReactNode;
2582
+ primary: React.ReactNode | Parameters<typeof Button>[0];
2583
+ secondary?: React.ReactNode | Parameters<typeof Button>[0];
2584
+ footerLayout?: "horizontal" | "vertical";
2585
+ } & React.RefAttributes<HTMLElement>>;
2586
+ export declare function TeachingPopoverCarousel({ children, defaultValue, value, onValueChange, onAnnouncement, announcement, onFinish, ...props }: ElementProps & {
2587
+ children?: React.ReactNode;
2588
+ value?: string;
2589
+ defaultValue?: string;
2590
+ onValueChange?: (event: TeachingPopoverCarouselChangeEvent, data: TeachingPopoverCarouselValueChangeData) => void;
2591
+ onAnnouncement?: (message: string) => void;
2592
+ announcement?: (newValue: string) => string;
2593
+ onFinish?: (event: TeachingPopoverCarouselChangeEvent, data: TeachingPopoverCarouselFinishData) => void;
2594
+ }): React.ReactElement;
2595
+ export declare function TeachingPopoverCarouselCard({ value: _value, children, ...props }: ElementProps & {
2596
+ value: string;
2597
+ children?: React.ReactNode;
2598
+ }): React.ReactElement;
2599
+ export declare function TeachingPopoverCarouselFooter({ children, previous, next, layout, initialStepText, finalStepText, ...props }: ElementProps & {
2600
+ children?: React.ReactNode;
2601
+ previous?: React.ReactNode;
2602
+ next?: React.ReactNode;
2603
+ layout?: "centered" | "offset";
2604
+ initialStepText?: string;
2605
+ finalStepText?: string;
2606
+ }): React.ReactElement;
2607
+ export type TeachingPopoverCarouselFooterButtonProps = Omit<ButtonProps, "children"> & {
2608
+ navType: "next" | "prev" | "previous" | "dismiss";
2609
+ altText?: React.ReactNode;
2610
+ children?: React.ReactNode;
2611
+ };
2612
+ export declare function TeachingPopoverCarouselFooterButton({ navType, altText, children, onClick, appearance, size, shape, icon, iconPosition, ...props }: TeachingPopoverCarouselFooterButtonProps): React.ReactElement;
2613
+ export declare function TeachingPopoverCarouselNav({ children, onKeyDown, ...props }: ElementProps & {
2614
+ children?: React.ReactNode;
2615
+ }): React.ReactElement;
2616
+ export declare function TeachingPopoverCarouselNavButton({ value, children, onClick, ...props }: ElementProps & {
2617
+ value: string;
2618
+ children?: React.ReactNode;
2619
+ }): React.ReactElement;
2620
+ export declare function TeachingPopoverCarouselPageCount({ children, ...props }: ElementProps & {
2621
+ children?: React.ReactNode | ((currentPage: number, totalPages: number) => React.ReactNode);
2622
+ }): React.ReactElement;
2623
+ export type MenuPositioning = "top" | "bottom" | "start" | "end" | "above" | "below" | "before" | "after" | "above-start" | "above-end" | "below-start" | "below-end";
2624
+ export type MenuPositioningOptions = {
2625
+ placement?: MenuPositioning;
2626
+ align?: "start" | "end";
2627
+ offset?: number;
2628
+ };
2629
+ export type MenuProps = Omit<ElementProps, "onSelect" | "contextMenu"> & {
2630
+ children?: React.ReactNode;
2631
+ trigger?: React.ReactElement;
2632
+ label?: string;
2633
+ placement?: MenuPositioning;
2634
+ positioning?: MenuPositioning | MenuPositioningOptions;
2635
+ open?: boolean;
2636
+ defaultOpen?: boolean;
2637
+ contextMenu?: boolean;
2638
+ openOnContext?: boolean;
2639
+ openOnHover?: boolean;
2640
+ hoverDelay?: number;
2641
+ closeOnScroll?: boolean;
2642
+ inline?: boolean;
2643
+ persistOnItemClick?: boolean;
2644
+ checkedValues?: MenuCheckedValues;
2645
+ defaultCheckedValues?: MenuCheckedValues;
2646
+ hasCheckmarks?: boolean;
2647
+ hasIcons?: boolean;
2648
+ surfaceMotion?: React.ComponentType<PresenceMotionSlotProps>;
2649
+ mountNode?: PortalMountNode;
2650
+ onCheckedValueChange?: (event: MenuCheckedValueChangeEvent, data: MenuCheckedValueChangeData) => void;
2651
+ onOpenChange?: (event: MenuReactOpenChangeEvent, data: MenuReactOpenChangeData) => void;
2652
+ onSelect?: (value: string, label: string, checked: boolean) => void;
2653
+ };
2654
+ export declare function Menu({ children, trigger, label, placement, positioning, open, defaultOpen, contextMenu, openOnContext, openOnHover, hoverDelay, closeOnScroll, inline, persistOnItemClick, checkedValues, defaultCheckedValues, hasCheckmarks, hasIcons, surfaceMotion, mountNode, onCheckedValueChange, onOpenChange, onSelect, ...props }: MenuProps): React.ReactElement;
2655
+ /** Open a command menu from a right-click, the Context Menu key, or Shift+F10. */
2656
+ export declare function ContextMenu(props: MenuProps): React.ReactElement;
2657
+ export declare const MenuBar: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & {
2658
+ [attribute: `data-${string}`]: string | number | boolean | undefined;
2659
+ } & {
2660
+ children?: React.ReactNode;
2661
+ label?: string;
2662
+ } & React.RefAttributes<HTMLElement>>;
2663
+ export declare const MenuBarItem: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & {
2664
+ [attribute: `data-${string}`]: string | number | boolean | undefined;
2665
+ } & {
2666
+ children?: React.ReactNode;
2667
+ } & React.RefAttributes<HTMLElement>>;
2668
+ export declare const MenuItem: React.ForwardRefExoticComponent<Omit<ElementProps, "onSelect"> & {
2669
+ children?: React.ReactNode;
2670
+ content?: React.ReactNode;
2671
+ checkmark?: React.ReactNode;
2672
+ submenuIndicator?: React.ReactNode;
2673
+ icon?: React.ReactNode;
2674
+ secondaryContent?: React.ReactNode;
2675
+ subText?: React.ReactNode;
2676
+ switchIndicator?: React.ReactNode;
2677
+ kind?: "default" | "checkbox" | "radio" | "switch";
2678
+ value?: string;
2679
+ name?: string;
2680
+ checked?: boolean;
2681
+ disabled?: boolean;
2682
+ disabledFocusable?: boolean;
2683
+ persistOnClick?: boolean;
2684
+ hasSubmenu?: boolean;
2685
+ onSelect?: (value: string, label: string, checked: boolean) => void;
2686
+ onCheckedChange?: (checked: boolean, event?: MenuCheckedValueChangeEvent) => void;
2687
+ } & React.RefAttributes<HTMLElement>>;
2688
+ export type MenuItemSelectableProps = Omit<ElementProps, "onSelect"> & {
2689
+ name: string;
2690
+ value: string;
2691
+ children?: React.ReactNode;
2692
+ content?: React.ReactNode;
2693
+ checkmark?: React.ReactNode;
2694
+ submenuIndicator?: React.ReactNode;
2695
+ icon?: React.ReactNode;
2696
+ secondaryContent?: React.ReactNode;
2697
+ subText?: React.ReactNode;
2698
+ checked?: boolean;
2699
+ defaultChecked?: boolean;
2700
+ disabled?: boolean;
2701
+ disabledFocusable?: boolean;
2702
+ hasSubmenu?: boolean;
2703
+ persistOnClick?: boolean;
2704
+ onCheckedChange?: (checked: boolean) => void;
2705
+ };
2706
+ export type MenuItemSwitchProps = MenuItemSelectableProps & {
2707
+ switchIndicator?: React.ReactNode;
2708
+ };
2709
+ export declare function MenuItemCheckbox(props: MenuItemSelectableProps): React.ReactElement;
2710
+ export declare function MenuItemRadio(props: MenuItemSelectableProps): React.ReactElement;
2711
+ export declare function MenuItemSwitch(props: MenuItemSwitchProps): React.ReactElement;
2712
+ export type MenuItemLinkProps = ElementProps & {
2713
+ href: string;
2714
+ target?: string;
2715
+ rel?: string;
2716
+ download?: string | boolean;
2717
+ disabled?: boolean;
2718
+ icon?: SpanSlotProps;
2719
+ checkmark?: SpanSlotProps;
2720
+ content?: SpanSlotProps;
2721
+ secondaryContent?: SpanSlotProps;
2722
+ children?: React.ReactNode;
2723
+ };
2724
+ export declare const MenuItemLink: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & {
2725
+ [attribute: `data-${string}`]: string | number | boolean | undefined;
2726
+ } & {
2727
+ href: string;
2728
+ target?: string;
2729
+ rel?: string;
2730
+ download?: string | boolean;
2731
+ disabled?: boolean;
2732
+ icon?: SpanSlotProps;
2733
+ checkmark?: SpanSlotProps;
2734
+ content?: SpanSlotProps;
2735
+ secondaryContent?: SpanSlotProps;
2736
+ children?: React.ReactNode;
2737
+ } & React.RefAttributes<HTMLElement>>;
2738
+ export declare function MenuTrigger({ children, disableButtonEnhancement, ...props }: ElementProps & {
2739
+ children: React.ReactElement;
2740
+ disableButtonEnhancement?: boolean;
2741
+ }): React.ReactElement;
2742
+ export declare const MenuPopover: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & {
2743
+ [attribute: `data-${string}`]: string | number | boolean | undefined;
2744
+ } & {
2745
+ children?: React.ReactNode;
2746
+ } & React.RefAttributes<HTMLElement>>;
2747
+ export type MenuListProps = ElementProps & {
2748
+ children?: React.ReactNode;
2749
+ checkedValues?: MenuCheckedValues;
2750
+ defaultCheckedValues?: MenuCheckedValues;
2751
+ hasCheckmarks?: boolean;
2752
+ hasIcons?: boolean;
2753
+ onCheckedValueChange?: MenuProps["onCheckedValueChange"];
2754
+ };
2755
+ export declare function MenuList({ children, checkedValues, defaultCheckedValues, hasCheckmarks, hasIcons, onCheckedValueChange, ...props }: MenuListProps): React.ReactElement;
2756
+ export declare const MenuSplitGroup: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & {
2757
+ [attribute: `data-${string}`]: string | number | boolean | undefined;
2758
+ } & {
2759
+ children?: React.ReactNode;
2760
+ orientation?: "horizontal" | "vertical";
2761
+ } & React.RefAttributes<HTMLElement>>;
2762
+ export declare const MenuDivider: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & {
2763
+ [attribute: `data-${string}`]: string | number | boolean | undefined;
2764
+ } & React.RefAttributes<HTMLElement>>;
2765
+ export declare const MenuGroup: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & {
2766
+ [attribute: `data-${string}`]: string | number | boolean | undefined;
2767
+ } & {
2768
+ children?: React.ReactNode;
2769
+ label: string;
2770
+ } & React.RefAttributes<HTMLElement>>;
2771
+ export declare const MenuGroupHeader: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & {
2772
+ [attribute: `data-${string}`]: string | number | boolean | undefined;
2773
+ } & {
2774
+ children?: React.ReactNode;
2775
+ } & React.RefAttributes<HTMLElement>>;
2776
+ export type AvatarProps = ElementProps & {
2777
+ name?: string;
2778
+ image?: string;
2779
+ initials?: string;
2780
+ size?: number | string;
2781
+ shape?: "circular" | "square";
2782
+ color?: AvatarColor;
2783
+ active?: "active" | "inactive" | "unset";
2784
+ activeAppearance?: "ring" | "shadow" | "ring-shadow";
2785
+ idForColor?: string;
2786
+ decorative?: boolean;
2787
+ icon?: React.ReactNode;
2788
+ badge?: React.ReactNode;
2789
+ children?: React.ReactNode;
2790
+ };
2791
+ export declare const Avatar: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & {
2792
+ [attribute: `data-${string}`]: string | number | boolean | undefined;
2793
+ } & {
2794
+ name?: string;
2795
+ image?: string;
2796
+ initials?: string;
2797
+ size?: number | string;
2798
+ shape?: "circular" | "square";
2799
+ color?: AvatarColor;
2800
+ active?: "active" | "inactive" | "unset";
2801
+ activeAppearance?: "ring" | "shadow" | "ring-shadow";
2802
+ idForColor?: string;
2803
+ decorative?: boolean;
2804
+ icon?: React.ReactNode;
2805
+ badge?: React.ReactNode;
2806
+ children?: React.ReactNode;
2807
+ } & React.RefAttributes<HTMLElement>>;
2808
+ export declare function AvatarGroupProvider({ value, children }: {
2809
+ value: AvatarGroupContextValue;
2810
+ children?: React.ReactNode;
2811
+ }): React.ReactElement;
2812
+ export declare const AvatarGroup: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & {
2813
+ [attribute: `data-${string}`]: string | number | boolean | undefined;
2814
+ } & {
2815
+ children?: React.ReactNode;
2816
+ label?: string;
2817
+ maxVisible?: number;
2818
+ layout?: "stack" | "spread" | "pie";
2819
+ size?: number;
2820
+ expanded?: boolean;
2821
+ showMoreLabel?: string;
2822
+ showLessLabel?: string;
2823
+ onExpandedChange?: (expanded: boolean) => void;
2824
+ } & React.RefAttributes<HTMLElement>>;
2825
+ export type AvatarGroupItemAvatarSlot = React.ReactElement | Parameters<typeof Avatar>[0];
2826
+ export type AvatarGroupItemProps = ElementProps & {
2827
+ name: string;
2828
+ avatar?: AvatarGroupItemAvatarSlot;
2829
+ overflowLabel?: SpanSlotProps;
2830
+ image?: string;
2831
+ initials?: string;
2832
+ size?: number;
2833
+ shape?: "circular" | "square";
2834
+ color?: AvatarColor;
2835
+ active?: "active" | "inactive" | "unset";
2836
+ activeAppearance?: "ring" | "shadow" | "ring-shadow";
2837
+ idForColor?: string;
2838
+ icon?: React.ReactNode;
2839
+ badge?: React.ReactNode;
2840
+ };
2841
+ /** One identity in an AvatarGroup; inside AvatarGroupPopover it renders as a named list row. */
2842
+ export declare const AvatarGroupItem: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & {
2843
+ [attribute: `data-${string}`]: string | number | boolean | undefined;
2844
+ } & {
2845
+ name: string;
2846
+ avatar?: AvatarGroupItemAvatarSlot;
2847
+ overflowLabel?: SpanSlotProps;
2848
+ image?: string;
2849
+ initials?: string;
2850
+ size?: number;
2851
+ shape?: "circular" | "square";
2852
+ color?: AvatarColor;
2853
+ active?: "active" | "inactive" | "unset";
2854
+ activeAppearance?: "ring" | "shadow" | "ring-shadow";
2855
+ idForColor?: string;
2856
+ icon?: React.ReactNode;
2857
+ badge?: React.ReactNode;
2858
+ } & React.RefAttributes<HTMLElement>>;
2859
+ export type AvatarGroupPopoverProps = ElementProps & {
2860
+ children: React.ReactNode;
2861
+ count?: number;
2862
+ indicator?: "count" | "icon";
2863
+ label?: string;
2864
+ triggerLabel?: string;
2865
+ open?: boolean;
2866
+ placement?: "top" | "bottom" | "start" | "end";
2867
+ onOpenChange?: (open: boolean) => void;
2868
+ content?: React.ReactElement<React.HTMLAttributes<HTMLUListElement>> | React.HTMLAttributes<HTMLUListElement>;
2869
+ popoverSurface?: React.ReactElement<any> | Parameters<typeof PopoverSurface>[0];
2870
+ tooltip?: React.ReactElement<any> | Parameters<typeof Tooltip>[0];
2871
+ triggerButton?: React.ReactElement<React.ButtonHTMLAttributes<HTMLButtonElement>> | React.ButtonHTMLAttributes<HTMLButtonElement>;
2872
+ };
2873
+ /** A labelled overflow trigger with a theme-aware people list in the library Popover. */
2874
+ export declare function AvatarGroupPopover({ children, count, indicator, label, triggerLabel, open, placement, onOpenChange, content, popoverSurface, tooltip, triggerButton, ...props }: AvatarGroupPopoverProps): React.ReactElement;
2875
+ export declare const Persona: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & {
2876
+ [attribute: `data-${string}`]: string | number | boolean | undefined;
2877
+ } & {
2878
+ name: string;
2879
+ image?: string;
2880
+ initials?: string;
2881
+ primaryText?: React.ReactNode;
2882
+ secondaryText?: React.ReactNode;
2883
+ tertiaryText?: React.ReactNode;
2884
+ quaternaryText?: React.ReactNode;
2885
+ presence?: PersonaPresence;
2886
+ presenceLabel?: string;
2887
+ size?: PersonaSize;
2888
+ color?: AvatarColor;
2889
+ textPosition?: "after" | "before" | "below";
2890
+ textAlignment?: "start" | "center";
2891
+ presenceOnly?: boolean;
2892
+ avatar?: React.ReactNode;
2893
+ children?: React.ReactNode;
2894
+ } & React.RefAttributes<HTMLElement>>;
2895
+ export type VirtualListScrollToHandle = {
2896
+ scrollTo: (index: number, align?: "start" | "center" | "end", behavior?: ScrollBehavior) => void;
2897
+ };
2898
+ export type VirtualizerSlotProps = React.ReactElement<any> | React.HTMLAttributes<HTMLDivElement>;
2899
+ export type VirtualizerBookendSlots = {
2900
+ before?: VirtualizerSlotProps;
2901
+ after?: VirtualizerSlotProps;
2902
+ beforeContainer?: VirtualizerSlotProps;
2903
+ afterContainer?: VirtualizerSlotProps;
2904
+ };
2905
+ type VirtualizerScrollViewContainer = VirtualizerSlotProps;
2906
+ export type VirtualListProps<T> = ElementProps & VirtualizerBookendSlots & {
2907
+ items?: T[];
2908
+ itemCount?: number;
2909
+ dataSource?: VirtualListDataSource<T>;
2910
+ onDataLoadError?: (error: unknown, range: {
2911
+ start: number;
2912
+ end: number;
2913
+ }) => void;
2914
+ renderItem: (item: T | undefined, index: number) => React.ReactNode;
2915
+ itemKey?: (item: T | undefined, index: number) => string | number;
2916
+ onRenderedRange?: (range: {
2917
+ start: number;
2918
+ end: number;
2919
+ total: number;
2920
+ }) => void;
2921
+ onScrollStateChange?: (scrolling: boolean) => void;
2922
+ viewportRef?: React.Ref<HTMLDivElement>;
2923
+ scrollToIndexRef?: React.RefObject<VirtualListScrollToHandle | null>;
2924
+ virtualizerLength?: number;
2925
+ label?: string;
2926
+ rowHeight?: number;
2927
+ measureItems?: boolean;
2928
+ overscan?: number;
2929
+ axis?: "vertical" | "horizontal";
2930
+ scrollMode?: "element" | "window";
2931
+ };
2932
+ export declare function VirtualList<T>({ items, itemCount, dataSource, onDataLoadError, renderItem, itemKey, onRenderedRange, onScrollStateChange, viewportRef, scrollToIndexRef, virtualizerLength, label, rowHeight, measureItems, overscan, axis, ...props }: ElementProps & {
2933
+ items?: T[];
2934
+ itemCount?: number;
2935
+ dataSource?: VirtualListDataSource<T>;
2936
+ onDataLoadError?: (error: unknown, range: {
2937
+ start: number;
2938
+ end: number;
2939
+ }) => void;
2940
+ renderItem: (item: T | undefined, index: number) => React.ReactNode;
2941
+ itemKey?: (item: T | undefined, index: number) => string | number;
2942
+ onRenderedRange?: (range: {
2943
+ start: number;
2944
+ end: number;
2945
+ total: number;
2946
+ }) => void;
2947
+ onScrollStateChange?: (scrolling: boolean) => void;
2948
+ viewportRef?: React.Ref<HTMLDivElement>;
2949
+ scrollToIndexRef?: React.RefObject<VirtualListScrollToHandle | null>;
2950
+ virtualizerLength?: number;
2951
+ label?: string;
2952
+ rowHeight?: number;
2953
+ measureItems?: boolean;
2954
+ overscan?: number;
2955
+ axis?: "vertical" | "horizontal";
2956
+ scrollMode?: "element" | "window";
2957
+ }): React.ReactElement;
2958
+ export type VirtualizerChildRenderFunction = (index: number, isScrolling: boolean) => React.ReactNode;
2959
+ export type VirtualizerScrollToHandle = {
2960
+ scrollTo: (index: number, behavior?: ScrollBehavior, callback?: (index: number) => void) => void;
2961
+ virtualizerLength: React.RefObject<number>;
2962
+ currentIndex: React.RefObject<number | undefined>;
2963
+ };
2964
+ export type VirtualizerDataRef = {
2965
+ progressiveSizes: React.RefObject<number[]>;
2966
+ nodeSizes: React.RefObject<number[]>;
2967
+ setFlaggedIndex: (index: number | null) => void;
2968
+ currentIndex: React.RefObject<number>;
2969
+ };
2970
+ export type ScrollToInterface = VirtualizerScrollToHandle;
2971
+ export type VirtualizerContextProps = {
2972
+ contextIndex: number;
2973
+ setContextIndex: (index: number) => void;
2974
+ childProgressiveSizes?: React.MutableRefObject<number[]>;
2975
+ };
2976
+ export type DynamicVirtualizerContextProps = Required<VirtualizerContextProps>;
2977
+ export declare function useVirtualizerContext(): VirtualizerContextProps;
2978
+ export declare const useVirtualizerContext_unstable: typeof useVirtualizerContext;
2979
+ export declare const VirtualizerContextProvider: React.Provider<VirtualizerContextProps>;
2980
+ /** Fixed or measured one-dimensional virtualization over the bounded VirtualList renderer. */
2981
+ export declare function Virtualizer({ children, numItems, itemSize, virtualizerLength, bufferItems, bufferSize, containerSizeRef, getItemSize, gap, reversed, updateScrollPosition, virtualizerContext, axis, measureItems, enableScrollLoad, enablePagination, flaggedIndex, onRenderedFlaggedIndex, onRenderedRange: onRenderedRangeChange, imperativeVirtualizerRef, imperativeRef, scrollViewRef, label, scrollMode, before, after, beforeContainer, afterContainer, ...props }: Omit<ElementProps, "children"> & {
2982
+ children: VirtualizerChildRenderFunction;
2983
+ numItems: number;
2984
+ itemSize: number;
2985
+ virtualizerLength?: number;
2986
+ bufferItems?: number;
2987
+ bufferSize?: number;
2988
+ containerSizeRef?: React.RefObject<number>;
2989
+ getItemSize?: (index: number) => number;
2990
+ gap?: number;
2991
+ reversed?: boolean;
2992
+ updateScrollPosition?: (position: number) => void;
2993
+ virtualizerContext?: VirtualizerContextProps;
2994
+ axis?: "vertical" | "horizontal";
2995
+ scrollMode?: "element" | "window";
2996
+ measureItems?: boolean;
2997
+ enableScrollLoad?: boolean;
2998
+ enablePagination?: boolean;
2999
+ flaggedIndex?: React.MutableRefObject<number | null>;
3000
+ onRenderedFlaggedIndex?: (index: number) => void;
3001
+ onRenderedRange?: (range: {
3002
+ start: number;
3003
+ end: number;
3004
+ total: number;
3005
+ }) => void;
3006
+ imperativeVirtualizerRef?: React.RefObject<VirtualizerDataRef | null>;
3007
+ imperativeRef?: React.RefObject<VirtualizerScrollToHandle | null>;
3008
+ scrollViewRef?: React.MutableRefObject<HTMLElement | null>;
3009
+ label?: string;
3010
+ } & VirtualizerBookendSlots): React.ReactElement;
3011
+ type ScrollViewBaseProps = Omit<ElementProps, "children"> & {
3012
+ children: VirtualizerChildRenderFunction;
3013
+ itemSize: number;
3014
+ numItems: number;
3015
+ virtualizerLength?: number;
3016
+ bufferItems?: number;
3017
+ bufferSize?: number;
3018
+ scrollViewRef?: React.MutableRefObject<HTMLElement | null>;
3019
+ axis?: "vertical" | "horizontal";
3020
+ reversed?: boolean;
3021
+ enableScrollLoad?: boolean;
3022
+ getItemSize?: (index: number) => number;
3023
+ virtualizerContext?: VirtualizerContextProps;
3024
+ onRenderedFlaggedIndex?: (index: number) => void;
3025
+ flaggedIndex?: React.MutableRefObject<number | null>;
3026
+ imperativeVirtualizerRef?: React.RefObject<VirtualizerDataRef | null>;
3027
+ imperativeRef?: React.RefObject<VirtualizerScrollToHandle | null>;
3028
+ containerSizeRef?: React.RefObject<number>;
3029
+ updateScrollPosition?: (position: number) => void;
3030
+ gap?: number;
3031
+ enablePagination?: boolean;
3032
+ container?: VirtualizerScrollViewContainer;
3033
+ label?: string;
3034
+ } & VirtualizerBookendSlots;
3035
+ /** Responsive compatibility view for Fluent's legacy fixed-size VirtualizerScrollView API. */
3036
+ export declare function VirtualizerScrollView({ children, itemSize, numItems, virtualizerLength, bufferItems, bufferSize, scrollViewRef: providedScrollViewRef, axis, reversed, enableScrollLoad, onRenderedFlaggedIndex, flaggedIndex, imperativeVirtualizerRef, imperativeRef, containerSizeRef, updateScrollPosition, gap, enablePagination, container, label, ...props }: ScrollViewBaseProps): React.ReactElement;
3037
+ /** Responsive measured compatibility view for Fluent's legacy dynamic VirtualizerScrollView API. */
3038
+ export declare function VirtualizerScrollViewDynamic({ children, itemSize, numItems, virtualizerLength, bufferItems, bufferSize, scrollViewRef: providedScrollViewRef, axis, reversed, enableScrollLoad, getItemSize, virtualizerContext, onRenderedFlaggedIndex, flaggedIndex, imperativeVirtualizerRef, imperativeRef, containerSizeRef, updateScrollPosition, gap, enablePagination, container, label, ...props }: ScrollViewBaseProps): React.ReactElement;
3039
+ export type DataGridColumnResizeData = {
3040
+ columnId: string;
3041
+ width: number;
3042
+ };
3043
+ export type DataGridColumnResizeEvent = MouseEvent | KeyboardEvent | TouchEvent | undefined;
3044
+ export type DataGridSelectionChangeEvent = React.MouseEvent | React.KeyboardEvent;
3045
+ declare function VirtualDataGrid<T>({ items, dataSource, onDataLoadError, onDataSourceGroupToggle, columns, getRowId, label: labelProp, height, rowHeight, getRowHeight, overscan, virtualize, virtualizeColumns, focusMode, subtleSelection, selectionAppearance, selectionMode, selectedKeys, defaultSelectedKeys, selectionModel, defaultSelectionModel, onDataSourceSelectionChange, onSelectionChange, sort, defaultSort, onSortChange, multiSort, defaultMultiSort, onMultiSortChange, sortPriorityLabel: sortPriorityLabelProp, filterable, filterValue, defaultFilterValue, onFilterValueChange, filterLabel: filterLabelProp, renderCell, onCellEdit, onCellsEdit, validateCellEdit, rowLabel: rowLabelProp, editHint: editHintProp, emptyMessage: emptyMessageProp, loadingLabel: loadingLabelProp, selectLabel: selectLabelProp, selectAllLabel: selectAllLabelProp, resizableColumns, columnWidths, defaultColumnWidths, columnSizingOptions, resizableColumnsOptions, containerWidthOffset, onColumnResize, resizeLabel: resizeLabelProp, reorderableColumns, columnOrder, defaultColumnOrder, onColumnOrderChange, reorderLabel: reorderLabelProp, groupBy, collapsedGroupKeys, defaultCollapsedGroupKeys, onCollapsedGroupKeysChange, emptyGroupLabel: emptyGroupLabelProp, expandGroupLabel: expandGroupLabelProp, collapseGroupLabel: collapseGroupLabelProp, onRenderedRange, ...props }: ElementProps & {
3046
+ items?: T[];
3047
+ dataSource?: DataGridDataSource<T>;
3048
+ onDataLoadError?: (error: unknown, range: {
3049
+ start: number;
3050
+ end: number;
3051
+ }) => void;
3052
+ onDataSourceGroupToggle?: (groupKey: string, expanded: boolean) => void;
3053
+ columns: DataGridColumn<T>[];
3054
+ getRowId: (item: T) => string | number;
3055
+ label?: string;
3056
+ height?: number | string;
3057
+ rowHeight?: number;
3058
+ getRowHeight?: (item: T, index: number) => number;
3059
+ overscan?: number;
3060
+ virtualize?: boolean;
3061
+ virtualizeColumns?: boolean;
3062
+ focusMode?: DataGridFocusMode;
3063
+ subtleSelection?: boolean;
3064
+ selectionAppearance?: DataGridSelectionAppearance;
3065
+ selectionMode?: "none" | "single" | "multiple" | "multiselect";
3066
+ selectedKeys?: readonly (string | number)[];
3067
+ defaultSelectedKeys?: readonly (string | number)[];
3068
+ selectionModel?: DataGridSelectionModel;
3069
+ defaultSelectionModel?: DataGridSelectionModel;
3070
+ onDataSourceSelectionChange?: (selection: DataGridSelectionModel, selectedItems: T[]) => void;
3071
+ onSelectionChange?: (keys: string[], selectedItems: T[]) => void;
3072
+ sort?: DataGridSort | null;
3073
+ defaultSort?: DataGridSort;
3074
+ onSortChange?: (sort: DataGridSort | undefined) => void;
3075
+ multiSort?: readonly DataGridSort[];
3076
+ defaultMultiSort?: readonly DataGridSort[];
3077
+ onMultiSortChange?: (sorts: DataGridSort[]) => void;
3078
+ sortPriorityLabel?: string;
3079
+ filterable?: boolean;
3080
+ filterValue?: string;
3081
+ defaultFilterValue?: string;
3082
+ onFilterValueChange?: (value: string) => void;
3083
+ filterLabel?: string;
3084
+ renderCell?: (item: T, column: DataGridColumn<T>, rowIndex: number) => React.ReactNode;
3085
+ onCellEdit?: (edit: DataGridCellEdit<T>) => void | Promise<void>;
3086
+ onCellsEdit?: (edits: readonly DataGridCellEdit<T>[]) => void | Promise<void>;
3087
+ validateCellEdit?: (edit: DataGridCellEdit<T>) => string | undefined;
3088
+ rowLabel?: string;
3089
+ editHint?: string;
3090
+ emptyMessage?: React.ReactNode;
3091
+ loadingLabel?: string;
3092
+ selectLabel?: string;
3093
+ selectAllLabel?: string;
3094
+ resizableColumns?: boolean;
3095
+ columnWidths?: DataGridColumnWidths;
3096
+ defaultColumnWidths?: DataGridColumnWidths;
3097
+ columnSizingOptions?: DataGridColumnSizingOptions;
3098
+ resizableColumnsOptions?: {
3099
+ autoFitColumns?: boolean;
3100
+ };
3101
+ containerWidthOffset?: number;
3102
+ onColumnResize?: (event: DataGridColumnResizeEvent, data: DataGridColumnResizeData) => void;
3103
+ resizeLabel?: string;
3104
+ reorderableColumns?: boolean;
3105
+ columnOrder?: readonly string[];
3106
+ defaultColumnOrder?: readonly string[];
3107
+ onColumnOrderChange?: (columnIds: string[]) => void;
3108
+ reorderLabel?: string;
3109
+ groupBy?: string;
3110
+ collapsedGroupKeys?: readonly string[];
3111
+ defaultCollapsedGroupKeys?: readonly string[];
3112
+ onCollapsedGroupKeysChange?: (groupKeys: string[]) => void;
3113
+ emptyGroupLabel?: string;
3114
+ expandGroupLabel?: string;
3115
+ collapseGroupLabel?: string;
3116
+ onRenderedRange?: (range: {
3117
+ start: number;
3118
+ end: number;
3119
+ total: number;
3120
+ }) => void;
3121
+ }): React.ReactElement;
3122
+ type VirtualDataGridProps<T> = Parameters<typeof VirtualDataGrid<T>>[0];
3123
+ export type DataGridCompositionSortState = {
3124
+ sortColumn: TableColumnId | undefined;
3125
+ sortDirection: TableSortDirection;
3126
+ };
3127
+ export type DataGridSelectionChangeData<T> = {
3128
+ selectedItems: Set<T>;
3129
+ };
3130
+ export type DataGridCompositionContextValue<T> = {
3131
+ items: readonly T[];
3132
+ dataSource?: DataGridDataSource<T>;
3133
+ totalRows: number;
3134
+ firstRow: number;
3135
+ lastRow: number;
3136
+ rowHeight: number;
3137
+ sourceBusy: boolean;
3138
+ sourceError: string;
3139
+ expandGroupLabel: string;
3140
+ collapseGroupLabel: string;
3141
+ groupCountLabel: string;
3142
+ toggleGroup: (group: Extract<DataGridDataSourceRow<T>, {
3143
+ kind: "group";
3144
+ }>) => void;
3145
+ columns: readonly TableColumnDefinition<T>[];
3146
+ getRowId: (item: T) => string | number;
3147
+ selectionMode: "none" | "single" | "multiselect";
3148
+ selectionAppearance: "brand" | "neutral";
3149
+ subtleSelection: boolean;
3150
+ focusMode: DataGridFocusMode;
3151
+ selectedItems: Set<T>;
3152
+ selectionModel: DataGridSelectionModel;
3153
+ setSelectionModel: (selection: DataGridSelectionModel, event: React.SyntheticEvent) => void;
3154
+ isItemSelected: (item: T) => boolean;
3155
+ isRowSelected: (rowId: string | number, item: T) => boolean;
3156
+ setSelectedItems: (items: Set<T>, event: React.SyntheticEvent) => void;
3157
+ sortState: DataGridCompositionSortState;
3158
+ setSortState: (state: DataGridCompositionSortState, event: React.MouseEvent) => void;
3159
+ activeCell: {
3160
+ row: number;
3161
+ column: number;
3162
+ };
3163
+ setActiveCell: (row: number, column: number) => void;
3164
+ columnWidths: DataGridColumnWidths;
3165
+ resizeColumn: (id: string, width: number, event: DataGridColumnResizeEvent) => void;
3166
+ columnSizingOptions: DataGridColumnSizingOptions;
3167
+ resizableColumns: boolean;
3168
+ autoFitColumns: boolean;
3169
+ resizeLabel: string;
3170
+ orderedColumns?: readonly TableColumnDefinition<T>[];
3171
+ reorderColumn?: (fromId: string, toId: string, after?: boolean) => void;
3172
+ reorderableColumns?: boolean;
3173
+ reorderLabel?: string;
3174
+ draggedColumn?: React.MutableRefObject<string | undefined>;
3175
+ editHint: string;
3176
+ rowLabel: string;
3177
+ editedCells: Record<string, DataGridEditValue>;
3178
+ onCellEdit?: (edit: DataGridCellEdit<T>) => void | Promise<void>;
3179
+ validateCellEdit?: (edit: DataGridCellEdit<T>) => string | undefined;
3180
+ setEditedCell: (key: string, value: DataGridEditValue) => void;
3181
+ };
3182
+ export type DataGridContextValue<T> = Omit<DataGridCompositionContextValue<T>, "items" | "columns"> & {
3183
+ /** Fluent table feature state uses mutable snapshots; these arrays are local projections. */
3184
+ items: T[];
3185
+ columns: TableColumnDefinition<T>[];
3186
+ /** Fluent table feature state projected from the active DataGrid composition. */
3187
+ getRows: TableFeaturesState<T>["getRows"];
3188
+ selection: TableSelectionState;
3189
+ sort: TableSortState<T>;
3190
+ tableRef: React.RefObject<HTMLDivElement | null>;
3191
+ columnSizing_unstable: TableColumnSizingState;
3192
+ selectableRows: boolean;
3193
+ compositeRowTabsterAttribute: TableCompositeNavigationAttribute;
3194
+ };
3195
+ export type DataGridCompositionRow<T> = {
3196
+ item: T;
3197
+ rowId: string | number;
3198
+ index: number;
3199
+ };
3200
+ export type DataGridCompositionGroupRow<T> = {
3201
+ group: Extract<DataGridDataSourceRow<T>, {
3202
+ kind: "group";
3203
+ }>;
3204
+ index: number;
3205
+ };
3206
+ export type DataGridRowRenderHelpers<T> = {
3207
+ item?: T;
3208
+ rowId?: string | number;
3209
+ renderCell: (column: TableColumnDefinition<T>) => React.ReactNode;
3210
+ renderHeaderCell: (column: TableColumnDefinition<T>) => React.ReactNode;
3211
+ columns: readonly TableColumnDefinition<T>[];
3212
+ dataGridContextValue: DataGridContextValue<T>;
3213
+ };
3214
+ export type DataGridCompositionProps<T> = Omit<ElementProps, "children"> & {
3215
+ items?: readonly T[];
3216
+ dataSource?: DataGridDataSource<T>;
3217
+ onDataLoadError?: (error: unknown, range: {
3218
+ start: number;
3219
+ end: number;
3220
+ }) => void;
3221
+ onDataSourceGroupToggle?: (groupKey: string, expanded: boolean) => void;
3222
+ onRenderedRange?: (range: {
3223
+ start: number;
3224
+ end: number;
3225
+ total: number;
3226
+ }) => void;
3227
+ rowHeight?: number;
3228
+ overscan?: number;
3229
+ virtualize?: boolean;
3230
+ loadingLabel?: string;
3231
+ expandGroupLabel?: string;
3232
+ collapseGroupLabel?: string;
3233
+ groupCountLabel?: string;
3234
+ columns: readonly TableColumnDefinition<T>[];
3235
+ getRowId: (item: T) => string | number;
3236
+ selectionMode?: "none" | "single" | "multiselect";
3237
+ selectionAppearance?: "brand" | "neutral";
3238
+ subtleSelection?: boolean;
3239
+ focusMode?: DataGridFocusMode;
3240
+ selectedItems?: Set<T>;
3241
+ defaultSelectedItems?: Set<T>;
3242
+ selectionModel?: DataGridSelectionModel;
3243
+ defaultSelectionModel?: DataGridSelectionModel;
3244
+ onDataSourceSelectionChange?: (selection: DataGridSelectionModel, selectedItems: T[]) => void;
3245
+ onSelectionChange?: (event: DataGridSelectionChangeEvent, data: DataGridSelectionChangeData<T>) => void;
3246
+ sortState?: DataGridCompositionSortState;
3247
+ defaultSortState?: DataGridCompositionSortState;
3248
+ onSortChange?: (event: React.MouseEvent, state: DataGridCompositionSortState) => void;
3249
+ label?: string;
3250
+ resizableColumns?: boolean;
3251
+ columnWidths?: DataGridColumnWidths;
3252
+ defaultColumnWidths?: DataGridColumnWidths;
3253
+ columnSizingOptions?: DataGridColumnSizingOptions;
3254
+ resizableColumnsOptions?: {
3255
+ autoFitColumns?: boolean;
3256
+ };
3257
+ containerWidthOffset?: number;
3258
+ onColumnResize?: (event: DataGridColumnResizeEvent, data: DataGridColumnResizeData) => void;
3259
+ resizeLabel?: string;
3260
+ reorderableColumns?: boolean;
3261
+ columnOrder?: readonly string[];
3262
+ defaultColumnOrder?: readonly string[];
3263
+ onColumnOrderChange?: (columnIds: string[]) => void;
3264
+ reorderLabel?: string;
3265
+ onCellEdit?: (edit: DataGridCellEdit<T>) => void | Promise<void>;
3266
+ validateCellEdit?: (edit: DataGridCellEdit<T>) => string | undefined;
3267
+ rowLabel?: string;
3268
+ editHint?: string;
3269
+ children?: React.ReactNode;
3270
+ };
3271
+ export type DataGridProps<T> = VirtualDataGridProps<T> | DataGridCompositionProps<T>;
3272
+ export declare function DataGridContextProvider<T>({ value, children }: {
3273
+ value: DataGridContextValue<T> | undefined;
3274
+ children?: React.ReactNode;
3275
+ }): React.ReactElement;
3276
+ export declare function ColumnIdContextProvider({ value, children }: {
3277
+ value: TableColumnId | undefined;
3278
+ children?: React.ReactNode;
3279
+ }): React.ReactElement;
3280
+ /** Select from the nearest DataGrid context, using Fluent-compatible defaults outside a provider. */
3281
+ export declare function useDataGridContext_unstable<TValue>(selector: (context: DataGridContextValue<unknown>) => TValue): TValue;
3282
+ export declare function DataGrid<T>(props: DataGridCompositionProps<T>): React.ReactElement;
3283
+ export declare function DataGrid<T>(props: VirtualDataGridProps<T>): React.ReactElement;
3284
+ export type DataGridHeaderProps = Omit<ElementProps, "children"> & {
3285
+ children?: React.ReactNode;
3286
+ };
3287
+ export declare function DataGridHeader({ children, ...props }: DataGridHeaderProps): React.ReactElement;
3288
+ export type DataGridBodyProps<T> = Omit<ElementProps, "children"> & {
3289
+ children: (row: DataGridCompositionRow<T>) => React.ReactNode;
3290
+ renderGroupRow?: (row: DataGridCompositionGroupRow<T>) => React.ReactNode;
3291
+ };
3292
+ export declare function DataGridBody<T>({ children, renderGroupRow, ...props }: DataGridBodyProps<T>): React.ReactElement;
3293
+ export type DataGridFluentCellRenderFunction<T> = (column: TableColumnDefinition<T>, dataGridContextValue: DataGridContextValue<T>) => React.ReactNode;
3294
+ type DataGridRowBaseProps<T> = Omit<ElementProps, "children"> & {
3295
+ item?: T;
3296
+ rowId?: string | number;
3297
+ rowIndex?: number;
3298
+ appearance?: "brand" | "neutral" | "none";
3299
+ selectionCell?: React.ReactNode;
3300
+ };
3301
+ export type DataGridRowProps<T> = DataGridRowBaseProps<T> & {
3302
+ children: React.ReactNode | ((helpers: DataGridRowRenderHelpers<T>) => React.ReactNode) | DataGridFluentCellRenderFunction<T>;
3303
+ };
3304
+ export declare function DataGridRow<T>(props: DataGridRowBaseProps<T> & {
3305
+ children: (helpers: DataGridRowRenderHelpers<T>) => React.ReactNode;
3306
+ }): React.ReactElement;
3307
+ export declare function DataGridRow<T>(props: DataGridRowBaseProps<T> & {
3308
+ children: DataGridFluentCellRenderFunction<T>;
3309
+ }): React.ReactElement;
3310
+ export declare function DataGridRow<T>(props: DataGridRowBaseProps<T> & {
3311
+ children: React.ReactNode;
3312
+ }): React.ReactElement;
3313
+ export type DataGridCellProps = Omit<ElementProps, "children"> & {
3314
+ children?: React.ReactNode;
3315
+ columnId?: TableColumnId;
3316
+ rowIndex?: number;
3317
+ columnIndex?: number;
3318
+ focusMode?: "group" | "none" | "cell";
3319
+ editable?: boolean;
3320
+ value?: unknown;
3321
+ editType?: DataGridColumn["editType"];
3322
+ editLabel?: string;
3323
+ };
3324
+ export declare function DataGridCell({ children, columnId, rowIndex, columnIndex, focusMode: requestedFocusMode, editable, value, editType, editLabel, ...props }: DataGridCellProps): React.ReactElement;
3325
+ export type DataGridHeaderCellProps = Omit<ElementProps, "children"> & {
3326
+ children?: React.ReactNode;
3327
+ columnId?: TableColumnId;
3328
+ rowIndex?: number;
3329
+ columnIndex?: number;
3330
+ sortable?: boolean;
3331
+ sortDirection?: "ascending" | "descending";
3332
+ focusMode?: "group" | "none" | "cell";
3333
+ aside?: SpanSlotProps;
3334
+ sortIcon?: SpanSlotProps;
3335
+ button?: React.ReactElement<any> | Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, "children">;
3336
+ };
3337
+ export declare function DataGridHeaderCell({ children, columnId, rowIndex, columnIndex, sortable, sortDirection: explicitSortDirection, focusMode, aside, sortIcon, button, ...props }: DataGridHeaderCellProps): React.ReactElement;
3338
+ export type SelectionIndicatorSlot = React.ReactElement | React.HTMLAttributes<HTMLElement>;
3339
+ export type DataGridSelectionCellProps = Omit<ElementProps, "children"> & {
3340
+ item?: unknown;
3341
+ rowIndex?: number;
3342
+ columnIndex?: number;
3343
+ label?: string;
3344
+ type?: "checkbox" | "radio";
3345
+ checked?: boolean | "mixed";
3346
+ subtle?: boolean;
3347
+ hidden?: boolean;
3348
+ invisible?: boolean;
3349
+ checkboxIndicator?: SelectionIndicatorSlot;
3350
+ radioIndicator?: SelectionIndicatorSlot;
3351
+ };
3352
+ export declare function DataGridSelectionCell({ item, rowIndex, columnIndex, label, type, checked: checkedProp, subtle: subtleProp, hidden, invisible, checkboxIndicator, radioIndicator, ...props }: DataGridSelectionCellProps): React.ReactElement;
3353
+ export type TreeItemLayoutProps = ElementProps & {
3354
+ children?: React.ReactNode;
3355
+ main?: React.ReactNode;
3356
+ iconBefore?: React.ReactNode;
3357
+ iconAfter?: React.ReactNode;
3358
+ expandIcon?: React.ReactNode;
3359
+ aside?: React.ReactNode;
3360
+ actions?: React.ReactNode;
3361
+ selector?: React.ReactNode;
3362
+ };
3363
+ export declare function TreeItemLayout({ children, main, iconBefore, iconAfter, expandIcon, aside, actions, selector, className, ...props }: TreeItemLayoutProps): React.ReactElement;
3364
+ export type TreeItemPersonaLayoutProps = ElementProps & {
3365
+ children?: React.ReactNode;
3366
+ media?: React.ReactNode;
3367
+ main?: React.ReactNode;
3368
+ description?: React.ReactNode;
3369
+ actions?: React.ReactNode;
3370
+ aside?: React.ReactNode;
3371
+ expandIcon?: React.ReactNode;
3372
+ selector?: React.ReactNode;
3373
+ };
3374
+ export declare function TreeItemPersonaLayout({ children, media, main, description, actions, aside, expandIcon, selector, className, ...props }: TreeItemPersonaLayoutProps): React.ReactElement;
3375
+ export type TreeInteractionEvent = React.MouseEvent<HTMLElement> | React.KeyboardEvent<HTMLElement>;
3376
+ export type TreeCheckedChangeEvent = React.ChangeEvent<HTMLElement>;
3377
+ type TreeOpenChangeEventMap = {
3378
+ ExpandIconClick: React.MouseEvent<HTMLElement>;
3379
+ Click: React.MouseEvent<HTMLElement>;
3380
+ ArrowLeft: React.KeyboardEvent<HTMLElement>;
3381
+ ArrowRight: React.KeyboardEvent<HTMLElement>;
3382
+ Enter: React.KeyboardEvent<HTMLElement>;
3383
+ };
3384
+ type TreeNavigationEventMap = {
3385
+ Click: React.MouseEvent<HTMLElement>;
3386
+ TypeAhead: React.KeyboardEvent<HTMLElement>;
3387
+ ArrowRight: React.KeyboardEvent<HTMLElement>;
3388
+ ArrowLeft: React.KeyboardEvent<HTMLElement>;
3389
+ ArrowUp: React.KeyboardEvent<HTMLElement>;
3390
+ ArrowDown: React.KeyboardEvent<HTMLElement>;
3391
+ Home: React.KeyboardEvent<HTMLElement>;
3392
+ End: React.KeyboardEvent<HTMLElement>;
3393
+ };
3394
+ export type TreeOpenChangeData = {
3395
+ [Type in keyof TreeOpenChangeEventMap]: {
3396
+ event: TreeOpenChangeEventMap[Type];
3397
+ open: boolean;
3398
+ openItems: Set<string>;
3399
+ value: string;
3400
+ target: HTMLElement;
3401
+ type: Type;
3402
+ };
3403
+ }[keyof TreeOpenChangeEventMap];
3404
+ export type TreeItemOpenChangeData = {
3405
+ [Type in keyof TreeOpenChangeEventMap]: {
3406
+ event: TreeOpenChangeEventMap[Type];
3407
+ open: boolean;
3408
+ value: string | number;
3409
+ target: HTMLElement;
3410
+ type: Type;
3411
+ };
3412
+ }[keyof TreeOpenChangeEventMap];
3413
+ export type TreeNavigationData = {
3414
+ [Type in keyof TreeNavigationEventMap]: {
3415
+ event: TreeNavigationEventMap[Type];
3416
+ target: HTMLElement;
3417
+ value: string;
3418
+ parentValue?: string;
3419
+ type: Type;
3420
+ isScrollPrevented: boolean;
3421
+ preventScroll: () => void;
3422
+ };
3423
+ }[keyof TreeNavigationEventMap];
3424
+ export type TreeItemProps = ElementProps & {
3425
+ itemType: "leaf" | "branch";
3426
+ value?: string | number;
3427
+ open?: boolean;
3428
+ parentValue?: string | number;
3429
+ onOpenChange?: (event: TreeInteractionEvent, data: TreeItemOpenChangeData) => void;
3430
+ disabled?: boolean;
3431
+ children?: React.ReactNode;
3432
+ };
3433
+ export declare function TreeItem(_props: TreeItemProps): null;
3434
+ export type FlatTreeItemProps = ElementProps & {
3435
+ itemType: "leaf" | "branch";
3436
+ value: string | number;
3437
+ open?: boolean;
3438
+ parentValue?: string | number;
3439
+ onOpenChange?: TreeItemProps["onOpenChange"];
3440
+ disabled?: boolean;
3441
+ children?: React.ReactNode;
3442
+ "aria-level": number;
3443
+ "aria-setsize": number;
3444
+ "aria-posinset": number;
3445
+ };
3446
+ export declare function FlatTreeItem(_props: FlatTreeItemProps): null;
3447
+ export type TreeProps<T = unknown> = ElementProps & {
3448
+ items?: readonly TreeNode<T>[];
3449
+ children?: React.ReactNode;
3450
+ label?: string;
3451
+ selectionMode?: "none" | "single" | "multiple" | "multiselect";
3452
+ selectedKeys?: readonly (string | number)[];
3453
+ defaultSelectedKeys?: readonly (string | number)[];
3454
+ checkedItems?: Iterable<string | number | readonly [string | number, boolean | "mixed"]>;
3455
+ defaultCheckedItems?: Iterable<string | number | readonly [string | number, boolean | "mixed"]>;
3456
+ openItems?: Iterable<string | number>;
3457
+ defaultOpenItems?: Iterable<string | number>;
3458
+ expandedKeys?: readonly (string | number)[];
3459
+ defaultExpandedKeys?: readonly (string | number)[];
3460
+ onSelectionChange?: (keys: string[], selectedItems: TreeNode<T>[]) => void;
3461
+ onCheckedChange?: (event: TreeCheckedChangeEvent, data: {
3462
+ value: string;
3463
+ checkedItems: Map<string, boolean | "mixed">;
3464
+ target: HTMLElement;
3465
+ event: TreeCheckedChangeEvent;
3466
+ type: "Change";
3467
+ selectionMode: "single" | "multiselect";
3468
+ checked: boolean | "mixed";
3469
+ }) => void;
3470
+ onExpandedChange?: (keys: string[]) => void;
3471
+ onOpenChange?: (event: TreeInteractionEvent, data: TreeOpenChangeData) => void;
3472
+ onNavigation?: (event: TreeInteractionEvent, data: TreeNavigationData) => void;
3473
+ navigationMode?: "tree" | "treegrid";
3474
+ appearance?: "subtle" | "subtle-alpha" | "transparent";
3475
+ size?: "small" | "medium";
3476
+ renderItem?: (node: TreeNode<T>, level: number) => React.ReactNode;
3477
+ collapseMotion?: React.ComponentType<PresenceMotionSlotProps>;
3478
+ toggleLabel?: string;
3479
+ emptyMessage?: React.ReactNode;
3480
+ };
3481
+ export declare function Tree<T>({ items, children, label, selectionMode, selectedKeys, defaultSelectedKeys, checkedItems, defaultCheckedItems, openItems, defaultOpenItems, expandedKeys, defaultExpandedKeys, onSelectionChange, onCheckedChange, onExpandedChange, onOpenChange, onNavigation, navigationMode, appearance, size, renderItem, collapseMotion, toggleLabel, emptyMessage, ...props }: TreeProps<T>): React.ReactElement;
3482
+ export type FlatTreeProps = ElementProps & {
3483
+ children?: React.ReactNode;
3484
+ label?: string;
3485
+ selectionMode?: "none" | "single" | "multiple" | "multiselect";
3486
+ selectedKeys?: readonly (string | number)[];
3487
+ defaultSelectedKeys?: readonly (string | number)[];
3488
+ checkedItems?: Iterable<string | number | readonly [string | number, boolean | "mixed"]>;
3489
+ defaultCheckedItems?: Iterable<string | number | readonly [string | number, boolean | "mixed"]>;
3490
+ openItems?: Iterable<string | number>;
3491
+ defaultOpenItems?: Iterable<string | number>;
3492
+ expandedKeys?: readonly (string | number)[];
3493
+ defaultExpandedKeys?: readonly (string | number)[];
3494
+ onSelectionChange?: TreeProps["onSelectionChange"];
3495
+ onCheckedChange?: TreeProps["onCheckedChange"];
3496
+ onExpandedChange?: TreeProps["onExpandedChange"];
3497
+ onOpenChange?: TreeProps["onOpenChange"];
3498
+ onNavigation?: TreeProps["onNavigation"];
3499
+ navigationMode?: "tree" | "treegrid";
3500
+ appearance?: "subtle" | "subtle-alpha" | "transparent";
3501
+ size?: "small" | "medium";
3502
+ renderItem?: (node: TreeNode<React.ReactNode>, level: number) => React.ReactNode;
3503
+ collapseMotion?: React.ComponentType<PresenceMotionSlotProps>;
3504
+ toggleLabel?: string;
3505
+ emptyMessage?: React.ReactNode;
3506
+ };
3507
+ export declare function FlatTree({ children, ...props }: FlatTreeProps): React.ReactElement;
3508
+ export type TextFieldProps = ElementProps & {
3509
+ label?: string;
3510
+ value?: string;
3511
+ onValueChange?: (value: string) => void;
3512
+ name?: string;
3513
+ required?: boolean;
3514
+ disabled?: boolean;
3515
+ readOnly?: boolean;
3516
+ placeholder?: string;
3517
+ type?: string;
3518
+ };
3519
+ export declare const TextField: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & {
3520
+ [attribute: `data-${string}`]: string | number | boolean | undefined;
3521
+ } & {
3522
+ label?: string;
3523
+ value?: string;
3524
+ onValueChange?: (value: string) => void;
3525
+ name?: string;
3526
+ required?: boolean;
3527
+ disabled?: boolean;
3528
+ readOnly?: boolean;
3529
+ placeholder?: string;
3530
+ type?: string;
3531
+ } & React.RefAttributes<HTMLElement>>;
3532
+ export type FieldProps = ElementProps & {
3533
+ children?: React.ReactNode | ((props: FieldControlProps) => React.ReactNode);
3534
+ label?: React.ReactNode;
3535
+ hint?: React.ReactNode;
3536
+ validationMessage?: React.ReactNode;
3537
+ validationMessageIcon?: React.ReactNode;
3538
+ validationState?: FieldValidationState;
3539
+ required?: boolean;
3540
+ disabled?: boolean;
3541
+ orientation?: FieldOrientation;
3542
+ size?: LabelSize;
3543
+ };
3544
+ /** Pair one form control with a theme-aware label, hint, and validation message. */
3545
+ export declare function Field({ children, label, hint, validationMessage, validationMessageIcon, validationState, required, disabled, orientation, size, className, style, ...props }: FieldProps): React.ReactElement;
3546
+ export type InputProps = Omit<NativeClickHostProps<HTMLInputElement>, "children" | "onChange" | "defaultValue" | "defaultChecked"> & {
3547
+ children?: never;
3548
+ type?: InputType;
3549
+ value?: string | number | readonly string[];
3550
+ defaultValue?: string | number | readonly string[];
3551
+ checked?: boolean;
3552
+ defaultChecked?: boolean;
3553
+ accept?: string;
3554
+ alt?: string;
3555
+ autoComplete?: string;
3556
+ capture?: boolean | string;
3557
+ form?: string;
3558
+ formAction?: string;
3559
+ formEncType?: string;
3560
+ formMethod?: string;
3561
+ formNoValidate?: boolean;
3562
+ formTarget?: string;
3563
+ height?: number | string;
3564
+ list?: string;
3565
+ max?: number | string;
3566
+ maxLength?: number;
3567
+ min?: number | string;
3568
+ minLength?: number;
3569
+ multiple?: boolean;
3570
+ pattern?: string;
3571
+ src?: string;
3572
+ step?: number | string;
3573
+ width?: number | string;
3574
+ input?: React.ReactElement<React.InputHTMLAttributes<HTMLInputElement>> | React.InputHTMLAttributes<HTMLInputElement>;
3575
+ onValueChange?: (value: string) => void;
3576
+ onChange?: (event: React.ChangeEvent<HTMLInputElement>, data: {
3577
+ value: string;
3578
+ }) => void;
3579
+ contentBefore?: React.ReactNode;
3580
+ contentAfter?: React.ReactNode;
3581
+ size?: InputSize;
3582
+ appearance?: InputAppearance;
3583
+ disabled?: boolean;
3584
+ required?: boolean;
3585
+ readOnly?: boolean;
3586
+ placeholder?: string;
3587
+ name?: string;
3588
+ };
3589
+ /** Bare input primitive. Supply aria-label or aria-labelledby; use TextField when a shadow-safe visible label is needed. */
3590
+ export declare const Input: React.ForwardRefExoticComponent<Omit<NativeClickHostProps<HTMLInputElement>, "defaultValue" | "defaultChecked" | "children" | "onChange"> & {
3591
+ children?: never;
3592
+ type?: InputType;
3593
+ value?: string | number | readonly string[];
3594
+ defaultValue?: string | number | readonly string[];
3595
+ checked?: boolean;
3596
+ defaultChecked?: boolean;
3597
+ accept?: string;
3598
+ alt?: string;
3599
+ autoComplete?: string;
3600
+ capture?: boolean | string;
3601
+ form?: string;
3602
+ formAction?: string;
3603
+ formEncType?: string;
3604
+ formMethod?: string;
3605
+ formNoValidate?: boolean;
3606
+ formTarget?: string;
3607
+ height?: number | string;
3608
+ list?: string;
3609
+ max?: number | string;
3610
+ maxLength?: number;
3611
+ min?: number | string;
3612
+ minLength?: number;
3613
+ multiple?: boolean;
3614
+ pattern?: string;
3615
+ src?: string;
3616
+ step?: number | string;
3617
+ width?: number | string;
3618
+ input?: React.ReactElement<React.InputHTMLAttributes<HTMLInputElement>> | React.InputHTMLAttributes<HTMLInputElement>;
3619
+ onValueChange?: (value: string) => void;
3620
+ onChange?: (event: React.ChangeEvent<HTMLInputElement>, data: {
3621
+ value: string;
3622
+ }) => void;
3623
+ contentBefore?: React.ReactNode;
3624
+ contentAfter?: React.ReactNode;
3625
+ size?: InputSize;
3626
+ appearance?: InputAppearance;
3627
+ disabled?: boolean;
3628
+ required?: boolean;
3629
+ readOnly?: boolean;
3630
+ placeholder?: string;
3631
+ name?: string;
3632
+ } & React.RefAttributes<HTMLElement>>;
3633
+ export type FileUploadProps = NativeClickHostProps<HTMLDivElement> & {
3634
+ label?: string;
3635
+ name?: string;
3636
+ form?: string;
3637
+ accept?: string;
3638
+ multiple?: boolean;
3639
+ disabled?: boolean;
3640
+ required?: boolean;
3641
+ maxFiles?: number;
3642
+ maxFileSize?: number;
3643
+ browseLabel?: string;
3644
+ dropLabel?: string;
3645
+ removeLabel?: string;
3646
+ selectedLabel?: string;
3647
+ onFilesChange?: (files: File[]) => void;
3648
+ onFilesError?: (errors: FileUploadError[]) => void;
3649
+ };
3650
+ export declare const FileUpload: React.ForwardRefExoticComponent<Omit<ElementProps, "onClick" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onInvalid" | "onInvalidCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAuxClick" | "onAuxClickCapture" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerLeave" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture"> & Pick<React.DOMAttributes<HTMLDivElement>, "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture"> & NativeMousePointerEventProps<HTMLDivElement> & NativeAdditionalEventProps<HTMLDivElement> & {
3651
+ onClick?: React.MouseEventHandler<HTMLDivElement> | undefined;
3652
+ onClickCapture?: React.MouseEventHandler<HTMLDivElement> | undefined;
3653
+ } & {
3654
+ label?: string;
3655
+ name?: string;
3656
+ form?: string;
3657
+ accept?: string;
3658
+ multiple?: boolean;
3659
+ disabled?: boolean;
3660
+ required?: boolean;
3661
+ maxFiles?: number;
3662
+ maxFileSize?: number;
3663
+ browseLabel?: string;
3664
+ dropLabel?: string;
3665
+ removeLabel?: string;
3666
+ selectedLabel?: string;
3667
+ onFilesChange?: (files: File[]) => void;
3668
+ onFilesError?: (errors: FileUploadError[]) => void;
3669
+ } & React.RefAttributes<HTMLElement>>;
3670
+ export type ImageProps = Omit<React.ImgHTMLAttributes<HTMLImageElement>, "loading" | "decoding"> & {
3671
+ fit?: ImageFit;
3672
+ shape?: ImageShape;
3673
+ block?: boolean;
3674
+ bordered?: boolean;
3675
+ shadow?: boolean;
3676
+ loading?: "eager" | "lazy";
3677
+ decoding?: "async" | "sync" | "auto";
3678
+ };
3679
+ /** Theme-aware image styling on a native img; keeps srcset, dimensions, and browser loading native. */
3680
+ export declare const Image: React.ForwardRefExoticComponent<Omit<React.ImgHTMLAttributes<HTMLImageElement>, "loading" | "decoding"> & {
3681
+ fit?: ImageFit;
3682
+ shape?: ImageShape;
3683
+ block?: boolean;
3684
+ bordered?: boolean;
3685
+ shadow?: boolean;
3686
+ loading?: "eager" | "lazy";
3687
+ decoding?: "async" | "sync" | "auto";
3688
+ } & React.RefAttributes<HTMLImageElement>>;
3689
+ export type SearchBoxChangeEvent = React.ChangeEvent<HTMLInputElement> | React.MouseEvent<HTMLSpanElement>;
3690
+ export type SearchBoxProps = Omit<InputProps, "appearance" | "children" | "defaultValue" | "input" | "onChange" | "size" | "type" | "value"> & {
3691
+ children?: React.ReactNode;
3692
+ label?: string;
3693
+ type?: React.HTMLInputTypeAttribute;
3694
+ value?: string;
3695
+ defaultValue?: string;
3696
+ onValueChange?: (value: string) => void;
3697
+ onSearch?: (value: string) => void;
3698
+ onChange?: (event: SearchBoxChangeEvent, data: {
3699
+ value: string;
3700
+ }) => void;
3701
+ size?: SearchSize;
3702
+ appearance?: SearchAppearance;
3703
+ clearLabel?: string;
3704
+ contentBefore?: React.ReactNode;
3705
+ contentAfter?: React.ReactNode;
3706
+ dismiss?: React.ReactNode;
3707
+ };
3708
+ export declare const SearchBox: React.ForwardRefExoticComponent<Omit<InputProps, "value" | "defaultValue" | "input" | "appearance" | "size" | "type" | "children" | "onChange"> & {
3709
+ children?: React.ReactNode;
3710
+ label?: string;
3711
+ type?: React.HTMLInputTypeAttribute;
3712
+ value?: string;
3713
+ defaultValue?: string;
3714
+ onValueChange?: (value: string) => void;
3715
+ onSearch?: (value: string) => void;
3716
+ onChange?: (event: SearchBoxChangeEvent, data: {
3717
+ value: string;
3718
+ }) => void;
3719
+ size?: SearchSize;
3720
+ appearance?: SearchAppearance;
3721
+ clearLabel?: string;
3722
+ contentBefore?: React.ReactNode;
3723
+ contentAfter?: React.ReactNode;
3724
+ dismiss?: React.ReactNode;
3725
+ } & React.RefAttributes<HTMLElement>>;
3726
+ type FluentEventData<TChangeEvent extends Event | React.SyntheticEvent> = {
3727
+ color: ColorPickerHsvColor;
3728
+ event: SharePointUIEvent;
3729
+ type: undefined;
3730
+ } | {
3731
+ color: ColorPickerHsvColor;
3732
+ event: TChangeEvent;
3733
+ type: "change";
3734
+ };
3735
+ export type ColorPickerOnColorChangeData = FluentEventData<React.ChangeEvent<HTMLInputElement>>;
3736
+ export type ColorPickerProps = Omit<NativeClickHostProps<HTMLDivElement>, "color"> & {
3737
+ label?: string;
3738
+ name?: string;
3739
+ form?: string;
3740
+ color?: ColorPickerHsvColor;
3741
+ defaultColor?: ColorPickerHsvColor;
3742
+ value?: string;
3743
+ defaultValue?: string;
3744
+ alpha?: number;
3745
+ defaultAlpha?: number;
3746
+ colors?: readonly string[];
3747
+ format?: ColorPickerFormat;
3748
+ onColorChange?: (event: SharePointUIEvent, data: ColorPickerOnColorChangeData) => void;
3749
+ onValueChange?: (value: string, alpha: number) => void;
3750
+ onFormatChange?: (format: ColorPickerFormat) => void;
3751
+ size?: ColorPickerSize;
3752
+ shape?: ColorPickerShape;
3753
+ readOnly?: boolean;
3754
+ required?: boolean;
3755
+ children?: React.ReactNode;
3756
+ };
3757
+ export declare const ColorPicker: React.ForwardRefExoticComponent<Omit<NativeClickHostProps<HTMLDivElement>, "color"> & {
3758
+ label?: string;
3759
+ name?: string;
3760
+ form?: string;
3761
+ color?: ColorPickerHsvColor;
3762
+ defaultColor?: ColorPickerHsvColor;
3763
+ value?: string;
3764
+ defaultValue?: string;
3765
+ alpha?: number;
3766
+ defaultAlpha?: number;
3767
+ colors?: readonly string[];
3768
+ format?: ColorPickerFormat;
3769
+ onColorChange?: (event: SharePointUIEvent, data: ColorPickerOnColorChangeData) => void;
3770
+ onValueChange?: (value: string, alpha: number) => void;
3771
+ onFormatChange?: (format: ColorPickerFormat) => void;
3772
+ size?: ColorPickerSize;
3773
+ shape?: ColorPickerShape;
3774
+ readOnly?: boolean;
3775
+ required?: boolean;
3776
+ children?: React.ReactNode;
3777
+ } & React.RefAttributes<HTMLElement>>;
3778
+ export type ColorAreaChangeData = {
3779
+ color: ColorPickerHsvColor;
3780
+ event: SharePointUIEvent;
3781
+ type: undefined;
3782
+ } | {
3783
+ color: ColorPickerHsvColor;
3784
+ event: React.SyntheticEvent | PointerEvent;
3785
+ type: "change";
3786
+ };
3787
+ export type ColorControlChangeData = FluentEventData<React.ChangeEvent<HTMLInputElement>>;
3788
+ export type ColorControlChangeHandler = (event: SharePointUIEvent, data: ColorControlChangeData) => void;
3789
+ export type ColorAreaProps = Omit<NativeClickHostProps<HTMLDivElement>, "color" | "onChange"> & {
3790
+ color?: ColorPickerHsvColor;
3791
+ defaultColor?: ColorPickerHsvColor;
3792
+ inputX?: React.ReactElement<React.InputHTMLAttributes<HTMLInputElement>> | React.InputHTMLAttributes<HTMLInputElement>;
3793
+ inputY?: React.ReactElement<React.InputHTMLAttributes<HTMLInputElement>> | React.InputHTMLAttributes<HTMLInputElement>;
3794
+ thumb?: React.ReactNode;
3795
+ shape?: ColorPickerShape;
3796
+ onChange?: (event: SharePointUIEvent, data: ColorAreaChangeData) => void;
3797
+ children?: React.ReactNode;
3798
+ };
3799
+ export type ColorSliderProps = Omit<NativeClickHostProps<HTMLDivElement>, "color" | "onChange"> & {
3800
+ color?: ColorPickerHsvColor;
3801
+ defaultColor?: ColorPickerHsvColor;
3802
+ input?: React.ReactElement<React.InputHTMLAttributes<HTMLInputElement>> | React.InputHTMLAttributes<HTMLInputElement>;
3803
+ rail?: React.ReactNode;
3804
+ thumb?: React.ReactNode;
3805
+ channel?: ColorSliderChannel;
3806
+ vertical?: boolean;
3807
+ shape?: ColorPickerShape;
3808
+ onChange?: ColorControlChangeHandler;
3809
+ };
3810
+ export type AlphaSliderProps = Omit<ColorSliderProps, "channel"> & {
3811
+ transparency?: boolean;
3812
+ };
3813
+ export declare const ColorArea: React.ForwardRefExoticComponent<Omit<NativeClickHostProps<HTMLDivElement>, "color" | "onChange"> & {
3814
+ color?: ColorPickerHsvColor;
3815
+ defaultColor?: ColorPickerHsvColor;
3816
+ inputX?: React.ReactElement<React.InputHTMLAttributes<HTMLInputElement>> | React.InputHTMLAttributes<HTMLInputElement>;
3817
+ inputY?: React.ReactElement<React.InputHTMLAttributes<HTMLInputElement>> | React.InputHTMLAttributes<HTMLInputElement>;
3818
+ thumb?: React.ReactNode;
3819
+ shape?: ColorPickerShape;
3820
+ onChange?: (event: SharePointUIEvent, data: ColorAreaChangeData) => void;
3821
+ children?: React.ReactNode;
3822
+ } & React.RefAttributes<HTMLElement>>;
3823
+ export declare const ColorSlider: React.ForwardRefExoticComponent<Omit<NativeClickHostProps<HTMLDivElement>, "color" | "onChange"> & {
3824
+ color?: ColorPickerHsvColor;
3825
+ defaultColor?: ColorPickerHsvColor;
3826
+ input?: React.ReactElement<React.InputHTMLAttributes<HTMLInputElement>> | React.InputHTMLAttributes<HTMLInputElement>;
3827
+ rail?: React.ReactNode;
3828
+ thumb?: React.ReactNode;
3829
+ channel?: ColorSliderChannel;
3830
+ vertical?: boolean;
3831
+ shape?: ColorPickerShape;
3832
+ onChange?: ColorControlChangeHandler;
3833
+ } & React.RefAttributes<HTMLElement>>;
3834
+ export declare const AlphaSlider: React.ForwardRefExoticComponent<Omit<ColorSliderProps, "channel"> & {
3835
+ transparency?: boolean;
3836
+ } & React.RefAttributes<HTMLElement>>;
3837
+ export type SwatchPickerSelection = {
3838
+ selectedValue: string;
3839
+ selectedColor: string;
3840
+ selectedValues: string[];
3841
+ selectedColors: string[];
3842
+ selectionMode: "single" | "multiple";
3843
+ };
3844
+ export type SwatchPickerSelectionChangeEvent = SharePointUIEvent;
3845
+ export type SwatchPickerOnSelectionChangeData = (SwatchPickerSelection & {
3846
+ event: SharePointUIEvent;
3847
+ type: undefined;
3848
+ selectedSwatch: string;
3849
+ }) | (SwatchPickerSelection & {
3850
+ event: React.MouseEvent<HTMLButtonElement>;
3851
+ type: "click";
3852
+ selectedSwatch: string;
3853
+ });
3854
+ export type SwatchPickerProps = ElementProps & {
3855
+ selectedValue?: string;
3856
+ defaultSelectedValue?: string;
3857
+ selectedValues?: string[];
3858
+ defaultSelectedValues?: string[];
3859
+ selectionMode?: "single" | "multiple";
3860
+ layout?: "row" | "grid";
3861
+ size?: "extra-small" | "small" | "medium" | "large";
3862
+ shape?: "rounded" | "square" | "circular";
3863
+ spacing?: "small" | "medium";
3864
+ focusMode?: "arrow" | "tab";
3865
+ columns?: number;
3866
+ onSelectionChange?: (event: SwatchPickerSelectionChangeEvent, data: SwatchPickerOnSelectionChangeData) => void;
3867
+ children?: React.ReactNode;
3868
+ };
3869
+ export declare const SwatchPicker: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & {
3870
+ [attribute: `data-${string}`]: string | number | boolean | undefined;
3871
+ } & {
3872
+ selectedValue?: string;
3873
+ defaultSelectedValue?: string;
3874
+ selectedValues?: string[];
3875
+ defaultSelectedValues?: string[];
3876
+ selectionMode?: "single" | "multiple";
3877
+ layout?: "row" | "grid";
3878
+ size?: "extra-small" | "small" | "medium" | "large";
3879
+ shape?: "rounded" | "square" | "circular";
3880
+ spacing?: "small" | "medium";
3881
+ focusMode?: "arrow" | "tab";
3882
+ columns?: number;
3883
+ onSelectionChange?: (event: SwatchPickerSelectionChangeEvent, data: SwatchPickerOnSelectionChangeData) => void;
3884
+ children?: React.ReactNode;
3885
+ } & React.RefAttributes<HTMLElement>>;
3886
+ export declare const ColorSwatch: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & {
3887
+ [attribute: `data-${string}`]: string | number | boolean | undefined;
3888
+ } & {
3889
+ color: string;
3890
+ value: string;
3891
+ disabled?: boolean;
3892
+ borderColor?: string;
3893
+ size?: SwatchPickerProps["size"];
3894
+ shape?: SwatchPickerProps["shape"];
3895
+ icon?: React.ReactNode;
3896
+ disabledIcon?: React.ReactNode;
3897
+ children?: React.ReactNode;
3898
+ } & React.RefAttributes<HTMLElement>>;
3899
+ export declare const ImageSwatch: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & {
3900
+ [attribute: `data-${string}`]: string | number | boolean | undefined;
3901
+ } & {
3902
+ src: string;
3903
+ value: string;
3904
+ disabled?: boolean;
3905
+ size?: SwatchPickerProps["size"];
3906
+ shape?: SwatchPickerProps["shape"];
3907
+ children?: React.ReactNode;
3908
+ } & React.RefAttributes<HTMLElement>>;
3909
+ export declare const EmptySwatch: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & {
3910
+ [attribute: `data-${string}`]: string | number | boolean | undefined;
3911
+ } & {
3912
+ onAdd?: () => void;
3913
+ disabled?: boolean;
3914
+ size?: SwatchPickerProps["size"];
3915
+ shape?: SwatchPickerProps["shape"];
3916
+ } & React.RefAttributes<HTMLElement>>;
3917
+ export declare const SwatchPickerRow: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & {
3918
+ [attribute: `data-${string}`]: string | number | boolean | undefined;
3919
+ } & {
3920
+ children?: React.ReactNode;
3921
+ } & React.RefAttributes<HTMLElement>>;
3922
+ export type TableSize = "small" | "medium" | "large";
3923
+ export type TableAppearance = "subtle" | "dividers" | "plain";
3924
+ export type TableSortDirection = "ascending" | "descending";
3925
+ export type TableColumnId = string | number;
3926
+ export type TableRowId = string | number;
3927
+ export type TableContextValue = {
3928
+ size: "extra-small" | "small" | "medium" | "large";
3929
+ noNativeElements: boolean;
3930
+ sortable: boolean;
3931
+ };
3932
+ export declare const TableContextProvider: React.Provider<TableContextValue | undefined>;
3933
+ export declare function useTableContext(): TableContextValue;
3934
+ export declare const TableRowIdContextProvider: React.Provider<TableRowId | undefined>;
3935
+ export declare function useTableRowIdContext(): TableRowId;
3936
+ export declare function useColumnIdContext(): TableColumnId;
3937
+ export declare const TableHeaderContextProvider: React.Provider<string | undefined>;
3938
+ export declare function useIsInTableHeader(): boolean;
3939
+ export type TableColumnDefinition<TItem> = {
3940
+ columnId: TableColumnId;
3941
+ compare: (a: TItem, b: TItem) => number;
3942
+ renderHeaderCell: (data?: unknown) => React.ReactNode;
3943
+ renderCell: (item: TItem) => React.ReactNode;
3944
+ };
3945
+ export type CreateTableColumnOptions<TItem> = {
3946
+ columnId: TableColumnId;
3947
+ compare?: (a: TItem, b: TItem) => number;
3948
+ renderHeaderCell?: (data?: unknown) => React.ReactNode;
3949
+ renderCell?: (item: TItem) => React.ReactNode;
3950
+ };
3951
+ export declare function createTableColumn<TItem>(options: CreateTableColumnOptions<TItem>): TableColumnDefinition<TItem>;
3952
+ export type TableRowData<TItem> = {
3953
+ item: TItem;
3954
+ rowId: TableRowId;
3955
+ };
3956
+ export type TableSelectionState = {
3957
+ selectionMode: "single" | "multiselect";
3958
+ selectedRows: Set<TableRowId>;
3959
+ allRowsSelected: boolean;
3960
+ someRowsSelected: boolean;
3961
+ isRowSelected: (rowId: TableRowId) => boolean;
3962
+ toggleRow: (event: React.SyntheticEvent, rowId: TableRowId) => void;
3963
+ selectRow: (event: React.SyntheticEvent, rowId: TableRowId) => void;
3964
+ deselectRow: (event: React.SyntheticEvent, rowId: TableRowId) => void;
3965
+ toggleAllRows: (event: React.SyntheticEvent) => void;
3966
+ clearRows: (event: React.SyntheticEvent) => void;
3967
+ };
3968
+ export type TableSortState<TItem> = {
3969
+ sortColumn: TableColumnId | undefined;
3970
+ sortDirection: TableSortDirection;
3971
+ getSortDirection: (columnId: TableColumnId) => TableSortDirection | undefined;
3972
+ setColumnSort: (event: React.SyntheticEvent, columnId: TableColumnId, direction: TableSortDirection) => void;
3973
+ toggleColumnSort: (event: React.SyntheticEvent, columnId: TableColumnId) => void;
3974
+ sort: <TRow extends TableRowData<TItem>>(rows: TRow[]) => TRow[];
3975
+ };
3976
+ export type ColumnWidthState = {
3977
+ columnId: TableColumnId;
3978
+ width: number;
3979
+ minWidth: number;
3980
+ idealWidth: number;
3981
+ padding: number;
3982
+ };
3983
+ export type TableColumnSizingOptions = Record<TableColumnId, Partial<Pick<ColumnWidthState, "minWidth" | "idealWidth" | "padding">> & {
3984
+ defaultWidth?: number;
3985
+ autoFitColumns?: boolean;
3986
+ }>;
3987
+ export type TableColumnSizingState = {
3988
+ getOnMouseDown: (columnId: TableColumnId) => (event: React.MouseEvent | React.TouchEvent) => void;
3989
+ setColumnWidth: (columnId: TableColumnId, width: number) => void;
3990
+ getColumnWidths: () => ColumnWidthState[];
3991
+ getTableProps: (props?: React.HTMLAttributes<HTMLDivElement>) => React.HTMLAttributes<HTMLDivElement>;
3992
+ getTableHeaderCellProps: (columnId: TableColumnId) => {
3993
+ style?: React.CSSProperties;
3994
+ aside?: React.ReactNode;
3995
+ };
3996
+ getTableCellProps: (columnId: TableColumnId) => {
3997
+ style?: React.CSSProperties;
3998
+ };
3999
+ enableKeyboardMode: (columnId: TableColumnId, onChange?: (columnId: TableColumnId, isKeyboardMode: boolean) => void) => (event: React.MouseEvent | React.TouchEvent) => void;
4000
+ };
4001
+ export type TableFeaturesState<TItem> = {
4002
+ items: TItem[];
4003
+ columns: TableColumnDefinition<TItem>[];
4004
+ getRowId?: (item: TItem) => TableRowId;
4005
+ getRows: <TRow extends TableRowData<TItem> = TableRowData<TItem>>(rowEnhancer?: (row: TableRowData<TItem>) => TRow) => TRow[];
4006
+ selection: TableSelectionState;
4007
+ sort: TableSortState<TItem>;
4008
+ tableRef: React.RefObject<HTMLDivElement | null>;
4009
+ columnSizing_unstable: TableColumnSizingState;
4010
+ };
4011
+ export type TableFeaturePlugin = <TItem>(state: TableFeaturesState<TItem>) => TableFeaturesState<TItem>;
4012
+ export type UseTableFeaturesOptions<TItem> = {
4013
+ items: TItem[];
4014
+ columns: TableColumnDefinition<TItem>[];
4015
+ getRowId?: (item: TItem) => TableRowId;
4016
+ };
4017
+ export type UseTableSelectionOptions = {
4018
+ selectionMode: "single" | "multiselect";
4019
+ defaultSelectedItems?: Iterable<TableRowId>;
4020
+ selectedItems?: Iterable<TableRowId>;
4021
+ onSelectionChange?: (event: React.SyntheticEvent, data: {
4022
+ selectedItems: Set<TableRowId>;
4023
+ }) => void;
4024
+ };
4025
+ export type UseTableSortOptions = {
4026
+ sortState?: {
4027
+ sortColumn: TableColumnId | undefined;
4028
+ sortDirection: TableSortDirection;
4029
+ };
4030
+ defaultSortState?: {
4031
+ sortColumn: TableColumnId | undefined;
4032
+ sortDirection: TableSortDirection;
4033
+ };
4034
+ onSortChange?: (event: React.SyntheticEvent, state: {
4035
+ sortColumn: TableColumnId | undefined;
4036
+ sortDirection: TableSortDirection;
4037
+ }) => void;
4038
+ };
4039
+ /** Build reusable table row state, then enhance it with selection/sort feature plugins. Keep plugin order stable across renders. */
4040
+ export declare function useTableFeatures<TItem>(options: UseTableFeaturesOptions<TItem>, plugins?: readonly TableFeaturePlugin[]): TableFeaturesState<TItem>;
4041
+ /** Create a Fluent-compatible selection plugin for useTableFeatures. */
4042
+ export declare function useTableSelection(options: UseTableSelectionOptions): TableFeaturePlugin;
4043
+ /** Create a Fluent-compatible sort plugin; sorting returns a shallow-sorted copy of rows. */
4044
+ export declare function useTableSort(options?: UseTableSortOptions): TableFeaturePlugin;
4045
+ export type UseTableColumnSizingParams = {
4046
+ columnSizingOptions?: TableColumnSizingOptions;
4047
+ onColumnResize?: (event: KeyboardEvent | TouchEvent | MouseEvent | undefined, data: {
4048
+ columnId: TableColumnId;
4049
+ width: number;
4050
+ }) => void;
4051
+ containerWidthOffset?: number;
4052
+ autoFitColumns?: boolean;
4053
+ };
4054
+ /** Fluent-compatible composable sizing state for Table and custom table renderers. */
4055
+ export declare function useTableColumnSizing_unstable(params?: UseTableColumnSizingParams): TableFeaturePlugin;
4056
+ export type TableCompositeNavigationAttribute = {
4057
+ "data-tabster": string;
4058
+ };
4059
+ export type TableCompositeNavigation = {
4060
+ onTableKeyDown: React.KeyboardEventHandler<HTMLElement>;
4061
+ tableTabsterAttribute: TableCompositeNavigationAttribute;
4062
+ tableRowTabsterAttribute: TableCompositeNavigationAttribute;
4063
+ };
4064
+ /** Fluent-compatible table/grid navigation attributes and focus handoff events without a Tabster runtime dependency. */
4065
+ export declare function useTableCompositeNavigation(): TableCompositeNavigation;
4066
+ export declare const Table: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & {
4067
+ [attribute: `data-${string}`]: string | number | boolean | undefined;
4068
+ } & {
4069
+ children?: React.ReactNode;
4070
+ size?: TableSize;
4071
+ appearance?: TableAppearance;
4072
+ noNativeElements?: boolean;
4073
+ sortable?: boolean;
4074
+ } & React.RefAttributes<HTMLElement>>;
4075
+ export declare const TableHeader: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & {
4076
+ [attribute: `data-${string}`]: string | number | boolean | undefined;
4077
+ } & {
4078
+ children?: React.ReactNode;
4079
+ } & React.RefAttributes<HTMLElement>>;
4080
+ export declare const TableBody: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & {
4081
+ [attribute: `data-${string}`]: string | number | boolean | undefined;
4082
+ } & {
4083
+ children?: React.ReactNode;
4084
+ } & React.RefAttributes<HTMLElement>>;
4085
+ export declare const TableRow: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & {
4086
+ [attribute: `data-${string}`]: string | number | boolean | undefined;
4087
+ } & {
4088
+ children?: React.ReactNode;
4089
+ selected?: boolean;
4090
+ appearance?: "brand" | "neutral" | "none";
4091
+ } & React.RefAttributes<HTMLElement>>;
4092
+ export type TableHeaderCellButtonSlot = React.ReactElement<any> | Omit<React.HTMLAttributes<HTMLElement>, "children">;
4093
+ export declare const TableHeaderCell: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & {
4094
+ [attribute: `data-${string}`]: string | number | boolean | undefined;
4095
+ } & {
4096
+ children?: React.ReactNode;
4097
+ aside?: React.ReactNode;
4098
+ sortIcon?: React.ReactNode;
4099
+ button?: TableHeaderCellButtonSlot;
4100
+ sortable?: boolean;
4101
+ sortDirection?: TableSortDirection;
4102
+ columnId?: string | number;
4103
+ onSort?: (direction: TableSortDirection, columnId?: string) => void;
4104
+ } & React.RefAttributes<HTMLElement>>;
4105
+ export declare const TableCell: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & {
4106
+ [attribute: `data-${string}`]: string | number | boolean | undefined;
4107
+ } & {
4108
+ children?: React.ReactNode;
4109
+ } & React.RefAttributes<HTMLElement>>;
4110
+ export type TableCellLayoutSlot = React.ReactNode | React.HTMLAttributes<HTMLSpanElement>;
4111
+ export type TableCellLayoutProps = ElementProps & {
4112
+ children?: React.ReactNode;
4113
+ main?: TableCellLayoutSlot;
4114
+ media?: TableCellLayoutSlot;
4115
+ description?: TableCellLayoutSlot;
4116
+ appearance?: "primary";
4117
+ truncate?: boolean;
4118
+ };
4119
+ export type SpanSlotProps = React.ReactNode | React.HTMLAttributes<HTMLSpanElement>;
4120
+ export declare const TableCellLayout: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & {
4121
+ [attribute: `data-${string}`]: string | number | boolean | undefined;
4122
+ } & {
4123
+ children?: React.ReactNode;
4124
+ main?: TableCellLayoutSlot;
4125
+ media?: TableCellLayoutSlot;
4126
+ description?: TableCellLayoutSlot;
4127
+ appearance?: "primary";
4128
+ truncate?: boolean;
4129
+ } & React.RefAttributes<HTMLElement>>;
4130
+ export declare const TableCellActions: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & {
4131
+ [attribute: `data-${string}`]: string | number | boolean | undefined;
4132
+ } & {
4133
+ children?: React.ReactNode;
4134
+ visible?: boolean;
4135
+ } & React.RefAttributes<HTMLElement>>;
4136
+ export declare const TableSelectionCell: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & {
4137
+ [attribute: `data-${string}`]: string | number | boolean | undefined;
4138
+ } & {
4139
+ type?: "checkbox" | "radio";
4140
+ checked?: boolean | "mixed";
4141
+ subtle?: boolean;
4142
+ invisible?: boolean;
4143
+ hidden?: boolean;
4144
+ checkboxIndicator?: SelectionIndicatorSlot;
4145
+ radioIndicator?: SelectionIndicatorSlot;
4146
+ onSelectionChange?: (checked: boolean, type: "checkbox" | "radio") => void;
4147
+ } & React.RefAttributes<HTMLElement>>;
4148
+ export declare const TableResizeHandle: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & {
4149
+ [attribute: `data-${string}`]: string | number | boolean | undefined;
4150
+ } & {
4151
+ value?: number;
4152
+ min?: number;
4153
+ max?: number;
4154
+ step?: number;
4155
+ label?: string;
4156
+ onResize?: (delta: number, value: number, event?: Event) => void;
4157
+ } & React.RefAttributes<HTMLElement>>;
4158
+ export type TextAreaAppearance = "outline" | "filled-darker" | "filled-lighter" | "filled-darker-shadow" | "filled-lighter-shadow";
4159
+ export type TextAreaSize = "small" | "medium" | "large";
4160
+ export type TextAreaResize = "none" | "horizontal" | "vertical" | "both";
4161
+ export type TextAreaChangeData = {
4162
+ value: string;
4163
+ };
4164
+ export type TextAreaProps = Omit<NativeClickHostProps<HTMLTextAreaElement>, "onChange" | "defaultValue"> & {
4165
+ label?: string;
4166
+ value?: string | number | readonly string[];
4167
+ defaultValue?: string | number | readonly string[];
4168
+ textarea?: React.ReactElement<React.TextareaHTMLAttributes<HTMLTextAreaElement>> | React.TextareaHTMLAttributes<HTMLTextAreaElement>;
4169
+ rows?: number;
4170
+ cols?: number;
4171
+ autoComplete?: string;
4172
+ dirName?: string;
4173
+ form?: string;
4174
+ maxLength?: number;
4175
+ minLength?: number;
4176
+ name?: string;
4177
+ wrap?: "hard" | "soft" | "off";
4178
+ placeholder?: string;
4179
+ disabled?: boolean;
4180
+ required?: boolean;
4181
+ readOnly?: boolean;
4182
+ appearance?: TextAreaAppearance;
4183
+ size?: TextAreaSize;
4184
+ resize?: TextAreaResize;
4185
+ onValueChange?: (value: string) => void;
4186
+ onChange?: (event: React.ChangeEvent<HTMLTextAreaElement>, data: TextAreaChangeData) => void;
4187
+ };
4188
+ export declare const TextArea: React.ForwardRefExoticComponent<Omit<NativeClickHostProps<HTMLTextAreaElement>, "defaultValue" | "onChange"> & {
4189
+ label?: string;
4190
+ value?: string | number | readonly string[];
4191
+ defaultValue?: string | number | readonly string[];
4192
+ textarea?: React.ReactElement<React.TextareaHTMLAttributes<HTMLTextAreaElement>> | React.TextareaHTMLAttributes<HTMLTextAreaElement>;
4193
+ rows?: number;
4194
+ cols?: number;
4195
+ autoComplete?: string;
4196
+ dirName?: string;
4197
+ form?: string;
4198
+ maxLength?: number;
4199
+ minLength?: number;
4200
+ name?: string;
4201
+ wrap?: "hard" | "soft" | "off";
4202
+ placeholder?: string;
4203
+ disabled?: boolean;
4204
+ required?: boolean;
4205
+ readOnly?: boolean;
4206
+ appearance?: TextAreaAppearance;
4207
+ size?: TextAreaSize;
4208
+ resize?: TextAreaResize;
4209
+ onValueChange?: (value: string) => void;
4210
+ onChange?: (event: React.ChangeEvent<HTMLTextAreaElement>, data: TextAreaChangeData) => void;
4211
+ } & React.RefAttributes<HTMLElement>>;
4212
+ export type CheckboxCheckedState = boolean | "mixed";
4213
+ export type CheckboxProps = Omit<NativeClickHostProps<HTMLInputElement>, "onChange" | "children"> & {
4214
+ children?: never;
4215
+ checked?: CheckboxCheckedState;
4216
+ defaultChecked?: CheckboxCheckedState;
4217
+ disabled?: boolean;
4218
+ disabledFocusable?: boolean;
4219
+ required?: boolean;
4220
+ name?: string;
4221
+ form?: string;
4222
+ value?: string;
4223
+ label?: React.ReactNode;
4224
+ input?: React.ReactElement<React.InputHTMLAttributes<HTMLInputElement>> | React.InputHTMLAttributes<HTMLInputElement>;
4225
+ indicator?: React.ReactNode;
4226
+ labelPosition?: "before" | "after";
4227
+ shape?: "square" | "circular";
4228
+ size?: "small" | "medium" | "large";
4229
+ onCheckedChange?: (checked: boolean) => void;
4230
+ onChange?: (event: React.ChangeEvent<HTMLInputElement>, data: {
4231
+ checked: CheckboxCheckedState;
4232
+ }) => void;
4233
+ };
4234
+ export declare const Checkbox: React.ForwardRefExoticComponent<Omit<NativeClickHostProps<HTMLInputElement>, "children" | "onChange"> & {
4235
+ children?: never;
4236
+ checked?: CheckboxCheckedState;
4237
+ defaultChecked?: CheckboxCheckedState;
4238
+ disabled?: boolean;
4239
+ disabledFocusable?: boolean;
4240
+ required?: boolean;
4241
+ name?: string;
4242
+ form?: string;
4243
+ value?: string;
4244
+ label?: React.ReactNode;
4245
+ input?: React.ReactElement<React.InputHTMLAttributes<HTMLInputElement>> | React.InputHTMLAttributes<HTMLInputElement>;
4246
+ indicator?: React.ReactNode;
4247
+ labelPosition?: "before" | "after";
4248
+ shape?: "square" | "circular";
4249
+ size?: "small" | "medium" | "large";
4250
+ onCheckedChange?: (checked: boolean) => void;
4251
+ onChange?: (event: React.ChangeEvent<HTMLInputElement>, data: {
4252
+ checked: CheckboxCheckedState;
4253
+ }) => void;
4254
+ } & React.RefAttributes<HTMLElement>>;
4255
+ export type SwitchProps = Omit<NativeClickHostProps<HTMLInputElement>, "onChange"> & {
4256
+ label?: React.ReactNode;
4257
+ input?: React.ReactElement<React.InputHTMLAttributes<HTMLInputElement>> | React.InputHTMLAttributes<HTMLInputElement>;
4258
+ indicator?: React.ReactNode;
4259
+ checked?: boolean;
4260
+ defaultChecked?: boolean;
4261
+ disabled?: boolean;
4262
+ disabledFocusable?: boolean;
4263
+ required?: boolean;
4264
+ name?: string;
4265
+ form?: string;
4266
+ value?: string;
4267
+ size?: "small" | "medium";
4268
+ labelPosition?: "before" | "after" | "above";
4269
+ onCheckedChange?: (checked: boolean) => void;
4270
+ onChange?: (event: React.ChangeEvent<HTMLInputElement>, data: {
4271
+ checked: boolean;
4272
+ }) => void;
4273
+ };
4274
+ export declare const Switch: React.ForwardRefExoticComponent<Omit<NativeClickHostProps<HTMLInputElement>, "onChange"> & {
4275
+ label?: React.ReactNode;
4276
+ input?: React.ReactElement<React.InputHTMLAttributes<HTMLInputElement>> | React.InputHTMLAttributes<HTMLInputElement>;
4277
+ indicator?: React.ReactNode;
4278
+ checked?: boolean;
4279
+ defaultChecked?: boolean;
4280
+ disabled?: boolean;
4281
+ disabledFocusable?: boolean;
4282
+ required?: boolean;
4283
+ name?: string;
4284
+ form?: string;
4285
+ value?: string;
4286
+ size?: "small" | "medium";
4287
+ labelPosition?: "before" | "after" | "above";
4288
+ onCheckedChange?: (checked: boolean) => void;
4289
+ onChange?: (event: React.ChangeEvent<HTMLInputElement>, data: {
4290
+ checked: boolean;
4291
+ }) => void;
4292
+ } & React.RefAttributes<HTMLElement>>;
4293
+ export type SpinnerContextValue = {
4294
+ size?: SpinnerSize;
4295
+ };
4296
+ export declare const SpinnerContextProvider: React.Provider<SpinnerContextValue | undefined>;
4297
+ export declare function useSpinnerContext(): SpinnerContextValue;
4298
+ export declare const Spinner: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & {
4299
+ [attribute: `data-${string}`]: string | number | boolean | undefined;
4300
+ } & {
4301
+ label?: React.ReactNode;
4302
+ spinner?: React.ReactNode;
4303
+ spinnerTail?: React.ReactNode;
4304
+ size?: SpinnerSize;
4305
+ appearance?: SpinnerAppearance;
4306
+ labelPosition?: SpinnerLabelPosition;
4307
+ delay?: number;
4308
+ children?: React.ReactNode;
4309
+ } & React.RefAttributes<HTMLElement>>;
4310
+ export declare const MessageBar: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & {
4311
+ [attribute: `data-${string}`]: string | number | boolean | undefined;
4312
+ } & {
4313
+ intent?: MessageBarIntent;
4314
+ politeness?: MessageBarPoliteness;
4315
+ shape?: MessageBarShape;
4316
+ layout?: MessageBarLayout;
4317
+ icon?: React.ReactNode;
4318
+ bottomReflowSpacer?: React.ReactNode;
4319
+ children?: React.ReactNode;
4320
+ } & React.RefAttributes<HTMLElement>>;
4321
+ export declare const MessageBarActions: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & {
4322
+ [attribute: `data-${string}`]: string | number | boolean | undefined;
4323
+ } & {
4324
+ containerAction?: React.ReactNode;
4325
+ children?: React.ReactNode;
4326
+ } & React.RefAttributes<HTMLElement>>;
4327
+ export declare const MessageBarBody: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & {
4328
+ [attribute: `data-${string}`]: string | number | boolean | undefined;
4329
+ } & {
4330
+ children?: React.ReactNode;
4331
+ } & React.RefAttributes<HTMLElement>>;
4332
+ export declare const MessageBarTitle: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & {
4333
+ [attribute: `data-${string}`]: string | number | boolean | undefined;
4334
+ } & {
4335
+ children?: React.ReactNode;
4336
+ } & React.RefAttributes<HTMLElement>>;
4337
+ export declare const MessageBarGroup: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & {
4338
+ [attribute: `data-${string}`]: string | number | boolean | undefined;
4339
+ } & {
4340
+ animate?: MessageBarGroupAnimation;
4341
+ children?: React.ReactNode;
4342
+ } & React.RefAttributes<HTMLElement>>;
4343
+ export declare const Alert: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & {
4344
+ [attribute: `data-${string}`]: string | number | boolean | undefined;
4345
+ } & {
4346
+ intent?: "info" | "success" | "warning" | "error";
4347
+ appearance?: "primary" | "inverted";
4348
+ assertive?: boolean;
4349
+ dismissible?: boolean;
4350
+ dismissLabel?: string;
4351
+ onDismiss?: () => void;
4352
+ icon?: React.ReactNode;
4353
+ avatar?: React.ReactNode;
4354
+ action?: React.ReactNode;
4355
+ actions?: React.ReactNode;
4356
+ } & React.RefAttributes<HTMLElement>>;
4357
+ export type ToastProps = Omit<ElementProps, "title"> & Omit<ToastDispatchOptions, "appearance"> & {
4358
+ appearance?: "brand" | "inverted";
4359
+ children?: React.ReactNode;
4360
+ onDismiss?: (id: string, reason: string) => void;
4361
+ };
4362
+ export declare const ToastTitle: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & {
4363
+ [attribute: `data-${string}`]: string | number | boolean | undefined;
4364
+ } & {
4365
+ media?: React.ReactNode;
4366
+ action?: React.ReactNode;
4367
+ children?: React.ReactNode;
4368
+ } & React.RefAttributes<HTMLElement>>;
4369
+ export declare const ToastBody: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & {
4370
+ [attribute: `data-${string}`]: string | number | boolean | undefined;
4371
+ } & {
4372
+ subtitle?: React.ReactNode;
4373
+ children?: React.ReactNode;
4374
+ } & React.RefAttributes<HTMLElement>>;
4375
+ export declare const ToastFooter: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & {
4376
+ [attribute: `data-${string}`]: string | number | boolean | undefined;
4377
+ } & {
4378
+ children?: React.ReactNode;
4379
+ } & React.RefAttributes<HTMLElement>>;
4380
+ export declare function ToastTrigger({ children, disableButtonEnhancement }: {
4381
+ children: React.ReactElement;
4382
+ disableButtonEnhancement?: boolean;
4383
+ }): React.ReactElement;
4384
+ export declare const Toast: React.ForwardRefExoticComponent<Omit<ElementProps, "title"> & Omit<ToastDispatchOptions, "appearance"> & {
4385
+ appearance?: "brand" | "inverted";
4386
+ children?: React.ReactNode;
4387
+ onDismiss?: (id: string, reason: string) => void;
4388
+ } & React.RefAttributes<HTMLElement>>;
4389
+ export declare const Toaster: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & {
4390
+ [attribute: `data-${string}`]: string | number | boolean | undefined;
4391
+ } & {
4392
+ position?: ToastPosition;
4393
+ limit?: number;
4394
+ inline?: boolean;
4395
+ toasterId?: string;
4396
+ mountNode?: PortalMountNode;
4397
+ announce?: ToastAnnounce;
4398
+ children?: React.ReactNode;
4399
+ } & React.RefAttributes<HTMLElement>>;
4400
+ export declare function useToastController(toasterId?: string): ToastControllerValue;
4401
+ export type SkeletonContextValue = {
4402
+ animation?: SkeletonAnimation;
4403
+ appearance?: SkeletonAppearance;
4404
+ size?: SkeletonItemSize;
4405
+ shape?: SkeletonShape;
4406
+ };
4407
+ export declare const SkeletonContextProvider: React.Provider<SkeletonContextValue | undefined>;
4408
+ export declare function useSkeletonContext(): SkeletonContextValue;
4409
+ export declare const Skeleton: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & {
4410
+ [attribute: `data-${string}`]: string | number | boolean | undefined;
4411
+ } & {
4412
+ shape?: SkeletonShape;
4413
+ width?: string | number;
4414
+ height?: string | number;
4415
+ animated?: boolean;
4416
+ animation?: SkeletonAnimation;
4417
+ appearance?: SkeletonAppearance;
4418
+ size?: SkeletonItemSize;
4419
+ children?: React.ReactNode;
4420
+ } & React.RefAttributes<HTMLElement>>;
4421
+ export declare const SkeletonItem: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & {
4422
+ [attribute: `data-${string}`]: string | number | boolean | undefined;
4423
+ } & {
4424
+ animation?: SkeletonAnimation;
4425
+ appearance?: SkeletonAppearance;
4426
+ size?: SkeletonItemSize;
4427
+ shape?: "rectangle" | "square" | "circle";
4428
+ } & React.RefAttributes<HTMLElement>>;
4429
+ export type LinkProps = NativeClickHostProps<HTMLAnchorElement | HTMLButtonElement | HTMLSpanElement> & {
4430
+ href?: string;
4431
+ target?: string;
4432
+ rel?: string;
4433
+ download?: string | boolean;
4434
+ hrefLang?: string;
4435
+ hreflang?: string;
4436
+ media?: string;
4437
+ ping?: string;
4438
+ type?: string;
4439
+ referrerPolicy?: string;
4440
+ title?: string;
4441
+ appearance?: "default" | "subtle";
4442
+ underline?: "always" | "hover" | "none";
4443
+ disabled?: boolean;
4444
+ disabledFocusable?: boolean;
4445
+ inline?: boolean;
4446
+ as?: "a" | "button" | "span";
4447
+ children?: React.ReactNode;
4448
+ };
4449
+ export declare const Link: React.ForwardRefExoticComponent<Omit<ElementProps, "onClick" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onInvalid" | "onInvalidCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAuxClick" | "onAuxClickCapture" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerLeave" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture"> & Pick<React.DOMAttributes<HTMLAnchorElement | HTMLButtonElement | HTMLSpanElement>, "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture"> & NativeMousePointerEventProps<HTMLAnchorElement | HTMLButtonElement | HTMLSpanElement> & NativeAdditionalEventProps<HTMLAnchorElement | HTMLButtonElement | HTMLSpanElement> & {
4450
+ onClick?: React.MouseEventHandler<HTMLAnchorElement | HTMLButtonElement | HTMLSpanElement> | undefined;
4451
+ onClickCapture?: React.MouseEventHandler<HTMLAnchorElement | HTMLButtonElement | HTMLSpanElement> | undefined;
4452
+ } & {
4453
+ href?: string;
4454
+ target?: string;
4455
+ rel?: string;
4456
+ download?: string | boolean;
4457
+ hrefLang?: string;
4458
+ hreflang?: string;
4459
+ media?: string;
4460
+ ping?: string;
4461
+ type?: string;
4462
+ referrerPolicy?: string;
4463
+ title?: string;
4464
+ appearance?: "default" | "subtle";
4465
+ underline?: "always" | "hover" | "none";
4466
+ disabled?: boolean;
4467
+ disabledFocusable?: boolean;
4468
+ inline?: boolean;
4469
+ as?: "a" | "button" | "span";
4470
+ children?: React.ReactNode;
4471
+ } & React.RefAttributes<HTMLElement>>;
4472
+ export declare const Divider: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & {
4473
+ [attribute: `data-${string}`]: string | number | boolean | undefined;
4474
+ } & {
4475
+ orientation?: "horizontal" | "vertical";
4476
+ vertical?: boolean;
4477
+ align?: "start" | "center" | "end";
4478
+ alignContent?: "start" | "center" | "end";
4479
+ appearance?: DividerAppearance;
4480
+ inset?: boolean;
4481
+ wrapper?: React.ReactNode;
4482
+ children?: React.ReactNode;
4483
+ } & React.RefAttributes<HTMLElement>>;
4484
+ export type AccordionProviderValue = {
4485
+ openItems: AccordionItemValue[];
4486
+ requestToggle: (data: {
4487
+ event: Event;
4488
+ value: AccordionItemValue;
4489
+ }) => void;
4490
+ collapsible: boolean;
4491
+ multiple: boolean;
4492
+ navigation: AccordionNavigation | undefined;
4493
+ };
4494
+ export declare function AccordionProvider({ value, children }: {
4495
+ value: AccordionProviderValue;
4496
+ children?: React.ReactNode;
4497
+ }): React.ReactElement;
4498
+ export type AccordionToggleEvent = React.MouseEvent<HTMLElement> | React.KeyboardEvent<HTMLElement>;
4499
+ export declare const Accordion: <TValue extends AccordionItemValue = AccordionItemValue>(props: ElementProps & {
4500
+ mode?: "single" | "multiple";
4501
+ multiple?: boolean;
4502
+ collapsible?: boolean;
4503
+ navigation?: AccordionNavigation;
4504
+ openItems?: TValue | readonly TValue[];
4505
+ defaultOpenItems?: TValue | readonly TValue[];
4506
+ onToggle?: (event: AccordionToggleEvent, data: {
4507
+ value: TValue;
4508
+ openItems: TValue[];
4509
+ }) => void;
4510
+ children?: React.ReactNode;
4511
+ } & React.RefAttributes<HTMLElement>) => React.ReactElement;
4512
+ export declare const AccordionItem: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & {
4513
+ [attribute: `data-${string}`]: string | number | boolean | undefined;
4514
+ } & {
4515
+ value: AccordionItemValue;
4516
+ heading?: string;
4517
+ open?: boolean;
4518
+ defaultOpen?: boolean;
4519
+ disabled?: boolean;
4520
+ onOpenChange?: (open: boolean) => void;
4521
+ children?: React.ReactNode;
4522
+ } & React.RefAttributes<HTMLElement>>;
4523
+ export declare const AccordionHeader: React.ForwardRefExoticComponent<Omit<ElementProps, "onClick" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onInvalid" | "onInvalidCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAuxClick" | "onAuxClickCapture" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerLeave" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture"> & Pick<React.DOMAttributes<HTMLDivElement>, "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture"> & NativeMousePointerEventProps<HTMLDivElement> & NativeAdditionalEventProps<HTMLDivElement> & {
4524
+ onClick?: React.MouseEventHandler<HTMLDivElement> | undefined;
4525
+ onClickCapture?: React.MouseEventHandler<HTMLDivElement> | undefined;
4526
+ } & {
4527
+ expandIconPosition?: "start" | "end";
4528
+ inline?: boolean;
4529
+ size?: "small" | "medium" | "large" | "extra-large";
4530
+ icon?: React.ReactNode;
4531
+ expandIcon?: React.ReactNode;
4532
+ button?: React.ReactElement<React.ButtonHTMLAttributes<HTMLButtonElement>> | React.ButtonHTMLAttributes<HTMLButtonElement>;
4533
+ children?: React.ReactNode;
4534
+ } & React.RefAttributes<HTMLElement>>;
4535
+ export declare const AccordionPanel: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & {
4536
+ [attribute: `data-${string}`]: string | number | boolean | undefined;
4537
+ } & {
4538
+ children?: React.ReactNode;
4539
+ collapseMotion?: React.ComponentType<PresenceMotionSlotProps>;
4540
+ } & React.RefAttributes<HTMLElement>>;