@salemcobalt/ui 0.2.0-rc.4 → 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/README.md +23 -19
- package/dist/index.d.ts +419 -12
- package/dist/index.js +293 -35
- package/dist/index.js.map +1 -1
- package/dist/styles.css +467 -1
- package/package.json +4 -4
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# @salemcobalt/ui
|
|
2
2
|
|
|
3
|
-
React 19 components for the Salem Cobalt design system: `Button`, `IconButton`, `Icon` and a shipped icon set, `Badge`, `Card`, `Stack`, `Inline`, `Heading`, `Text`, `Kbd`, `Dialog`, `Tooltip`, `Menu`, `Toolbar`, `Banner`, `Spinner`, `Progress`, `Tabs`, `Input`, `Textarea`, `Select`, `Checkbox`, `Switch`, `Table`, `Stat`. Requires `@salemcobalt/tokens`.
|
|
3
|
+
React 19 components for the Salem Cobalt design system: `Button`, `IconButton`, `Icon` and a shipped icon set, `Badge`, `Card`, `Stack`, `Inline`, `Heading`, `Text`, `Kbd`, `Dialog`, `Tooltip`, `Menu`, `Toolbar`, `Banner`, `Spinner`, `Progress`, `Tabs`, `Input`, `Textarea`, `Select`, `Checkbox`, `Switch`, `Table`, `Stat`, `Chip`, `Disclosure`, `EmptyState`, `Skeleton`. Requires `@salemcobalt/tokens`.
|
|
4
4
|
|
|
5
5
|
```ts
|
|
6
6
|
import '@salemcobalt/tokens/css'; // custom properties, light + dark
|
|
@@ -23,24 +23,28 @@ import {
|
|
|
23
23
|
|
|
24
24
|
Styles ship as one stylesheet inside `@layer sc`, so an app's unlayered CSS always wins. Every value in it is a token custom property; theme with `data-theme="light|dark"` on `<html>` and density with `data-density="compact"` on any ancestor. Interactive behaviour (Dialog, Tooltip and Menu focus and keyboard handling, `render` composition) comes from Base UI; see `docs/adr/0001-headless-primitives.md`.
|
|
25
25
|
|
|
26
|
-
| Component | Notes
|
|
27
|
-
| -------------------- |
|
|
28
|
-
| `Button` | `variant` primary · secondary · ghost · danger; `size` sm · md · lg; `iconStart`/`iconEnd`; `loading` (keeps width, `aria-busy`); `fullWidth`.
|
|
29
|
-
| `IconButton` | Square Button for one icon. Required `label` (the accessible name); `variant` ghost (default) · secondary · primary · danger; `size`; `tooltip` (`true` shows `label`, or a string); `tooltipSide`; `round`; `loading
|
|
30
|
-
| `Icon`, `*Icon` | 49 outline icons on a 16px grid in `currentColor`, one component each (`PlayIcon`, `ChevronDownIcon` …, listed in `iconNames`); `size` xs 12 · sm 14 · md 16 · lg 20 · xl 24 · em; decorative unless `title` is given. `Icon` wraps your own paths.
|
|
31
|
-
| `Badge` | `tone` neutral · accent · success · warning · danger · info; `variant` soft · solid · outline; `size` sm · md; `dot`. Text only.
|
|
32
|
-
| `Card` | `variant` outlined · elevated · filled; `padding` none · sm · md · lg; `interactive`; `selected`; `as` or `render` to make it an `a`/`button`/`li`.
|
|
33
|
-
| `Stack`, `Inline` | `gap` from the spacing scale (`none` … `4xl`); `align`; `justify`; `as`. `Inline` wraps unless `wrap={false}`.
|
|
34
|
-
| `Kbd` | One key per `Kbd`; `Kbd.Group label="Command K"` groups a shortcut with a `+` (or `separator="space"`).
|
|
35
|
-
| `Dialog` | `Root` (`open`, `defaultOpen`, `onOpenChange`, `dismissible`), `Trigger`, `Content` (`size` sm · md · lg, every size clamps to the viewport minus a 16px gutter; `variant="sheet"` becomes a bottom sheet below 640px with a scrolling `Body`), `Title`, `Description`, `Body`, `Actions`, `Close`. Menus, selects and tooltips opened inside render above it.
|
|
36
|
-
| `Toolbar` | `Root` (required `aria-label`, `wrap`, `gap`), `Group` (`aria-label`, `gap`), `Separator`, `Spacer`, `Button` (`render={<IconButton … />}` or `render={<Menu.Trigger render={…} />}` so the control joins the roving focus: Tab enters, arrows move, Tab leaves).
|
|
37
|
-
| `Banner` | `tone` info (default) · success · warning · danger · neutral; `icon` (or `false`); `action` slot; `dismissible` + `onDismiss` (`open` to control); warning and danger are `role="alert"`, the rest `role="status"`.
|
|
38
|
-
| `Tabs` | `Root` (`value`, `defaultValue`, `onValueChange`), `List` (required `aria-label`, `fill`), `Tab` (`value`, `icon`, `count`, `disabled`), `Panel` (`value`, `keepMounted`). Arrow keys move, Enter/Space activates.
|
|
39
|
-
| `Input`, `Textarea` | Labelled native controls on Base UI's Field: required `label` (`hideLabel` keeps it for assistive tech), `description`, `error` (sets invalid and announces), `invalid`, `required`, `disabled`, `name`, `size` sm · md · lg (Input), `iconStart`/`iconEnd` (Input), `rows`/`resize` (Textarea), `onValueChange(string)` beside native `onChange`.
|
|
40
|
-
| `Select` | Same field props; `options` as `{ value, label, disabled? }` or `{ label, options }` groups; `value`/`defaultValue`/`onValueChange` (`null` for none); `
|
|
41
|
-
| `Checkbox`, `Switch` | Required `label`, `description`, `checked`/`defaultChecked`/`onCheckedChange(boolean)`, `name`/`value`, `disabled`, `required`; Checkbox adds `indeterminate`; Switch adds `labelPosition` start · end.
|
|
42
|
-
| `Tooltip` | `content`; `children` is the trigger (an `IconButton`, `Button` or focusable `Badge`); `side` top · bottom · left · right; `align`; `delay` (300ms); `open`/`onOpenChange`; `disabled`. `Tooltip.Provider` around a row skips the delay between siblings.
|
|
43
|
-
| `
|
|
26
|
+
| Component | Notes |
|
|
27
|
+
| -------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
28
|
+
| `Button` | `variant` primary · secondary · ghost · danger; `size` sm · md · lg; `iconStart`/`iconEnd`; `loading` (keeps width, `aria-busy`); `fullWidth`. |
|
|
29
|
+
| `IconButton` | Square Button for one icon. Required `label` (the accessible name); `variant` ghost (default) · secondary · primary · danger; `size`; `tooltip` (`true` shows `label`, or a string); `tooltipSide`; `round`; `loading`; `render={<a href />}` or a Next.js `Link` makes it a link. |
|
|
30
|
+
| `Icon`, `*Icon` | 49 outline icons on a 16px grid in `currentColor`, one component each (`PlayIcon`, `ChevronDownIcon` …, listed in `iconNames`); `size` xs 12 · sm 14 · md 16 · lg 20 · xl 24 · em; decorative unless `title` is given. `Icon` wraps your own paths. |
|
|
31
|
+
| `Badge` | `tone` neutral · accent · success · warning · danger · info; `variant` soft · solid · outline; `size` sm · md; `dot`. Text only. |
|
|
32
|
+
| `Card` | `variant` outlined · elevated · filled; `padding` none · sm · md · lg; `interactive`; `selected`; `as` or `render` to make it an `a`/`button`/`li`. |
|
|
33
|
+
| `Stack`, `Inline` | `gap` from the spacing scale (`none` … `4xl`); `align`; `justify`; `as`. `Inline` wraps unless `wrap={false}`. |
|
|
34
|
+
| `Kbd` | One key per `Kbd`; `Kbd.Group label="Command K"` groups a shortcut with a `+` (or `separator="space"`). |
|
|
35
|
+
| `Dialog` | `Root` (`open`, `defaultOpen`, `onOpenChange`, `dismissible`), `Trigger`, `Content` (`size` sm · md · lg, every size clamps to the viewport minus a 16px gutter; `variant="sheet"` becomes a bottom sheet below 640px with a scrolling `Body`), `Title`, `Description`, `Body`, `Actions`, `Close`. Menus, selects and tooltips opened inside render above it. |
|
|
36
|
+
| `Toolbar` | `Root` (required `aria-label`, `wrap`, `gap`), `Group` (`aria-label`, `gap`), `Separator`, `Spacer`, `Button` (`render={<IconButton … />}` or `render={<Menu.Trigger render={…} />}` so the control joins the roving focus: Tab enters, arrows move, Tab leaves), `Link` (an anchor in the same navigation; `render={<IconButton label render={<a href />} />}` for an icon link). |
|
|
37
|
+
| `Banner` | `tone` info (default) · success · warning · danger · neutral; `icon` (or `false`); `action` slot; `dismissible` + `onDismiss` (`open` to control); warning and danger are `role="alert"`, the rest `role="status"`. |
|
|
38
|
+
| `Tabs` | `Root` (`value`, `defaultValue`, `onValueChange`), `List` (required `aria-label`, `fill`), `Tab` (`value`, `icon`, `count`, `disabled`), `Panel` (`value`, `keepMounted`). Arrow keys move, Enter/Space activates. |
|
|
39
|
+
| `Input`, `Textarea` | Labelled native controls on Base UI's Field: required `label` (`hideLabel` keeps it for assistive tech), `description`, `error` (sets invalid and announces), `invalid`, `required`, `disabled`, `name`, `size` sm · md · lg (Input), `iconStart`/`iconEnd` (Input), `rows`/`resize`/`variant="code"` (Textarea; monospace, tab-size 2, no spellcheck, add native `wrap="off"` for sideways scroll), `onValueChange(string)` beside native `onChange`. Every native attribute passes through: `type="date" \| "time" \| "number"` keep the same height, `list` + a `<datalist>` gives suggestions. |
|
|
40
|
+
| `Select` | Same field props; `options` as `{ value, label, disabled? }` or `{ label, options }` groups; `value`/`defaultValue`/`onValueChange` (`null` for none, shows `placeholder`; no sentinel option needed); `clearable` adds an × and Backspace/Delete on the trigger that call `onValueChange(null)`; `clearLabel`; `fullWidth`. Submits through `name` like a native select. |
|
|
41
|
+
| `Checkbox`, `Switch` | Required `label`, `description`, `checked`/`defaultChecked`/`onCheckedChange(boolean)`, `name`/`value`, `disabled`, `required`; Checkbox adds `indeterminate`; Switch adds `labelPosition` start · end. |
|
|
42
|
+
| `Tooltip` | `content`; `children` is the trigger (an `IconButton`, `Button` or focusable `Badge`); `side` top · bottom · left · right; `align`; `delay` (300ms); `open`/`onOpenChange`; `disabled`. `Tooltip.Provider` around a row skips the delay between siblings. |
|
|
43
|
+
| `Chip` | A pill: `tone` neutral · accent · success · warning · danger · info; `size` sm · md; `icon`; `onClick` + `selected` make it a toggle button (`aria-pressed`); `onRemove` adds a labelled × (Backspace/Delete on the chip removes too); `removeLabel`; `disabled`. |
|
|
44
|
+
| `Disclosure` | A native `<details>` collapse: required `summary`, `summaryOpen`, `open`/`defaultOpen`/`onOpenChange`, `previewLines` (fades the first N lines while closed, summary moves below), `summaryPosition`; share `name` for an exclusive group. |
|
|
45
|
+
| `EmptyState` | Centred placeholder: required `title`, `description`, `icon` (24px in a muted circle), children are the actions, `size` sm · md, `as` div · section · li. |
|
|
46
|
+
| `Skeleton` | Loading placeholder, `aria-hidden`: `variant` text (default, one line) · rect · circle, `width`, `height`, `lines` (text, last line shorter), `still`. Put `aria-busy` on the region or a labelled `Spinner` beside it. |
|
|
47
|
+
| `Menu` | `Root` (`open`, `onOpenChange`, `modal`), `Trigger` (secondary Button with a chevron, or `render={<IconButton label="More" />}`), `Content` (`side`, `align`), `Item` (`icon`, `trailing`, `tone="danger"`, `disabled`), `LinkItem` (`href`), `CheckboxItem` (`checked`, `onCheckedChange`), `RadioGroup` (`value`, `onValueChange`, `label`) + `RadioItem`, `Group` (`label`), `Separator`. Arrow keys, Home/End, type-ahead, Esc and focus return come from Base UI. |
|
|
44
48
|
|
|
45
49
|
```tsx
|
|
46
50
|
<Dialog.Root>
|
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';
|
|
@@ -914,7 +914,7 @@ declare const Tooltip: typeof TooltipBase & {
|
|
|
914
914
|
Provider: react.FC<_base_ui_react.TooltipProviderProps>;
|
|
915
915
|
};
|
|
916
916
|
|
|
917
|
-
interface IconButtonProps extends Omit<
|
|
917
|
+
interface IconButtonProps extends Omit<useRender.ComponentProps<'button'>, 'children' | 'aria-label'> {
|
|
918
918
|
/** Required. The accessible name, and the tooltip text when `tooltip` is `true`. */
|
|
919
919
|
label: string;
|
|
920
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`. */
|
|
@@ -932,8 +932,12 @@ interface IconButtonProps extends Omit<ComponentPropsWithRef<'button'>, 'childre
|
|
|
932
932
|
/** Shows a spinner, sets `aria-busy` and ignores clicks. */
|
|
933
933
|
loading?: boolean | undefined;
|
|
934
934
|
}
|
|
935
|
-
/**
|
|
936
|
-
|
|
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;
|
|
937
941
|
|
|
938
942
|
type MenuSide = 'top' | 'bottom' | 'left' | 'right';
|
|
939
943
|
type MenuAlign = 'start' | 'center' | 'end';
|
|
@@ -1078,19 +1082,30 @@ interface InputProps extends Omit<ComponentPropsWithRef<'input'>, 'size' | 'name
|
|
|
1078
1082
|
/** Called with the string value on every change, beside the native `onChange`. */
|
|
1079
1083
|
onValueChange?: ((value: string) => void) | undefined;
|
|
1080
1084
|
}
|
|
1081
|
-
/**
|
|
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
|
+
*/
|
|
1082
1091
|
declare function Input({ label, hideLabel, description, error, invalid, required, disabled, name, size, className, iconStart, iconEnd, onValueChange, ...rest }: InputProps): react.JSX.Element;
|
|
1083
1092
|
|
|
1093
|
+
type TextareaVariant = 'default' | 'code';
|
|
1084
1094
|
interface TextareaProps extends Omit<ComponentPropsWithRef<'textarea'>, 'name' | 'disabled' | 'required' | 'className'>, Omit<FieldProps, 'size'> {
|
|
1085
1095
|
/** Visible lines. Default 3. */
|
|
1086
1096
|
rows?: number | undefined;
|
|
1087
1097
|
/** `vertical` (default) lets the user drag it taller; `none` fixes the height. */
|
|
1088
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;
|
|
1089
1104
|
/** Called with the string value on every change, beside the native `onChange`. */
|
|
1090
1105
|
onValueChange?: ((value: string) => void) | undefined;
|
|
1091
1106
|
}
|
|
1092
1107
|
/** A labelled multi-line text field. Renders a native `<textarea>` inside Base UI's Field. */
|
|
1093
|
-
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;
|
|
1094
1109
|
|
|
1095
1110
|
interface SelectOption<Value extends string = string> {
|
|
1096
1111
|
value: Value;
|
|
@@ -1105,14 +1120,21 @@ interface SelectGroup<Value extends string = string> {
|
|
|
1105
1120
|
interface SelectProps<Value extends string = string> extends FieldProps {
|
|
1106
1121
|
/** Flat options, or groups of options with a heading. */
|
|
1107
1122
|
options: Array<SelectOption<Value> | SelectGroup<Value>>;
|
|
1108
|
-
/** Controlled value; `null` for none. */
|
|
1123
|
+
/** Controlled value; `null` for none, which shows `placeholder`. No sentinel option needed. */
|
|
1109
1124
|
value?: Value | null | undefined;
|
|
1110
|
-
/** Initial value when uncontrolled. */
|
|
1125
|
+
/** Initial value when uncontrolled; `null` (default) for none. */
|
|
1111
1126
|
defaultValue?: Value | null | undefined;
|
|
1112
|
-
/** Called with the chosen value. */
|
|
1127
|
+
/** Called with the chosen value, or `null` when the field is cleared. */
|
|
1113
1128
|
onValueChange?: ((value: Value | null) => void) | undefined;
|
|
1114
1129
|
/** Shown in the trigger while nothing is chosen. */
|
|
1115
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;
|
|
1116
1138
|
/** Prevents choosing a different option. */
|
|
1117
1139
|
readOnly?: boolean | undefined;
|
|
1118
1140
|
/** Stretches the trigger to the container. */
|
|
@@ -1123,7 +1145,7 @@ interface SelectProps<Value extends string = string> extends FieldProps {
|
|
|
1123
1145
|
* A labelled single-choice dropdown. Built on Base UI's Select so the list is styled and keyboard
|
|
1124
1146
|
* complete; submits like a native select through `name`.
|
|
1125
1147
|
*/
|
|
1126
|
-
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;
|
|
1127
1149
|
|
|
1128
1150
|
interface CheckboxProps extends Omit<Checkbox$1.Root.Props, 'className' | 'onCheckedChange' | 'render' | 'children'> {
|
|
1129
1151
|
/** Required. The visible label; clicking it toggles the box. */
|
|
@@ -1226,6 +1248,9 @@ declare function Separator({ className, ...rest }: ToolbarSeparatorProps): react
|
|
|
1226
1248
|
interface ToolbarButtonProps extends Omit<Toolbar$1.Button.Props, 'className'> {
|
|
1227
1249
|
className?: string | undefined;
|
|
1228
1250
|
}
|
|
1251
|
+
interface ToolbarLinkProps extends Omit<Toolbar$1.Link.Props, 'className'> {
|
|
1252
|
+
className?: string | undefined;
|
|
1253
|
+
}
|
|
1229
1254
|
interface ToolbarSpacerProps {
|
|
1230
1255
|
className?: string | undefined;
|
|
1231
1256
|
}
|
|
@@ -1237,6 +1262,7 @@ declare const Toolbar: {
|
|
|
1237
1262
|
Group: typeof Group;
|
|
1238
1263
|
Separator: typeof Separator;
|
|
1239
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>>;
|
|
1240
1266
|
Spacer: typeof Spacer;
|
|
1241
1267
|
};
|
|
1242
1268
|
|
|
@@ -2017,7 +2043,388 @@ declare function Stat({ label, value, delta, deltaTone, trend, hint, icon, varia
|
|
|
2017
2043
|
'data-size': StatSize;
|
|
2018
2044
|
}, HTMLDivElement>;
|
|
2019
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
|
+
|
|
2020
2427
|
declare const version = "0.1.1";
|
|
2021
2428
|
|
|
2022
|
-
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 };
|
|
2023
|
-
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, DialogVariant, 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 };
|