@retray-dev/ui-kit 2.6.0 → 2.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/COMPONENTS.md +125 -1
- package/README.md +20 -2
- package/dist/index.d.mts +95 -1
- package/dist/index.d.ts +95 -1
- package/dist/index.js +453 -293
- package/dist/index.mjs +377 -223
- package/package.json +1 -1
- package/src/components/Button/Button.tsx +1 -1
- package/src/components/Checkbox/Checkbox.tsx +1 -0
- package/src/components/IconButton/IconButton.tsx +147 -0
- package/src/components/IconButton/index.ts +2 -0
- package/src/components/RadioGroup/RadioGroup.tsx +1 -0
- package/src/components/Select/Select.tsx +2 -2
- package/src/components/Sheet/Sheet.tsx +2 -2
- package/src/components/Tabs/Tabs.tsx +1 -0
- package/src/components/Toast/Toast.tsx +2 -2
- package/src/components/Toggle/Toggle.tsx +1 -1
- package/src/index.ts +18 -0
- package/src/tokens.ts +69 -0
- package/src/utils/haptics.ts +18 -12
- package/src/components/Alert/Alert.tsx +0 -84
package/COMPONENTS.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# @retray-dev/ui-kit — Component Reference (v2.
|
|
1
|
+
# @retray-dev/ui-kit — Component Reference (v2.8.0)
|
|
2
2
|
|
|
3
3
|
This file is the AI reference for this package. It is shipped inside the npm package so consuming projects can import it into their `CLAUDE.md` with:
|
|
4
4
|
|
|
@@ -105,6 +105,99 @@ import type { ThemeColors } from '@retray-dev/ui-kit'
|
|
|
105
105
|
|
|
106
106
|
---
|
|
107
107
|
|
|
108
|
+
## Design Tokens
|
|
109
|
+
|
|
110
|
+
Static structural constants exported from the package root — no context or provider needed. Use these instead of hardcoding values.
|
|
111
|
+
|
|
112
|
+
```ts
|
|
113
|
+
import { SPACING, ICON_SIZES, RADIUS, SHADOWS, BREAKPOINTS } from '@retray-dev/ui-kit'
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
### SPACING
|
|
117
|
+
|
|
118
|
+
8pt-grid spacing scale.
|
|
119
|
+
|
|
120
|
+
| Key | Value |
|
|
121
|
+
|-----|-------|
|
|
122
|
+
| `xs` | 4 |
|
|
123
|
+
| `sm` | 8 |
|
|
124
|
+
| `md` | 12 |
|
|
125
|
+
| `lg` | 16 |
|
|
126
|
+
| `xl` | 24 |
|
|
127
|
+
| `2xl` | 32 |
|
|
128
|
+
| `3xl` | 48 |
|
|
129
|
+
|
|
130
|
+
**Types:** `Spacing`, `SpacingKey`
|
|
131
|
+
|
|
132
|
+
```tsx
|
|
133
|
+
<View style={{ gap: SPACING.md, padding: SPACING.lg }} />
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
### ICON_SIZES
|
|
137
|
+
|
|
138
|
+
Semantic icon size scale aligned to HIG roles.
|
|
139
|
+
|
|
140
|
+
| Key | Value |
|
|
141
|
+
|-----|-------|
|
|
142
|
+
| `sm` | 14 |
|
|
143
|
+
| `md` | 18 |
|
|
144
|
+
| `lg` | 22 |
|
|
145
|
+
| `xl` | 28 |
|
|
146
|
+
| `2xl` | 32 |
|
|
147
|
+
|
|
148
|
+
**Types:** `IconSize`, `IconSizeKey`
|
|
149
|
+
|
|
150
|
+
```tsx
|
|
151
|
+
<Icon name="home" size={ICON_SIZES.md} color={colors.foreground} />
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
### RADIUS
|
|
155
|
+
|
|
156
|
+
Border radius scale used throughout the library.
|
|
157
|
+
|
|
158
|
+
| Key | Value | Used in |
|
|
159
|
+
|-----|-------|---------|
|
|
160
|
+
| `sm` | 4 | — |
|
|
161
|
+
| `md` | 8 | Inputs, Buttons, Checkboxes, Toggles, Tabs |
|
|
162
|
+
| `lg` | 12 | Cards, AlertBanner, Toast, EmptyState, Select list |
|
|
163
|
+
| `xl` | 16 | Sheet top corners |
|
|
164
|
+
| `full` | 9999 | Pills, circular elements |
|
|
165
|
+
|
|
166
|
+
**Types:** `Radius`, `RadiusKey`
|
|
167
|
+
|
|
168
|
+
```tsx
|
|
169
|
+
<View style={{ borderRadius: RADIUS.lg }} />
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
### SHADOWS
|
|
173
|
+
|
|
174
|
+
Cross-platform shadow presets (RN `shadow*` properties + `elevation`).
|
|
175
|
+
|
|
176
|
+
| Key | Height | Opacity | Radius | Elevation |
|
|
177
|
+
|-----|--------|---------|--------|-----------|
|
|
178
|
+
| `sm` | 1 | 0.08 | 4 | 2 |
|
|
179
|
+
| `md` | 3 | 0.12 | 8 | 5 |
|
|
180
|
+
| `lg` | 6 | 0.20 | 16 | 10 |
|
|
181
|
+
| `xl` | 12 | 0.28 | 24 | 18 |
|
|
182
|
+
|
|
183
|
+
```tsx
|
|
184
|
+
<View style={[styles.card, SHADOWS.md]} />
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
### BREAKPOINTS
|
|
188
|
+
|
|
189
|
+
Layout breakpoints.
|
|
190
|
+
|
|
191
|
+
| Key | Value |
|
|
192
|
+
|-----|-------|
|
|
193
|
+
| `wide` | 700 |
|
|
194
|
+
|
|
195
|
+
```tsx
|
|
196
|
+
const isWide = width >= BREAKPOINTS.wide
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
---
|
|
200
|
+
|
|
108
201
|
## Components
|
|
109
202
|
|
|
110
203
|
---
|
|
@@ -178,6 +271,36 @@ import type { ThemeColors } from '@retray-dev/ui-kit'
|
|
|
178
271
|
|
|
179
272
|
---
|
|
180
273
|
|
|
274
|
+
### IconButton
|
|
275
|
+
|
|
276
|
+
**Import:** `import { IconButton } from '@retray-dev/ui-kit'`
|
|
277
|
+
**When to use:** Compact icon-only pressable action — toolbars, FABs, inline icon actions. Use `Button` when a label is needed.
|
|
278
|
+
**Extends:** `TouchableOpacityProps` — all RN TouchableOpacity props pass through.
|
|
279
|
+
|
|
280
|
+
| Prop | Type | Default | Notes |
|
|
281
|
+
|------|------|---------|-------|
|
|
282
|
+
| iconName | `string` | — | Icon name from `@expo/vector-icons` (e.g. `"plus"`, `"x"`, `"home"`). Takes precedence over `icon` |
|
|
283
|
+
| icon | `React.ReactNode` | — | Custom icon node — used when `iconName` is not provided |
|
|
284
|
+
| iconColor | `string` | — | Override icon color. Defaults to variant foreground color |
|
|
285
|
+
| variant | `'primary' \| 'secondary' \| 'outline' \| 'ghost' \| 'destructive'` | `'primary'` | Visual style — same tokens as `Button` |
|
|
286
|
+
| size | `'sm' \| 'md' \| 'lg'` | `'md'` | sm=40pt / md=44pt / lg=52pt (all ≥44pt on md/lg per HIG) |
|
|
287
|
+
| loading | `boolean` | `false` | Replaces icon with a spinner and forces disabled state |
|
|
288
|
+
| disabled | `boolean` | — | Reduces opacity to 0.5 |
|
|
289
|
+
|
|
290
|
+
**Variants:** Same color logic as `Button` — `primary`, `secondary`, `outline`, `ghost`, `destructive`.
|
|
291
|
+
|
|
292
|
+
**Animations:** Scale springs to 0.95 on `onPressIn`, back to 1.0 on `onPressOut`. `impactAsync(Light)` haptic on press.
|
|
293
|
+
|
|
294
|
+
**Example:**
|
|
295
|
+
```tsx
|
|
296
|
+
<IconButton iconName="plus" onPress={handleAdd} />
|
|
297
|
+
<IconButton iconName="x" variant="ghost" size="sm" onPress={handleClose} />
|
|
298
|
+
<IconButton iconName="trash-2" variant="destructive" onPress={handleDelete} />
|
|
299
|
+
<IconButton iconName="check" variant="outline" size="lg" loading={saving} />
|
|
300
|
+
```
|
|
301
|
+
|
|
302
|
+
---
|
|
303
|
+
|
|
181
304
|
### Input
|
|
182
305
|
|
|
183
306
|
**Import:** `import { Input } from '@retray-dev/ui-kit'`
|
|
@@ -1214,6 +1337,7 @@ Each component that accepts icon slots now has a corresponding `iconName` prop.
|
|
|
1214
1337
|
| Component | Prop(s) | Slot | Default size | Default color |
|
|
1215
1338
|
|---|---|---|---|---|
|
|
1216
1339
|
| `Button` | `iconName`, `iconColor` | Left or right of label | sm=16 / md=18 / lg=20 | Variant label color |
|
|
1340
|
+
| `IconButton` | `iconName`, `iconColor` | Center (icon-only) | sm=18 / md=20 / lg=24 | Variant foreground color |
|
|
1217
1341
|
| `Input` | `prefixIcon`, `prefixIconColor` | Before input text | 20 | `mutedForeground` |
|
|
1218
1342
|
| `Input` | `suffixIcon`, `suffixIconColor` | After input text | 20 | `mutedForeground` |
|
|
1219
1343
|
| `ListItem` | `leftIcon`, `leftIconColor` | Left 44×44 slot | 24 | `foreground` |
|
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
A personal React Native / Expo UI component library with a built-in design system, dark mode support, haptic feedback, and smooth animations.
|
|
4
4
|
|
|
5
|
-
-
|
|
5
|
+
- 33 components across 6 categories
|
|
6
6
|
- Light/dark theme with 20 color tokens and full customization
|
|
7
7
|
- Apple HIG–compliant touch targets and haptic feedback
|
|
8
8
|
- Animated interactions: spring press, sliding tabs, accordion easing, animated progress
|
|
@@ -95,13 +95,31 @@ const { colors, colorScheme } = useTheme()
|
|
|
95
95
|
|
|
96
96
|
**Available tokens:** `background`, `foreground`, `card`, `cardForeground`, `primary`, `primaryForeground`, `secondary`, `secondaryForeground`, `muted`, `mutedForeground`, `accent`, `accentForeground`, `destructive`, `destructiveForeground`, `border`, `input`, `ring`, `success`, `successForeground`
|
|
97
97
|
|
|
98
|
+
## Design Tokens
|
|
99
|
+
|
|
100
|
+
Static structural constants — no provider required:
|
|
101
|
+
|
|
102
|
+
```ts
|
|
103
|
+
import { SPACING, ICON_SIZES, RADIUS, SHADOWS, BREAKPOINTS } from '@retray-dev/ui-kit'
|
|
104
|
+
|
|
105
|
+
<View style={{ gap: SPACING.md, padding: SPACING.lg, borderRadius: RADIUS.lg, ...SHADOWS.sm }} />
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
| Token | Keys |
|
|
109
|
+
|-------|------|
|
|
110
|
+
| `SPACING` | `xs` (4), `sm` (8), `md` (12), `lg` (16), `xl` (24), `2xl` (32), `3xl` (48) |
|
|
111
|
+
| `ICON_SIZES` | `sm` (14), `md` (18), `lg` (22), `xl` (28), `2xl` (32) |
|
|
112
|
+
| `RADIUS` | `sm` (4), `md` (8), `lg` (12), `xl` (16), `full` (9999) |
|
|
113
|
+
| `SHADOWS` | `sm`, `md`, `lg`, `xl` — cross-platform shadow presets |
|
|
114
|
+
| `BREAKPOINTS` | `wide` (700) |
|
|
115
|
+
|
|
98
116
|
## Components
|
|
99
117
|
|
|
100
118
|
| Category | Components |
|
|
101
119
|
| ----------- | ----------------------------------------------------------------------------------------------- |
|
|
102
120
|
| Display | `Text`, `Badge`, `Avatar`, `Separator`, `Spinner`, `Skeleton`, `Progress`, `CurrencyDisplay` |
|
|
103
121
|
| Surfaces | `Card`, `AlertBanner`, `EmptyState` |
|
|
104
|
-
| Form | `Button`, `Input`, `CurrencyInput`, `CurrencyInputLarge`, `Textarea`, `Checkbox`, `Switch`, `Toggle`, `RadioGroup`, `Select`, `Slider` |
|
|
122
|
+
| Form | `Button`, `IconButton`, `Input`, `CurrencyInput`, `CurrencyInputLarge`, `Textarea`, `Checkbox`, `Switch`, `Toggle`, `RadioGroup`, `Select`, `Slider` |
|
|
105
123
|
| Composition | `Tabs`, `Accordion` |
|
|
106
124
|
| Overlays | `Sheet`, `ConfirmDialog` |
|
|
107
125
|
| Feedback | `Toast` / `ToastProvider` / `useToast` |
|
package/dist/index.d.mts
CHANGED
|
@@ -88,6 +88,25 @@ interface ButtonProps extends TouchableOpacityProps {
|
|
|
88
88
|
}
|
|
89
89
|
declare function Button({ label, variant, size, loading, fullWidth, icon, iconName, iconColor, iconPosition, disabled, style, onPress, ...props }: ButtonProps): React.JSX.Element;
|
|
90
90
|
|
|
91
|
+
type IconButtonVariant = 'primary' | 'secondary' | 'outline' | 'ghost' | 'destructive';
|
|
92
|
+
type IconButtonSize = 'sm' | 'md' | 'lg';
|
|
93
|
+
interface IconButtonProps extends TouchableOpacityProps {
|
|
94
|
+
/**
|
|
95
|
+
* Icon name from `@expo/vector-icons` (e.g. `"home"`, `"star"`, `"plus"`).
|
|
96
|
+
* See https://icons.expo.fyi. Takes precedence over `icon` when both supplied.
|
|
97
|
+
*/
|
|
98
|
+
iconName?: string;
|
|
99
|
+
/** ReactNode icon — used when `iconName` is not provided. */
|
|
100
|
+
icon?: React.ReactNode;
|
|
101
|
+
/** Override the resolved icon color. Defaults to the foreground color for the active variant. */
|
|
102
|
+
iconColor?: string;
|
|
103
|
+
variant?: IconButtonVariant;
|
|
104
|
+
size?: IconButtonSize;
|
|
105
|
+
/** Replaces icon with a spinner and forces `disabled`. */
|
|
106
|
+
loading?: boolean;
|
|
107
|
+
}
|
|
108
|
+
declare function IconButton({ iconName, icon, iconColor, variant, size, loading, disabled, style, onPress, ...props }: IconButtonProps): React.JSX.Element;
|
|
109
|
+
|
|
91
110
|
type TextVariant = 'h1' | 'h2' | 'h3' | 'body' | 'caption' | 'label';
|
|
92
111
|
interface TextProps extends TextProps$1 {
|
|
93
112
|
variant?: TextVariant;
|
|
@@ -615,4 +634,79 @@ interface IconProps {
|
|
|
615
634
|
declare function Icon({ name, size, color, family }: IconProps): React.ReactElement | null;
|
|
616
635
|
declare function renderIcon(name: string, size: number, color: string): React.ReactElement | null;
|
|
617
636
|
|
|
618
|
-
|
|
637
|
+
declare const SPACING: {
|
|
638
|
+
readonly xs: 4;
|
|
639
|
+
readonly sm: 8;
|
|
640
|
+
readonly md: 12;
|
|
641
|
+
readonly lg: 16;
|
|
642
|
+
readonly xl: 24;
|
|
643
|
+
readonly '2xl': 32;
|
|
644
|
+
readonly '3xl': 48;
|
|
645
|
+
};
|
|
646
|
+
declare const ICON_SIZES: {
|
|
647
|
+
readonly sm: 14;
|
|
648
|
+
readonly md: 18;
|
|
649
|
+
readonly lg: 22;
|
|
650
|
+
readonly xl: 28;
|
|
651
|
+
readonly '2xl': 32;
|
|
652
|
+
};
|
|
653
|
+
declare const RADIUS: {
|
|
654
|
+
readonly sm: 4;
|
|
655
|
+
readonly md: 8;
|
|
656
|
+
readonly lg: 12;
|
|
657
|
+
readonly xl: 16;
|
|
658
|
+
readonly full: 9999;
|
|
659
|
+
};
|
|
660
|
+
declare const SHADOWS: {
|
|
661
|
+
readonly sm: {
|
|
662
|
+
readonly shadowColor: "#000";
|
|
663
|
+
readonly shadowOffset: {
|
|
664
|
+
readonly width: 0;
|
|
665
|
+
readonly height: 1;
|
|
666
|
+
};
|
|
667
|
+
readonly shadowOpacity: 0.08;
|
|
668
|
+
readonly shadowRadius: 4;
|
|
669
|
+
readonly elevation: 2;
|
|
670
|
+
};
|
|
671
|
+
readonly md: {
|
|
672
|
+
readonly shadowColor: "#000";
|
|
673
|
+
readonly shadowOffset: {
|
|
674
|
+
readonly width: 0;
|
|
675
|
+
readonly height: 3;
|
|
676
|
+
};
|
|
677
|
+
readonly shadowOpacity: 0.12;
|
|
678
|
+
readonly shadowRadius: 8;
|
|
679
|
+
readonly elevation: 5;
|
|
680
|
+
};
|
|
681
|
+
readonly lg: {
|
|
682
|
+
readonly shadowColor: "#000";
|
|
683
|
+
readonly shadowOffset: {
|
|
684
|
+
readonly width: 0;
|
|
685
|
+
readonly height: 6;
|
|
686
|
+
};
|
|
687
|
+
readonly shadowOpacity: 0.2;
|
|
688
|
+
readonly shadowRadius: 16;
|
|
689
|
+
readonly elevation: 10;
|
|
690
|
+
};
|
|
691
|
+
readonly xl: {
|
|
692
|
+
readonly shadowColor: "#000";
|
|
693
|
+
readonly shadowOffset: {
|
|
694
|
+
readonly width: 0;
|
|
695
|
+
readonly height: 12;
|
|
696
|
+
};
|
|
697
|
+
readonly shadowOpacity: 0.28;
|
|
698
|
+
readonly shadowRadius: 24;
|
|
699
|
+
readonly elevation: 18;
|
|
700
|
+
};
|
|
701
|
+
};
|
|
702
|
+
declare const BREAKPOINTS: {
|
|
703
|
+
readonly wide: 700;
|
|
704
|
+
};
|
|
705
|
+
type Spacing = typeof SPACING;
|
|
706
|
+
type SpacingKey = keyof Spacing;
|
|
707
|
+
type IconSize = typeof ICON_SIZES;
|
|
708
|
+
type IconSizeKey = keyof IconSize;
|
|
709
|
+
type Radius = typeof RADIUS;
|
|
710
|
+
type RadiusKey = keyof Radius;
|
|
711
|
+
|
|
712
|
+
export { Accordion, type AccordionItem, type AccordionProps, AlertBanner, type AlertBannerProps, type AlertBannerVariant, Avatar, type AvatarProps, type AvatarSize, BREAKPOINTS, Badge, type BadgeProps, type BadgeVariant, Button, type ButtonProps, type ButtonSize, type ButtonVariant, Card, CardContent, type CardContentProps, CardDescription, type CardDescriptionProps, CardFooter, type CardFooterProps, CardHeader, type CardHeaderProps, type CardProps, CardTitle, type CardTitleProps, Checkbox, type CheckboxProps, Chip, ChipGroup, type ChipGroupProps, type ChipOption, type ChipProps, type ColorScheme, ConfirmDialog, type ConfirmDialogProps, CurrencyDisplay, type CurrencyDisplayProps, CurrencyInput, CurrencyInput as CurrencyInputLarge, type CurrencyInputProps, EmptyState, type EmptyStateProps, ICON_SIZES, Icon, IconButton, type IconButtonProps, type IconButtonSize, type IconButtonVariant, type IconFamily, type IconProps, type IconSize, type IconSizeKey, Input, type InputProps, LabelValue, type LabelValueProps, ListItem, type ListItemProps, MonthPicker, type MonthPickerProps, type MonthPickerValue, Progress, type ProgressProps, RADIUS, RadioGroup, type RadioGroupProps, type RadioOption, type Radius, type RadiusKey, SHADOWS, SPACING, Select, type SelectOption, type SelectProps, Separator, type SeparatorProps, Sheet, type SheetProps, Skeleton, type SkeletonProps, Slider, type SliderProps, type Spacing, type SpacingKey, Spinner, type SpinnerProps, type SpinnerSize, Switch, type SwitchProps, type TabItem, Tabs, TabsContent, type TabsContentProps, type TabsProps, Text, type TextProps, type TextVariant, Textarea, type TextareaProps, type Theme, type ThemeColors, ThemeProvider, type ThemeProviderProps, type ToastItem, ToastProvider, type ToastProviderProps, type ToastVariant, Toggle, type ToggleProps, type ToggleSize, type ToggleVariant, defaultDark, defaultLight, renderIcon, useTheme, useToast };
|
package/dist/index.d.ts
CHANGED
|
@@ -88,6 +88,25 @@ interface ButtonProps extends TouchableOpacityProps {
|
|
|
88
88
|
}
|
|
89
89
|
declare function Button({ label, variant, size, loading, fullWidth, icon, iconName, iconColor, iconPosition, disabled, style, onPress, ...props }: ButtonProps): React.JSX.Element;
|
|
90
90
|
|
|
91
|
+
type IconButtonVariant = 'primary' | 'secondary' | 'outline' | 'ghost' | 'destructive';
|
|
92
|
+
type IconButtonSize = 'sm' | 'md' | 'lg';
|
|
93
|
+
interface IconButtonProps extends TouchableOpacityProps {
|
|
94
|
+
/**
|
|
95
|
+
* Icon name from `@expo/vector-icons` (e.g. `"home"`, `"star"`, `"plus"`).
|
|
96
|
+
* See https://icons.expo.fyi. Takes precedence over `icon` when both supplied.
|
|
97
|
+
*/
|
|
98
|
+
iconName?: string;
|
|
99
|
+
/** ReactNode icon — used when `iconName` is not provided. */
|
|
100
|
+
icon?: React.ReactNode;
|
|
101
|
+
/** Override the resolved icon color. Defaults to the foreground color for the active variant. */
|
|
102
|
+
iconColor?: string;
|
|
103
|
+
variant?: IconButtonVariant;
|
|
104
|
+
size?: IconButtonSize;
|
|
105
|
+
/** Replaces icon with a spinner and forces `disabled`. */
|
|
106
|
+
loading?: boolean;
|
|
107
|
+
}
|
|
108
|
+
declare function IconButton({ iconName, icon, iconColor, variant, size, loading, disabled, style, onPress, ...props }: IconButtonProps): React.JSX.Element;
|
|
109
|
+
|
|
91
110
|
type TextVariant = 'h1' | 'h2' | 'h3' | 'body' | 'caption' | 'label';
|
|
92
111
|
interface TextProps extends TextProps$1 {
|
|
93
112
|
variant?: TextVariant;
|
|
@@ -615,4 +634,79 @@ interface IconProps {
|
|
|
615
634
|
declare function Icon({ name, size, color, family }: IconProps): React.ReactElement | null;
|
|
616
635
|
declare function renderIcon(name: string, size: number, color: string): React.ReactElement | null;
|
|
617
636
|
|
|
618
|
-
|
|
637
|
+
declare const SPACING: {
|
|
638
|
+
readonly xs: 4;
|
|
639
|
+
readonly sm: 8;
|
|
640
|
+
readonly md: 12;
|
|
641
|
+
readonly lg: 16;
|
|
642
|
+
readonly xl: 24;
|
|
643
|
+
readonly '2xl': 32;
|
|
644
|
+
readonly '3xl': 48;
|
|
645
|
+
};
|
|
646
|
+
declare const ICON_SIZES: {
|
|
647
|
+
readonly sm: 14;
|
|
648
|
+
readonly md: 18;
|
|
649
|
+
readonly lg: 22;
|
|
650
|
+
readonly xl: 28;
|
|
651
|
+
readonly '2xl': 32;
|
|
652
|
+
};
|
|
653
|
+
declare const RADIUS: {
|
|
654
|
+
readonly sm: 4;
|
|
655
|
+
readonly md: 8;
|
|
656
|
+
readonly lg: 12;
|
|
657
|
+
readonly xl: 16;
|
|
658
|
+
readonly full: 9999;
|
|
659
|
+
};
|
|
660
|
+
declare const SHADOWS: {
|
|
661
|
+
readonly sm: {
|
|
662
|
+
readonly shadowColor: "#000";
|
|
663
|
+
readonly shadowOffset: {
|
|
664
|
+
readonly width: 0;
|
|
665
|
+
readonly height: 1;
|
|
666
|
+
};
|
|
667
|
+
readonly shadowOpacity: 0.08;
|
|
668
|
+
readonly shadowRadius: 4;
|
|
669
|
+
readonly elevation: 2;
|
|
670
|
+
};
|
|
671
|
+
readonly md: {
|
|
672
|
+
readonly shadowColor: "#000";
|
|
673
|
+
readonly shadowOffset: {
|
|
674
|
+
readonly width: 0;
|
|
675
|
+
readonly height: 3;
|
|
676
|
+
};
|
|
677
|
+
readonly shadowOpacity: 0.12;
|
|
678
|
+
readonly shadowRadius: 8;
|
|
679
|
+
readonly elevation: 5;
|
|
680
|
+
};
|
|
681
|
+
readonly lg: {
|
|
682
|
+
readonly shadowColor: "#000";
|
|
683
|
+
readonly shadowOffset: {
|
|
684
|
+
readonly width: 0;
|
|
685
|
+
readonly height: 6;
|
|
686
|
+
};
|
|
687
|
+
readonly shadowOpacity: 0.2;
|
|
688
|
+
readonly shadowRadius: 16;
|
|
689
|
+
readonly elevation: 10;
|
|
690
|
+
};
|
|
691
|
+
readonly xl: {
|
|
692
|
+
readonly shadowColor: "#000";
|
|
693
|
+
readonly shadowOffset: {
|
|
694
|
+
readonly width: 0;
|
|
695
|
+
readonly height: 12;
|
|
696
|
+
};
|
|
697
|
+
readonly shadowOpacity: 0.28;
|
|
698
|
+
readonly shadowRadius: 24;
|
|
699
|
+
readonly elevation: 18;
|
|
700
|
+
};
|
|
701
|
+
};
|
|
702
|
+
declare const BREAKPOINTS: {
|
|
703
|
+
readonly wide: 700;
|
|
704
|
+
};
|
|
705
|
+
type Spacing = typeof SPACING;
|
|
706
|
+
type SpacingKey = keyof Spacing;
|
|
707
|
+
type IconSize = typeof ICON_SIZES;
|
|
708
|
+
type IconSizeKey = keyof IconSize;
|
|
709
|
+
type Radius = typeof RADIUS;
|
|
710
|
+
type RadiusKey = keyof Radius;
|
|
711
|
+
|
|
712
|
+
export { Accordion, type AccordionItem, type AccordionProps, AlertBanner, type AlertBannerProps, type AlertBannerVariant, Avatar, type AvatarProps, type AvatarSize, BREAKPOINTS, Badge, type BadgeProps, type BadgeVariant, Button, type ButtonProps, type ButtonSize, type ButtonVariant, Card, CardContent, type CardContentProps, CardDescription, type CardDescriptionProps, CardFooter, type CardFooterProps, CardHeader, type CardHeaderProps, type CardProps, CardTitle, type CardTitleProps, Checkbox, type CheckboxProps, Chip, ChipGroup, type ChipGroupProps, type ChipOption, type ChipProps, type ColorScheme, ConfirmDialog, type ConfirmDialogProps, CurrencyDisplay, type CurrencyDisplayProps, CurrencyInput, CurrencyInput as CurrencyInputLarge, type CurrencyInputProps, EmptyState, type EmptyStateProps, ICON_SIZES, Icon, IconButton, type IconButtonProps, type IconButtonSize, type IconButtonVariant, type IconFamily, type IconProps, type IconSize, type IconSizeKey, Input, type InputProps, LabelValue, type LabelValueProps, ListItem, type ListItemProps, MonthPicker, type MonthPickerProps, type MonthPickerValue, Progress, type ProgressProps, RADIUS, RadioGroup, type RadioGroupProps, type RadioOption, type Radius, type RadiusKey, SHADOWS, SPACING, Select, type SelectOption, type SelectProps, Separator, type SeparatorProps, Sheet, type SheetProps, Skeleton, type SkeletonProps, Slider, type SliderProps, type Spacing, type SpacingKey, Spinner, type SpinnerProps, type SpinnerSize, Switch, type SwitchProps, type TabItem, Tabs, TabsContent, type TabsContentProps, type TabsProps, Text, type TextProps, type TextVariant, Textarea, type TextareaProps, type Theme, type ThemeColors, ThemeProvider, type ThemeProviderProps, type ToastItem, ToastProvider, type ToastProviderProps, type ToastVariant, Toggle, type ToggleProps, type ToggleSize, type ToggleVariant, defaultDark, defaultLight, renderIcon, useTheme, useToast };
|