@getufy/flint-ui-react 0.2.2 → 0.3.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 (187) hide show
  1. package/README.md +134 -39
  2. package/dist/components/FlintAccordion.d.ts +19 -5
  3. package/dist/components/FlintAccordionActions.d.ts +6 -2
  4. package/dist/components/FlintAccordionDetails.d.ts +8 -2
  5. package/dist/components/FlintAccordionSummary.d.ts +11 -5
  6. package/dist/components/FlintAlert.d.ts +21 -5
  7. package/dist/components/FlintAppBar.d.ts +16 -2
  8. package/dist/components/FlintAutocomplete.d.ts +22 -5
  9. package/dist/components/FlintAvatar.d.ts +13 -2
  10. package/dist/components/FlintBackdrop.d.ts +19 -5
  11. package/dist/components/FlintBadge.d.ts +18 -2
  12. package/dist/components/FlintBottomNavigation.d.ts +16 -5
  13. package/dist/components/FlintBottomNavigationAction.d.ts +17 -2
  14. package/dist/components/FlintBox.d.ts +67 -5
  15. package/dist/components/FlintBreadcrumbs.d.ts +18 -2
  16. package/dist/components/FlintButton.d.ts +11 -2
  17. package/dist/components/FlintButtonGroup.d.ts +3 -2
  18. package/dist/components/FlintCard.d.ts +5 -2
  19. package/dist/components/FlintCardActionArea.d.ts +3 -2
  20. package/dist/components/FlintCardActions.d.ts +3 -2
  21. package/dist/components/FlintCardContent.d.ts +3 -2
  22. package/dist/components/FlintCardHeader.d.ts +12 -2
  23. package/dist/components/FlintCardMedia.d.ts +6 -2
  24. package/dist/components/FlintCarousel.d.ts +24 -5
  25. package/dist/components/FlintCarouselContent.d.ts +9 -2
  26. package/dist/components/FlintCarouselItem.d.ts +3 -2
  27. package/dist/components/FlintCarouselNext.d.ts +12 -2
  28. package/dist/components/FlintCarouselPrevious.d.ts +12 -2
  29. package/dist/components/FlintCheckbox.d.ts +33 -5
  30. package/dist/components/FlintChip.d.ts +29 -6
  31. package/dist/components/FlintCircularProgress.d.ts +18 -2
  32. package/dist/components/FlintCollapsible.d.ts +22 -5
  33. package/dist/components/FlintCollapsibleContent.d.ts +11 -2
  34. package/dist/components/FlintCollapsibleTrigger.d.ts +13 -2
  35. package/dist/components/FlintCommand.d.ts +11 -5
  36. package/dist/components/FlintCommandDialog.d.ts +17 -5
  37. package/dist/components/FlintCommandEmpty.d.ts +9 -2
  38. package/dist/components/FlintCommandGroup.d.ts +11 -2
  39. package/dist/components/FlintCommandInput.d.ts +11 -2
  40. package/dist/components/FlintCommandItem.d.ts +22 -5
  41. package/dist/components/FlintCommandList.d.ts +8 -2
  42. package/dist/components/FlintCommandSeparator.d.ts +6 -2
  43. package/dist/components/FlintCommandShortcut.d.ts +9 -2
  44. package/dist/components/FlintContainer.d.ts +9 -2
  45. package/dist/components/FlintCopyButton.d.ts +32 -6
  46. package/dist/components/FlintDateField.d.ts +34 -6
  47. package/dist/components/FlintDatePicker.d.ts +35 -5
  48. package/dist/components/FlintDatePickerCalendar.d.ts +20 -5
  49. package/dist/components/FlintDateRangeCalendar.d.ts +17 -5
  50. package/dist/components/FlintDateRangePicker.d.ts +36 -5
  51. package/dist/components/FlintDesktopTimePicker.d.ts +29 -5
  52. package/dist/components/FlintDialog.d.ts +23 -5
  53. package/dist/components/FlintDialogActions.d.ts +9 -2
  54. package/dist/components/FlintDialogContent.d.ts +6 -2
  55. package/dist/components/FlintDialogContentText.d.ts +6 -2
  56. package/dist/components/FlintDialogTitle.d.ts +7 -2
  57. package/dist/components/FlintDigitalClock.d.ts +17 -5
  58. package/dist/components/FlintDivider.d.ts +16 -2
  59. package/dist/components/FlintDrawer.d.ts +27 -5
  60. package/dist/components/FlintEmpty.d.ts +10 -2
  61. package/dist/components/FlintEmptyContent.d.ts +8 -2
  62. package/dist/components/FlintEmptyDescription.d.ts +8 -2
  63. package/dist/components/FlintEmptyHeader.d.ts +8 -2
  64. package/dist/components/FlintEmptyMedia.d.ts +10 -2
  65. package/dist/components/FlintEmptyTitle.d.ts +8 -2
  66. package/dist/components/FlintFab.d.ts +15 -2
  67. package/dist/components/FlintFormatDate.d.ts +39 -2
  68. package/dist/components/FlintFormatNumber.d.ts +39 -2
  69. package/dist/components/FlintGrid.d.ts +35 -2
  70. package/dist/components/FlintHoverCard.d.ts +13 -2
  71. package/dist/components/FlintHoverCardContent.d.ts +15 -2
  72. package/dist/components/FlintHoverCardTrigger.d.ts +9 -2
  73. package/dist/components/FlintImageComparer.d.ts +19 -5
  74. package/dist/components/FlintImageList.d.ts +19 -2
  75. package/dist/components/FlintImageListItem.d.ts +21 -2
  76. package/dist/components/FlintImageListItemBar.d.ts +12 -2
  77. package/dist/components/FlintInput.d.ts +44 -6
  78. package/dist/components/FlintInputOtp.d.ts +36 -6
  79. package/dist/components/FlintInputOtpGroup.d.ts +9 -2
  80. package/dist/components/FlintInputOtpSeparator.d.ts +7 -2
  81. package/dist/components/FlintInputOtpSlot.d.ts +15 -2
  82. package/dist/components/FlintItem.d.ts +15 -2
  83. package/dist/components/FlintItemActions.d.ts +9 -2
  84. package/dist/components/FlintItemContent.d.ts +8 -2
  85. package/dist/components/FlintItemDescription.d.ts +8 -2
  86. package/dist/components/FlintItemFooter.d.ts +10 -2
  87. package/dist/components/FlintItemGroup.d.ts +8 -2
  88. package/dist/components/FlintItemHeader.d.ts +10 -2
  89. package/dist/components/FlintItemMedia.d.ts +10 -2
  90. package/dist/components/FlintItemSeparator.d.ts +6 -2
  91. package/dist/components/FlintItemTitle.d.ts +8 -2
  92. package/dist/components/FlintKbd.d.ts +15 -2
  93. package/dist/components/FlintKbdGroup.d.ts +9 -2
  94. package/dist/components/FlintLinearProgress.d.ts +16 -2
  95. package/dist/components/FlintLink.d.ts +27 -2
  96. package/dist/components/FlintList.d.ts +10 -2
  97. package/dist/components/FlintListItem.d.ts +6 -2
  98. package/dist/components/FlintListItemAvatar.d.ts +6 -2
  99. package/dist/components/FlintListItemButton.d.ts +10 -2
  100. package/dist/components/FlintListItemIcon.d.ts +6 -2
  101. package/dist/components/FlintListItemText.d.ts +10 -2
  102. package/dist/components/FlintListSubheader.d.ts +6 -2
  103. package/dist/components/FlintMenu.d.ts +24 -5
  104. package/dist/components/FlintMenuDivider.d.ts +6 -2
  105. package/dist/components/FlintMenuGroup.d.ts +11 -2
  106. package/dist/components/FlintMenuItem.d.ts +23 -5
  107. package/dist/components/FlintMenubar.d.ts +11 -2
  108. package/dist/components/FlintMenubarCheckboxItem.d.ts +20 -5
  109. package/dist/components/FlintMenubarContent.d.ts +13 -5
  110. package/dist/components/FlintMenubarGroup.d.ts +8 -2
  111. package/dist/components/FlintMenubarItem.d.ts +21 -5
  112. package/dist/components/FlintMenubarMenu.d.ts +8 -2
  113. package/dist/components/FlintMenubarRadioGroup.d.ts +13 -5
  114. package/dist/components/FlintMenubarRadioItem.d.ts +18 -5
  115. package/dist/components/FlintMenubarSeparator.d.ts +6 -2
  116. package/dist/components/FlintMenubarShortcut.d.ts +8 -2
  117. package/dist/components/FlintMenubarSub.d.ts +7 -2
  118. package/dist/components/FlintMenubarSubContent.d.ts +9 -2
  119. package/dist/components/FlintMenubarSubTrigger.d.ts +14 -2
  120. package/dist/components/FlintMenubarTrigger.d.ts +12 -2
  121. package/dist/components/FlintMobileStepper.d.ts +21 -2
  122. package/dist/components/FlintMobileTimePicker.d.ts +24 -5
  123. package/dist/components/FlintMultiSectionDigitalClock.d.ts +17 -5
  124. package/dist/components/FlintNavigationMenu.d.ts +8 -2
  125. package/dist/components/FlintNavigationMenuContent.d.ts +20 -5
  126. package/dist/components/FlintNavigationMenuItem.d.ts +18 -6
  127. package/dist/components/FlintNavigationMenuLink.d.ts +16 -2
  128. package/dist/components/FlintNavigationMenuList.d.ts +12 -2
  129. package/dist/components/FlintNavigationMenuTrigger.d.ts +12 -5
  130. package/dist/components/FlintPagination.d.ts +48 -5
  131. package/dist/components/FlintPaper.d.ts +13 -2
  132. package/dist/components/FlintRadio.d.ts +25 -5
  133. package/dist/components/FlintRadioGroup.d.ts +27 -5
  134. package/dist/components/FlintRangeSlider.d.ts +23 -5
  135. package/dist/components/FlintRating.d.ts +31 -5
  136. package/dist/components/FlintRelativeTime.d.ts +17 -2
  137. package/dist/components/FlintResizableGroup.d.ts +16 -7
  138. package/dist/components/FlintResizableHandle.d.ts +8 -2
  139. package/dist/components/FlintResizablePanel.d.ts +15 -2
  140. package/dist/components/FlintRichTreeView.d.ts +50 -8
  141. package/dist/components/FlintScrollArea.d.ts +15 -2
  142. package/dist/components/FlintScrollBar.d.ts +11 -2
  143. package/dist/components/FlintSelect.d.ts +40 -5
  144. package/dist/components/FlintSimpleTreeView.d.ts +28 -6
  145. package/dist/components/FlintSingleInputDateRangeField.d.ts +31 -6
  146. package/dist/components/FlintSkeleton.d.ts +18 -2
  147. package/dist/components/FlintSlider.d.ts +35 -5
  148. package/dist/components/FlintSnackbar.d.ts +36 -6
  149. package/dist/components/FlintSpeedDial.d.ts +28 -2
  150. package/dist/components/FlintSpeedDialAction.d.ts +24 -5
  151. package/dist/components/FlintSplitPanel.d.ts +31 -5
  152. package/dist/components/FlintStack.d.ts +13 -2
  153. package/dist/components/FlintStaticTimePicker.d.ts +14 -5
  154. package/dist/components/FlintStep.d.ts +39 -5
  155. package/dist/components/FlintStepConnector.d.ts +7 -2
  156. package/dist/components/FlintStepContent.d.ts +10 -2
  157. package/dist/components/FlintStepLabel.d.ts +15 -2
  158. package/dist/components/FlintStepper.d.ts +20 -5
  159. package/dist/components/FlintSwitch.d.ts +33 -5
  160. package/dist/components/FlintTab.d.ts +23 -5
  161. package/dist/components/FlintTabList.d.ts +14 -5
  162. package/dist/components/FlintTabPanel.d.ts +5 -2
  163. package/dist/components/FlintTable.d.ts +8 -2
  164. package/dist/components/FlintTableBody.d.ts +8 -2
  165. package/dist/components/FlintTableCell.d.ts +12 -2
  166. package/dist/components/FlintTableContainer.d.ts +10 -2
  167. package/dist/components/FlintTableFooter.d.ts +6 -2
  168. package/dist/components/FlintTableHead.d.ts +6 -2
  169. package/dist/components/FlintTablePagination.d.ts +32 -6
  170. package/dist/components/FlintTableRow.d.ts +10 -2
  171. package/dist/components/FlintTableSortLabel.d.ts +7 -2
  172. package/dist/components/FlintTabs.d.ts +27 -5
  173. package/dist/components/FlintTextField.d.ts +36 -6
  174. package/dist/components/FlintTextarea.d.ts +52 -6
  175. package/dist/components/FlintTimeClock.d.ts +21 -6
  176. package/dist/components/FlintTimeField.d.ts +31 -6
  177. package/dist/components/FlintTimePicker.d.ts +26 -5
  178. package/dist/components/FlintToaster.d.ts +13 -2
  179. package/dist/components/FlintToggle.d.ts +27 -5
  180. package/dist/components/FlintToggleButton.d.ts +20 -5
  181. package/dist/components/FlintToggleButtonGroup.d.ts +17 -5
  182. package/dist/components/FlintTooltip.d.ts +19 -2
  183. package/dist/components/FlintTransferList.d.ts +25 -5
  184. package/dist/components/FlintTreeItem.d.ts +34 -6
  185. package/dist/components/FlintTypography.d.ts +22 -2
  186. package/dist/components/FlintVisuallyHidden.d.ts +11 -2
  187. package/package.json +2 -2
