@bug-on/m3-expressive 1.0.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/CHANGELOG.md +110 -0
- package/README.md +110 -0
- package/dist/assets/fonts/GoogleSansFlex-VariableFont.woff2 +0 -0
- package/dist/assets/fonts/MaterialSymbolsOutlined-VariableFont_FILL,GRAD,opsz,wght.ttf +0 -0
- package/dist/assets/fonts/MaterialSymbolsRounded-VariableFont_FILL,GRAD,opsz,wght.ttf +0 -0
- package/dist/assets/fonts/MaterialSymbolsSharp-VariableFont_FILL,GRAD,opsz,wght.ttf +0 -0
- package/dist/assets/loading-indicator.svg +19 -0
- package/dist/assets/material-symbols-cdn.css +65 -0
- package/dist/assets/material-symbols-self-hosted.css +94 -0
- package/dist/buttons.d.mts +180 -0
- package/dist/buttons.d.ts +180 -0
- package/dist/buttons.js +4282 -0
- package/dist/buttons.js.map +1 -0
- package/dist/buttons.mjs +4227 -0
- package/dist/buttons.mjs.map +1 -0
- package/dist/core.d.mts +422 -0
- package/dist/core.d.ts +422 -0
- package/dist/core.js +2581 -0
- package/dist/core.js.map +1 -0
- package/dist/core.mjs +2547 -0
- package/dist/core.mjs.map +1 -0
- package/dist/feedback.d.mts +600 -0
- package/dist/feedback.d.ts +600 -0
- package/dist/feedback.js +2357 -0
- package/dist/feedback.js.map +1 -0
- package/dist/feedback.mjs +2321 -0
- package/dist/feedback.mjs.map +1 -0
- package/dist/forms.d.mts +40 -0
- package/dist/forms.d.ts +40 -0
- package/dist/forms.js +4263 -0
- package/dist/forms.js.map +1 -0
- package/dist/forms.mjs +4228 -0
- package/dist/forms.mjs.map +1 -0
- package/dist/icon-button-D-gs0gfj.d.mts +136 -0
- package/dist/icon-button-D-gs0gfj.d.ts +136 -0
- package/dist/index.css +309 -0
- package/dist/index.css.d.ts +2 -0
- package/dist/index.d.mts +24 -0
- package/dist/index.d.ts +24 -0
- package/dist/index.js +23972 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +23668 -0
- package/dist/index.mjs.map +1 -0
- package/dist/layout.d.mts +610 -0
- package/dist/layout.d.ts +610 -0
- package/dist/layout.js +5091 -0
- package/dist/layout.js.map +1 -0
- package/dist/layout.mjs +5042 -0
- package/dist/layout.mjs.map +1 -0
- package/dist/material-symbols-cdn.css +65 -0
- package/dist/material-symbols-cdn.css.d.ts +2 -0
- package/dist/material-symbols-self-hosted.css +94 -0
- package/dist/material-symbols-self-hosted.css.d.ts +2 -0
- package/dist/md3-DFhj-NZj.d.mts +17 -0
- package/dist/md3-DFhj-NZj.d.ts +17 -0
- package/dist/navigation.d.mts +2766 -0
- package/dist/navigation.d.ts +2766 -0
- package/dist/navigation.js +6684 -0
- package/dist/navigation.js.map +1 -0
- package/dist/navigation.mjs +6573 -0
- package/dist/navigation.mjs.map +1 -0
- package/dist/overlays.d.mts +161 -0
- package/dist/overlays.d.ts +161 -0
- package/dist/overlays.js +3298 -0
- package/dist/overlays.js.map +1 -0
- package/dist/overlays.mjs +3244 -0
- package/dist/overlays.mjs.map +1 -0
- package/dist/pickers.d.mts +1074 -0
- package/dist/pickers.d.ts +1074 -0
- package/dist/pickers.js +4240 -0
- package/dist/pickers.js.map +1 -0
- package/dist/pickers.mjs +4200 -0
- package/dist/pickers.mjs.map +1 -0
- package/dist/plugin.d.mts +1 -0
- package/dist/plugin.d.ts +1 -0
- package/dist/plugin.js +13 -0
- package/dist/plugin.js.map +1 -0
- package/dist/plugin.mjs +3 -0
- package/dist/plugin.mjs.map +1 -0
- package/dist/scroll-area-CVS6HyLl.d.mts +33 -0
- package/dist/scroll-area-CVS6HyLl.d.ts +33 -0
- package/dist/shapes.d.mts +1119 -0
- package/dist/shapes.d.ts +1119 -0
- package/dist/shapes.js +2941 -0
- package/dist/shapes.js.map +1 -0
- package/dist/shapes.mjs +2889 -0
- package/dist/shapes.mjs.map +1 -0
- package/dist/side-sheet-modal-BY6VCC8p.d.mts +553 -0
- package/dist/side-sheet-modal-CglP6KYA.d.ts +553 -0
- package/dist/split-button-trailing-uncheckable-C5CLCIKP.d.ts +731 -0
- package/dist/split-button-trailing-uncheckable-MXj_kyNt.d.mts +731 -0
- package/dist/text-field-eAIpz9z1.d.mts +1038 -0
- package/dist/text-field-eAIpz9z1.d.ts +1038 -0
- package/dist/typography-339RV6v7.d.mts +486 -0
- package/dist/typography-339RV6v7.d.ts +486 -0
- package/dist/typography.css +22 -0
- package/dist/typography.css.d.ts +2 -0
- package/package.json +207 -0
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
import { HTMLMotionProps } from 'motion/react';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* @file icon-button.tsx
|
|
6
|
+
*
|
|
7
|
+
* MD3 Expressive Icon Button component.
|
|
8
|
+
*
|
|
9
|
+
* An icon-only button with shape morphing, ripple effect, loading state,
|
|
10
|
+
* and toggle variant. Requires `aria-label` for accessibility since there
|
|
11
|
+
* is no visible text label.
|
|
12
|
+
*
|
|
13
|
+
* @see https://m3.material.io/components/icon-buttons/overview
|
|
14
|
+
*/
|
|
15
|
+
|
|
16
|
+
type MotionButtonProps = Omit<HTMLMotionProps<"button">, "children" | "color">;
|
|
17
|
+
/**
|
|
18
|
+
* Base props for the Icon Button component.
|
|
19
|
+
*
|
|
20
|
+
* @see {@link IconButtonProps} for the full discriminated union.
|
|
21
|
+
* @see https://m3.material.io/components/icon-buttons/overview
|
|
22
|
+
*/
|
|
23
|
+
interface BaseIconButtonProps extends MotionButtonProps {
|
|
24
|
+
/**
|
|
25
|
+
* Visual color style following MD3 color roles.
|
|
26
|
+
* @default "standard"
|
|
27
|
+
*/
|
|
28
|
+
colorStyle?: "standard" | "filled" | "tonal" | "outlined";
|
|
29
|
+
/**
|
|
30
|
+
* Button container size.
|
|
31
|
+
* Sizes: XS=32dp, SM=40dp, MD=56dp, LG=96dp, XL=136dp.
|
|
32
|
+
* @default "sm"
|
|
33
|
+
*/
|
|
34
|
+
size?: "xs" | "sm" | "md" | "lg" | "xl";
|
|
35
|
+
/**
|
|
36
|
+
* Container shape controlling border-radius morphing.
|
|
37
|
+
* - `round`: fully circular (CornerFull).
|
|
38
|
+
* - `square`: rounded square (CornerMedium–CornerExtraLarge per size).
|
|
39
|
+
* @default "round"
|
|
40
|
+
*/
|
|
41
|
+
shape?: "round" | "square";
|
|
42
|
+
/**
|
|
43
|
+
* When `true`, replaces the icon with an animated loading indicator.
|
|
44
|
+
* Interaction is blocked and `aria-busy` is set.
|
|
45
|
+
* @default false
|
|
46
|
+
*/
|
|
47
|
+
loading?: boolean;
|
|
48
|
+
/**
|
|
49
|
+
* Spinner style shown while `loading={true}`.
|
|
50
|
+
* @default "loading-indicator"
|
|
51
|
+
*/
|
|
52
|
+
loadingVariant?: "loading-indicator" | "circular";
|
|
53
|
+
/** Explicit icon size override in px */
|
|
54
|
+
iconSize?: number | "inherit";
|
|
55
|
+
/** Icon content — typically a single SVG icon component. */
|
|
56
|
+
children: React.ReactNode;
|
|
57
|
+
/**
|
|
58
|
+
* Accessible label — **REQUIRED** because icon buttons have no visible text.
|
|
59
|
+
*
|
|
60
|
+
* @example "Close", "Add to favourites", "Toggle dark mode"
|
|
61
|
+
* @see https://m3.material.io/components/icon-buttons/accessibility
|
|
62
|
+
*/
|
|
63
|
+
"aria-label": string;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Complete `IconButton` props — discriminated union that enforces
|
|
67
|
+
* `selected` is only valid with `variant="toggle"`.
|
|
68
|
+
*
|
|
69
|
+
* @example
|
|
70
|
+
* ```tsx
|
|
71
|
+
* // Standard
|
|
72
|
+
* <IconButton aria-label="Close" onClick={handleClose}>
|
|
73
|
+
* <XIcon />
|
|
74
|
+
* </IconButton>
|
|
75
|
+
*
|
|
76
|
+
* // Toggle
|
|
77
|
+
* <IconButton
|
|
78
|
+
* variant="toggle"
|
|
79
|
+
* selected={isLiked}
|
|
80
|
+
* aria-label={isLiked ? "Unlike" : "Like"}
|
|
81
|
+
* colorStyle="filled"
|
|
82
|
+
* onClick={() => setIsLiked(!isLiked)}
|
|
83
|
+
* >
|
|
84
|
+
* <HeartIcon />
|
|
85
|
+
* </IconButton>
|
|
86
|
+
* ```
|
|
87
|
+
*
|
|
88
|
+
* @see https://m3.material.io/components/icon-buttons/overview
|
|
89
|
+
*/
|
|
90
|
+
type IconButtonProps = BaseIconButtonProps & ({
|
|
91
|
+
variant?: "default";
|
|
92
|
+
selected?: never;
|
|
93
|
+
} | {
|
|
94
|
+
variant: "toggle";
|
|
95
|
+
selected: boolean;
|
|
96
|
+
});
|
|
97
|
+
/**
|
|
98
|
+
* MD3 Expressive Icon Button.
|
|
99
|
+
*
|
|
100
|
+
* An icon-only button with spring shape morphing, ripple effect, loading state support,
|
|
101
|
+
* and an optional toggle variant. Compliant with MD3 Expressive sizing and WCAG 2.5.5
|
|
102
|
+
* (touch target minimum for XS and SM sizes).
|
|
103
|
+
*
|
|
104
|
+
* @remarks
|
|
105
|
+
* - `aria-label` is **required** — icon buttons have no visible text label.
|
|
106
|
+
* - `variant="toggle"` requires `selected: boolean`.
|
|
107
|
+
* - Touch target is automatically extended to 48dp for `xs` and `sm` sizes.
|
|
108
|
+
*
|
|
109
|
+
* @example
|
|
110
|
+
* ```tsx
|
|
111
|
+
* <IconButton aria-label="Close" onClick={handleClose}>
|
|
112
|
+
* <XIcon />
|
|
113
|
+
* </IconButton>
|
|
114
|
+
*
|
|
115
|
+
* <IconButton
|
|
116
|
+
* variant="toggle"
|
|
117
|
+
* selected={isBookmarked}
|
|
118
|
+
* aria-label={isBookmarked ? "Remove bookmark" : "Bookmark"}
|
|
119
|
+
* colorStyle="filled"
|
|
120
|
+
* onClick={toggleBookmark}
|
|
121
|
+
* >
|
|
122
|
+
* <BookmarkIcon />
|
|
123
|
+
* </IconButton>
|
|
124
|
+
* ```
|
|
125
|
+
*
|
|
126
|
+
* @see https://m3.material.io/components/icon-buttons/overview
|
|
127
|
+
*/
|
|
128
|
+
declare const IconButton: React.NamedExoticComponent<(Omit<BaseIconButtonProps & {
|
|
129
|
+
variant?: "default";
|
|
130
|
+
selected?: never;
|
|
131
|
+
}, "ref"> | Omit<BaseIconButtonProps & {
|
|
132
|
+
variant: "toggle";
|
|
133
|
+
selected: boolean;
|
|
134
|
+
}, "ref">) & React.RefAttributes<HTMLButtonElement>>;
|
|
135
|
+
|
|
136
|
+
export { type BaseIconButtonProps as B, IconButton as I, type IconButtonProps as a };
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
import { HTMLMotionProps } from 'motion/react';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* @file icon-button.tsx
|
|
6
|
+
*
|
|
7
|
+
* MD3 Expressive Icon Button component.
|
|
8
|
+
*
|
|
9
|
+
* An icon-only button with shape morphing, ripple effect, loading state,
|
|
10
|
+
* and toggle variant. Requires `aria-label` for accessibility since there
|
|
11
|
+
* is no visible text label.
|
|
12
|
+
*
|
|
13
|
+
* @see https://m3.material.io/components/icon-buttons/overview
|
|
14
|
+
*/
|
|
15
|
+
|
|
16
|
+
type MotionButtonProps = Omit<HTMLMotionProps<"button">, "children" | "color">;
|
|
17
|
+
/**
|
|
18
|
+
* Base props for the Icon Button component.
|
|
19
|
+
*
|
|
20
|
+
* @see {@link IconButtonProps} for the full discriminated union.
|
|
21
|
+
* @see https://m3.material.io/components/icon-buttons/overview
|
|
22
|
+
*/
|
|
23
|
+
interface BaseIconButtonProps extends MotionButtonProps {
|
|
24
|
+
/**
|
|
25
|
+
* Visual color style following MD3 color roles.
|
|
26
|
+
* @default "standard"
|
|
27
|
+
*/
|
|
28
|
+
colorStyle?: "standard" | "filled" | "tonal" | "outlined";
|
|
29
|
+
/**
|
|
30
|
+
* Button container size.
|
|
31
|
+
* Sizes: XS=32dp, SM=40dp, MD=56dp, LG=96dp, XL=136dp.
|
|
32
|
+
* @default "sm"
|
|
33
|
+
*/
|
|
34
|
+
size?: "xs" | "sm" | "md" | "lg" | "xl";
|
|
35
|
+
/**
|
|
36
|
+
* Container shape controlling border-radius morphing.
|
|
37
|
+
* - `round`: fully circular (CornerFull).
|
|
38
|
+
* - `square`: rounded square (CornerMedium–CornerExtraLarge per size).
|
|
39
|
+
* @default "round"
|
|
40
|
+
*/
|
|
41
|
+
shape?: "round" | "square";
|
|
42
|
+
/**
|
|
43
|
+
* When `true`, replaces the icon with an animated loading indicator.
|
|
44
|
+
* Interaction is blocked and `aria-busy` is set.
|
|
45
|
+
* @default false
|
|
46
|
+
*/
|
|
47
|
+
loading?: boolean;
|
|
48
|
+
/**
|
|
49
|
+
* Spinner style shown while `loading={true}`.
|
|
50
|
+
* @default "loading-indicator"
|
|
51
|
+
*/
|
|
52
|
+
loadingVariant?: "loading-indicator" | "circular";
|
|
53
|
+
/** Explicit icon size override in px */
|
|
54
|
+
iconSize?: number | "inherit";
|
|
55
|
+
/** Icon content — typically a single SVG icon component. */
|
|
56
|
+
children: React.ReactNode;
|
|
57
|
+
/**
|
|
58
|
+
* Accessible label — **REQUIRED** because icon buttons have no visible text.
|
|
59
|
+
*
|
|
60
|
+
* @example "Close", "Add to favourites", "Toggle dark mode"
|
|
61
|
+
* @see https://m3.material.io/components/icon-buttons/accessibility
|
|
62
|
+
*/
|
|
63
|
+
"aria-label": string;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Complete `IconButton` props — discriminated union that enforces
|
|
67
|
+
* `selected` is only valid with `variant="toggle"`.
|
|
68
|
+
*
|
|
69
|
+
* @example
|
|
70
|
+
* ```tsx
|
|
71
|
+
* // Standard
|
|
72
|
+
* <IconButton aria-label="Close" onClick={handleClose}>
|
|
73
|
+
* <XIcon />
|
|
74
|
+
* </IconButton>
|
|
75
|
+
*
|
|
76
|
+
* // Toggle
|
|
77
|
+
* <IconButton
|
|
78
|
+
* variant="toggle"
|
|
79
|
+
* selected={isLiked}
|
|
80
|
+
* aria-label={isLiked ? "Unlike" : "Like"}
|
|
81
|
+
* colorStyle="filled"
|
|
82
|
+
* onClick={() => setIsLiked(!isLiked)}
|
|
83
|
+
* >
|
|
84
|
+
* <HeartIcon />
|
|
85
|
+
* </IconButton>
|
|
86
|
+
* ```
|
|
87
|
+
*
|
|
88
|
+
* @see https://m3.material.io/components/icon-buttons/overview
|
|
89
|
+
*/
|
|
90
|
+
type IconButtonProps = BaseIconButtonProps & ({
|
|
91
|
+
variant?: "default";
|
|
92
|
+
selected?: never;
|
|
93
|
+
} | {
|
|
94
|
+
variant: "toggle";
|
|
95
|
+
selected: boolean;
|
|
96
|
+
});
|
|
97
|
+
/**
|
|
98
|
+
* MD3 Expressive Icon Button.
|
|
99
|
+
*
|
|
100
|
+
* An icon-only button with spring shape morphing, ripple effect, loading state support,
|
|
101
|
+
* and an optional toggle variant. Compliant with MD3 Expressive sizing and WCAG 2.5.5
|
|
102
|
+
* (touch target minimum for XS and SM sizes).
|
|
103
|
+
*
|
|
104
|
+
* @remarks
|
|
105
|
+
* - `aria-label` is **required** — icon buttons have no visible text label.
|
|
106
|
+
* - `variant="toggle"` requires `selected: boolean`.
|
|
107
|
+
* - Touch target is automatically extended to 48dp for `xs` and `sm` sizes.
|
|
108
|
+
*
|
|
109
|
+
* @example
|
|
110
|
+
* ```tsx
|
|
111
|
+
* <IconButton aria-label="Close" onClick={handleClose}>
|
|
112
|
+
* <XIcon />
|
|
113
|
+
* </IconButton>
|
|
114
|
+
*
|
|
115
|
+
* <IconButton
|
|
116
|
+
* variant="toggle"
|
|
117
|
+
* selected={isBookmarked}
|
|
118
|
+
* aria-label={isBookmarked ? "Remove bookmark" : "Bookmark"}
|
|
119
|
+
* colorStyle="filled"
|
|
120
|
+
* onClick={toggleBookmark}
|
|
121
|
+
* >
|
|
122
|
+
* <BookmarkIcon />
|
|
123
|
+
* </IconButton>
|
|
124
|
+
* ```
|
|
125
|
+
*
|
|
126
|
+
* @see https://m3.material.io/components/icon-buttons/overview
|
|
127
|
+
*/
|
|
128
|
+
declare const IconButton: React.NamedExoticComponent<(Omit<BaseIconButtonProps & {
|
|
129
|
+
variant?: "default";
|
|
130
|
+
selected?: never;
|
|
131
|
+
}, "ref"> | Omit<BaseIconButtonProps & {
|
|
132
|
+
variant: "toggle";
|
|
133
|
+
selected: boolean;
|
|
134
|
+
}, "ref">) & React.RefAttributes<HTMLButtonElement>>;
|
|
135
|
+
|
|
136
|
+
export { type BaseIconButtonProps as B, IconButton as I, type IconButtonProps as a };
|
package/dist/index.css
ADDED
|
@@ -0,0 +1,309 @@
|
|
|
1
|
+
/* @bug-on/m3-tokens — MD3 System Color Tokens */
|
|
2
|
+
/* MD3 System Color Tokens — Light Theme (Baseline Scheme)
|
|
3
|
+
*
|
|
4
|
+
* Mapping: PaletteTokens → ColorLightTokens → CSS variable
|
|
5
|
+
* Reference: ColorLightTokens.kt, ColorDarkTokens.kt, PaletteTokens.kt
|
|
6
|
+
*/
|
|
7
|
+
:root {
|
|
8
|
+
/* ── Primary ─────────────────────────────────────────────────────────── */
|
|
9
|
+
--md-sys-color-primary: #6750a4; /* Primary40 */
|
|
10
|
+
--md-sys-color-on-primary: #ffffff; /* Primary100 */
|
|
11
|
+
--md-sys-color-primary-container: #eaddff; /* Primary90 */
|
|
12
|
+
--md-sys-color-on-primary-container: #21005d; /* Primary10 */
|
|
13
|
+
--md-sys-color-inverse-primary: #d0bcff; /* Primary80 */
|
|
14
|
+
|
|
15
|
+
/* ── Primary Fixed (stable across light/dark) ────────────────────────── */
|
|
16
|
+
--md-sys-color-primary-fixed: #eaddff; /* Primary90 */
|
|
17
|
+
--md-sys-color-primary-fixed-dim: #d0bcff; /* Primary80 */
|
|
18
|
+
--md-sys-color-on-primary-fixed: #21005d; /* Primary10 */
|
|
19
|
+
--md-sys-color-on-primary-fixed-variant: #4f378b; /* Primary30 */
|
|
20
|
+
|
|
21
|
+
/* ── Secondary ───────────────────────────────────────────────────────── */
|
|
22
|
+
--md-sys-color-secondary: #625b71; /* Secondary40 */
|
|
23
|
+
--md-sys-color-on-secondary: #ffffff; /* Secondary100 */
|
|
24
|
+
--md-sys-color-secondary-container: #e8def8; /* Secondary90 */
|
|
25
|
+
--md-sys-color-on-secondary-container: #1d192b; /* Secondary10 */
|
|
26
|
+
|
|
27
|
+
/* ── Secondary Fixed (stable across light/dark) ──────────────────────── */
|
|
28
|
+
--md-sys-color-secondary-fixed: #e8def8; /* Secondary90 */
|
|
29
|
+
--md-sys-color-secondary-fixed-dim: #ccc2dc; /* Secondary80 */
|
|
30
|
+
--md-sys-color-on-secondary-fixed: #1d192b; /* Secondary10 */
|
|
31
|
+
--md-sys-color-on-secondary-fixed-variant: #4a4458; /* Secondary30 */
|
|
32
|
+
|
|
33
|
+
/* ── Tertiary ────────────────────────────────────────────────────────── */
|
|
34
|
+
--md-sys-color-tertiary: #7d5260; /* Tertiary40 */
|
|
35
|
+
--md-sys-color-on-tertiary: #ffffff; /* Tertiary100 */
|
|
36
|
+
--md-sys-color-tertiary-container: #ffd8e4; /* Tertiary90 */
|
|
37
|
+
--md-sys-color-on-tertiary-container: #31111d; /* Tertiary10 */
|
|
38
|
+
|
|
39
|
+
/* ── Tertiary Fixed (stable across light/dark) ───────────────────────── */
|
|
40
|
+
--md-sys-color-tertiary-fixed: #ffd8e4; /* Tertiary90 */
|
|
41
|
+
--md-sys-color-tertiary-fixed-dim: #efb8c8; /* Tertiary80 */
|
|
42
|
+
--md-sys-color-on-tertiary-fixed: #31111d; /* Tertiary10 */
|
|
43
|
+
--md-sys-color-on-tertiary-fixed-variant: #633b48; /* Tertiary30 */
|
|
44
|
+
|
|
45
|
+
/* ── Error ───────────────────────────────────────────────────────────── */
|
|
46
|
+
--md-sys-color-error: #b3261e; /* Error40 */
|
|
47
|
+
--md-sys-color-on-error: #ffffff; /* Error100 */
|
|
48
|
+
--md-sys-color-error-container: #f9dedc; /* Error90 */
|
|
49
|
+
--md-sys-color-on-error-container: #410e0b; /* Error10 */
|
|
50
|
+
|
|
51
|
+
/* ── Surface ─────────────────────────────────────────────────────────── */
|
|
52
|
+
--md-sys-color-surface: #fef7ff; /* Neutral98 */
|
|
53
|
+
--md-sys-color-on-surface: #1c1b1f; /* Neutral10 */
|
|
54
|
+
--md-sys-color-surface-variant: #e7e0eb; /* NeutralVariant90 */
|
|
55
|
+
--md-sys-color-on-surface-variant: #49454f; /* NeutralVariant30 */
|
|
56
|
+
--md-sys-color-surface-dim: #ded8e1; /* Neutral87 */
|
|
57
|
+
--md-sys-color-surface-bright: #fef7ff; /* Neutral98 */
|
|
58
|
+
--md-sys-color-surface-tint: #6750a4; /* = primary */
|
|
59
|
+
--md-sys-color-surface-container-lowest: #ffffff; /* Neutral100 */
|
|
60
|
+
--md-sys-color-surface-container-low: #f7f2fa; /* Neutral96 */
|
|
61
|
+
--md-sys-color-surface-container: #f3edf7; /* Neutral94 */
|
|
62
|
+
--md-sys-color-surface-container-high: #ece6f0; /* Neutral92 */
|
|
63
|
+
--md-sys-color-surface-container-highest: #e6e0e9; /* Neutral90 */
|
|
64
|
+
|
|
65
|
+
/* ── Inverse Surface ─────────────────────────────────────────────────── */
|
|
66
|
+
--md-sys-color-inverse-surface: #313033; /* Neutral20 */
|
|
67
|
+
--md-sys-color-inverse-on-surface: #f4eff4; /* Neutral95 */
|
|
68
|
+
|
|
69
|
+
/* ── Background ──────────────────────────────────────────────────────── */
|
|
70
|
+
--md-sys-color-background: #fef7ff; /* Neutral98 — same as surface */
|
|
71
|
+
--md-sys-color-on-background: #1c1b1f; /* Neutral10 */
|
|
72
|
+
|
|
73
|
+
/* ── Outline ─────────────────────────────────────────────────────────── */
|
|
74
|
+
--md-sys-color-outline: #79747e; /* NeutralVariant50 */
|
|
75
|
+
--md-sys-color-outline-variant: #cac4d0; /* NeutralVariant80 */
|
|
76
|
+
|
|
77
|
+
/* ── Utility ─────────────────────────────────────────────────────────── */
|
|
78
|
+
--md-sys-color-scrim: #000000; /* Neutral0 */
|
|
79
|
+
--md-sys-color-shadow: #000000; /* Neutral0 */
|
|
80
|
+
|
|
81
|
+
/* ── Indicator tokens — Loading & Progress ───────────────────────────── */
|
|
82
|
+
--md-sys-color-indicator-active: var(--md-sys-color-primary);
|
|
83
|
+
--md-sys-color-indicator-container: var(--md-sys-color-secondary-container);
|
|
84
|
+
--md-sys-color-indicator-contained-active: var(
|
|
85
|
+
--md-sys-color-on-primary-container
|
|
86
|
+
);
|
|
87
|
+
--md-sys-color-indicator-contained-container: var(
|
|
88
|
+
--md-sys-color-primary-container
|
|
89
|
+
);
|
|
90
|
+
--md-sys-color-indicator-track: var(--md-sys-color-surface-variant);
|
|
91
|
+
--md-sys-color-indicator-stop: var(--md-sys-color-primary);
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
/* Dark Theme overrides
|
|
95
|
+
* Mapping: PaletteTokens → ColorDarkTokens → CSS variable
|
|
96
|
+
*/
|
|
97
|
+
[data-theme="dark"],
|
|
98
|
+
.dark {
|
|
99
|
+
/* ── Primary ─────────────────────────────────────────────────────────── */
|
|
100
|
+
--md-sys-color-primary: #d0bcff; /* Primary80 */
|
|
101
|
+
--md-sys-color-on-primary: #381e72; /* Primary20 */
|
|
102
|
+
--md-sys-color-primary-container: #4f378b; /* Primary30 */
|
|
103
|
+
--md-sys-color-on-primary-container: #eaddff; /* Primary90 */
|
|
104
|
+
--md-sys-color-inverse-primary: #6750a4; /* Primary40 */
|
|
105
|
+
|
|
106
|
+
/* ── Secondary ───────────────────────────────────────────────────────── */
|
|
107
|
+
--md-sys-color-secondary: #ccc2dc; /* Secondary80 */
|
|
108
|
+
--md-sys-color-on-secondary: #332d41; /* Secondary20 */
|
|
109
|
+
--md-sys-color-secondary-container: #4a4458; /* Secondary30 */
|
|
110
|
+
--md-sys-color-on-secondary-container: #e8def8; /* Secondary90 */
|
|
111
|
+
|
|
112
|
+
/* ── Tertiary ────────────────────────────────────────────────────────── */
|
|
113
|
+
--md-sys-color-tertiary: #efb8c8; /* Tertiary80 */
|
|
114
|
+
--md-sys-color-on-tertiary: #492532; /* Tertiary20 */
|
|
115
|
+
--md-sys-color-tertiary-container: #633b48; /* Tertiary30 */
|
|
116
|
+
--md-sys-color-on-tertiary-container: #ffd8e4; /* Tertiary90 */
|
|
117
|
+
|
|
118
|
+
/* ── Error ───────────────────────────────────────────────────────────── */
|
|
119
|
+
--md-sys-color-error: #f2b8b5; /* Error80 */
|
|
120
|
+
--md-sys-color-on-error: #601410; /* Error20 */
|
|
121
|
+
--md-sys-color-error-container: #8c1d18; /* Error30 */
|
|
122
|
+
--md-sys-color-on-error-container: #f9dedc; /* Error90 */
|
|
123
|
+
|
|
124
|
+
/* ── Surface ─────────────────────────────────────────────────────────── */
|
|
125
|
+
--md-sys-color-surface: #141218; /* Neutral6 */
|
|
126
|
+
--md-sys-color-on-surface: #e6e1e5; /* Neutral90 */
|
|
127
|
+
--md-sys-color-surface-variant: #49454f; /* NeutralVariant30 */
|
|
128
|
+
--md-sys-color-on-surface-variant: #cac4d0; /* NeutralVariant80 */
|
|
129
|
+
--md-sys-color-surface-dim: #141218; /* Neutral6 */
|
|
130
|
+
--md-sys-color-surface-bright: #3b383e; /* Neutral24 */
|
|
131
|
+
--md-sys-color-surface-tint: #d0bcff; /* = primary (dark) */
|
|
132
|
+
--md-sys-color-surface-container-lowest: #0f0d13; /* Neutral4 */
|
|
133
|
+
--md-sys-color-surface-container-low: #1d1b20; /* Neutral10 */
|
|
134
|
+
--md-sys-color-surface-container: #211f26; /* Neutral12 */
|
|
135
|
+
--md-sys-color-surface-container-high: #2b2930; /* Neutral17 */
|
|
136
|
+
--md-sys-color-surface-container-highest: #36343b; /* Neutral22 */
|
|
137
|
+
|
|
138
|
+
/* ── Inverse Surface ─────────────────────────────────────────────────── */
|
|
139
|
+
--md-sys-color-inverse-surface: #e6e1e5; /* Neutral90 */
|
|
140
|
+
--md-sys-color-inverse-on-surface: #313033; /* Neutral20 */
|
|
141
|
+
|
|
142
|
+
/* ── Background ──────────────────────────────────────────────────────── */
|
|
143
|
+
--md-sys-color-background: #141218; /* Neutral6 — same as dark surface */
|
|
144
|
+
--md-sys-color-on-background: #e6e1e5; /* Neutral90 */
|
|
145
|
+
|
|
146
|
+
/* ── Outline ─────────────────────────────────────────────────────────── */
|
|
147
|
+
--md-sys-color-outline: #938f99; /* NeutralVariant60 */
|
|
148
|
+
--md-sys-color-outline-variant: #49454f; /* NeutralVariant30 */
|
|
149
|
+
|
|
150
|
+
/* ── Utility ─────────────────────────────────────────────────────────── */
|
|
151
|
+
--md-sys-color-scrim: #000000;
|
|
152
|
+
--md-sys-color-shadow: #000000;
|
|
153
|
+
|
|
154
|
+
/* ── Indicator tokens — Dark ─────────────────────────────────────────── */
|
|
155
|
+
--md-sys-color-indicator-active: var(--md-sys-color-primary);
|
|
156
|
+
--md-sys-color-indicator-container: var(--md-sys-color-secondary-container);
|
|
157
|
+
--md-sys-color-indicator-contained-active: var(
|
|
158
|
+
--md-sys-color-on-primary-container
|
|
159
|
+
);
|
|
160
|
+
--md-sys-color-indicator-contained-container: var(
|
|
161
|
+
--md-sys-color-primary-container
|
|
162
|
+
);
|
|
163
|
+
--md-sys-color-indicator-track: var(--md-sys-color-surface-variant);
|
|
164
|
+
--md-sys-color-indicator-stop: var(--md-sys-color-primary);
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
:root {
|
|
168
|
+
/* ── MD3 Expressive Corner Radius Scale (10 levels) ─────────────────────── */
|
|
169
|
+
/* Source: https://m3.material.io/styles/shape/corner-radius-scale */
|
|
170
|
+
|
|
171
|
+
--md-sys-shape-corner-none: 0px;
|
|
172
|
+
--md-sys-shape-corner-extra-small: 4px;
|
|
173
|
+
--md-sys-shape-corner-small: 8px;
|
|
174
|
+
--md-sys-shape-corner-medium: 12px;
|
|
175
|
+
--md-sys-shape-corner-large: 16px;
|
|
176
|
+
/* New in M3 Expressive (May 2025) */
|
|
177
|
+
--md-sys-shape-corner-large-increased: 20px;
|
|
178
|
+
--md-sys-shape-corner-extra-large: 28px;
|
|
179
|
+
/* New in M3 Expressive (May 2025) */
|
|
180
|
+
--md-sys-shape-corner-extra-large-increased: 32px;
|
|
181
|
+
/* New in M3 Expressive (May 2025) */
|
|
182
|
+
--md-sys-shape-corner-extra-extra-large: 48px;
|
|
183
|
+
--md-sys-shape-corner-full: 9999px;
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
|
|
187
|
+
/* @bug-on/m3-expressive — Component Base Reset & Source Scan Configuration */
|
|
188
|
+
@source "./**/*.{js,mjs}";
|
|
189
|
+
/* @bug-on/m3-expressive - Base Reset Styles */
|
|
190
|
+
|
|
191
|
+
/**
|
|
192
|
+
* Hide default browser UI elements that conflict with MD3 custom UI.
|
|
193
|
+
* - Hide search clear/decoration buttons in WebKit/Blink (Chrome, Safari, Edge).
|
|
194
|
+
* - Hide IE/Edge specific clear and reveal (password) buttons.
|
|
195
|
+
*/
|
|
196
|
+
|
|
197
|
+
/* Hide default search clear button and related decorations */
|
|
198
|
+
input[type="search"]::-webkit-search-decoration,
|
|
199
|
+
input[type="search"]::-webkit-search-cancel-button,
|
|
200
|
+
input[type="search"]::-webkit-search-results-button,
|
|
201
|
+
input[type="search"]::-webkit-search-results-decoration {
|
|
202
|
+
-webkit-appearance: none;
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
/* Hide IE/Edge clear and reveal (password toggle) buttons */
|
|
206
|
+
input::-ms-clear,
|
|
207
|
+
input::-ms-reveal {
|
|
208
|
+
display: none;
|
|
209
|
+
width: 0;
|
|
210
|
+
height: 0;
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
|
|
214
|
+
/* @bug-on/m3-expressive — Tailwind v4 Theme Registration */
|
|
215
|
+
/* Registers MD3 tokens as Tailwind utilities. No manual @theme mapping needed. */
|
|
216
|
+
@theme {
|
|
217
|
+
/* ── Colors: Primary ── */
|
|
218
|
+
--color-m3-primary: var(--md-sys-color-primary);
|
|
219
|
+
--color-m3-on-primary: var(--md-sys-color-on-primary);
|
|
220
|
+
--color-m3-primary-container: var(--md-sys-color-primary-container);
|
|
221
|
+
--color-m3-on-primary-container: var(--md-sys-color-on-primary-container);
|
|
222
|
+
--color-m3-primary-fixed: var(--md-sys-color-primary-fixed);
|
|
223
|
+
--color-m3-primary-fixed-dim: var(--md-sys-color-primary-fixed-dim);
|
|
224
|
+
--color-m3-on-primary-fixed: var(--md-sys-color-on-primary-fixed);
|
|
225
|
+
--color-m3-on-primary-fixed-variant: var(--md-sys-color-on-primary-fixed-variant);
|
|
226
|
+
|
|
227
|
+
/* ── Colors: Secondary ── */
|
|
228
|
+
--color-m3-secondary: var(--md-sys-color-secondary);
|
|
229
|
+
--color-m3-on-secondary: var(--md-sys-color-on-secondary);
|
|
230
|
+
--color-m3-secondary-container: var(--md-sys-color-secondary-container);
|
|
231
|
+
--color-m3-on-secondary-container: var(--md-sys-color-on-secondary-container);
|
|
232
|
+
--color-m3-secondary-fixed: var(--md-sys-color-secondary-fixed);
|
|
233
|
+
--color-m3-secondary-fixed-dim: var(--md-sys-color-secondary-fixed-dim);
|
|
234
|
+
--color-m3-on-secondary-fixed: var(--md-sys-color-on-secondary-fixed);
|
|
235
|
+
--color-m3-on-secondary-fixed-variant: var(--md-sys-color-on-secondary-fixed-variant);
|
|
236
|
+
|
|
237
|
+
/* ── Colors: Tertiary ── */
|
|
238
|
+
--color-m3-tertiary: var(--md-sys-color-tertiary);
|
|
239
|
+
--color-m3-on-tertiary: var(--md-sys-color-on-tertiary);
|
|
240
|
+
--color-m3-tertiary-container: var(--md-sys-color-tertiary-container);
|
|
241
|
+
--color-m3-on-tertiary-container: var(--md-sys-color-on-tertiary-container);
|
|
242
|
+
--color-m3-tertiary-fixed: var(--md-sys-color-tertiary-fixed);
|
|
243
|
+
--color-m3-tertiary-fixed-dim: var(--md-sys-color-tertiary-fixed-dim);
|
|
244
|
+
--color-m3-on-tertiary-fixed: var(--md-sys-color-on-tertiary-fixed);
|
|
245
|
+
--color-m3-on-tertiary-fixed-variant: var(--md-sys-color-on-tertiary-fixed-variant);
|
|
246
|
+
|
|
247
|
+
/* ── Colors: Error ── */
|
|
248
|
+
--color-m3-error: var(--md-sys-color-error);
|
|
249
|
+
--color-m3-on-error: var(--md-sys-color-on-error);
|
|
250
|
+
--color-m3-error-container: var(--md-sys-color-error-container);
|
|
251
|
+
--color-m3-on-error-container: var(--md-sys-color-on-error-container);
|
|
252
|
+
|
|
253
|
+
/* ── Colors: Surface ── */
|
|
254
|
+
--color-m3-surface: var(--md-sys-color-surface);
|
|
255
|
+
--color-m3-surface-dim: var(--md-sys-color-surface-dim);
|
|
256
|
+
--color-m3-surface-bright: var(--md-sys-color-surface-bright);
|
|
257
|
+
--color-m3-on-surface: var(--md-sys-color-on-surface);
|
|
258
|
+
--color-m3-surface-variant: var(--md-sys-color-surface-variant);
|
|
259
|
+
--color-m3-on-surface-variant: var(--md-sys-color-on-surface-variant);
|
|
260
|
+
--color-m3-surface-container-lowest: var(--md-sys-color-surface-container-lowest);
|
|
261
|
+
--color-m3-surface-container-low: var(--md-sys-color-surface-container-low);
|
|
262
|
+
--color-m3-surface-container: var(--md-sys-color-surface-container);
|
|
263
|
+
--color-m3-surface-container-high: var(--md-sys-color-surface-container-high);
|
|
264
|
+
--color-m3-surface-container-highest: var(--md-sys-color-surface-container-highest);
|
|
265
|
+
|
|
266
|
+
/* ── Colors: Inverse ── */
|
|
267
|
+
--color-m3-inverse-surface: var(--md-sys-color-inverse-surface);
|
|
268
|
+
--color-m3-inverse-on-surface: var(--md-sys-color-inverse-on-surface);
|
|
269
|
+
--color-m3-inverse-primary: var(--md-sys-color-inverse-primary);
|
|
270
|
+
|
|
271
|
+
/* ── Colors: Outline / Shadow / Scrim ── */
|
|
272
|
+
--color-m3-outline: var(--md-sys-color-outline);
|
|
273
|
+
--color-m3-outline-variant: var(--md-sys-color-outline-variant);
|
|
274
|
+
--color-m3-shadow: var(--md-sys-color-shadow);
|
|
275
|
+
--color-m3-scrim: var(--md-sys-color-scrim);
|
|
276
|
+
--color-m3-surface-tint: var(--md-sys-color-surface-tint);
|
|
277
|
+
|
|
278
|
+
/* ── Colors: Background ── */
|
|
279
|
+
--color-m3-background: var(--md-sys-color-background);
|
|
280
|
+
--color-m3-on-background: var(--md-sys-color-on-background);
|
|
281
|
+
|
|
282
|
+
/* ── Colors: Navigation Indicator ── */
|
|
283
|
+
--color-m3-indicator-active: var(--md-sys-color-indicator-active);
|
|
284
|
+
--color-m3-indicator-container: var(--md-sys-color-indicator-container);
|
|
285
|
+
--color-m3-indicator-contained-active: var(--md-sys-color-indicator-contained-active);
|
|
286
|
+
--color-m3-indicator-contained-container: var(--md-sys-color-indicator-contained-container);
|
|
287
|
+
--color-m3-indicator-track: var(--md-sys-color-indicator-track);
|
|
288
|
+
--color-m3-indicator-stop: var(--md-sys-color-indicator-stop);
|
|
289
|
+
|
|
290
|
+
/* ── Shape: Corner Radius Scale (10 levels, M3 Expressive) ── */
|
|
291
|
+
--radius-m3-none: var(--md-sys-shape-corner-none, 0px);
|
|
292
|
+
--radius-m3-xs: var(--md-sys-shape-corner-extra-small, 4px);
|
|
293
|
+
--radius-m3-sm: var(--md-sys-shape-corner-small, 8px);
|
|
294
|
+
--radius-m3-md: var(--md-sys-shape-corner-medium, 12px);
|
|
295
|
+
--radius-m3-lg: var(--md-sys-shape-corner-large, 16px);
|
|
296
|
+
--radius-m3-lg-inc: var(--md-sys-shape-corner-large-increased, 20px);
|
|
297
|
+
--radius-m3-xl: var(--md-sys-shape-corner-extra-large, 28px);
|
|
298
|
+
--radius-m3-xl-inc: var(--md-sys-shape-corner-extra-large-increased, 32px);
|
|
299
|
+
--radius-m3-xxl: var(--md-sys-shape-corner-extra-extra-large, 48px);
|
|
300
|
+
--radius-m3-full: var(--md-sys-shape-corner-full, 9999px);
|
|
301
|
+
|
|
302
|
+
/* ── Motion Easing ── */
|
|
303
|
+
--ease-m3-emphasized: cubic-bezier(0.2, 0, 0, 1);
|
|
304
|
+
--ease-m3-emphasized-accelerate: cubic-bezier(0.3, 0, 0.8, 0.15);
|
|
305
|
+
--ease-m3-emphasized-decelerate: cubic-bezier(0.05, 0.7, 0.1, 1);
|
|
306
|
+
--ease-m3-standard: cubic-bezier(0.2, 0, 0, 1);
|
|
307
|
+
--ease-m3-standard-accelerate: cubic-bezier(0.3, 0, 1, 1);
|
|
308
|
+
--ease-m3-standard-decelerate: cubic-bezier(0, 0, 0, 1);
|
|
309
|
+
}
|
package/dist/index.d.mts
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export { Icon, IconProps, MD3ColorScheme, MD3ThemeProvider, MD3ThemeProviderProps, MaterialSymbolsPreconnect, Ripple, RippleOrigin, RippleProps, ThemeMode, UseRippleStateOptions, applyTheme, cn, generateM3Theme, resolveMode, useDOMRipple, useMediaQuery, useRipple, useRippleState, useTheme, useThemeMode } from './core.mjs';
|
|
2
|
+
export { ANGLE_EPSILON, CornerFeature, CornerRounding, Cubic, CubicPair, DISTANCE_EPSILON, DoubleMapper, EdgeFeature, FLOAT_PI, Feature, MD3CornerRadius, MD3CornerRadiusToken, MD3ShapeName, MD3Shapes, MeasuredCubic, MeasuredFeature, MeasuredPolygon, Morph, MorphTrigger, MutableCubic, Point, PointTransformer, RoundedPolygon, ShapeIcon, ShapeIconProps, ShapeMedia, ShapeMediaProps, ShapeMediaServer, ShapeMorphOptions, ShapeRef, ShapeSvg, ShapeSvgProps, UNROUNDED, UseShapeMorphResult, addPoints, circle, clockwise, convex, cornerFeature, cornerRounding, createDoubleMapper, directionVector, distance, distanceSquared, dividePoint, dotProduct, edgeFeature, featureMapper, getDirection, getDistance, getDistanceSquared, interpolate, interpolatePath, lerpPoint, pill, pillStar, point, positiveModulo, radialToCartesian, rectangle, rotate90, scalePoint, square, star, subtractPoints, toClipPath, toSvgPath, transformFeature, transformPoint, useShapeMorph } from './shapes.mjs';
|
|
3
|
+
export { M as MD3ColorStyle, a as MD3Shape, b as MD3Size, P as PolymorphicProps, c as PolymorphicRef } from './md3-DFhj-NZj.mjs';
|
|
4
|
+
export { APP_BAR_BOTTOM_SPRING, APP_BAR_COLORS, APP_BAR_COLOR_TRANSITION, APP_BAR_ENTER_ALWAYS_SPRING, APP_BAR_TITLE_FADE, AppBarColors, AppBarColumn, AppBarColumnProps, AppBarItem, AppBarItemType, AppBarMenuState, AppBarOverflowIndicator, AppBarOverflowIndicatorProps, AppBarRow, AppBarRowProps, AppBarScrollBehavior, AppBarTokens, BaseAppBarProps, BottomAppBar, BottomAppBarProps, BottomDockedToolbar, BottomDockedToolbarProps, CHECK_ICON_VARIANTS, ContextMenu, ContextMenuContent, ContextMenuContentProps, ContextMenuProps, ContextMenuTrigger, ContextMenuTriggerProps, DIVIDER_COLOR, DIVIDER_PADDING, DockedToolbar, DockedToolbarProps, FAST_EFFECTS_TRANSITION, FAST_SPATIAL_SPRING, FlexibleAppBarProps, FloatingToolbarColors, FloatingToolbarProps, FloatingToolbarScrollBehavior, FloatingToolbarWithFabProps, GROUP_SHAPES, HorizontalFloatingToolbar, HorizontalFloatingToolbarWithFab, ITEM_SHAPE_CLASSES, LargeFlexibleAppBar, MENU_CHECK_ICON_SIZE, MENU_CONTAINER_VARIANTS, MENU_GROUP_GAP, MENU_ICON_SIZE, MENU_ITEM_MIN_HEIGHT, MENU_MAX_WIDTH, MENU_MIN_WIDTH, MediumFlexibleAppBar, Menu, MenuColorVariant, MenuContent, MenuContentProps, MenuDivider, MenuDividerProps, MenuGroup, MenuGroupPosition, MenuGroupProps, MenuItem, MenuItemPosition, MenuItemProps, MenuPrimitive, MenuProps, MenuProvider, MenuTrigger, MenuTriggerProps, MenuVariant, NavigationBar, NavigationBarItem, NavigationBarItemLayout, NavigationBarItemProps, NavigationBarProps, NavigationBarVariant, NavigationRail, NavigationRailItem, NavigationRailItemProps, NavigationRailLabelVisibility, NavigationRailProps, NavigationRailVariant, SEARCH_BAR_EXPAND_SPRING, SEARCH_COLORS, SEARCH_DOCKED_REVEAL_SPRING, SEARCH_FULLSCREEN_SPRING, SEARCH_TYPOGRAPHY, SEARCH_VIEW_SPRING, STANDARD_COLORS, SUBMENU_CONTAINER_VARIANTS, Search, SearchAppBar, SearchAppBarProps, SearchBar, SearchBarVariant, SearchProps, SearchStyleType, SearchTokens, SearchVariant, SearchView, SearchViewContainer, SearchViewDocked, SearchViewFullScreen, SearchViewProps, SmallAppBar, SmallAppBarProps, SubMenu, SubMenuProps, Tab, TabProps, Tabs, TabsColors, TabsContent, TabsContentProps, TabsList, TabsListProps, TabsProps, TabsTokens, TabsVariant, TitleAlignment, ToolbarDivider, ToolbarDividerProps, ToolbarDividerTokens, ToolbarIconButton, ToolbarIconButtonProps, ToolbarIconButtonSize, ToolbarIconButtonTokens, ToolbarIconButtonVariant, UseAppBarScrollReturn, UseFloatingToolbarScrollBehaviorOptions, VIBRANT_COLORS, VerticalFloatingToolbar, VerticalFloatingToolbarWithFab, VerticalMenu, VerticalMenuContent, VerticalMenuContentProps, VerticalMenuDivider, VerticalMenuDividerProps, VerticalMenuGroup, VerticalMenuGroupProps, VerticalMenuProps, VerticalMenuSeparatorStyle, appBarTypography, standardFloatingToolbarColors, useAppBarScroll, useFloatingToolbarScrollBehavior, useMenuContext, useSearchKeyboard, vibrantFloatingToolbarColors } from './navigation.mjs';
|
|
5
|
+
export { Badge, BadgeProps, BadgedBox, BadgedBoxProps, CaretConfig, CircularProgressProps, LinearProgressProps, LoadingIndicator, LoadingIndicatorProps, PlainTooltip, PlainTooltipProps, ProgressIndicator, ProgressIndicatorProps, RichTooltip, RichTooltipProps, Snackbar, SnackbarData, SnackbarDuration, SnackbarHost, SnackbarHostProps, SnackbarProps, SnackbarProvider, SnackbarResult, SnackbarVisuals, TooltipBox, TooltipBoxProps, TooltipCaretShape, TooltipPlacement, TooltipState, TooltipStateConfig, TooltipTokens, TooltipTrigger, UseSnackbarStateReturn, useSnackbar, useSnackbarState, useTooltipPosition, useTooltipState } from './feedback.mjs';
|
|
6
|
+
export { B as BUTTON_COLOR_TOKENS, a as BUTTON_SIZE_TOKENS, b as BaseButtonProps, c as Button, d as ButtonGroup, e as ButtonGroupOrientation, f as ButtonGroupProps, g as ButtonGroupVariant, h as ButtonProps, E as ElevatedSplitButtonLeading, i as ElevatedSplitButtonTrailing, j as ElevatedSplitButtonTrailingUncheckable, k as ExtendedFAB, l as ExtendedFABProps, F as FAB, m as FABMenu, n as FABMenuItem, o as FABMenuItemData, p as FABMenuItemProps, q as FABMenuProps, r as FABPosition, s as FABPositionProps, t as FABProps, u as FilledSplitButtonLeading, v as FilledSplitButtonTrailing, w as FilledSplitButtonTrailingUncheckable, O as OutlinedSplitButtonLeading, x as OutlinedSplitButtonTrailing, y as OutlinedSplitButtonTrailingUncheckable, S as SplitButtonLayout, z as SplitButtonLayoutProps, A as SplitButtonLeading, C as SplitButtonLeadingProps, D as SplitButtonSize, G as SplitButtonTrailing, H as SplitButtonTrailingProps, I as SplitButtonTrailingUncheckable, J as SplitButtonTrailingUncheckableProps, K as SplitButtonVariant, T as ToggleFAB, L as ToggleFABProps, M as TonalSplitButtonLeading, N as TonalSplitButtonTrailing, P as TonalSplitButtonTrailingUncheckable } from './split-button-trailing-uncheckable-MXj_kyNt.mjs';
|
|
7
|
+
export { B as BaseIconButtonProps, I as IconButton, a as IconButtonProps } from './icon-button-D-gs0gfj.mjs';
|
|
8
|
+
export { Card, CardProps, CodeBlock, CodeBlockProps, Divider, DividerProps, LIST_TOKENS, List, ListContext, ListDivider, ListDividerProps, ListItem, ListItemLeadingType, ListItemProps, ListItemTrailingType, ListProps, ListSelectionMode, ListStyle, ListVariant, TableOfContents, TableOfContentsProps, Text, TextProps, ToCItem, TypeScaleTokens, TypeScaleTokensType, buildWavePath, getExpressiveShape, getListItemHeight, shouldTopAlign, useListContext } from './layout.mjs';
|
|
9
|
+
export { C as Checkbox, a as CheckboxProps, b as CheckboxState, c as Chip, d as ChipProps, R as RadioButton, e as RadioButtonColors, f as RadioButtonProps, g as RadioGroup, h as RadioGroupProps, i as RangeSlider, j as RangeSliderProps, S as Slider, k as SliderColors, l as SliderOrientation, m as SliderProps, n as SliderTokens, o as SliderTrackSize, p as SliderVariant, q as Switch, r as SwitchColors, s as SwitchProps, t as SwitchTokens, T as TextField, u as TextFieldHandle, v as TextFieldInputType, w as TextFieldProps, x as TextFieldTrailingIconMode, y as TextFieldVariant, z as TriStateCheckbox, A as TriStateCheckboxProps } from './text-field-eAIpz9z1.mjs';
|
|
10
|
+
export { DP_CLASSES, DP_COLORS, DP_SHAPE, DP_SIZE, DateLocale, DatePicker, DatePickerDialog, DatePickerDialogProps, DatePickerInput, DatePickerInputProps, DatePickerProps, DatePickerState, DateRange, DateRangePicker, DateRangePickerProps, DateRangePickerState, DisplayMode, SelectableDates, TP_CLASSES, TP_COLORS, TP_SHAPE, TP_SIZE, TimeInput, TimeInputProps, TimePicker, TimePickerDialog, TimePickerDialogProps, TimePickerLayout, TimePickerProps, TimePickerSelectionMode, TimePickerState, UseDatePickerStateOptions, UseDateRangePickerStateOptions, UseTimePickerStateOptions, useDatePickerState, useDateRangePickerState, useTimePickerState } from './pickers.mjs';
|
|
11
|
+
export { B as BaseSheetProps, a as BottomSheet, b as BottomSheetHandle, c as BottomSheetModal, d as BottomSheetModalProps, e as BottomSheetProps, f as BottomSheetSnapPoint, D as Dialog, g as DialogBody, h as DialogClose, i as DialogContent, j as DialogContentProps, k as DialogDescription, l as DialogFooter, m as DialogFullScreenContent, n as DialogFullScreenContentProps, o as DialogHeader, p as DialogIcon, q as DialogOverlay, r as DialogPortal, s as DialogProps, t as DialogTitle, u as DialogTrigger, v as DragHandle, w as DragHandleProps, x as Drawer, y as DrawerClose, z as DrawerContent, A as DrawerContentProps, C as DrawerDescription, E as DrawerFooter, F as DrawerHeader, G as DrawerOverlay, H as DrawerPortal, I as DrawerProps, J as DrawerTitle, K as DrawerTrigger, S as Scrim, L as ScrimProps, M as SheetEdge, N as SheetState, O as SideSheet, P as SideSheetModal, Q as SideSheetModalProps, R as SideSheetProps, U as UseBottomSheetOptions, T as UseBottomSheetReturn, V as useBottomSheet } from './side-sheet-modal-BY6VCC8p.mjs';
|
|
12
|
+
export { S as ScrollArea, a as ScrollAreaOrientation, b as ScrollAreaProps, c as ScrollAreaScrollbar, d as ScrollAreaType } from './scroll-area-CVS6HyLl.mjs';
|
|
13
|
+
export { M as MD3_EXPRESSIVE_FONT_VARIATION, T as TextStyle, a as Typography, b as TypographyContext, c as TypographyKeyTokens, d as TypographyProvider, e as TypographyProviderProps, f as TypographyTokens, u as useTypography } from './typography-339RV6v7.mjs';
|
|
14
|
+
import 'react';
|
|
15
|
+
import 'react/jsx-runtime';
|
|
16
|
+
import 'clsx';
|
|
17
|
+
import 'motion';
|
|
18
|
+
import '@radix-ui/react-context-menu';
|
|
19
|
+
import '@radix-ui/react-dropdown-menu';
|
|
20
|
+
import 'motion/react';
|
|
21
|
+
import 'class-variance-authority/types';
|
|
22
|
+
import 'class-variance-authority';
|
|
23
|
+
import '@radix-ui/react-dialog';
|
|
24
|
+
import '@radix-ui/react-scroll-area';
|