@salemcobalt/ui 0.2.0-rc.3 → 0.2.0-rc.5

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.
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as react from 'react';
2
- import { ComponentPropsWithRef, ReactNode, ReactElement, CSSProperties } from 'react';
2
+ import { ComponentPropsWithRef, ReactNode, ReactElement, CSSProperties, MouseEvent } from 'react';
3
3
  import { useRender } from '@base-ui/react/use-render';
4
4
  import { Dialog as Dialog$1 } from '@base-ui/react/dialog';
5
5
  import * as _base_ui_react from '@base-ui/react';
@@ -694,6 +694,7 @@ declare const Kbd: typeof KbdBase & {
694
694
  };
695
695
 
696
696
  type DialogSize = 'sm' | 'md' | 'lg';
697
+ type DialogVariant = 'dialog' | 'sheet';
697
698
  interface DialogRootProps {
698
699
  /** Controlled open state. */
699
700
  open?: boolean | undefined;
@@ -708,12 +709,24 @@ interface DialogRootProps {
708
709
  /** Owns the open state. Wrap a `Dialog.Trigger` and a `Dialog.Content`. */
709
710
  declare function Root$4({ dismissible, onOpenChange, open, defaultOpen, children }: DialogRootProps): react.JSX.Element;
710
711
  interface DialogContentProps extends Omit<Dialog$1.Popup.Props, 'className'> {
711
- /** `sm` 400px for yes/no, `md` 560px (default) for a short form, `lg` 720px rarely. */
712
+ /**
713
+ * Maximum width: `sm` 400px for yes/no, `md` 560px (default) for a short form, `lg` 720px rarely.
714
+ * Every size clamps to the viewport minus a 16px gutter, so a 390px phone gets a 358px dialog.
715
+ */
712
716
  size?: DialogSize | undefined;
717
+ /**
718
+ * `dialog` (default) centres the popup. `sheet` is the same on wide viewports but below 640px it
719
+ * becomes a bottom sheet: full width, rounded top, title and actions pinned while `Dialog.Body`
720
+ * scrolls, padding that clears the home indicator. Use it for forms and pickers opened from a list.
721
+ */
722
+ variant?: DialogVariant | undefined;
713
723
  className?: string | undefined;
714
724
  }
715
- /** Portal, backdrop and the popup. Focus moves inside on open and returns to the trigger on close. */
716
- declare function Content$1({ size, className, children, ...rest }: DialogContentProps): react.JSX.Element;
725
+ /**
726
+ * Portal, backdrop and the popup. Focus moves inside on open and returns to the trigger on close.
727
+ * Menus, selects and tooltips opened from inside render above it (`--sc-z-dropdown` > `--sc-z-dialog`).
728
+ */
729
+ declare function Content$1({ size, variant, className, children, ...rest }: DialogContentProps): react.JSX.Element;
717
730
  interface DialogTitleProps extends Omit<Dialog$1.Title.Props, 'className'> {
718
731
  className?: string | undefined;
719
732
  }
@@ -725,7 +738,7 @@ interface DialogDescriptionProps extends Omit<Dialog$1.Description.Props, 'class
725
738
  /** Optional, muted. Says what will happen. */
726
739
  declare function Description({ className, ...rest }: DialogDescriptionProps): react.JSX.Element;
727
740
  type DialogBodyProps = ComponentPropsWithRef<'div'>;
728
- /** Free content between the description and the actions. */
741
+ /** Free content between the description and the actions. In a `sheet` it is the part that scrolls. */
729
742
  declare function Body$1({ className, ...rest }: DialogBodyProps): react.JSX.Element;
730
743
  type DialogActionsProps = Omit<InlineProps, 'justify'>;
731
744
  /** Right-aligned row of Buttons. Put the confirming action last. */
@@ -901,7 +914,7 @@ declare const Tooltip: typeof TooltipBase & {
901
914
  Provider: react.FC<_base_ui_react.TooltipProviderProps>;
902
915
  };
903
916
 
904
- interface IconButtonProps extends Omit<ComponentPropsWithRef<'button'>, 'children' | 'aria-label'> {
917
+ interface IconButtonProps extends Omit<useRender.ComponentProps<'button'>, 'children' | 'aria-label'> {
905
918
  /** Required. The accessible name, and the tooltip text when `tooltip` is `true`. */
906
919
  label: string;
907
920
  /** The icon, usually a shipped `<Name>Icon`. It is decorative; `label` names the button. Optional only so a popup trigger can supply it through `render`. */
@@ -919,8 +932,12 @@ interface IconButtonProps extends Omit<ComponentPropsWithRef<'button'>, 'childre
919
932
  /** Shows a spinner, sets `aria-busy` and ignores clicks. */
920
933
  loading?: boolean | undefined;
921
934
  }
922
- /** A square Button for one icon. Always named by `label`; use `tooltip` to show that name on hover. */
923
- declare function IconButton({ label, children, variant, size, tooltip, tooltipSide, round, loading, type, className, onClick, ...rest }: IconButtonProps): react.JSX.Element;
935
+ /**
936
+ * A square Button for one icon. Always named by `label`; use `tooltip` to show that name on hover.
937
+ * Renders a `<button>` unless `render` gives another element: `render={<a href="/settings" />}` or a
938
+ * Next.js `<Link href="/settings" />` makes it a link with the same look and name.
939
+ */
940
+ declare function IconButton({ label, children, variant, size, tooltip, tooltipSide, round, loading, type, className, onClick, render, ref, ...rest }: IconButtonProps): react.JSX.Element;
924
941
 
925
942
  type MenuSide = 'top' | 'bottom' | 'left' | 'right';
926
943
  type MenuAlign = 'start' | 'center' | 'end';
@@ -1065,19 +1082,30 @@ interface InputProps extends Omit<ComponentPropsWithRef<'input'>, 'size' | 'name
1065
1082
  /** Called with the string value on every change, beside the native `onChange`. */
1066
1083
  onValueChange?: ((value: string) => void) | undefined;
1067
1084
  }
1068
- /** A labelled single-line text field. Renders a native `<input>` inside Base UI's Field. */
1085
+ /**
1086
+ * A labelled single-line text field. Renders a native `<input>` inside Base UI's Field, so every native
1087
+ * attribute passes through: `type="date" | "time" | "number" | "url" | …` keep the same height and
1088
+ * `iconStart` slot; `list="id"` with a `<datalist>` beside it gives native suggestions. Date and time
1089
+ * fields show the browser's picker at the end edge, so leave `iconEnd` off those.
1090
+ */
1069
1091
  declare function Input({ label, hideLabel, description, error, invalid, required, disabled, name, size, className, iconStart, iconEnd, onValueChange, ...rest }: InputProps): react.JSX.Element;
1070
1092
 
1093
+ type TextareaVariant = 'default' | 'code';
1071
1094
  interface TextareaProps extends Omit<ComponentPropsWithRef<'textarea'>, 'name' | 'disabled' | 'required' | 'className'>, Omit<FieldProps, 'size'> {
1072
1095
  /** Visible lines. Default 3. */
1073
1096
  rows?: number | undefined;
1074
1097
  /** `vertical` (default) lets the user drag it taller; `none` fixes the height. */
1075
1098
  resize?: 'vertical' | 'none' | undefined;
1099
+ /**
1100
+ * `code` for Markdown, JSON and other source: monospace, `tab-size: 2`, spellcheck, autocorrect and
1101
+ * autocapitalize off. Add the native `wrap="off"` to keep long lines on one line and scroll sideways.
1102
+ */
1103
+ variant?: TextareaVariant | undefined;
1076
1104
  /** Called with the string value on every change, beside the native `onChange`. */
1077
1105
  onValueChange?: ((value: string) => void) | undefined;
1078
1106
  }
1079
1107
  /** A labelled multi-line text field. Renders a native `<textarea>` inside Base UI's Field. */
1080
- declare function Textarea({ label, hideLabel, description, error, invalid, required, disabled, name, className, rows, resize, onValueChange, ...rest }: TextareaProps): react.JSX.Element;
1108
+ declare function Textarea({ label, hideLabel, description, error, invalid, required, disabled, name, className, rows, resize, variant, onValueChange, spellCheck, autoCorrect, autoCapitalize, ...rest }: TextareaProps): react.JSX.Element;
1081
1109
 
1082
1110
  interface SelectOption<Value extends string = string> {
1083
1111
  value: Value;
@@ -1092,14 +1120,21 @@ interface SelectGroup<Value extends string = string> {
1092
1120
  interface SelectProps<Value extends string = string> extends FieldProps {
1093
1121
  /** Flat options, or groups of options with a heading. */
1094
1122
  options: Array<SelectOption<Value> | SelectGroup<Value>>;
1095
- /** Controlled value; `null` for none. */
1123
+ /** Controlled value; `null` for none, which shows `placeholder`. No sentinel option needed. */
1096
1124
  value?: Value | null | undefined;
1097
- /** Initial value when uncontrolled. */
1125
+ /** Initial value when uncontrolled; `null` (default) for none. */
1098
1126
  defaultValue?: Value | null | undefined;
1099
- /** Called with the chosen value. */
1127
+ /** Called with the chosen value, or `null` when the field is cleared. */
1100
1128
  onValueChange?: ((value: Value | null) => void) | undefined;
1101
1129
  /** Shown in the trigger while nothing is chosen. */
1102
1130
  placeholder?: ReactNode | undefined;
1131
+ /**
1132
+ * Shows an × beside the chevron while a value is chosen; pressing it, or Backspace/Delete on the
1133
+ * focused trigger, sets the value to `null` and calls `onValueChange(null)`.
1134
+ */
1135
+ clearable?: boolean | undefined;
1136
+ /** Accessible name of the clear button. Default "Clear". */
1137
+ clearLabel?: string | undefined;
1103
1138
  /** Prevents choosing a different option. */
1104
1139
  readOnly?: boolean | undefined;
1105
1140
  /** Stretches the trigger to the container. */
@@ -1110,7 +1145,7 @@ interface SelectProps<Value extends string = string> extends FieldProps {
1110
1145
  * A labelled single-choice dropdown. Built on Base UI's Select so the list is styled and keyboard
1111
1146
  * complete; submits like a native select through `name`.
1112
1147
  */
1113
- declare function Select<Value extends string = string>({ label, hideLabel, description, error, invalid, required, disabled, name, size, className, options, value, defaultValue, onValueChange, placeholder, readOnly, fullWidth, id, }: SelectProps<Value>): react.JSX.Element;
1148
+ declare function Select<Value extends string = string>({ label, hideLabel, description, error, invalid, required, disabled, name, size, className, options, value, defaultValue, onValueChange, placeholder, clearable, clearLabel, readOnly, fullWidth, id, }: SelectProps<Value>): react.JSX.Element;
1114
1149
 
1115
1150
  interface CheckboxProps extends Omit<Checkbox$1.Root.Props, 'className' | 'onCheckedChange' | 'render' | 'children'> {
1116
1151
  /** Required. The visible label; clicking it toggles the box. */
@@ -1213,6 +1248,9 @@ declare function Separator({ className, ...rest }: ToolbarSeparatorProps): react
1213
1248
  interface ToolbarButtonProps extends Omit<Toolbar$1.Button.Props, 'className'> {
1214
1249
  className?: string | undefined;
1215
1250
  }
1251
+ interface ToolbarLinkProps extends Omit<Toolbar$1.Link.Props, 'className'> {
1252
+ className?: string | undefined;
1253
+ }
1216
1254
  interface ToolbarSpacerProps {
1217
1255
  className?: string | undefined;
1218
1256
  }
@@ -1224,6 +1262,7 @@ declare const Toolbar: {
1224
1262
  Group: typeof Group;
1225
1263
  Separator: typeof Separator;
1226
1264
  Button: react.ForwardRefExoticComponent<Omit<_base_ui_react.ToolbarButtonProps, "ref"> & react.RefAttributes<HTMLButtonElement>>;
1265
+ Link: react.ForwardRefExoticComponent<Omit<_base_ui_react.ToolbarLinkProps, "ref"> & react.RefAttributes<HTMLAnchorElement>>;
1227
1266
  Spacer: typeof Spacer;
1228
1267
  };
1229
1268
 
@@ -2004,7 +2043,388 @@ declare function Stat({ label, value, delta, deltaTone, trend, hint, icon, varia
2004
2043
  'data-size': StatSize;
2005
2044
  }, HTMLDivElement>;
2006
2045
 
2046
+ type ChipTone = 'neutral' | 'accent' | 'success' | 'warning' | 'danger' | 'info';
2047
+ type ChipSize = 'sm' | 'md';
2048
+ interface ChipProps extends Omit<ComponentPropsWithRef<'span'>, 'onClick' | 'onRemove'> {
2049
+ /** The chip text. Keep it to a word or three. */
2050
+ children: ReactNode;
2051
+ /** A 14px icon before the text. Decorative. */
2052
+ icon?: ReactNode | undefined;
2053
+ /** Colour. `neutral` (default) for filters, a status tone when the chip is the status. */
2054
+ tone?: ChipTone | undefined;
2055
+ /** `md` 32px (default) or `sm` 24px inside table rows and Card headers. */
2056
+ size?: ChipSize | undefined;
2057
+ /** Filled and `aria-pressed`. Use with `onClick` for a toggling filter chip. */
2058
+ selected?: boolean | undefined;
2059
+ /** Makes the chip a `<button>` that toggles; `selected` is reflected as `aria-pressed`. */
2060
+ onClick?: ((event: MouseEvent<HTMLButtonElement>) => void) | undefined;
2061
+ /**
2062
+ * Adds a labelled × that calls this. Backspace or Delete on the focused chip (or on the ×) removes it
2063
+ * too. Focus is yours to manage after removal: move it to the next chip or the filter input.
2064
+ */
2065
+ onRemove?: (() => void) | undefined;
2066
+ /** Accessible name of the ×. Default "Remove" followed by the chip text when that text is a string. */
2067
+ removeLabel?: string | undefined;
2068
+ disabled?: boolean | undefined;
2069
+ }
2070
+ /**
2071
+ * A small pill: an applied filter, a tag, a selectable option in a row of a few. `onClick` makes it a
2072
+ * toggle button, `onRemove` adds the ×, and the two combine. Plain text otherwise.
2073
+ */
2074
+ declare function Chip({ children, icon, tone, size, selected, onClick, onRemove, removeLabel, disabled, className, ...rest }: ChipProps): react.JSX.Element;
2075
+
2076
+ interface DisclosureProps extends Omit<ComponentPropsWithRef<'details'>, 'open' | 'onToggle'> {
2077
+ /** Required. The summary line, a verb phrase: "Show full description". */
2078
+ summary: ReactNode;
2079
+ /** Replaces `summary` while open: "Show less". */
2080
+ summaryOpen?: ReactNode | undefined;
2081
+ /** Controlled open state. */
2082
+ open?: boolean | undefined;
2083
+ /** Initial open state when uncontrolled. */
2084
+ defaultOpen?: boolean | undefined;
2085
+ /** Called when the user toggles it. */
2086
+ onOpenChange?: ((open: boolean) => void) | undefined;
2087
+ /**
2088
+ * While closed, shows this many lines of the content fading out, so a long description still reads
2089
+ * as a teaser. Puts the summary line under the preview. Needs `::details-content` (2025 browsers);
2090
+ * older ones show the summary alone.
2091
+ */
2092
+ previewLines?: number | undefined;
2093
+ /** Puts the summary line above (default) or below the content. Defaults to `end` with `previewLines`. */
2094
+ summaryPosition?: 'start' | 'end' | undefined;
2095
+ children?: ReactNode | undefined;
2096
+ }
2097
+ /**
2098
+ * A native `<details>` collapse with a styled summary. Works without JavaScript, is announced as a
2099
+ * disclosure, and shares `name` with siblings for an exclusive group.
2100
+ */
2101
+ declare function Disclosure({ summary, summaryOpen, open, defaultOpen, onOpenChange, previewLines, summaryPosition, className, style, children, ref, ...rest }: DisclosureProps): react.JSX.Element;
2102
+
2103
+ type EmptyStateSize = 'sm' | 'md';
2104
+ type EmptyStateElement = 'div' | 'section' | 'li';
2105
+ interface EmptyStateProps extends Omit<ComponentPropsWithRef<'div'>, 'title'> {
2106
+ /** Required. What is empty, as a short statement: "No applications yet". */
2107
+ title: ReactNode;
2108
+ /** One sentence on why, or what to do: "Postings you apply to show up here." */
2109
+ description?: ReactNode | undefined;
2110
+ /** A 24px icon in a muted circle above the title. Decorative. */
2111
+ icon?: ReactNode | undefined;
2112
+ /** The actions, usually one primary Button and at most one secondary. Rendered in an Inline. */
2113
+ children?: ReactNode | undefined;
2114
+ /** `md` (default) for a whole view or panel, `sm` inside a Card or a table body. */
2115
+ size?: EmptyStateSize | undefined;
2116
+ /** Element to render. Default `div`. */
2117
+ as?: EmptyStateElement | undefined;
2118
+ }
2119
+ /**
2120
+ * Centred placeholder for a view with nothing in it: an icon, a title, a sentence and the action that
2121
+ * fills it. Say what is missing and the next step; never apologise.
2122
+ */
2123
+ declare function EmptyState({ title, description, icon, children, size, as, className, ...rest }: EmptyStateProps): react.DetailedReactHTMLElement<{
2124
+ slot?: string | undefined | undefined;
2125
+ style?: react.CSSProperties | undefined;
2126
+ ref?: react.Ref<HTMLDivElement> | undefined;
2127
+ key?: react.Key | null | undefined;
2128
+ defaultChecked?: boolean | undefined | undefined;
2129
+ defaultValue?: string | number | readonly string[] | undefined;
2130
+ suppressContentEditableWarning?: boolean | undefined | undefined;
2131
+ suppressHydrationWarning?: boolean | undefined | undefined;
2132
+ accessKey?: string | undefined | undefined;
2133
+ autoCapitalize?: "off" | "none" | "on" | "sentences" | "words" | "characters" | undefined | (string & {}) | undefined;
2134
+ autoFocus?: boolean | undefined | undefined;
2135
+ contentEditable?: (boolean | "true" | "false") | "inherit" | "plaintext-only" | undefined;
2136
+ contextMenu?: string | undefined | undefined;
2137
+ dir?: string | undefined | undefined;
2138
+ draggable?: (boolean | "true" | "false") | undefined;
2139
+ enterKeyHint?: "enter" | "done" | "go" | "next" | "previous" | "search" | "send" | undefined | undefined;
2140
+ hidden?: boolean | undefined | undefined;
2141
+ id?: string | undefined | undefined;
2142
+ lang?: string | undefined | undefined;
2143
+ nonce?: string | undefined | undefined;
2144
+ spellCheck?: (boolean | "true" | "false") | undefined;
2145
+ tabIndex?: number | undefined | undefined;
2146
+ translate?: "yes" | "no" | undefined | undefined;
2147
+ radioGroup?: string | undefined | undefined;
2148
+ role?: react.AriaRole | undefined;
2149
+ about?: string | undefined | undefined;
2150
+ content?: string | undefined | undefined;
2151
+ datatype?: string | undefined | undefined;
2152
+ inlist?: any;
2153
+ prefix?: string | undefined | undefined;
2154
+ property?: string | undefined | undefined;
2155
+ rel?: string | undefined | undefined;
2156
+ resource?: string | undefined | undefined;
2157
+ rev?: string | undefined | undefined;
2158
+ typeof?: string | undefined | undefined;
2159
+ vocab?: string | undefined | undefined;
2160
+ autoCorrect?: string | undefined | undefined;
2161
+ autoSave?: string | undefined | undefined;
2162
+ color?: string | undefined | undefined;
2163
+ itemProp?: string | undefined | undefined;
2164
+ itemScope?: boolean | undefined | undefined;
2165
+ itemType?: string | undefined | undefined;
2166
+ itemID?: string | undefined | undefined;
2167
+ itemRef?: string | undefined | undefined;
2168
+ results?: number | undefined | undefined;
2169
+ security?: string | undefined | undefined;
2170
+ unselectable?: "on" | "off" | undefined | undefined;
2171
+ popover?: "" | "auto" | "manual" | "hint" | undefined | undefined;
2172
+ popoverTargetAction?: "toggle" | "show" | "hide" | undefined | undefined;
2173
+ popoverTarget?: string | undefined | undefined;
2174
+ inert?: boolean | undefined | undefined;
2175
+ inputMode?: "none" | "text" | "tel" | "url" | "email" | "numeric" | "decimal" | "search" | undefined | undefined;
2176
+ is?: string | undefined | undefined;
2177
+ exportparts?: string | undefined | undefined;
2178
+ part?: string | undefined | undefined;
2179
+ "aria-activedescendant"?: string | undefined | undefined;
2180
+ "aria-atomic"?: (boolean | "true" | "false") | undefined;
2181
+ "aria-autocomplete"?: "none" | "inline" | "list" | "both" | undefined | undefined;
2182
+ "aria-braillelabel"?: string | undefined | undefined;
2183
+ "aria-brailleroledescription"?: string | undefined | undefined;
2184
+ "aria-busy"?: (boolean | "true" | "false") | undefined;
2185
+ "aria-checked"?: boolean | "false" | "mixed" | "true" | undefined | undefined;
2186
+ "aria-colcount"?: number | undefined | undefined;
2187
+ "aria-colindex"?: number | undefined | undefined;
2188
+ "aria-colindextext"?: string | undefined | undefined;
2189
+ "aria-colspan"?: number | undefined | undefined;
2190
+ "aria-controls"?: string | undefined | undefined;
2191
+ "aria-current"?: boolean | "false" | "true" | "page" | "step" | "location" | "date" | "time" | undefined | undefined;
2192
+ "aria-describedby"?: string | undefined | undefined;
2193
+ "aria-description"?: string | undefined | undefined;
2194
+ "aria-details"?: string | undefined | undefined;
2195
+ "aria-disabled"?: (boolean | "true" | "false") | undefined;
2196
+ "aria-dropeffect"?: "none" | "copy" | "execute" | "link" | "move" | "popup" | undefined | undefined;
2197
+ "aria-errormessage"?: string | undefined | undefined;
2198
+ "aria-expanded"?: (boolean | "true" | "false") | undefined;
2199
+ "aria-flowto"?: string | undefined | undefined;
2200
+ "aria-grabbed"?: (boolean | "true" | "false") | undefined;
2201
+ "aria-haspopup"?: boolean | "false" | "true" | "menu" | "listbox" | "tree" | "grid" | "dialog" | undefined | undefined;
2202
+ "aria-hidden"?: (boolean | "true" | "false") | undefined;
2203
+ "aria-invalid"?: boolean | "false" | "true" | "grammar" | "spelling" | undefined | undefined;
2204
+ "aria-keyshortcuts"?: string | undefined | undefined;
2205
+ "aria-label"?: string | undefined | undefined;
2206
+ "aria-labelledby"?: string | undefined | undefined;
2207
+ "aria-level"?: number | undefined | undefined;
2208
+ "aria-live"?: "off" | "assertive" | "polite" | undefined | undefined;
2209
+ "aria-modal"?: (boolean | "true" | "false") | undefined;
2210
+ "aria-multiline"?: (boolean | "true" | "false") | undefined;
2211
+ "aria-multiselectable"?: (boolean | "true" | "false") | undefined;
2212
+ "aria-orientation"?: "horizontal" | "vertical" | undefined | undefined;
2213
+ "aria-owns"?: string | undefined | undefined;
2214
+ "aria-placeholder"?: string | undefined | undefined;
2215
+ "aria-posinset"?: number | undefined | undefined;
2216
+ "aria-pressed"?: boolean | "false" | "mixed" | "true" | undefined | undefined;
2217
+ "aria-readonly"?: (boolean | "true" | "false") | undefined;
2218
+ "aria-relevant"?: "additions" | "additions removals" | "additions text" | "all" | "removals" | "removals additions" | "removals text" | "text" | "text additions" | "text removals" | undefined | undefined;
2219
+ "aria-required"?: (boolean | "true" | "false") | undefined;
2220
+ "aria-roledescription"?: string | undefined | undefined;
2221
+ "aria-rowcount"?: number | undefined | undefined;
2222
+ "aria-rowindex"?: number | undefined | undefined;
2223
+ "aria-rowindextext"?: string | undefined | undefined;
2224
+ "aria-rowspan"?: number | undefined | undefined;
2225
+ "aria-selected"?: (boolean | "true" | "false") | undefined;
2226
+ "aria-setsize"?: number | undefined | undefined;
2227
+ "aria-sort"?: "none" | "ascending" | "descending" | "other" | undefined | undefined;
2228
+ "aria-valuemax"?: number | undefined | undefined;
2229
+ "aria-valuemin"?: number | undefined | undefined;
2230
+ "aria-valuenow"?: number | undefined | undefined;
2231
+ "aria-valuetext"?: string | undefined | undefined;
2232
+ dangerouslySetInnerHTML?: {
2233
+ __html: string | TrustedHTML;
2234
+ } | undefined | undefined;
2235
+ onCopy?: react.ClipboardEventHandler<HTMLDivElement> | undefined;
2236
+ onCopyCapture?: react.ClipboardEventHandler<HTMLDivElement> | undefined;
2237
+ onCut?: react.ClipboardEventHandler<HTMLDivElement> | undefined;
2238
+ onCutCapture?: react.ClipboardEventHandler<HTMLDivElement> | undefined;
2239
+ onPaste?: react.ClipboardEventHandler<HTMLDivElement> | undefined;
2240
+ onPasteCapture?: react.ClipboardEventHandler<HTMLDivElement> | undefined;
2241
+ onCompositionEnd?: react.CompositionEventHandler<HTMLDivElement> | undefined;
2242
+ onCompositionEndCapture?: react.CompositionEventHandler<HTMLDivElement> | undefined;
2243
+ onCompositionStart?: react.CompositionEventHandler<HTMLDivElement> | undefined;
2244
+ onCompositionStartCapture?: react.CompositionEventHandler<HTMLDivElement> | undefined;
2245
+ onCompositionUpdate?: react.CompositionEventHandler<HTMLDivElement> | undefined;
2246
+ onCompositionUpdateCapture?: react.CompositionEventHandler<HTMLDivElement> | undefined;
2247
+ onFocus?: react.FocusEventHandler<HTMLDivElement> | undefined;
2248
+ onFocusCapture?: react.FocusEventHandler<HTMLDivElement> | undefined;
2249
+ onBlur?: react.FocusEventHandler<HTMLDivElement> | undefined;
2250
+ onBlurCapture?: react.FocusEventHandler<HTMLDivElement> | undefined;
2251
+ onChange?: react.ChangeEventHandler<HTMLDivElement, Element> | undefined;
2252
+ onChangeCapture?: react.ChangeEventHandler<HTMLDivElement, Element> | undefined;
2253
+ onBeforeInput?: react.InputEventHandler<HTMLDivElement> | undefined;
2254
+ onBeforeInputCapture?: react.InputEventHandler<HTMLDivElement> | undefined;
2255
+ onInput?: react.InputEventHandler<HTMLDivElement> | undefined;
2256
+ onInputCapture?: react.InputEventHandler<HTMLDivElement> | undefined;
2257
+ onReset?: react.ReactEventHandler<HTMLDivElement> | undefined;
2258
+ onResetCapture?: react.ReactEventHandler<HTMLDivElement> | undefined;
2259
+ onSubmit?: react.SubmitEventHandler<HTMLDivElement> | undefined;
2260
+ onSubmitCapture?: react.SubmitEventHandler<HTMLDivElement> | undefined;
2261
+ onInvalid?: react.ReactEventHandler<HTMLDivElement> | undefined;
2262
+ onInvalidCapture?: react.ReactEventHandler<HTMLDivElement> | undefined;
2263
+ onLoad?: react.ReactEventHandler<HTMLDivElement> | undefined;
2264
+ onLoadCapture?: react.ReactEventHandler<HTMLDivElement> | undefined;
2265
+ onError?: react.ReactEventHandler<HTMLDivElement> | undefined;
2266
+ onErrorCapture?: react.ReactEventHandler<HTMLDivElement> | undefined;
2267
+ onKeyDown?: react.KeyboardEventHandler<HTMLDivElement> | undefined;
2268
+ onKeyDownCapture?: react.KeyboardEventHandler<HTMLDivElement> | undefined;
2269
+ onKeyPress?: react.KeyboardEventHandler<HTMLDivElement> | undefined;
2270
+ onKeyPressCapture?: react.KeyboardEventHandler<HTMLDivElement> | undefined;
2271
+ onKeyUp?: react.KeyboardEventHandler<HTMLDivElement> | undefined;
2272
+ onKeyUpCapture?: react.KeyboardEventHandler<HTMLDivElement> | undefined;
2273
+ onAbort?: react.ReactEventHandler<HTMLDivElement> | undefined;
2274
+ onAbortCapture?: react.ReactEventHandler<HTMLDivElement> | undefined;
2275
+ onCanPlay?: react.ReactEventHandler<HTMLDivElement> | undefined;
2276
+ onCanPlayCapture?: react.ReactEventHandler<HTMLDivElement> | undefined;
2277
+ onCanPlayThrough?: react.ReactEventHandler<HTMLDivElement> | undefined;
2278
+ onCanPlayThroughCapture?: react.ReactEventHandler<HTMLDivElement> | undefined;
2279
+ onDurationChange?: react.ReactEventHandler<HTMLDivElement> | undefined;
2280
+ onDurationChangeCapture?: react.ReactEventHandler<HTMLDivElement> | undefined;
2281
+ onEmptied?: react.ReactEventHandler<HTMLDivElement> | undefined;
2282
+ onEmptiedCapture?: react.ReactEventHandler<HTMLDivElement> | undefined;
2283
+ onEncrypted?: react.ReactEventHandler<HTMLDivElement> | undefined;
2284
+ onEncryptedCapture?: react.ReactEventHandler<HTMLDivElement> | undefined;
2285
+ onEnded?: react.ReactEventHandler<HTMLDivElement> | undefined;
2286
+ onEndedCapture?: react.ReactEventHandler<HTMLDivElement> | undefined;
2287
+ onLoadedData?: react.ReactEventHandler<HTMLDivElement> | undefined;
2288
+ onLoadedDataCapture?: react.ReactEventHandler<HTMLDivElement> | undefined;
2289
+ onLoadedMetadata?: react.ReactEventHandler<HTMLDivElement> | undefined;
2290
+ onLoadedMetadataCapture?: react.ReactEventHandler<HTMLDivElement> | undefined;
2291
+ onLoadStart?: react.ReactEventHandler<HTMLDivElement> | undefined;
2292
+ onLoadStartCapture?: react.ReactEventHandler<HTMLDivElement> | undefined;
2293
+ onPause?: react.ReactEventHandler<HTMLDivElement> | undefined;
2294
+ onPauseCapture?: react.ReactEventHandler<HTMLDivElement> | undefined;
2295
+ onPlay?: react.ReactEventHandler<HTMLDivElement> | undefined;
2296
+ onPlayCapture?: react.ReactEventHandler<HTMLDivElement> | undefined;
2297
+ onPlaying?: react.ReactEventHandler<HTMLDivElement> | undefined;
2298
+ onPlayingCapture?: react.ReactEventHandler<HTMLDivElement> | undefined;
2299
+ onProgress?: react.ReactEventHandler<HTMLDivElement> | undefined;
2300
+ onProgressCapture?: react.ReactEventHandler<HTMLDivElement> | undefined;
2301
+ onRateChange?: react.ReactEventHandler<HTMLDivElement> | undefined;
2302
+ onRateChangeCapture?: react.ReactEventHandler<HTMLDivElement> | undefined;
2303
+ onSeeked?: react.ReactEventHandler<HTMLDivElement> | undefined;
2304
+ onSeekedCapture?: react.ReactEventHandler<HTMLDivElement> | undefined;
2305
+ onSeeking?: react.ReactEventHandler<HTMLDivElement> | undefined;
2306
+ onSeekingCapture?: react.ReactEventHandler<HTMLDivElement> | undefined;
2307
+ onStalled?: react.ReactEventHandler<HTMLDivElement> | undefined;
2308
+ onStalledCapture?: react.ReactEventHandler<HTMLDivElement> | undefined;
2309
+ onSuspend?: react.ReactEventHandler<HTMLDivElement> | undefined;
2310
+ onSuspendCapture?: react.ReactEventHandler<HTMLDivElement> | undefined;
2311
+ onTimeUpdate?: react.ReactEventHandler<HTMLDivElement> | undefined;
2312
+ onTimeUpdateCapture?: react.ReactEventHandler<HTMLDivElement> | undefined;
2313
+ onVolumeChange?: react.ReactEventHandler<HTMLDivElement> | undefined;
2314
+ onVolumeChangeCapture?: react.ReactEventHandler<HTMLDivElement> | undefined;
2315
+ onWaiting?: react.ReactEventHandler<HTMLDivElement> | undefined;
2316
+ onWaitingCapture?: react.ReactEventHandler<HTMLDivElement> | undefined;
2317
+ onAuxClick?: react.MouseEventHandler<HTMLDivElement> | undefined;
2318
+ onAuxClickCapture?: react.MouseEventHandler<HTMLDivElement> | undefined;
2319
+ onClick?: react.MouseEventHandler<HTMLDivElement> | undefined;
2320
+ onClickCapture?: react.MouseEventHandler<HTMLDivElement> | undefined;
2321
+ onContextMenu?: react.MouseEventHandler<HTMLDivElement> | undefined;
2322
+ onContextMenuCapture?: react.MouseEventHandler<HTMLDivElement> | undefined;
2323
+ onDoubleClick?: react.MouseEventHandler<HTMLDivElement> | undefined;
2324
+ onDoubleClickCapture?: react.MouseEventHandler<HTMLDivElement> | undefined;
2325
+ onDrag?: react.DragEventHandler<HTMLDivElement> | undefined;
2326
+ onDragCapture?: react.DragEventHandler<HTMLDivElement> | undefined;
2327
+ onDragEnd?: react.DragEventHandler<HTMLDivElement> | undefined;
2328
+ onDragEndCapture?: react.DragEventHandler<HTMLDivElement> | undefined;
2329
+ onDragEnter?: react.DragEventHandler<HTMLDivElement> | undefined;
2330
+ onDragEnterCapture?: react.DragEventHandler<HTMLDivElement> | undefined;
2331
+ onDragExit?: react.DragEventHandler<HTMLDivElement> | undefined;
2332
+ onDragExitCapture?: react.DragEventHandler<HTMLDivElement> | undefined;
2333
+ onDragLeave?: react.DragEventHandler<HTMLDivElement> | undefined;
2334
+ onDragLeaveCapture?: react.DragEventHandler<HTMLDivElement> | undefined;
2335
+ onDragOver?: react.DragEventHandler<HTMLDivElement> | undefined;
2336
+ onDragOverCapture?: react.DragEventHandler<HTMLDivElement> | undefined;
2337
+ onDragStart?: react.DragEventHandler<HTMLDivElement> | undefined;
2338
+ onDragStartCapture?: react.DragEventHandler<HTMLDivElement> | undefined;
2339
+ onDrop?: react.DragEventHandler<HTMLDivElement> | undefined;
2340
+ onDropCapture?: react.DragEventHandler<HTMLDivElement> | undefined;
2341
+ onMouseDown?: react.MouseEventHandler<HTMLDivElement> | undefined;
2342
+ onMouseDownCapture?: react.MouseEventHandler<HTMLDivElement> | undefined;
2343
+ onMouseEnter?: react.MouseEventHandler<HTMLDivElement> | undefined;
2344
+ onMouseLeave?: react.MouseEventHandler<HTMLDivElement> | undefined;
2345
+ onMouseMove?: react.MouseEventHandler<HTMLDivElement> | undefined;
2346
+ onMouseMoveCapture?: react.MouseEventHandler<HTMLDivElement> | undefined;
2347
+ onMouseOut?: react.MouseEventHandler<HTMLDivElement> | undefined;
2348
+ onMouseOutCapture?: react.MouseEventHandler<HTMLDivElement> | undefined;
2349
+ onMouseOver?: react.MouseEventHandler<HTMLDivElement> | undefined;
2350
+ onMouseOverCapture?: react.MouseEventHandler<HTMLDivElement> | undefined;
2351
+ onMouseUp?: react.MouseEventHandler<HTMLDivElement> | undefined;
2352
+ onMouseUpCapture?: react.MouseEventHandler<HTMLDivElement> | undefined;
2353
+ onSelect?: react.ReactEventHandler<HTMLDivElement> | undefined;
2354
+ onSelectCapture?: react.ReactEventHandler<HTMLDivElement> | undefined;
2355
+ onTouchCancel?: react.TouchEventHandler<HTMLDivElement> | undefined;
2356
+ onTouchCancelCapture?: react.TouchEventHandler<HTMLDivElement> | undefined;
2357
+ onTouchEnd?: react.TouchEventHandler<HTMLDivElement> | undefined;
2358
+ onTouchEndCapture?: react.TouchEventHandler<HTMLDivElement> | undefined;
2359
+ onTouchMove?: react.TouchEventHandler<HTMLDivElement> | undefined;
2360
+ onTouchMoveCapture?: react.TouchEventHandler<HTMLDivElement> | undefined;
2361
+ onTouchStart?: react.TouchEventHandler<HTMLDivElement> | undefined;
2362
+ onTouchStartCapture?: react.TouchEventHandler<HTMLDivElement> | undefined;
2363
+ onPointerDown?: react.PointerEventHandler<HTMLDivElement> | undefined;
2364
+ onPointerDownCapture?: react.PointerEventHandler<HTMLDivElement> | undefined;
2365
+ onPointerMove?: react.PointerEventHandler<HTMLDivElement> | undefined;
2366
+ onPointerMoveCapture?: react.PointerEventHandler<HTMLDivElement> | undefined;
2367
+ onPointerUp?: react.PointerEventHandler<HTMLDivElement> | undefined;
2368
+ onPointerUpCapture?: react.PointerEventHandler<HTMLDivElement> | undefined;
2369
+ onPointerCancel?: react.PointerEventHandler<HTMLDivElement> | undefined;
2370
+ onPointerCancelCapture?: react.PointerEventHandler<HTMLDivElement> | undefined;
2371
+ onPointerEnter?: react.PointerEventHandler<HTMLDivElement> | undefined;
2372
+ onPointerLeave?: react.PointerEventHandler<HTMLDivElement> | undefined;
2373
+ onPointerOver?: react.PointerEventHandler<HTMLDivElement> | undefined;
2374
+ onPointerOverCapture?: react.PointerEventHandler<HTMLDivElement> | undefined;
2375
+ onPointerOut?: react.PointerEventHandler<HTMLDivElement> | undefined;
2376
+ onPointerOutCapture?: react.PointerEventHandler<HTMLDivElement> | undefined;
2377
+ onGotPointerCapture?: react.PointerEventHandler<HTMLDivElement> | undefined;
2378
+ onGotPointerCaptureCapture?: react.PointerEventHandler<HTMLDivElement> | undefined;
2379
+ onLostPointerCapture?: react.PointerEventHandler<HTMLDivElement> | undefined;
2380
+ onLostPointerCaptureCapture?: react.PointerEventHandler<HTMLDivElement> | undefined;
2381
+ onScroll?: react.UIEventHandler<HTMLDivElement> | undefined;
2382
+ onScrollCapture?: react.UIEventHandler<HTMLDivElement> | undefined;
2383
+ onScrollEnd?: react.UIEventHandler<HTMLDivElement> | undefined;
2384
+ onScrollEndCapture?: react.UIEventHandler<HTMLDivElement> | undefined;
2385
+ onWheel?: react.WheelEventHandler<HTMLDivElement> | undefined;
2386
+ onWheelCapture?: react.WheelEventHandler<HTMLDivElement> | undefined;
2387
+ onAnimationStart?: react.AnimationEventHandler<HTMLDivElement> | undefined;
2388
+ onAnimationStartCapture?: react.AnimationEventHandler<HTMLDivElement> | undefined;
2389
+ onAnimationEnd?: react.AnimationEventHandler<HTMLDivElement> | undefined;
2390
+ onAnimationEndCapture?: react.AnimationEventHandler<HTMLDivElement> | undefined;
2391
+ onAnimationIteration?: react.AnimationEventHandler<HTMLDivElement> | undefined;
2392
+ onAnimationIterationCapture?: react.AnimationEventHandler<HTMLDivElement> | undefined;
2393
+ onToggle?: react.ToggleEventHandler<HTMLDivElement> | undefined;
2394
+ onBeforeToggle?: react.ToggleEventHandler<HTMLDivElement> | undefined;
2395
+ onTransitionCancel?: react.TransitionEventHandler<HTMLDivElement> | undefined;
2396
+ onTransitionCancelCapture?: react.TransitionEventHandler<HTMLDivElement> | undefined;
2397
+ onTransitionEnd?: react.TransitionEventHandler<HTMLDivElement> | undefined;
2398
+ onTransitionEndCapture?: react.TransitionEventHandler<HTMLDivElement> | undefined;
2399
+ onTransitionRun?: react.TransitionEventHandler<HTMLDivElement> | undefined;
2400
+ onTransitionRunCapture?: react.TransitionEventHandler<HTMLDivElement> | undefined;
2401
+ onTransitionStart?: react.TransitionEventHandler<HTMLDivElement> | undefined;
2402
+ onTransitionStartCapture?: react.TransitionEventHandler<HTMLDivElement> | undefined;
2403
+ className: string;
2404
+ 'data-size': EmptyStateSize;
2405
+ }, HTMLDivElement>;
2406
+
2407
+ type SkeletonVariant = 'text' | 'rect' | 'circle';
2408
+ interface SkeletonProps extends ComponentPropsWithRef<'span'> {
2409
+ /** `text` (default) is one line of the current font size; `rect` a block; `circle` an avatar. */
2410
+ variant?: SkeletonVariant | undefined;
2411
+ /** Any CSS length. Default: text `100%`, rect `100%`, circle `40px`. */
2412
+ width?: string | number | undefined;
2413
+ /** Any CSS length. Default: text `1em` (one line), rect `80px`, circle = `width`. */
2414
+ height?: string | number | undefined;
2415
+ /** For `text`: how many lines; the last is shorter. Default 1. */
2416
+ lines?: number | undefined;
2417
+ /** Hides the shimmer. Default `false`; reduced motion hides it anyway. */
2418
+ still?: boolean | undefined;
2419
+ }
2420
+ /**
2421
+ * A placeholder shape shown while real content loads. It is hidden from assistive tech: put
2422
+ * `aria-busy="true"` on the region being filled, or a `Spinner` with a label beside it, so the loading
2423
+ * state is announced once instead of per block.
2424
+ */
2425
+ declare function Skeleton({ variant, width, height, lines, still, className, style, ...rest }: SkeletonProps): react.JSX.Element;
2426
+
2007
2427
  declare const version = "0.1.1";
2008
2428
 
2009
- export { ArchiveIcon, ArrowDownIcon, ArrowLeftIcon, ArrowRightIcon, ArrowUpIcon, Badge, Banner, BellIcon, BriefcaseIcon, Button, CalendarIcon, Card, CheckIcon, Checkbox, ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon, ChevronUpIcon, CircleCheckIcon, CircleXIcon, ClockIcon, CopyIcon, Dialog, DocumentIcon, DownloadIcon, EditIcon, ExternalLinkIcon, EyeIcon, FilterIcon, FlagIcon, Heading, Icon, IconButton, InboxIcon, InfoIcon, Inline, Input, Kbd, LinkIcon, MailIcon, MapPinIcon, Menu, MenuIcon, MinusIcon, MoonIcon, MoreHorizontalIcon, MoreVerticalIcon, PauseIcon, PlayIcon, PlusIcon, Progress, RefreshIcon, SearchIcon, Select, SettingsIcon, Spinner, Stack, StarIcon, Stat, SunIcon, Switch, Table, Tabs, Text, Textarea, ThumbsDownIcon, ThumbsUpIcon, Toolbar, Tooltip, TrashIcon, UndoIcon, UserIcon, WarningIcon, XIcon, iconNames, version };
2010
- export type { BadgeProps, BadgeSize, BadgeTone, BadgeVariant, BannerProps, BannerTone, ButtonProps, ButtonSize, ButtonVariant, CardElement, CardPadding, CardProps, CardVariant, CheckboxProps, ControlSize, DialogActionsProps, DialogBodyProps, DialogCloseProps, DialogContentProps, DialogDescriptionProps, DialogRootProps, DialogSize, DialogTitleProps, FieldProps, HeadingElement, HeadingLevel, HeadingProps, HeadingSize, IconButtonProps, IconGlyphProps, IconName, IconProps, IconSize, InlineAlign, InlineElement, InlineJustify, InlineProps, InputProps, KbdGroupProps, KbdProps, MenuAlign, MenuCheckboxItemProps, MenuContentProps, MenuGroupProps, MenuItemProps, MenuItemTone, MenuLinkItemProps, MenuRadioGroupProps, MenuRadioItemProps, MenuRootProps, MenuSeparatorProps, MenuSide, MenuTriggerProps, ProgressProps, ProgressSize, ProgressTone, ProgressVariant, SelectGroup, SelectOption, SelectProps, SpacingSize, SpinnerProps, StackAlign, StackElement, StackJustify, StackProps, StatDeltaTone, StatElement, StatProps, StatSize, StatTrend, StatVariant, SwitchProps, TableAlign, TableBodyProps, TableCaptionProps, TableCellProps, TableDensity, TableFootProps, TableHeadProps, TableHeaderProps, TableRootProps, TableRowProps, TableSortDirection, TabsListProps, TabsPanelProps, TabsRootProps, TabsTabProps, TextAlign, TextElement, TextProps, TextSize, TextTone, TextWeight, TextareaProps, ToolbarButtonProps, ToolbarGroupProps, ToolbarRootProps, ToolbarSeparatorProps, ToolbarSpacerProps, TooltipAlign, TooltipProps, TooltipSide };
2429
+ export { ArchiveIcon, ArrowDownIcon, ArrowLeftIcon, ArrowRightIcon, ArrowUpIcon, Badge, Banner, BellIcon, BriefcaseIcon, Button, CalendarIcon, Card, CheckIcon, Checkbox, ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon, ChevronUpIcon, Chip, CircleCheckIcon, CircleXIcon, ClockIcon, CopyIcon, Dialog, Disclosure, DocumentIcon, DownloadIcon, EditIcon, EmptyState, ExternalLinkIcon, EyeIcon, FilterIcon, FlagIcon, Heading, Icon, IconButton, InboxIcon, InfoIcon, Inline, Input, Kbd, LinkIcon, MailIcon, MapPinIcon, Menu, MenuIcon, MinusIcon, MoonIcon, MoreHorizontalIcon, MoreVerticalIcon, PauseIcon, PlayIcon, PlusIcon, Progress, RefreshIcon, SearchIcon, Select, SettingsIcon, Skeleton, Spinner, Stack, StarIcon, Stat, SunIcon, Switch, Table, Tabs, Text, Textarea, ThumbsDownIcon, ThumbsUpIcon, Toolbar, Tooltip, TrashIcon, UndoIcon, UserIcon, WarningIcon, XIcon, iconNames, version };
2430
+ export type { BadgeProps, BadgeSize, BadgeTone, BadgeVariant, BannerProps, BannerTone, ButtonProps, ButtonSize, ButtonVariant, CardElement, CardPadding, CardProps, CardVariant, CheckboxProps, ChipProps, ChipSize, ChipTone, ControlSize, DialogActionsProps, DialogBodyProps, DialogCloseProps, DialogContentProps, DialogDescriptionProps, DialogRootProps, DialogSize, DialogTitleProps, DialogVariant, DisclosureProps, EmptyStateElement, EmptyStateProps, EmptyStateSize, FieldProps, HeadingElement, HeadingLevel, HeadingProps, HeadingSize, IconButtonProps, IconGlyphProps, IconName, IconProps, IconSize, InlineAlign, InlineElement, InlineJustify, InlineProps, InputProps, KbdGroupProps, KbdProps, MenuAlign, MenuCheckboxItemProps, MenuContentProps, MenuGroupProps, MenuItemProps, MenuItemTone, MenuLinkItemProps, MenuRadioGroupProps, MenuRadioItemProps, MenuRootProps, MenuSeparatorProps, MenuSide, MenuTriggerProps, ProgressProps, ProgressSize, ProgressTone, ProgressVariant, SelectGroup, SelectOption, SelectProps, SkeletonProps, SkeletonVariant, SpacingSize, SpinnerProps, StackAlign, StackElement, StackJustify, StackProps, StatDeltaTone, StatElement, StatProps, StatSize, StatTrend, StatVariant, SwitchProps, TableAlign, TableBodyProps, TableCaptionProps, TableCellProps, TableDensity, TableFootProps, TableHeadProps, TableHeaderProps, TableRootProps, TableRowProps, TableSortDirection, TabsListProps, TabsPanelProps, TabsRootProps, TabsTabProps, TextAlign, TextElement, TextProps, TextSize, TextTone, TextWeight, TextareaProps, TextareaVariant, ToolbarButtonProps, ToolbarGroupProps, ToolbarLinkProps, ToolbarRootProps, ToolbarSeparatorProps, ToolbarSpacerProps, TooltipAlign, TooltipProps, TooltipSide };