@@ -1,7 +1,21 @@
1
1
  import React from 'react';
2
- import { type EventName } from '@lit/react';
3
2
  import { FlintImageComparer as FlintImageComparerElement } from '@getufy/flint-ui/image-comparer/flint-image-comparer';
4
- export declare const FlintImageComparer: import("@lit/react").ReactWebComponent<FlintImageComparerElement, {
5
- onFlintImageComparerChange: EventName<CustomEvent>;
6
- }>;
7
- export type FlintImageComparerProps = React.ComponentProps<typeof FlintImageComparer>;
3
+ export interface FlintImageComparerChangeDetail {
4
+ position: number;
5
+ }
6
+ /**
7
+ * `flint-image-comparer` — Compare two images side-by-side with a draggable slider.
8
+ *
9
+ * @slot before - The before image (`<img>` or `<svg>`).
10
+ * @slot after - The after image (`<img>` or `<svg>`).
11
+ * @slot handle - Custom handle content (replaces the default arrows icon).
12
+ */
13
+ export interface FlintImageComparerProps extends React.HTMLAttributes<FlintImageComparerElement> {
14
+ /** The position of the divider as a percentage (0–100). */
15
+ position?: number;
16
+ /** Whether the comparer is disabled. */
17
+ disabled?: boolean;
18
+ /** Fired when the position changes. Detail: `{ position: number }`. */
19
+ onFlintImageComparerChange?: (event: CustomEvent<FlintImageComparerChangeDetail>) => void;
20
+ }
21
+ export declare const FlintImageComparer: React.ForwardRefExoticComponent<FlintImageComparerProps & React.RefAttributes<FlintImageComparerElement>>;
@@ -1,4 +1,21 @@
1
1
  import React from 'react';
