@marwes-ui/react 1.0.0 → 1.0.1
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 +135 -29
- package/dist/index.d.ts +14 -3
- package/dist/index.js +134 -101
- package/dist/index.js.map +1 -1
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
<div align="center">
|
|
2
2
|
|
|
3
|
-
<img alt="Marwes Design System" src="https://raw.githubusercontent.com/niklas-westman/marwes/main/.github/assets/banner-light.png" width="100%">
|
|
3
|
+
<img alt="Marwes Design System" src="https://raw.githubusercontent.com/niklas-westman/marwes/main/.github/assets/banner-light.png" width="100%" style="border-radius: 40px;">
|
|
4
4
|
|
|
5
5
|
<br>
|
|
6
6
|
<br>
|
|
7
7
|
|
|
8
8
|
# Marwes Design System - React
|
|
9
9
|
|
|
10
|
-
**React components with
|
|
10
|
+
**React components with default Marwes styling, typed theme tokens, accessibility contracts, and AI-readable semantics built in.**
|
|
11
11
|
|
|
12
12
|
React 18+ • TypeScript-first • Default CSS included • ThemeInput • Google Fonts DX • Purpose components
|
|
13
13
|
|
|
@@ -21,7 +21,7 @@ React 18+ • TypeScript-first • Default CSS included • ThemeInput • Googl
|
|
|
21
21
|
|
|
22
22
|
Marwes is built for teams and AI-assisted workflows that need a component system that is easy to install, easy to theme, and hard to misuse.
|
|
23
23
|
|
|
24
|
-
- **One package for React apps**: components, provider, default
|
|
24
|
+
- **One package for React apps**: components, provider, default preset CSS, theme helpers, and typed props.
|
|
25
25
|
- **Beautiful defaults**: install the adapter, wrap your app, and start building without a separate CSS setup.
|
|
26
26
|
- **Consequential theming**: a `ThemeInput` object changes colors, fonts, radius, density, typography, and component visuals through shared CSS variables.
|
|
27
27
|
- **Purpose components**: `SubmitButton`, `CancelButton`, and `DestructiveButton` make intent machine-readable so tests, audits, and AI agents can handle actions safely.
|
|
@@ -36,7 +36,7 @@ For a React app, install this package first. It includes the React adapter, load
|
|
|
36
36
|
| `@marwes-ui/react` | You are building a React app. |
|
|
37
37
|
| `@marwes-ui/vue` | You are building a Vue app instead. |
|
|
38
38
|
| `@marwes-ui/core` | You are building adapters, tests, tooling, or framework-agnostic integrations. |
|
|
39
|
-
| `@marwes-ui/presets` | You need standalone
|
|
39
|
+
| `@marwes-ui/presets` | You need standalone preset CSS or preset theme exports. |
|
|
40
40
|
|
|
41
41
|
This split keeps installation simple for app teams while giving humans and AI agents clear package boundaries: adapters render, core defines contracts, presets style.
|
|
42
42
|
|
|
@@ -46,13 +46,14 @@ This split keeps installation simple for app teams while giving humans and AI ag
|
|
|
46
46
|
pnpm add @marwes-ui/react react react-dom
|
|
47
47
|
```
|
|
48
48
|
|
|
49
|
-
No preset CSS import is needed. `@marwes-ui/react` depends on `@marwes-ui/presets` and loads the
|
|
49
|
+
No preset CSS import is needed. `@marwes-ui/react` depends on `@marwes-ui/presets` and loads the default Marwes CSS automatically.
|
|
50
50
|
|
|
51
51
|
## Quick Start
|
|
52
52
|
|
|
53
53
|
```tsx
|
|
54
54
|
import {
|
|
55
55
|
Button,
|
|
56
|
+
ButtonVariant,
|
|
56
57
|
Checkbox,
|
|
57
58
|
Input,
|
|
58
59
|
MarwesProvider,
|
|
@@ -64,7 +65,7 @@ export function App() {
|
|
|
64
65
|
<MarwesProvider>
|
|
65
66
|
<Input placeholder="Email" ariaLabel="Email" />
|
|
66
67
|
<Checkbox ariaLabel="Subscribe" />
|
|
67
|
-
<Button variant=
|
|
68
|
+
<Button variant={ButtonVariant.secondary}>Preview</Button>
|
|
68
69
|
<SubmitButton>Save</SubmitButton>
|
|
69
70
|
</MarwesProvider>
|
|
70
71
|
)
|
|
@@ -76,7 +77,7 @@ export function App() {
|
|
|
76
77
|
Marwes components pick up provider tokens automatically. Your own React styling can use the same tokens by importing `mwThemeVars`. This example uses styled-components, but the same values work in Emotion, vanilla-extract, inline style objects, CSS Modules, and plain CSS.
|
|
77
78
|
|
|
78
79
|
```tsx
|
|
79
|
-
import { Button, MarwesProvider, mwThemeVars } from "@marwes-ui/react"
|
|
80
|
+
import { Button, ButtonVariant, MarwesProvider, mwThemeVars } from "@marwes-ui/react"
|
|
80
81
|
import styled from "styled-components"
|
|
81
82
|
|
|
82
83
|
const AppShell = styled.main`
|
|
@@ -104,7 +105,7 @@ export function App() {
|
|
|
104
105
|
<AppShell>
|
|
105
106
|
<PrimaryCallout>Launch workspace</PrimaryCallout>
|
|
106
107
|
<FeaturePanel>
|
|
107
|
-
<Button variant=
|
|
108
|
+
<Button variant={ButtonVariant.primary}>Save</Button>
|
|
108
109
|
</FeaturePanel>
|
|
109
110
|
</AppShell>
|
|
110
111
|
</MarwesProvider>
|
|
@@ -142,7 +143,9 @@ import {
|
|
|
142
143
|
StatusBadge,
|
|
143
144
|
SubmitButton,
|
|
144
145
|
type ButtonProps,
|
|
146
|
+
type H1Props,
|
|
145
147
|
type InputFieldProps,
|
|
148
|
+
type ParagraphProps,
|
|
146
149
|
} from "@marwes-ui/react"
|
|
147
150
|
|
|
148
151
|
const primaryAction: ButtonProps = {
|
|
@@ -160,13 +163,21 @@ const emailField: InputFieldProps = {
|
|
|
160
163
|
},
|
|
161
164
|
}
|
|
162
165
|
|
|
166
|
+
const titleProps: H1Props = {
|
|
167
|
+
size: "h2",
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
const descriptionProps: ParagraphProps = {
|
|
171
|
+
size: "md",
|
|
172
|
+
}
|
|
173
|
+
|
|
163
174
|
export function ProjectPanel() {
|
|
164
175
|
return (
|
|
165
176
|
<Card title="Project setup">
|
|
166
177
|
<StatusBadge variant={BadgeVariant.success}>Ready</StatusBadge>
|
|
167
178
|
<Spacer spacing={Spacings.sp16} />
|
|
168
|
-
<H1
|
|
169
|
-
<Paragraph
|
|
179
|
+
<H1 {...titleProps}>Launch workspace</H1>
|
|
180
|
+
<Paragraph {...descriptionProps}>
|
|
170
181
|
Components share theme tokens, typed variants, spacing, and semantic metadata.
|
|
171
182
|
</Paragraph>
|
|
172
183
|
<InputField {...emailField} />
|
|
@@ -230,10 +241,10 @@ Typed tokens and helpers:
|
|
|
230
241
|
|
|
231
242
|
## Theme In Seconds
|
|
232
243
|
|
|
233
|
-
|
|
244
|
+
The default Marwes theme is already active. If you already have a good-looking design library or brand system, pass a small typed `ThemeInput` override instead of rebuilding component CSS.
|
|
234
245
|
|
|
235
246
|
```tsx
|
|
236
|
-
import { MarwesProvider, mwAvailableFonts } from "@marwes-ui/react"
|
|
247
|
+
import { MarwesProvider, mwAvailableFonts, type ThemeInput } from "@marwes-ui/react"
|
|
237
248
|
|
|
238
249
|
const brandTheme = {
|
|
239
250
|
color: {
|
|
@@ -257,7 +268,7 @@ const brandTheme = {
|
|
|
257
268
|
radius: 10,
|
|
258
269
|
density: "comfortable",
|
|
259
270
|
},
|
|
260
|
-
}
|
|
271
|
+
} satisfies ThemeInput
|
|
261
272
|
|
|
262
273
|
export function App() {
|
|
263
274
|
return (
|
|
@@ -270,6 +281,97 @@ export function App() {
|
|
|
270
281
|
|
|
271
282
|
The provider resolves `ThemeInput` into `--mw-*` CSS variables. Preset CSS consumes those variables across the full component system.
|
|
272
283
|
|
|
284
|
+
Marwes is designed to look great from the beginning. Start with the default preset, then override only the colors, fonts, radius, or density that belong to your product. Unspecified values keep the polished Marwes defaults.
|
|
285
|
+
|
|
286
|
+
## Light And Dark Mode
|
|
287
|
+
|
|
288
|
+
MarwesProvider can own the active mode for the app. Use `ThemeMode.light` and `ThemeMode.dark` instead of string literals, then read or change the active mode with `useThemeMode()` anywhere under the provider. Every component under the provider receives the matching `--mw-*` variables and `mw-theme--light` / `mw-theme--dark` class.
|
|
289
|
+
|
|
290
|
+
```tsx
|
|
291
|
+
import { Button, ButtonVariant, MarwesProvider, ThemeMode, useThemeMode } from "@marwes-ui/react"
|
|
292
|
+
|
|
293
|
+
function ThemeToggle() {
|
|
294
|
+
const { mode, toggleMode } = useThemeMode()
|
|
295
|
+
|
|
296
|
+
return (
|
|
297
|
+
<Button variant={ButtonVariant.secondary} onClick={toggleMode}>
|
|
298
|
+
Use {mode === ThemeMode.dark ? ThemeMode.light : ThemeMode.dark} mode
|
|
299
|
+
</Button>
|
|
300
|
+
)
|
|
301
|
+
}
|
|
302
|
+
|
|
303
|
+
export function App() {
|
|
304
|
+
return (
|
|
305
|
+
<MarwesProvider defaultMode={ThemeMode.light}>
|
|
306
|
+
<ThemeToggle />
|
|
307
|
+
<AppShell />
|
|
308
|
+
</MarwesProvider>
|
|
309
|
+
)
|
|
310
|
+
}
|
|
311
|
+
```
|
|
312
|
+
|
|
313
|
+
`defaultMode` sets the initial uncontrolled mode. `toggleMode()` updates the provider, so Marwes components, preset CSS, and custom app styles that use `--mw-*` variables all move together without duplicating local theme state.
|
|
314
|
+
|
|
315
|
+
For a simple brand pass, override shared values once and let Marwes fill the rest. If your product needs different brand colors in light and dark mode, control `mode` and switch between two small `ThemeInput` override objects:
|
|
316
|
+
|
|
317
|
+
```tsx
|
|
318
|
+
import { useState } from "react"
|
|
319
|
+
import {
|
|
320
|
+
Button,
|
|
321
|
+
ButtonVariant,
|
|
322
|
+
MarwesProvider,
|
|
323
|
+
ThemeMode,
|
|
324
|
+
type ThemeInput,
|
|
325
|
+
useThemeMode,
|
|
326
|
+
} from "@marwes-ui/react"
|
|
327
|
+
|
|
328
|
+
const themeByMode = {
|
|
329
|
+
[ThemeMode.light]: {
|
|
330
|
+
color: {
|
|
331
|
+
primary: "#2457FF",
|
|
332
|
+
background: "#F8FAFC",
|
|
333
|
+
surface: "#FFFFFF",
|
|
334
|
+
text: "#111827",
|
|
335
|
+
border: "#D1D5DB",
|
|
336
|
+
focus: "#2457FF",
|
|
337
|
+
},
|
|
338
|
+
},
|
|
339
|
+
[ThemeMode.dark]: {
|
|
340
|
+
color: {
|
|
341
|
+
primary: "#8BA2FF",
|
|
342
|
+
background: "#0B1020",
|
|
343
|
+
surface: "#111827",
|
|
344
|
+
text: "#F8FAFC",
|
|
345
|
+
border: "#334155",
|
|
346
|
+
focus: "#93C5FD",
|
|
347
|
+
},
|
|
348
|
+
},
|
|
349
|
+
} satisfies Record<ThemeMode, ThemeInput>
|
|
350
|
+
|
|
351
|
+
function ThemeToggle() {
|
|
352
|
+
const { mode, toggleMode } = useThemeMode()
|
|
353
|
+
|
|
354
|
+
return (
|
|
355
|
+
<Button variant={ButtonVariant.secondary} onClick={toggleMode}>
|
|
356
|
+
Use {mode === ThemeMode.dark ? ThemeMode.light : ThemeMode.dark} mode
|
|
357
|
+
</Button>
|
|
358
|
+
)
|
|
359
|
+
}
|
|
360
|
+
|
|
361
|
+
export function App() {
|
|
362
|
+
const [mode, setMode] = useState<ThemeMode>(ThemeMode.light)
|
|
363
|
+
|
|
364
|
+
return (
|
|
365
|
+
<MarwesProvider mode={mode} theme={themeByMode[mode]} onModeChange={setMode}>
|
|
366
|
+
<ThemeToggle />
|
|
367
|
+
<AppShell />
|
|
368
|
+
</MarwesProvider>
|
|
369
|
+
)
|
|
370
|
+
}
|
|
371
|
+
```
|
|
372
|
+
|
|
373
|
+
Mode-specific defaults fill every omitted token, so each override can stay small. `theme={{ mode: ThemeMode.dark }}` is still enough for the default dark baseline.
|
|
374
|
+
|
|
273
375
|
## Custom Styling Tokens
|
|
274
376
|
|
|
275
377
|
`MarwesProvider` resolves `ThemeInput` into `--mw-*` CSS variables. Marwes components and preset CSS consume those variables automatically. The custom styling token helpers let app-owned styles use the same provider-scoped values instead of hard-coding colors, spacing, radius, typography, or duplicated `var(...)` strings.
|
|
@@ -331,15 +433,17 @@ Keep the APIs separate:
|
|
|
331
433
|
Most Google Font use cases only need `mwAvailableFonts`; no `fontLoading` prop is needed.
|
|
332
434
|
|
|
333
435
|
```tsx
|
|
334
|
-
import { MarwesProvider, mwAvailableFonts } from "@marwes-ui/react"
|
|
436
|
+
import { MarwesProvider, mwAvailableFonts, type ThemeInput } from "@marwes-ui/react"
|
|
437
|
+
|
|
438
|
+
const fontTheme = {
|
|
439
|
+
font: {
|
|
440
|
+
primary: mwAvailableFonts.Poppins,
|
|
441
|
+
secondary: mwAvailableFonts.Lora,
|
|
442
|
+
},
|
|
443
|
+
} satisfies ThemeInput
|
|
335
444
|
|
|
336
445
|
<MarwesProvider
|
|
337
|
-
theme={
|
|
338
|
-
font: {
|
|
339
|
-
primary: mwAvailableFonts.Poppins,
|
|
340
|
-
secondary: mwAvailableFonts.Lora,
|
|
341
|
-
},
|
|
342
|
-
}}
|
|
446
|
+
theme={fontTheme}
|
|
343
447
|
>
|
|
344
448
|
<App />
|
|
345
449
|
</MarwesProvider>
|
|
@@ -408,14 +512,16 @@ Marwes React components are accessible because the adapter renders a shared core
|
|
|
408
512
|
Example:
|
|
409
513
|
|
|
410
514
|
```tsx
|
|
411
|
-
import { InputField } from "@marwes-ui/react"
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
label
|
|
415
|
-
helperText
|
|
416
|
-
error
|
|
417
|
-
input
|
|
418
|
-
|
|
515
|
+
import { InputField, type InputFieldProps } from "@marwes-ui/react"
|
|
516
|
+
|
|
517
|
+
const receiptEmailField = {
|
|
518
|
+
label: "Email",
|
|
519
|
+
helperText: "Used for receipts.",
|
|
520
|
+
error: "Enter a valid email.",
|
|
521
|
+
input: { type: "email", placeholder: "you@example.com" },
|
|
522
|
+
} satisfies InputFieldProps
|
|
523
|
+
|
|
524
|
+
<InputField {...receiptEmailField} />
|
|
419
525
|
```
|
|
420
526
|
|
|
421
527
|
That contract resolves to DOM wiring like:
|
|
@@ -437,7 +543,7 @@ The important part is that the same label, helper, error, and invalid contract i
|
|
|
437
543
|
## Package Boundaries
|
|
438
544
|
|
|
439
545
|
- `@marwes-ui/core` owns recipes, theme resolution, a11y mapping, and semantic metadata.
|
|
440
|
-
- `@marwes-ui/presets` owns
|
|
546
|
+
- `@marwes-ui/presets` owns default preset CSS.
|
|
441
547
|
- `@marwes-ui/react` owns React rendering and provider behavior.
|
|
442
548
|
|
|
443
549
|
## Scripts
|
package/dist/index.d.ts
CHANGED
|
@@ -1,18 +1,29 @@
|
|
|
1
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
-
import { ThemeInput,
|
|
2
|
+
import { ThemeInput, ThemeMode, FontLoadingConfig, ResolvedTheme, ButtonOptions, InputOptions, SelectOptions, SelectAppearance as SelectAppearance$1, SelectOption as SelectOption$1, TextareaOptions, RichTextOptions, InputOtpOptions, CurrencyCode, iconRegistry, IconSize, IconStrokeWidth, AvatarOptions, CheckboxProps as CheckboxProps$1, DividerOptions, DividerSize, DividerOrientation, SpinnerOptions, SpacingOptions, SpacingSize, HeadingOptions, HeadingSize, ParagraphOptions, ParagraphSize, ToastOptions, ToastVariant, ToastIntent, ToastPlacement, TooltipOptions, IconNameType, RadioOptions, BadgeOptions, SwitchOptions, SliderOptions, TabOptions, DialogOptions } from '@marwes-ui/core';
|
|
3
3
|
export { AvatarSize, AvatarType, BadgeVariant, ButtonAction, ButtonSize, ButtonVariant, Density, FontLoadingConfig, FontLoadingMode, FontLoadingOptions, IconName, MwAvailableFont, MwFontFallback, MwGoogleFontFamily, MwStyledTheme, MwThemeVarName, MwThemeVarNames, MwThemeVarReference, MwThemeVars, ResolvedTheme, SpacingSize, Spacings, SwitchSize, Theme, ThemeInput, ThemeMode, ToneName, createFontStack, mwAvailableFonts, mwFontFallbacks, mwGoogleFontFamilies, mwStyledTheme, mwThemeVarNames, mwThemeVars, mwVar } from '@marwes-ui/core';
|
|
4
4
|
import * as React from 'react';
|
|
5
5
|
|
|
6
6
|
type MarwesProviderProps = {
|
|
7
7
|
theme?: ThemeInput;
|
|
8
|
+
defaultMode?: ThemeMode;
|
|
9
|
+
mode?: ThemeMode;
|
|
8
10
|
fontLoading?: FontLoadingConfig;
|
|
9
11
|
onModeChange?: (mode: ThemeMode) => void;
|
|
10
12
|
children: React.ReactNode;
|
|
11
13
|
};
|
|
12
|
-
declare function MarwesProvider({ theme, fontLoading, onModeChange, children, }: MarwesProviderProps): react_jsx_runtime.JSX.Element;
|
|
14
|
+
declare function MarwesProvider({ theme, defaultMode, mode: controlledMode, fontLoading, onModeChange, children, }: MarwesProviderProps): react_jsx_runtime.JSX.Element;
|
|
13
15
|
|
|
14
16
|
declare function useTheme(): ResolvedTheme;
|
|
15
17
|
|
|
18
|
+
type ThemeModeContextValue = {
|
|
19
|
+
mode: ThemeMode;
|
|
20
|
+
setMode: (mode: ThemeMode) => void;
|
|
21
|
+
toggleMode: () => void;
|
|
22
|
+
isDark: boolean;
|
|
23
|
+
isLight: boolean;
|
|
24
|
+
};
|
|
25
|
+
declare function useThemeMode(): ThemeModeContextValue;
|
|
26
|
+
|
|
16
27
|
type ButtonProps = ButtonOptions & {
|
|
17
28
|
children?: React.ReactNode;
|
|
18
29
|
onClick?: (e: React.MouseEvent<HTMLButtonElement | HTMLAnchorElement>) => void;
|
|
@@ -2104,4 +2115,4 @@ type InfoDialogProps = Omit<DialogModalProps, "footer"> & {
|
|
|
2104
2115
|
};
|
|
2105
2116
|
declare function InfoDialog(props: InfoDialogProps): React.ReactElement;
|
|
2106
2117
|
|
|
2107
|
-
export { Accordion, AccordionField, type AccordionFieldItem, type AccordionFieldProps, type AccordionProps, Avatar, AvatarBadge, type AvatarBadgeProps, AvatarGroup, type AvatarGroupItem, type AvatarGroupProps, type AvatarProps, Badge, BadgeGroup, type BadgeGroupProps, type BadgeProps, BrightnessSlider, type BrightnessSliderProps, Button, type ButtonProps, ButtonSpinner, type ButtonSpinnerProps, CancelButton, type CancelButtonProps, Card, type CardProps, Checkbox, CheckboxField, type CheckboxFieldProps, CheckboxGroupField, type CheckboxGroupFieldOption, type CheckboxGroupFieldProps, type CheckboxProps, CloseButton, type CloseButtonProps, ConfirmButton, type ConfirmButtonProps, ConfirmDialog, type ConfirmDialogProps, ContentTabs, type ContentTabsProps, CopyButton, type CopyButtonProps, CreateButton, type CreateButtonProps, CurrencyField, type CurrencyFieldProps, DateOfBirthField, type DateOfBirthFieldProps, DestructiveButton, type DestructiveButtonProps, DestructiveDialog, type DestructiveDialogProps, Dialog, type DialogFooterControls, DialogModal, type DialogModalProps, type DialogProps, Divider, type DividerProps, DownloadButton, type DownloadButtonProps, DropdownButton, type DropdownButtonProps, DropdownField, type DropdownFieldProps, EditButton, type EditButtonProps, EmailField, type EmailFieldProps, EmptyStateSpinner, type EmptyStateSpinnerProps, ErrorToast, type ErrorToastProps, FAQAccordion, type FAQAccordionProps, FeatureToggle, type FeatureToggleProps, FilterButton, type FilterButtonProps, H1, type H1Props, H2, type H2Props, H3, type H3Props, Icon, type IconProps, InfoDialog, type InfoDialogProps, InfoToast, type InfoToastProps, Input, InputField, type InputFieldProps, InputOtp, type InputOtpProps, type InputProps, LinkButton, type LinkButtonProps, type ManagedToast, MarwesProvider, type MarwesProviderProps, NavigationTabs, type NavigationTabsProps, NotificationBadge, type NotificationBadgeProps, OptionRadioGroup, type OptionRadioGroupProps, Paragraph, type ParagraphProps, PasswordField, type PasswordFieldProps, PermissionSwitch, type PermissionSwitchProps, PhoneField, type PhoneFieldProps, PreferenceSwitch, type PreferenceSwitchProps, PresenceAvatar, type PresenceAvatarProps, PrimaryButton, type PrimaryButtonProps, PriorityBadge, type PriorityBadgeProps, ProductCard, type ProductCardProps, ProfileAvatar, type ProfileAvatarProps, ProfileCard, type ProfileCardProps, Radio, RadioGroupField, type RadioGroupFieldOption, type RadioGroupFieldProps, type RadioProps, RadiusSlider, type RadiusSliderProps, RatingRadioGroup, type RatingRadioGroupProps, RefreshButton, type RefreshButtonProps, RichText, RichTextField, type RichTextFieldProps, type RichTextProps, SaveButton, type SaveButtonProps, SearchButton, type SearchButtonProps, SearchField, type SearchFieldProps, SecondaryButton, type SecondaryButtonProps, SectionsAccordion, type SectionsAccordionProps, Select, type SelectAppearance, SelectField, type SelectFieldProps, type SelectOption, type SelectProps, SettingsAccordion, type SettingsAccordionProps, SettingsTabs, type SettingsTabsProps, type ShowToastOptions, Slider, SliderField, type SliderFieldProps, type SliderProps, SortButton, type SortButtonProps, Spacer, type SpacerProps, Spacing, type SpacingProps, Spinner, type SpinnerProps, StatCard, type StatCardProps, StatusBadge, type StatusBadgeProps, SubmitButton, type SubmitButtonProps, SuccessButton, type SuccessButtonProps, SuccessToast, type SuccessToastProps, Switch, SwitchField, type SwitchFieldProps, type SwitchProps, Tab, TabGroup, type TabGroupItem, type TabGroupProps, TabPanel, type TabPanelProps, type TabProps, TeamAvatarGroup, type TeamAvatarGroupProps, TextButton, type TextButtonProps, Textarea, TextareaField, type TextareaFieldProps, type TextareaProps, Toast, ToastContainer, type ToastContainerProps, type ToastController, type ToastProps, ToastProvider, type ToastProviderProps, Tooltip, TooltipGroup, type TooltipGroupProps, type TooltipProps, URLField, type URLFieldProps, UploadButton, type UploadButtonProps, VerifyButton, type VerifyButtonProps, VolumeSlider, type VolumeSliderProps, WarningToast, type WarningToastProps, YesNoRadioGroup, type YesNoRadioGroupProps, ZipCodeField, type ZipCodeFieldProps, useTheme, useToast };
|
|
2118
|
+
export { Accordion, AccordionField, type AccordionFieldItem, type AccordionFieldProps, type AccordionProps, Avatar, AvatarBadge, type AvatarBadgeProps, AvatarGroup, type AvatarGroupItem, type AvatarGroupProps, type AvatarProps, Badge, BadgeGroup, type BadgeGroupProps, type BadgeProps, BrightnessSlider, type BrightnessSliderProps, Button, type ButtonProps, ButtonSpinner, type ButtonSpinnerProps, CancelButton, type CancelButtonProps, Card, type CardProps, Checkbox, CheckboxField, type CheckboxFieldProps, CheckboxGroupField, type CheckboxGroupFieldOption, type CheckboxGroupFieldProps, type CheckboxProps, CloseButton, type CloseButtonProps, ConfirmButton, type ConfirmButtonProps, ConfirmDialog, type ConfirmDialogProps, ContentTabs, type ContentTabsProps, CopyButton, type CopyButtonProps, CreateButton, type CreateButtonProps, CurrencyField, type CurrencyFieldProps, DateOfBirthField, type DateOfBirthFieldProps, DestructiveButton, type DestructiveButtonProps, DestructiveDialog, type DestructiveDialogProps, Dialog, type DialogFooterControls, DialogModal, type DialogModalProps, type DialogProps, Divider, type DividerProps, DownloadButton, type DownloadButtonProps, DropdownButton, type DropdownButtonProps, DropdownField, type DropdownFieldProps, EditButton, type EditButtonProps, EmailField, type EmailFieldProps, EmptyStateSpinner, type EmptyStateSpinnerProps, ErrorToast, type ErrorToastProps, FAQAccordion, type FAQAccordionProps, FeatureToggle, type FeatureToggleProps, FilterButton, type FilterButtonProps, H1, type H1Props, H2, type H2Props, H3, type H3Props, Icon, type IconProps, InfoDialog, type InfoDialogProps, InfoToast, type InfoToastProps, Input, InputField, type InputFieldProps, InputOtp, type InputOtpProps, type InputProps, LinkButton, type LinkButtonProps, type ManagedToast, MarwesProvider, type MarwesProviderProps, NavigationTabs, type NavigationTabsProps, NotificationBadge, type NotificationBadgeProps, OptionRadioGroup, type OptionRadioGroupProps, Paragraph, type ParagraphProps, PasswordField, type PasswordFieldProps, PermissionSwitch, type PermissionSwitchProps, PhoneField, type PhoneFieldProps, PreferenceSwitch, type PreferenceSwitchProps, PresenceAvatar, type PresenceAvatarProps, PrimaryButton, type PrimaryButtonProps, PriorityBadge, type PriorityBadgeProps, ProductCard, type ProductCardProps, ProfileAvatar, type ProfileAvatarProps, ProfileCard, type ProfileCardProps, Radio, RadioGroupField, type RadioGroupFieldOption, type RadioGroupFieldProps, type RadioProps, RadiusSlider, type RadiusSliderProps, RatingRadioGroup, type RatingRadioGroupProps, RefreshButton, type RefreshButtonProps, RichText, RichTextField, type RichTextFieldProps, type RichTextProps, SaveButton, type SaveButtonProps, SearchButton, type SearchButtonProps, SearchField, type SearchFieldProps, SecondaryButton, type SecondaryButtonProps, SectionsAccordion, type SectionsAccordionProps, Select, type SelectAppearance, SelectField, type SelectFieldProps, type SelectOption, type SelectProps, SettingsAccordion, type SettingsAccordionProps, SettingsTabs, type SettingsTabsProps, type ShowToastOptions, Slider, SliderField, type SliderFieldProps, type SliderProps, SortButton, type SortButtonProps, Spacer, type SpacerProps, Spacing, type SpacingProps, Spinner, type SpinnerProps, StatCard, type StatCardProps, StatusBadge, type StatusBadgeProps, SubmitButton, type SubmitButtonProps, SuccessButton, type SuccessButtonProps, SuccessToast, type SuccessToastProps, Switch, SwitchField, type SwitchFieldProps, type SwitchProps, Tab, TabGroup, type TabGroupItem, type TabGroupProps, TabPanel, type TabPanelProps, type TabProps, TeamAvatarGroup, type TeamAvatarGroupProps, TextButton, type TextButtonProps, Textarea, TextareaField, type TextareaFieldProps, type TextareaProps, type ThemeModeContextValue, Toast, ToastContainer, type ToastContainerProps, type ToastController, type ToastProps, ToastProvider, type ToastProviderProps, Tooltip, TooltipGroup, type TooltipGroupProps, type TooltipProps, URLField, type URLFieldProps, UploadButton, type UploadButtonProps, VerifyButton, type VerifyButtonProps, VolumeSlider, type VolumeSliderProps, WarningToast, type WarningToastProps, YesNoRadioGroup, type YesNoRadioGroupProps, ZipCodeField, type ZipCodeFieldProps, useTheme, useThemeMode, useToast };
|