@bug-on/m3-expressive 1.0.0 → 1.2.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 +41 -2
- package/README.md +20 -18
- package/dist/assets/material-symbols-self-hosted.css +27 -26
- package/dist/buttons.d.mts +2 -2
- package/dist/buttons.d.ts +2 -2
- package/dist/buttons.js +30 -1
- package/dist/buttons.js.map +1 -1
- package/dist/buttons.mjs +30 -1
- package/dist/buttons.mjs.map +1 -1
- package/dist/core-Bc5Wj_pc.d.ts +497 -0
- package/dist/core-D4048_K5.d.mts +497 -0
- package/dist/core.d.mts +6 -422
- package/dist/core.d.ts +6 -422
- package/dist/core.js +137 -68
- package/dist/core.js.map +1 -1
- package/dist/core.mjs +138 -69
- package/dist/core.mjs.map +1 -1
- package/dist/feedback.d.mts +54 -54
- package/dist/feedback.d.ts +54 -54
- package/dist/feedback.js.map +1 -1
- package/dist/feedback.mjs.map +1 -1
- package/dist/index.css +9 -1
- package/dist/index.d.mts +66 -4
- package/dist/index.d.ts +66 -4
- package/dist/index.js +214 -94
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +214 -95
- package/dist/index.mjs.map +1 -1
- package/dist/layout.d.mts +40 -40
- package/dist/layout.d.ts +40 -40
- package/dist/layout.js +34 -5
- package/dist/layout.js.map +1 -1
- package/dist/layout.mjs +34 -5
- package/dist/layout.mjs.map +1 -1
- package/dist/material-symbols-self-hosted.css +27 -26
- package/dist/{md3-DFhj-NZj.d.mts → md3-Dty-Qcad.d.mts} +7 -1
- package/dist/{md3-DFhj-NZj.d.ts → md3-Dty-Qcad.d.ts} +7 -1
- package/dist/navigation.js.map +1 -1
- package/dist/navigation.mjs.map +1 -1
- package/dist/overlays.d.mts +2 -2
- package/dist/overlays.d.ts +2 -2
- package/dist/overlays.js +2 -2
- package/dist/overlays.js.map +1 -1
- package/dist/overlays.mjs +2 -2
- package/dist/overlays.mjs.map +1 -1
- package/dist/pickers.d.mts +241 -243
- package/dist/pickers.d.ts +241 -243
- package/dist/pickers.js +1 -1
- package/dist/pickers.js.map +1 -1
- package/dist/pickers.mjs +1 -1
- package/dist/pickers.mjs.map +1 -1
- package/dist/{side-sheet-modal-BY6VCC8p.d.mts → side-sheet-modal-64FGhDxL.d.mts} +20 -21
- package/dist/{side-sheet-modal-CglP6KYA.d.ts → side-sheet-modal-Bd5Qqvp9.d.ts} +20 -21
- package/dist/{split-button-trailing-uncheckable-C5CLCIKP.d.ts → split-button-trailing-uncheckable-BkPbiBo3.d.ts} +169 -152
- package/dist/{split-button-trailing-uncheckable-MXj_kyNt.d.mts → split-button-trailing-uncheckable-D_PLPb-u.d.mts} +169 -152
- package/dist/typography.css +5 -0
- package/package.json +5 -5
package/CHANGELOG.md
CHANGED
|
@@ -1,16 +1,41 @@
|
|
|
1
1
|
# @bug-on/m3-expressive
|
|
2
2
|
|
|
3
|
+
## 1.2.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- fffe0ac: Color system upgrade to Exxpressive
|
|
8
|
+
|
|
9
|
+
### Patch Changes
|
|
10
|
+
|
|
11
|
+
- Updated dependencies [fffe0ac]
|
|
12
|
+
- @bug-on/m3-tailwind@1.2.0
|
|
13
|
+
- @bug-on/m3-tokens@1.2.0
|
|
14
|
+
|
|
15
|
+
## 1.1.0
|
|
16
|
+
|
|
17
|
+
### Minor Changes
|
|
18
|
+
|
|
19
|
+
- 72c3aec: Standardize the language, rewrite the instruction manual, and address known minor issues.
|
|
20
|
+
|
|
21
|
+
### Patch Changes
|
|
22
|
+
|
|
23
|
+
- Updated dependencies [72c3aec]
|
|
24
|
+
- @bug-on/m3-tailwind@1.1.0
|
|
25
|
+
- @bug-on/m3-tokens@1.1.0
|
|
26
|
+
|
|
3
27
|
## 1.0.0
|
|
4
28
|
|
|
5
29
|
### 🎉 Initial Release
|
|
6
30
|
|
|
7
|
-
First stable release of **@bug-on/m3-expressive** — Material Design 3 Expressive React component library by Bug
|
|
31
|
+
First stable release of **@bug-on/m3-expressive** — Material Design 3 Expressive React component library by Bug On.
|
|
8
32
|
|
|
9
|
-
> **Note:** This package was previously published as `@bug-on/
|
|
33
|
+
> **Note:** This package was previously published as `@bug-on/m3-expressive`. All functionality has been carried over with a fresh version reset.
|
|
10
34
|
|
|
11
35
|
#### Components
|
|
12
36
|
|
|
13
37
|
**Buttons**
|
|
38
|
+
|
|
14
39
|
- `Button` — Filled, Outlined, Tonal, Elevated, Text variants
|
|
15
40
|
- `IconButton` — Standard, Filled, Tonal, Outlined variants with toggle support
|
|
16
41
|
- `FAB` — Floating Action Button (Small, Medium, Large)
|
|
@@ -20,6 +45,7 @@ First stable release of **@bug-on/m3-expressive** — Material Design 3 Expressi
|
|
|
20
45
|
- `ButtonGroup` — Grouped buttons with shared styling
|
|
21
46
|
|
|
22
47
|
**Forms & Inputs**
|
|
48
|
+
|
|
23
49
|
- `TextField` — Filled and Outlined variants with leading/trailing icons
|
|
24
50
|
- `Checkbox` — Standard and TriState checkbox
|
|
25
51
|
- `RadioButton` — Radio button with MD3 styling
|
|
@@ -27,12 +53,14 @@ First stable release of **@bug-on/m3-expressive** — Material Design 3 Expressi
|
|
|
27
53
|
- `Slider` / `RangeSlider` — Single and range slider with discrete/continuous modes
|
|
28
54
|
|
|
29
55
|
**Navigation**
|
|
56
|
+
|
|
30
57
|
- `NavigationBar` — Bottom navigation bar with animated icons
|
|
31
58
|
- `NavigationRail` — Side navigation rail
|
|
32
59
|
- `Tabs` / `Tab` / `TabsList` / `TabsContent` — Primary and Secondary tab variants
|
|
33
60
|
- `Drawer` — Navigation drawer (standard, modal)
|
|
34
61
|
|
|
35
62
|
**Feedback**
|
|
63
|
+
|
|
36
64
|
- `Dialog` — Alert and full-screen dialog
|
|
37
65
|
- `Snackbar` / `SnackbarProvider` / `useSnackbar` — Toast notifications
|
|
38
66
|
- `ProgressIndicator` — Linear and Circular (determinate, indeterminate, wavy)
|
|
@@ -40,6 +68,7 @@ First stable release of **@bug-on/m3-expressive** — Material Design 3 Expressi
|
|
|
40
68
|
- `Tooltip` — Plain and Rich tooltip with caret
|
|
41
69
|
|
|
42
70
|
**Layout & Surfaces**
|
|
71
|
+
|
|
43
72
|
- `Card` — Elevated, Filled, Outlined variants
|
|
44
73
|
- `Divider` — Full-width and inset dividers
|
|
45
74
|
- `List` / `ListItem` / `ListDivider` — Lists with leading/trailing elements
|
|
@@ -47,12 +76,14 @@ First stable release of **@bug-on/m3-expressive** — Material Design 3 Expressi
|
|
|
47
76
|
- `SideSheet` / `BottomSheet` — Sheet overlays
|
|
48
77
|
|
|
49
78
|
**App Bars & Toolbars**
|
|
79
|
+
|
|
50
80
|
- `SmallAppBar` / `MediumFlexibleAppBar` / `LargeFlexibleAppBar` — Top app bars
|
|
51
81
|
- `BottomAppBar` — Bottom app bar with FAB integration
|
|
52
82
|
- `SearchAppBar` / `SearchView` — Expandable search
|
|
53
83
|
- `Toolbar` / `FloatingToolbar` / `DockedToolbar` — Contextual toolbars
|
|
54
84
|
|
|
55
85
|
**Data & Display**
|
|
86
|
+
|
|
56
87
|
- `Badge` / `BadgedBox` — Notification badges
|
|
57
88
|
- `Chip` — Assist, Filter, Input, Suggestion variants
|
|
58
89
|
- `Icon` — Material Symbols integration with fill/weight/grade/size control
|
|
@@ -60,44 +91,52 @@ First stable release of **@bug-on/m3-expressive** — Material Design 3 Expressi
|
|
|
60
91
|
- `CodeBlock` — Code display with syntax highlighting
|
|
61
92
|
|
|
62
93
|
**Date & Time Pickers**
|
|
94
|
+
|
|
63
95
|
- `DatePicker` / `DatePickerDialog` / `DatePickerInput` — Date selection
|
|
64
96
|
- `DateRangePicker` — Date range selection
|
|
65
97
|
- `TimePicker` / `TimePickerDialog` / `TimeInput` — Time selection
|
|
66
98
|
|
|
67
99
|
**Shapes & Media**
|
|
100
|
+
|
|
68
101
|
- `ShapeMedia` / `ShapeMediaServer` — MD3 Expressive shape containers
|
|
69
102
|
- `ShapeSvg` / `ShapeIcon` — SVG-based shapes
|
|
70
103
|
- `useShapeMorph` — Shape morphing animation hook
|
|
71
104
|
- MD3 shape catalog with all expressive corner variants
|
|
72
105
|
|
|
73
106
|
**Search**
|
|
107
|
+
|
|
74
108
|
- `Search` / `SearchBar` — Inline search
|
|
75
109
|
- `SearchViewDocked` / `SearchViewFullscreen` — Expanded search views
|
|
76
110
|
|
|
77
111
|
**Menu**
|
|
112
|
+
|
|
78
113
|
- `Menu` / `MenuItem` / `MenuDivider` / `MenuGroup` — Dropdown menus
|
|
79
114
|
- `SubMenu` — Nested submenus
|
|
80
115
|
- `ContextMenu` — Right-click context menu
|
|
81
116
|
- `VerticalMenu` — Vertical navigation menu
|
|
82
117
|
|
|
83
118
|
**Theme & Providers**
|
|
119
|
+
|
|
84
120
|
- `MD3ThemeProvider` — Dynamic color theming (Material You)
|
|
85
121
|
- `useTheme` / `useThemeMode` — Theme hooks
|
|
86
122
|
- `MaterialSymbolsPreconnect` — Font preconnect helper
|
|
87
123
|
|
|
88
124
|
**Utilities**
|
|
125
|
+
|
|
89
126
|
- `Ripple` — Touch ripple effect
|
|
90
127
|
- `StateLayer` — Hover/focus/press state layer
|
|
91
128
|
- `TouchTarget` — Accessible touch target sizing
|
|
92
129
|
- `useAppBarScroll` — Scroll-aware app bar behavior
|
|
93
130
|
|
|
94
131
|
#### CSS Exports
|
|
132
|
+
|
|
95
133
|
- `@bug-on/m3-expressive/index.css` — MD3 tokens + Tailwind `@theme` + resets
|
|
96
134
|
- `@bug-on/m3-expressive/typography.css` — Google Sans Flex font-face
|
|
97
135
|
- `@bug-on/m3-expressive/material-symbols-cdn.css` — Material Symbols via CDN
|
|
98
136
|
- `@bug-on/m3-expressive/material-symbols-self-hosted.css` — Self-hosted icons
|
|
99
137
|
|
|
100
138
|
#### Sub-path Exports
|
|
139
|
+
|
|
101
140
|
- `@bug-on/m3-expressive/core` — Theme providers and hooks only
|
|
102
141
|
- `@bug-on/m3-expressive/buttons` — Button components only
|
|
103
142
|
- `@bug-on/m3-expressive/forms` — Form components only
|
package/README.md
CHANGED
|
@@ -2,31 +2,31 @@
|
|
|
2
2
|
|
|
3
3
|
> ⚠️ **Work in progress** — Material Design 3 Expressive React Component Library.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
High-performance React component library designed following the [Material Design 3 Expressive](https://m3.material.io/) design system. Featuring smooth motion, robust accessibility (a11y) support, and seamless compatibility with SSR and Next.js App Router.
|
|
6
6
|
|
|
7
7
|
---
|
|
8
8
|
|
|
9
|
-
## 📖
|
|
10
|
-
|
|
11
|
-
👉 **[
|
|
9
|
+
## 📖 Documentation & Demos
|
|
10
|
+
For component API guides, customization options, and interactive component previews, please visit:
|
|
11
|
+
👉 **[Official Documentation & Demos (GitHub Repository)](https://github.com/nguyentruongton/bug-on-md3-expressive)**
|
|
12
12
|
|
|
13
13
|
---
|
|
14
14
|
|
|
15
|
-
## 📦
|
|
15
|
+
## 📦 Installation
|
|
16
16
|
|
|
17
|
-
|
|
17
|
+
Install the React component package alongside core ecosystem packages:
|
|
18
18
|
|
|
19
19
|
```bash
|
|
20
20
|
npm install @bug-on/m3-expressive @bug-on/m3-tailwind @bug-on/m3-tokens
|
|
21
|
-
#
|
|
21
|
+
# or
|
|
22
22
|
pnpm add @bug-on/m3-expressive @bug-on/m3-tailwind @bug-on/m3-tokens
|
|
23
23
|
```
|
|
24
24
|
|
|
25
|
-
### Peer Dependencies
|
|
26
|
-
|
|
25
|
+
### Essential Peer Dependencies
|
|
26
|
+
Ensure the following peer dependencies are installed in your project:
|
|
27
27
|
```bash
|
|
28
28
|
npm install react react-dom
|
|
29
|
-
#
|
|
29
|
+
# Required for animated components (Fab, Tabs, Dialog, etc.):
|
|
30
30
|
npm install motion
|
|
31
31
|
```
|
|
32
32
|
|
|
@@ -55,11 +55,11 @@ This system is designed around the CSS-first architecture of **Tailwind CSS v4**
|
|
|
55
55
|
|
|
56
56
|
> **Zero Config:** Once `@bug-on/m3-expressive/index.css` is imported, basic MD3 utility classes (`bg-m3-primary`, `text-m3-on-surface`, `rounded-m3-xl`, etc.) work immediately. For the full set of utilities like depth shadows (`elevation-3`), icon axis control (`icon-fill-1`), or physics-based transitions (`transition-m3-fast-spatial`), import `@bug-on/m3-tailwind` as well. Do NOT use JS plugins in Tailwind v4.
|
|
57
57
|
|
|
58
|
-
###
|
|
59
|
-
|
|
58
|
+
### Icons Configuration (Material Symbols)
|
|
59
|
+
The library includes a built-in `<Icon />` component using the `Material Symbols Outlined` font. Import the icon stylesheet at your application root (e.g., `layout.tsx` or `main.tsx`):
|
|
60
60
|
|
|
61
61
|
```tsx
|
|
62
|
-
// app/layout.tsx
|
|
62
|
+
// app/layout.tsx or src/main.tsx
|
|
63
63
|
import '@bug-on/m3-expressive/material-symbols-cdn.css';
|
|
64
64
|
import { MaterialSymbolsPreconnect } from '@bug-on/m3-expressive';
|
|
65
65
|
|
|
@@ -67,7 +67,7 @@ export default function RootLayout({ children }) {
|
|
|
67
67
|
return (
|
|
68
68
|
<html>
|
|
69
69
|
<head>
|
|
70
|
-
{/*
|
|
70
|
+
{/* Preconnect helper to accelerate font loading */}
|
|
71
71
|
<MaterialSymbolsPreconnect />
|
|
72
72
|
</head>
|
|
73
73
|
<body>{children}</body>
|
|
@@ -75,7 +75,8 @@ export default function RootLayout({ children }) {
|
|
|
75
75
|
);
|
|
76
76
|
}
|
|
77
77
|
```
|
|
78
|
-
|
|
78
|
+
|
|
79
|
+
For offline support or self-hosted font deployments:
|
|
79
80
|
|
|
80
81
|
```bash
|
|
81
82
|
pnpm add @bug-on/m3-fonts
|
|
@@ -86,11 +87,11 @@ pnpm add @bug-on/m3-fonts
|
|
|
86
87
|
@import "@bug-on/m3-fonts/typography.css";
|
|
87
88
|
```
|
|
88
89
|
|
|
89
|
-
`@bug-on/m3-expressive/material-symbols-self-hosted.css`
|
|
90
|
+
`@bug-on/m3-expressive/material-symbols-self-hosted.css` remains active for backward compatibility, but is deprecated and will be removed in the next major version.
|
|
90
91
|
|
|
91
92
|
---
|
|
92
93
|
|
|
93
|
-
## 🚀
|
|
94
|
+
## 🚀 Basic Usage
|
|
94
95
|
|
|
95
96
|
```tsx
|
|
96
97
|
import { Button, Icon } from '@bug-on/m3-expressive';
|
|
@@ -106,5 +107,6 @@ export default function Page() {
|
|
|
106
107
|
}
|
|
107
108
|
```
|
|
108
109
|
|
|
109
|
-
## ⚖️
|
|
110
|
+
## ⚖️ License
|
|
110
111
|
MIT
|
|
112
|
+
|
|
@@ -4,56 +4,57 @@
|
|
|
4
4
|
* SETUP STEPS:
|
|
5
5
|
*
|
|
6
6
|
* Step 1 — Download font files
|
|
7
|
-
*
|
|
7
|
+
* Visit: https://github.com/google/material-design-icons/tree/master/variablefont
|
|
8
8
|
* Download file: MaterialSymbolsOutlined[FILL,GRAD,opsz,wght].woff2
|
|
9
|
-
* (
|
|
9
|
+
* (and Rounded / Sharp if needed)
|
|
10
10
|
*
|
|
11
11
|
* Step 2 — Place font files in your app
|
|
12
|
-
* Recommended location: public/fonts/
|
|
12
|
+
* Recommended location: public/fonts/ or src/assets/fonts/
|
|
13
13
|
* Example: public/fonts/MaterialSymbolsOutlined.woff2
|
|
14
14
|
*
|
|
15
|
-
* Step 3 — Copy
|
|
16
|
-
*
|
|
15
|
+
* Step 3 — Copy and adjust @font-face block below
|
|
16
|
+
* Change src url() to point to the correct path in your project
|
|
17
17
|
*
|
|
18
|
-
* @deprecated New integrations should install `@bug-on/
|
|
19
|
-
* `@bug-on/
|
|
18
|
+
* @deprecated New integrations should install `@bug-on/md3-fonts` and import
|
|
19
|
+
* `@bug-on/md3-fonts/material-symbols.css`. This legacy export remains only
|
|
20
20
|
* for backwards compatibility and will be removed in the next major version.
|
|
21
21
|
*
|
|
22
|
-
* Step 4 — Import file
|
|
22
|
+
* Step 4 — Import this file:
|
|
23
23
|
* import '@bug-on/m3-expressive/material-symbols-self-hosted.css'
|
|
24
24
|
*
|
|
25
25
|
* PERFORMANCE NOTES:
|
|
26
|
-
* - Self-hosting
|
|
27
|
-
* -
|
|
28
|
-
* -
|
|
29
|
-
* - WOFF2
|
|
30
|
-
* -
|
|
26
|
+
* - Self-hosting is better than CDN when using HTTP/2 CDN for static assets
|
|
27
|
+
* - Without a CDN, Google Fonts CDN may be faster due to cache sharing
|
|
28
|
+
* - Use font-display: block for icon fonts (see reasons in CDN file)
|
|
29
|
+
* - WOFF2 is the only format needed (100% modern browser support, Brotli compression)
|
|
30
|
+
* - WOFF fallback is no longer required
|
|
31
31
|
*
|
|
32
|
-
|
|
33
|
-
*
|
|
34
|
-
*
|
|
35
|
-
*
|
|
32
|
+
|
|
33
|
+
* SUBSETTING (IMPORTANT for reducing file size):
|
|
34
|
+
* Full variable font ~295 KB. After subsetting ~1-2 KB for a few dozen icons.
|
|
35
|
+
* Use tool: https://everythingfonts.com/subsetter
|
|
36
|
+
* Or use Google Fonts text parameter to subset on CDN:
|
|
36
37
|
* ?family=Material+Symbols+Outlined&text=home%20search%20settings
|
|
37
38
|
*
|
|
38
39
|
* GDPR NOTE:
|
|
39
|
-
* Self-hosting
|
|
40
|
-
*
|
|
40
|
+
* Self-hosting eliminates sending user IP addresses to Google servers,
|
|
41
|
+
* resolving GDPR compliance requirements.
|
|
41
42
|
*/
|
|
42
43
|
|
|
43
44
|
@font-face {
|
|
44
45
|
font-family: "Material Symbols Outlined";
|
|
45
46
|
font-style: normal;
|
|
46
|
-
/*
|
|
47
|
+
/* Declare full axis range so browser recognizes variable font */
|
|
47
48
|
font-weight: 100 700;
|
|
48
|
-
/* font-display: block
|
|
49
|
-
* -
|
|
50
|
-
* - Max 3s block,
|
|
51
|
-
*
|
|
49
|
+
/* font-display: block is required for icon fonts:
|
|
50
|
+
* - Prevents rendering raw text "arrow_forward" instead of icon
|
|
51
|
+
* - Max 3s block, then icon appears
|
|
52
|
+
* Reference: https://web.dev/articles/font-best-practices#icon_fonts */
|
|
52
53
|
font-display: block;
|
|
53
54
|
src: url("/fonts/MaterialSymbolsOutlined[FILL,GRAD,opsz,wght].woff2")
|
|
54
55
|
format("woff2");
|
|
55
|
-
/* unicode-range:
|
|
56
|
-
* Material Symbols
|
|
56
|
+
/* unicode-range: loads font only when page contains characters in range.
|
|
57
|
+
* Material Symbols uses PUA (Private Use Area) for ligatures. */
|
|
57
58
|
}
|
|
58
59
|
|
|
59
60
|
/*
|
package/dist/buttons.d.mts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
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, Q as SplitButtonSizeTokens, 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-
|
|
2
|
-
import { b as MD3Size } from './md3-
|
|
1
|
+
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, Q as SplitButtonSizeTokens, 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-D_PLPb-u.mjs';
|
|
2
|
+
import { b as MD3Size } from './md3-Dty-Qcad.mjs';
|
|
3
3
|
export { B as BaseIconButtonProps, I as IconButton, a as IconButtonProps } from './icon-button-D-gs0gfj.mjs';
|
|
4
4
|
import { Transition } from 'motion/react';
|
|
5
5
|
import * as class_variance_authority_types from 'class-variance-authority/types';
|
package/dist/buttons.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
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, Q as SplitButtonSizeTokens, 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-
|
|
2
|
-
import { b as MD3Size } from './md3-
|
|
1
|
+
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, Q as SplitButtonSizeTokens, 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-BkPbiBo3.js';
|
|
2
|
+
import { b as MD3Size } from './md3-Dty-Qcad.js';
|
|
3
3
|
export { B as BaseIconButtonProps, I as IconButton, a as IconButtonProps } from './icon-button-D-gs0gfj.js';
|
|
4
4
|
import { Transition } from 'motion/react';
|
|
5
5
|
import * as class_variance_authority_types from 'class-variance-authority/types';
|
package/dist/buttons.js
CHANGED
|
@@ -1231,6 +1231,35 @@ var BUTTON_COLOR_TOKENS = {
|
|
|
1231
1231
|
default: "bg-transparent text-m3-primary",
|
|
1232
1232
|
selected: "bg-transparent text-m3-primary",
|
|
1233
1233
|
unselected: "bg-transparent text-m3-primary"
|
|
1234
|
+
},
|
|
1235
|
+
// ── MD3 Expressive accent variants ──────────────────────────────────────
|
|
1236
|
+
/**
|
|
1237
|
+
* High-chroma tertiary tone. Use for hero CTAs and expressive moments where
|
|
1238
|
+
* a distinct accent beyond primary is needed (e.g., hero chip, highlight fab).
|
|
1239
|
+
*/
|
|
1240
|
+
tertiary: {
|
|
1241
|
+
default: "bg-m3-tertiary text-m3-on-tertiary",
|
|
1242
|
+
selected: "bg-m3-tertiary text-m3-on-tertiary",
|
|
1243
|
+
unselected: "bg-m3-tertiary-container text-m3-on-tertiary-container"
|
|
1244
|
+
},
|
|
1245
|
+
/**
|
|
1246
|
+
* Brand-stable primary fixed. Hue stays consistent across light and dark modes.
|
|
1247
|
+
* Ideal for badges, pill chips, and elements that must carry the brand color
|
|
1248
|
+
* regardless of the active theme.
|
|
1249
|
+
*/
|
|
1250
|
+
"primary-fixed": {
|
|
1251
|
+
default: "bg-m3-primary-fixed text-m3-on-primary-fixed",
|
|
1252
|
+
selected: "bg-m3-primary-fixed text-m3-on-primary-fixed",
|
|
1253
|
+
unselected: "bg-m3-primary-fixed text-m3-on-primary-fixed-variant"
|
|
1254
|
+
},
|
|
1255
|
+
/**
|
|
1256
|
+
* Brand-stable tertiary fixed. Use for special-state indicators, achievement
|
|
1257
|
+
* badges, or accent pills that need a fixed tertiary hue across themes.
|
|
1258
|
+
*/
|
|
1259
|
+
"tertiary-fixed": {
|
|
1260
|
+
default: "bg-m3-tertiary-fixed text-m3-on-tertiary-fixed",
|
|
1261
|
+
selected: "bg-m3-tertiary-fixed text-m3-on-tertiary-fixed",
|
|
1262
|
+
unselected: "bg-m3-tertiary-fixed text-m3-on-tertiary-fixed-variant"
|
|
1234
1263
|
}
|
|
1235
1264
|
};
|
|
1236
1265
|
var MOTION_PROP_KEYS = [
|
|
@@ -1687,7 +1716,7 @@ var PILL_BORDER_RADIUS = 9999;
|
|
|
1687
1716
|
var MIN_FLEX_GROW = 0.01;
|
|
1688
1717
|
var PADDING_EXPAND_MULTIPLIER = 4;
|
|
1689
1718
|
var CHECK_ICON_SIZE = 24;
|
|
1690
|
-
var CHECK_ICON = /* @__PURE__ */ jsxRuntime.jsx(Icon, { name: "check", size: CHECK_ICON_SIZE, weight: 700 });
|
|
1719
|
+
var CHECK_ICON = /* @__PURE__ */ jsxRuntime.jsx(Icon, { name: "check", variant: "rounded", size: CHECK_ICON_SIZE, weight: 700 });
|
|
1691
1720
|
var CHECK_ICON_GAP_MAP = {
|
|
1692
1721
|
xs: 6,
|
|
1693
1722
|
sm: 8,
|