2
2
  import { FlintImageList as FlintImageListElement } from '@getufy/flint-ui/image-list/flint-image-list';
3
- export declare const FlintImageList: import("@lit/react").ReactWebComponent<FlintImageListElement, {}>;
4
- export type FlintImageListProps = React.ComponentProps<typeof FlintImageList>;
3
+ /**
4
+ * A container that displays images in an organized grid layout.
5
+ Supports standard, quilted, woven, and masonry variants.
6
+ *
7
+ * @slot - Place `flint-image-list-item` elements here.
8
+ */
9
+ export interface FlintImageListProps extends React.HTMLAttributes<FlintImageListElement> {
10
+ /** Layout variant */
11
+ variant?: FlintImageListElement['variant'];
12
+ /** Number of columns */
13
+ cols?: number;
14
+ /** Gap between items (in px) */
15
+ gap?: number;
16
+ /** Row height for non-masonry variants (in px). Ignored when autoRows=true. */
17
+ rowHeight?: number;
18
+ /** When true, row height is automatic (use with bar-position="below") */
19
+ autoRows?: boolean;
20
+ }
21
+ export declare const FlintImageList: React.ForwardRefExoticComponent<FlintImageListProps & React.RefAttributes<FlintImageListElement>>;
@@ -1,4 +1,23 @@
1
1
  import React from 'react';
2
2
  import { FlintImageListItem as FlintImageListItemElement } from '@getufy/flint-ui/image-list/flint-image-list-item';
3
- export declare const FlintImageListItem: import("@lit/react").ReactWebComponent<FlintImageListItemElement, {}>;
4
- export type FlintImageListItemProps = React.ComponentProps<typeof FlintImageListItem>;
3
+ /**
4
+ * A single item inside a `flint-image-list`.
5
+ *
6
+ * @slot - Place an `<img>` or any content here.
7
+ * @slot bar - Place a `flint-image-list-item-bar` element here.
8
+ */
9
+ export interface FlintImageListItemProps extends React.HTMLAttributes<FlintImageListItemElement> {
10
+ /** How many grid rows this item spans (quilted/woven only) */
11
+ rows?: number;
12
+ /** How many grid columns this item spans (quilted/woven only) */
13
+ cols?: number;
14
+ /** Position of the title bar: 'overlay' (default) or 'below' */
15
+ barPosition?: 'overlay' | 'below';
16
+ /** Woven variant: 'odd' or 'even' identity for alternating height */
17
+ weave?: 'odd' | 'even';
18
+ /** CSS aspect-ratio for the cell (e.g. "1/1", "4/3", "3/4", "16/9", "9/16"). */
19
+ aspectRatio?: string;
20
+ /** How the image fills the cell: 'cover' (default, crops to fill) */
21
+ fit?: FlintImageListItemElement['fit'];
22
+ }
23
+ export declare const FlintImageListItem: React.ForwardRefExoticComponent<FlintImageListItemProps & React.RefAttributes<FlintImageListItemElement>>;
@@ -1,4 +1,14 @@
1
1
  import React from 'react';
2
2
  import { FlintImageListItemBar as FlintImageListItemBarElement } from '@getufy/flint-ui/image-list/flint-image-list-item-bar';
3
- export declare const FlintImageListItemBar: import("@lit/react").ReactWebComponent<FlintImageListItemBarElement, {}>;
4
- export type FlintImageListItemBarProps = React.ComponentProps<typeof FlintImageListItemBar>;
3
+ /**
4
+ * A title/subtitle bar for `flint-image-list-item`.
5
+ *
6
+ * @slot title - Title text.
7
+ * @slot subtitle - Subtitle text.
8
+ * @slot - Action content.
9
+ */
10
+ export interface FlintImageListItemBarProps extends React.HTMLAttributes<FlintImageListItemBarElement> {
11
+ /** Position hint for styling: 'bottom' (default overlay), 'top' (overlay), or 'below' (solid) */
12
+ position?: 'bottom' | 'top' | 'below';
13
+ }
14
+ export declare const FlintImageListItemBar: React.ForwardRefExoticComponent<FlintImageListItemBarProps & React.RefAttributes<FlintImageListItemBarElement>>;
@@ -1,8 +1,46 @@
1
1
  import React from 'react';
2
- import { type EventName } from '@lit/react';
3
2
  import { FlintInput as FlintInputElement } from '@getufy/flint-ui/input/flint-input';
4
- export declare const FlintInput: import("@lit/react").ReactWebComponent<FlintInputElement, {
5
- onFlintInputInput: EventName<CustomEvent>;
6
- onFlintInputChange: EventName<CustomEvent>;
7
- }>;
8
- export type FlintInputProps = React.ComponentProps<typeof FlintInput>;
3
+ export interface FlintInputInputDetail {
4
+ value: string;
5
+ }
6
+ export interface FlintInputChangeDetail {
7
+ value: string;
8
+ }
9
+ /**
10
+ * Input: a styled text input with label, help text, and error states.
11
+ */
12
+ export interface FlintInputProps extends Omit<React.HTMLAttributes<FlintInputElement>, 'defaultValue'> {
13
+ /** Label text displayed above the input. */
14
+ label?: string;
15
+ /** Current input value. */
16
+ value?: string;
17
+ /** HTML input type (text, email, password, etc.). */
18
+ type?: string;
19
+ /** Placeholder text shown when the input is empty. */
20
+ placeholder?: string;
21
+ /** Help text displayed below the input. */
22
+ helperText?: string;
23
+ /** Whether the input is in an error state. */
24
+ error?: boolean;
25
+ /** Error message displayed below the input. */
26
+ errorMessage?: string;
27
+ /** Disables the input and prevents interaction. */
28
+ disabled?: boolean;
29
+ /** Marks the input as required for form validation. */
30
+ required?: boolean;
31
+ /** Makes the input read-only. */
32
+ readonly?: boolean;
33
+ /** Form field name used when submitting form data. */
34
+ name?: string;
35
+ /** Browser autocomplete hint. */
36
+ autocomplete?: string;
37
+ /** 'sm' | 'default' | 'lg' */
38
+ size?: 'sm' | 'default' | 'lg';
39
+ /** Initial value for uncontrolled usage. */
40
+ defaultValue?: string;
41
+ /** Fired on each keystroke as the value changes. */
42
+ onFlintInputInput?: (event: CustomEvent<FlintInputInputDetail>) => void;
43
+ /** Fired when the input loses focus after the value has changed. */
44
+ onFlintInputChange?: (event: CustomEvent<FlintInputChangeDetail>) => void;
45
+ }
46
+ export declare const FlintInput: React.ForwardRefExoticComponent<FlintInputProps & React.RefAttributes<FlintInputElement>>;
@@ -1,8 +1,38 @@
1
1
  import React from 'react';
2
- import { type EventName } from '@lit/react';
3
2
  import { FlintInputOtp as FlintInputOtpElement } from '@getufy/flint-ui/input-otp/flint-input-otp';
4
- export declare const FlintInputOtp: import("@lit/react").ReactWebComponent<FlintInputOtpElement, {
5
- onFlintOtpChange: EventName<CustomEvent>;
6
- onFlintOtpComplete: EventName<CustomEvent>;
7
- }>;
8
- export type FlintInputOtpProps = React.ComponentProps<typeof FlintInputOtp>;
3
+ export interface FlintOtpChangeDetail {
4
+ value: string;
5
+ }
6
+ export interface FlintOtpCompleteDetail {
7
+ value: string;
8
+ }
9
+ /**
10
+ * Accessible one-time password input with copy/paste support.
11
+ Manages a hidden native `<input>` and syncs each `flint-input-otp-slot`
12
+ with the appropriate character and active-cursor state.
13
+ *
14
+ * @slot - Accepts `flint-input-otp-group`, `flint-input-otp-separator`, and
15
+ `flint-input-otp-slot` elements.
16
+ */
17
+ export interface FlintInputOtpProps extends Omit<React.HTMLAttributes<FlintInputOtpElement>, 'defaultValue'> {
18
+ /** Current OTP value. Reflects to attribute for external observation. */
19
+ value?: string;
20
+ /** Initial uncontrolled value. Has no effect after the first render. */
21
+ defaultValue?: string;
22
+ /** Total number of character slots. */
23
+ maxLength?: number;
24
+ /** Per-character regex pattern string. Characters failing the test are */
25
+ pattern?: string;
26
+ /** Disables the OTP input. */
27
+ disabled?: boolean;
28
+ /** Accessible label for the hidden input (used as aria-label). */
29
+ label?: string;
30
+ /** Optional description text for the hidden input (used as aria-describedby). */
31
+ description?: string;
32
+ /** Fired on every value change. `detail: { value: string }`. */
33
+ onFlintOtpChange?: (event: CustomEvent<FlintOtpChangeDetail>) => void;
34
+ /** Fired when `maxLength` chars have been entered.
35
+ `detail: { value: string }`. */
36
+ onFlintOtpComplete?: (event: CustomEvent<FlintOtpCompleteDetail>) => void;
37
+ }
38
+ export declare const FlintInputOtp: React.ForwardRefExoticComponent<FlintInputOtpProps & React.RefAttributes<FlintInputOtpElement>>;
@@ -1,4 +1,11 @@
1
1
  import React from 'react';
2
2
  import { FlintInputOtpGroup as FlintInputOtpGroupElement } from '@getufy/flint-ui/input-otp/flint-input-otp';
3
- export declare const FlintInputOtpGroup: import("@lit/react").ReactWebComponent<FlintInputOtpGroupElement, {}>;
4
- export type FlintInputOtpGroupProps = React.ComponentProps<typeof FlintInputOtpGroup>;
3
+ /**
4
+ * Visual grouping wrapper for `flint-input-otp-slot` elements.
5
+ Renders slots inline with shared borders.
6
+ *
7
+ * @slot - Accepts `flint-input-otp-slot` elements.
8
+ */
9
+ export interface FlintInputOtpGroupProps extends React.HTMLAttributes<FlintInputOtpGroupElement> {
10
+ }
11
+ export declare const FlintInputOtpGroup: React.ForwardRefExoticComponent<FlintInputOtpGroupProps & React.RefAttributes<FlintInputOtpGroupElement>>;
@@ -1,4 +1,9 @@
1
1
  import React from 'react';
2
2
  import { FlintInputOtpSeparator as FlintInputOtpSeparatorElement } from '@getufy/flint-ui/input-otp/flint-input-otp';
3
- export declare const FlintInputOtpSeparator: import("@lit/react").ReactWebComponent<FlintInputOtpSeparatorElement, {}>;
4
- export type FlintInputOtpSeparatorProps = React.ComponentProps<typeof FlintInputOtpSeparator>;
3
+ /**
4
+ * Visual separator between `flint-input-otp-group` elements.
5
+ Renders a short horizontal bar.
6
+ */
7
+ export interface FlintInputOtpSeparatorProps extends React.HTMLAttributes<FlintInputOtpSeparatorElement> {
8
+ }
9
+ export declare const FlintInputOtpSeparator: React.ForwardRefExoticComponent<FlintInputOtpSeparatorProps & React.RefAttributes<FlintInputOtpSeparatorElement>>;
@@ -1,4 +1,17 @@
1
1
  import React from 'react';
2
2
  import { FlintInputOtpSlot as FlintInputOtpSlotElement } from '@getufy/flint-ui/input-otp/flint-input-otp';
3
- export declare const FlintInputOtpSlot: import("@lit/react").ReactWebComponent<FlintInputOtpSlotElement, {}>;
4
- export type FlintInputOtpSlotProps = React.ComponentProps<typeof FlintInputOtpSlot>;
3
+ /**
4
+ * A single character cell in an OTP input.
5
+ Place inside `flint-input-otp-group`. State is managed by `flint-input-otp`.
6
+ */
7
+ export interface FlintInputOtpSlotProps extends React.HTMLAttributes<FlintInputOtpSlotElement> {
8
+ /** Zero-based position index of this slot. */
9
+ index?: number;
10
+ /** Character displayed. Set by the parent `flint-input-otp`. */
11
+ char?: string;
12
+ /** Whether the cursor is at this position. Set by the parent `flint-input-otp`. */
13
+ active?: boolean;
14
+ /** Error / invalid state. */
15
+ invalid?: boolean;
16
+ }
17
+ export declare const FlintInputOtpSlot: React.ForwardRefExoticComponent<FlintInputOtpSlotProps & React.RefAttributes<FlintInputOtpSlotElement>>;
@@ -1,4 +1,17 @@
1
1
  import React from 'react';
2
2
  import { FlintItem as FlintItemElement } from '@getufy/flint-ui/item/flint-item';
3
- export declare const FlintItem: import("@lit/react").ReactWebComponent<FlintItemElement, {}>;
4
- export type FlintItemProps = React.ComponentProps<typeof FlintItem>;
3
+ /**
4
+ * Root container for displaying content with media, title,
5
+ description, and actions. A versatile flex row that adapts to
6
+ icons, avatars, images, and action buttons.
7
+ *
8
+ * @slot - Accepts `flint-item-header`, `flint-item-media`, `flint-item-content`,
9
+ `flint-item-actions`, `flint-item-footer`, and any other elements.
10
+ */
11
+ export interface FlintItemProps extends React.HTMLAttributes<FlintItemElement> {
12
+ /** Visual style of the item. */
13
+ variant?: 'default' | 'outline' | 'muted';
14
+ /** Size preset controlling padding and gap. */
15
+ size?: 'default' | 'sm' | 'xs';
16
+ }
17
+ export declare const FlintItem: React.ForwardRefExoticComponent<FlintItemProps & React.RefAttributes<FlintItemElement>>;
@@ -1,4 +1,11 @@
1
1
  import React from 'react';
2
2
  import { FlintItemActions as FlintItemActionsElement } from '@getufy/flint-ui/item/flint-item';
3
- export declare const FlintItemActions: import("@lit/react").ReactWebComponent<FlintItemActionsElement, {}>;
4
- export type FlintItemActionsProps = React.ComponentProps<typeof FlintItemActions>;
3
+ /**
4
+ * Container for action buttons or other interactive elements.
5
+ Aligns itself to the trailing edge of the item row.
6
+ *
7
+ * @slot - Buttons, icons, or any interactive elements.
8
+ */
9
+ export interface FlintItemActionsProps extends React.HTMLAttributes<FlintItemActionsElement> {
10
+ }
11
+ export declare const FlintItemActions: React.ForwardRefExoticComponent<FlintItemActionsProps & React.RefAttributes<FlintItemActionsElement>>;
@@ -1,4 +1,10 @@
1
1
  import React from 'react';
2
2
  import { FlintItemContent as FlintItemContentElement } from '@getufy/flint-ui/item/flint-item';
3
- export declare const FlintItemContent: import("@lit/react").ReactWebComponent<FlintItemContentElement, {}>;
4
- export type FlintItemContentProps = React.ComponentProps<typeof FlintItemContent>;
3
+ /**
4
+ * Flex-column wrapper for an item's title and description.
5
+ *
6
+ * @slot - Accepts `flint-item-title`, `flint-item-description`, or any content.
7
+ */
8
+ export interface FlintItemContentProps extends React.HTMLAttributes<FlintItemContentElement> {
9
+ }
10
+ export declare const FlintItemContent: React.ForwardRefExoticComponent<FlintItemContentProps & React.RefAttributes<FlintItemContentElement>>;
@@ -1,4 +1,10 @@
1
1
  import React from 'react';
2
2
  import { FlintItemDescription as FlintItemDescriptionElement } from '@getufy/flint-ui/item/flint-item';
3
- export declare const FlintItemDescription: import("@lit/react").ReactWebComponent<FlintItemDescriptionElement, {}>;
4
- export type FlintItemDescriptionProps = React.ComponentProps<typeof FlintItemDescription>;
3
+ /**
4
+ * Displays the description of an item.
5
+ *
6
+ * @slot - Description text.
7
+ */
8
+ export interface FlintItemDescriptionProps extends React.HTMLAttributes<FlintItemDescriptionElement> {
9
+ }
10
+ export declare const FlintItemDescription: React.ForwardRefExoticComponent<FlintItemDescriptionProps & React.RefAttributes<FlintItemDescriptionElement>>;
@@ -1,4 +1,12 @@
1
1
  import React from 'react';
2
2
  import { FlintItemFooter as FlintItemFooterElement } from '@getufy/flint-ui/item/flint-item';
3
- export declare const FlintItemFooter: import("@lit/react").ReactWebComponent<FlintItemFooterElement, {}>;
4
- export type FlintItemFooterProps = React.ComponentProps<typeof FlintItemFooter>;
3
+ /**
4
+ * Full-bleed footer that spans the bottom of the item, cancelling the
5
+ item's padding so the footer appears flush with the border.
6
+ Always place as the last child of `flint-item`.
7
+ *
8
+ * @slot - Footer content: metadata, links, supplementary actions.
9
+ */
10
+ export interface FlintItemFooterProps extends React.HTMLAttributes<FlintItemFooterElement> {
11
+ }
12
+ export declare const FlintItemFooter: React.ForwardRefExoticComponent<FlintItemFooterProps & React.RefAttributes<FlintItemFooterElement>>;
@@ -1,4 +1,10 @@
1
1
  import React from 'react';
2
2
  import { FlintItemGroup as FlintItemGroupElement } from '@getufy/flint-ui/item/flint-item';
3
- export declare const FlintItemGroup: import("@lit/react").ReactWebComponent<FlintItemGroupElement, {}>;
4
- export type FlintItemGroupProps = React.ComponentProps<typeof FlintItemGroup>;
3
+ /**
4
+ * Container for grouping related items together.
5
+ *
6
+ * @slot - Accepts `flint-item`, `flint-item-separator`, and any other elements.
7
+ */
8
+ export interface FlintItemGroupProps extends React.HTMLAttributes<FlintItemGroupElement> {
9
+ }
10
+ export declare const FlintItemGroup: React.ForwardRefExoticComponent<FlintItemGroupProps & React.RefAttributes<FlintItemGroupElement>>;
@@ -1,4 +1,12 @@
1
1
  import React from 'react';
2
2
  import { FlintItemHeader as FlintItemHeaderElement } from '@getufy/flint-ui/item/flint-item';
3
- export declare const FlintItemHeader: import("@lit/react").ReactWebComponent<FlintItemHeaderElement, {}>;
4
- export type FlintItemHeaderProps = React.ComponentProps<typeof FlintItemHeader>;
3
+ /**
4
+ * Full-bleed header that spans the top of the item, cancelling the
5
+ item's padding so media (images) appear flush with the border.
6
+ Always place as the first child of `flint-item`.
7
+ *
8
+ * @slot - Header content, typically an image or decorative element.
9
+ */
10
+ export interface FlintItemHeaderProps extends React.HTMLAttributes<FlintItemHeaderElement> {
11
+ }
12
+ export declare const FlintItemHeader: React.ForwardRefExoticComponent<FlintItemHeaderProps & React.RefAttributes<FlintItemHeaderElement>>;
@@ -1,4 +1,12 @@
1
1
  import React from 'react';
2
2
  import { FlintItemMedia as FlintItemMediaElement } from '@getufy/flint-ui/item/flint-item';
3
- export declare const FlintItemMedia: import("@lit/react").ReactWebComponent<FlintItemMediaElement, {}>;
4
- export type FlintItemMediaProps = React.ComponentProps<typeof FlintItemMedia>;
3
+ /**
4
+ * Media container for an item (icon, avatar, or image).
5
+ *
6
+ * @slot - Media content: SVG icon, avatar element, or image.
7
+ */
8
+ export interface FlintItemMediaProps extends React.HTMLAttributes<FlintItemMediaElement> {
9
+ /** Visual treatment for the media container. */
10
+ variant?: 'default' | 'icon' | 'image';
11
+ }
12
+ export declare const FlintItemMedia: React.ForwardRefExoticComponent<FlintItemMediaProps & React.RefAttributes<FlintItemMediaElement>>;
@@ -1,4 +1,8 @@
1
1
  import React from 'react';
2
2
  import { FlintItemSeparator as FlintItemSeparatorElement } from '@getufy/flint-ui/item/flint-item';
3
- export declare const FlintItemSeparator: import("@lit/react").ReactWebComponent<FlintItemSeparatorElement, {}>;
4
- export type FlintItemSeparatorProps = React.ComponentProps<typeof FlintItemSeparator>;
3
+ /**
4
+ * Visual separator between items in a group.
5
+ */
6
+ export interface FlintItemSeparatorProps extends React.HTMLAttributes<FlintItemSeparatorElement> {
7
+ }
8
+ export declare const FlintItemSeparator: React.ForwardRefExoticComponent<FlintItemSeparatorProps & React.RefAttributes<FlintItemSeparatorElement>>;
@@ -1,4 +1,10 @@
1
1
  import React from 'react';
2
2
  import { FlintItemTitle as FlintItemTitleElement } from '@getufy/flint-ui/item/flint-item';
3
- export declare const FlintItemTitle: import("@lit/react").ReactWebComponent<FlintItemTitleElement, {}>;
4
- export type FlintItemTitleProps = React.ComponentProps<typeof FlintItemTitle>;
3
+ /**
4
+ * Displays the title of an item.
5
+ *
6
+ * @slot - Title text.
7
+ */
8
+ export interface FlintItemTitleProps extends React.HTMLAttributes<FlintItemTitleElement> {
9
+ }
10
+ export declare const FlintItemTitle: React.ForwardRefExoticComponent<FlintItemTitleProps & React.RefAttributes<FlintItemTitleElement>>;
@@ -1,4 +1,17 @@
1
1
  import React from 'react';
2
2
  import { FlintKbd as FlintKbdElement } from '@getufy/flint-ui/kbd/flint-kbd';
3
- export declare const FlintKbd: import("@lit/react").ReactWebComponent<FlintKbdElement, {}>;
4
- export type FlintKbdProps = React.ComponentProps<typeof FlintKbd>;
3
+ /**
4
+ * Displays a single keyboard key or modifier symbol.
5
+ Renders a semantic `<kbd>` element for accessibility.
6
+ *
7
+ * @slot - Key label: text, symbol (⌘ ⇧ ⌥ ⌃ ⏎), or any inline content.
8
+ */
9
+ export interface FlintKbdProps extends React.HTMLAttributes<FlintKbdElement> {
10
+ /** Visual size of the key. */
11
+ size?: 'sm' | 'default' | 'lg';
12
+ /** Visual style: `raised` (default, bottom border + shadow) or `flat` (no raised effect). */
13
+ variant?: 'raised' | 'flat';
14
+ /** Accessible label forwarded as `aria-label` on the inner `<kbd>` element. Useful for symbol keys like ⌘. */
15
+ label?: string;
16
+ }
17
+ export declare const FlintKbd: React.ForwardRefExoticComponent<FlintKbdProps & React.RefAttributes<FlintKbdElement>>;
@@ -1,4 +1,11 @@
1
1
  import React from 'react';
2
2
  import { FlintKbdGroup as FlintKbdGroupElement } from '@getufy/flint-ui/kbd/flint-kbd';
3
- export declare const FlintKbdGroup: import("@lit/react").ReactWebComponent<FlintKbdGroupElement, {}>;
4
- export type FlintKbdGroupProps = React.ComponentProps<typeof FlintKbdGroup>;
3
+ /**
4
+ * Groups multiple `flint-kbd` elements in a row.
5
+ Provides a flex container with tight spacing for key combos.
6
+ *
7
+ * @slot - `flint-kbd` elements, separators (e.g. `<span>+</span>`), or text.
8
+ */
9
+ export interface FlintKbdGroupProps extends React.HTMLAttributes<FlintKbdGroupElement> {
10
+ }
11
+ export declare const FlintKbdGroup: React.ForwardRefExoticComponent<FlintKbdGroupProps & React.RefAttributes<FlintKbdGroupElement>>;
@@ -1,4 +1,18 @@
1
1
  import React from 'react';
2
2
  import { FlintLinearProgress as FlintLinearProgressElement } from '@getufy/flint-ui/progress/flint-linear-progress';
3
- export declare const FlintLinearProgress: import("@lit/react").ReactWebComponent<FlintLinearProgressElement, {}>;
4
- export type FlintLinearProgressProps = React.ComponentProps<typeof FlintLinearProgress>;
3
+ /**
4
+ * flint-linear-progress: a horizontal progress bar.
5
+ */
6
+ export interface FlintLinearProgressProps extends Omit<React.HTMLAttributes<FlintLinearProgressElement>, 'color'> {
7
+ /** Progress variant: determinate shows a specific value, indeterminate shows an animation. */
8
+ variant?: 'determinate' | 'indeterminate';
9
+ /** Current progress value (0-100). */
10
+ value?: number;
11
+ /** Height of the progress bar in pixels. */
12
+ height?: number;
13
+ /** Color theme of the progress bar. */
14
+ color?: 'primary' | 'success' | 'error' | 'warning';
15
+ /** Accessible label for the progress bar. */
16
+ label?: string;
17
+ }
18
+ export declare const FlintLinearProgress: React.ForwardRefExoticComponent<FlintLinearProgressProps & React.RefAttributes<FlintLinearProgressElement>>;
@@ -1,4 +1,29 @@
1
1
  import React from 'react';
2
2
  import { FlintLink as FlintLinkElement } from '@getufy/flint-ui/link/flint-link';
3
- export declare const FlintLink: import("@lit/react").ReactWebComponent<FlintLinkElement, {}>;
4
- export type FlintLinkProps = React.ComponentProps<typeof FlintLink>;
3
+ /**
4
+ * The Link component allows you to easily customize anchor elements
5
+ with theme colors and typography styles.
6
+ *
7
+ * @slot - Link text or content.
8
+ */
9
+ export interface FlintLinkProps extends Omit<React.HTMLAttributes<FlintLinkElement>, 'color'> {
10
+ /** The URL of the link. */
11
+ href?: string;
12
+ /** Where to open the link. */
13
+ target?: '_self' | '_blank' | '_parent' | '_top';
14
+ /** Specifies the relationship of the target object. */
15
+ rel?: string;
16
+ /** The color of the link. */
17
+ color?: FlintLinkElement['color'];
18
+ /** Controls the underline behavior. */
19
+ underline?: 'none' | 'hover' | 'always';
20
+ /** Applies typography variant styles. */
21
+ variant?: FlintLinkElement['variant'];
22
+ /** If true, the link is disabled. */
23
+ disabled?: boolean;
24
+ /** The download attribute. */
25
+ download?: string;
26
+ /** The ARIA label. */
27
+ label?: string;
28
+ }
29
+ export declare const FlintLink: React.ForwardRefExoticComponent<FlintLinkProps & React.RefAttributes<FlintLinkElement>>;
@@ -1,4 +1,12 @@
1
1
  import React from 'react';
2
2
  import { FlintList as FlintListElement } from '@getufy/flint-ui/list/flint-list';
3
- export declare const FlintList: import("@lit/react").ReactWebComponent<FlintListElement, {}>;
4
- export type FlintListProps = React.ComponentProps<typeof FlintList>;
3
+ /**
4
+ * flint-list: A wrapper for list items.
5
+ */
6
+ export interface FlintListProps extends React.HTMLAttributes<FlintListElement> {
7
+ /** Whether to disable the default padding on the list. */
8
+ disablePadding?: boolean;
9
+ /** Whether to use compact spacing for list items. */
10
+ dense?: boolean;
11
+ }
12
+ export declare const FlintList: React.ForwardRefExoticComponent<FlintListProps & React.RefAttributes<FlintListElement>>;
@@ -1,4 +1,8 @@
1
1
  import React from 'react';
2
2
  import { FlintListItem as FlintListItemElement } from '@getufy/flint-ui/list/flint-list';
3
- export declare const FlintListItem: import("@lit/react").ReactWebComponent<FlintListItemElement, {}>;
4
- export type FlintListItemProps = React.ComponentProps<typeof FlintListItem>;
3
+ /**
4
+ * flint-list-item: A common list item.
5
+ */
6
+ export interface FlintListItemProps extends React.HTMLAttributes<FlintListItemElement> {
7
+ }
8
+ export declare const FlintListItem: React.ForwardRefExoticComponent<FlintListItemProps & React.RefAttributes<FlintListItemElement>>;
@@ -1,4 +1,8 @@
1
1
  import React from 'react';
2
2
  import { FlintListItemAvatar as FlintListItemAvatarElement } from '@getufy/flint-ui/list/flint-list';
3
- export declare const FlintListItemAvatar: import("@lit/react").ReactWebComponent<FlintListItemAvatarElement, {}>;
4
- export type FlintListItemAvatarProps = React.ComponentProps<typeof FlintListItemAvatar>;
3
+ /**
4
+ * flint-list-item-avatar: An avatar wrapper inside a list item.
5
+ */
6
+ export interface FlintListItemAvatarProps extends React.HTMLAttributes<FlintListItemAvatarElement> {
7
+ }
8
+ export declare const FlintListItemAvatar: React.ForwardRefExoticComponent<FlintListItemAvatarProps & React.RefAttributes<FlintListItemAvatarElement>>;
@@ -1,4 +1,12 @@
1
1
  import React from 'react';
2
2
  import { FlintListItemButton as FlintListItemButtonElement } from '@getufy/flint-ui/list/flint-list';
3
- export declare const FlintListItemButton: import("@lit/react").ReactWebComponent<FlintListItemButtonElement, {}>;
4
- export type FlintListItemButtonProps = React.ComponentProps<typeof FlintListItemButton>;
3
+ /**
4
+ * flint-list-item-button: An action element inside a list item.
5
+ */
6
+ export interface FlintListItemButtonProps extends React.HTMLAttributes<FlintListItemButtonElement> {
7
+ /** Whether the list item button is disabled. */
8
+ disabled?: boolean;
9
+ /** Whether the list item button is selected. */
10
+ selected?: boolean;
11
+ }
12
+ export declare const FlintListItemButton: React.ForwardRefExoticComponent<FlintListItemButtonProps & React.RefAttributes<FlintListItemButtonElement>>;
@@ -1,4 +1,8 @@
1
1
  import React from 'react';
2
2
  import { FlintListItemIcon as FlintListItemIconElement } from '@getufy/flint-ui/list/flint-list';
3
- export declare const FlintListItemIcon: import("@lit/react").ReactWebComponent<FlintListItemIconElement, {}>;
4
- export type FlintListItemIconProps = React.ComponentProps<typeof FlintListItemIcon>;
3
+ /**
4
+ * flint-list-item-icon: An icon wrapper inside a list item.
5
+ */
6
+ export interface FlintListItemIconProps extends React.HTMLAttributes<FlintListItemIconElement> {
7
+ }
8
+ export declare const FlintListItemIcon: React.ForwardRefExoticComponent<FlintListItemIconProps & React.RefAttributes<FlintListItemIconElement>>;
@@ -1,4 +1,12 @@
1
1
  import React from 'react';
2
2
  import { FlintListItemText as FlintListItemTextElement } from '@getufy/flint-ui/list/flint-list';
3
- export declare const FlintListItemText: import("@lit/react").ReactWebComponent<FlintListItemTextElement, {}>;
4
- export type FlintListItemTextProps = React.ComponentProps<typeof FlintListItemText>;
3
+ /**
4
+ * flint-list-item-text: A container for text content.
5
+ */
6
+ export interface FlintListItemTextProps extends React.HTMLAttributes<FlintListItemTextElement> {
7
+ /** Primary text content of the list item. */
8
+ primary?: string;
9
+ /** Secondary text content of the list item. */
10
+ secondary?: string;
11
+ }
12
+ export declare const FlintListItemText: React.ForwardRefExoticComponent<FlintListItemTextProps & React.RefAttributes<FlintListItemTextElement>>;
@@ -1,4 +1,8 @@
1
1
  import React from 'react';
2
2
  import { FlintListSubheader as FlintListSubheaderElement } from '@getufy/flint-ui/list/flint-list';
3
- export declare const FlintListSubheader: import("@lit/react").ReactWebComponent<FlintListSubheaderElement, {}>;
4
- export type FlintListSubheaderProps = React.ComponentProps<typeof FlintListSubheader>;
3
+ /**
4
+ * flint-list-subheader: A label for a nested list.
5
+ */
6
+ export interface FlintListSubheaderProps extends React.HTMLAttributes<FlintListSubheaderElement> {
7
+ }
8
+ export declare const FlintListSubheader: React.ForwardRefExoticComponent<FlintListSubheaderProps & React.RefAttributes<FlintListSubheaderElement>>;
@@ -1,7 +1,26 @@
1
1
  import React from 'react';
2
- import { type EventName } from '@lit/react';
3
2
  import { FlintMenu as FlintMenuElement } from '@getufy/flint-ui/menu/flint-menu';
4
- export declare const FlintMenu: import("@lit/react").ReactWebComponent<FlintMenuElement, {
5
- onFlintMenuClose: EventName<CustomEvent>;
6
- }>;
7
- export type FlintMenuProps = React.ComponentProps<typeof FlintMenu>;
3
+ export interface FlintMenuCloseDetail {
4
+ open: boolean;
5
+ }
6
+ /**
7
+ * A menu displays a list of choices on a temporary surface.
8
+ Place it as a sibling to its anchor element inside a `position:relative` container.
9
+ *
10
+ * @slot - Menu content (flint-menu-item elements).
11
+ */
12
+ export interface FlintMenuProps extends React.HTMLAttributes<FlintMenuElement> {
13
+ /** Whether the menu is open/visible. */
14
+ open?: boolean;
15
+ /** Menu placement relative to its anchor container. */
16
+ placement?: string;
17
+ /** When true, selecting an item automatically fires flint-menu-close. */
18
+ closeOnSelect?: boolean;
19
+ /** When true, constrains height to --flint-menu-max-height (default 300px) and enables scrolling. */
20
+ scrollable?: boolean;
21
+ /** Accessible label for the menu surface (aria-label on role="menu"). */
22
+ label?: string;
23
+ /** Fired when the menu requests to be closed (backdrop click, Escape, or item select). detail: `{ open: false }` */
24
+ onFlintMenuClose?: (event: CustomEvent<FlintMenuCloseDetail>) => void;
25
+ }
26
+ export declare const FlintMenu: React.ForwardRefExoticComponent<FlintMenuProps & React.RefAttributes<FlintMenuElement>>;