@bug-on/md3-react 2.0.3 → 3.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/.turbo/turbo-build.log +42 -0
- package/CHANGELOG.md +69 -0
- package/dist/index.css +178 -0
- package/dist/index.css.d.ts +2 -0
- package/dist/index.d.mts +6135 -0
- package/dist/index.d.ts +6135 -71
- package/dist/index.js +1688 -631
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1600 -564
- package/dist/index.mjs.map +1 -1
- package/dist/material-symbols-cdn.css.d.ts +2 -0
- package/dist/material-symbols-self-hosted.css.d.ts +2 -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/typography.css.d.ts +2 -0
- package/package.json +28 -19
- package/scripts/copy-assets.js +115 -0
- package/src/assets/fonts/GoogleSansFlex-VariableFont.woff2 +0 -0
- package/src/assets/fonts/MaterialSymbolsOutlined-VariableFont_FILL,GRAD,opsz,wght.ttf +0 -0
- package/src/assets/fonts/MaterialSymbolsRounded-VariableFont_FILL,GRAD,opsz,wght.ttf +0 -0
- package/src/assets/fonts/MaterialSymbolsSharp-VariableFont_FILL,GRAD,opsz,wght.ttf +0 -0
- package/src/assets/loading-indicator.svg +19 -0
- package/src/assets/material-symbols-cdn.css +65 -0
- package/src/assets/material-symbols-self-hosted.css +90 -0
- package/src/css.d.ts +20 -0
- package/src/hooks/useClickOutside.ts +37 -0
- package/src/hooks/useMediaQuery.ts +28 -0
- package/src/hooks/useRipple.ts +88 -0
- package/src/index.css +23 -0
- package/src/index.ts +349 -0
- package/src/lib/material-symbols-preconnect.tsx +82 -0
- package/src/lib/theme-utils.ts +195 -0
- package/src/lib/utils.ts +6 -0
- package/src/plugin.ts +12 -0
- package/src/test/button.test.tsx +59 -0
- package/src/test/icon.test.tsx +91 -0
- package/src/test/loading-indicator.test.tsx +128 -0
- package/src/test/progress-indicator.test.tsx +306 -0
- package/src/test/setup.ts +80 -0
- package/src/test/typography.test.tsx +206 -0
- package/src/types/index.ts +7 -0
- package/src/types/md3.ts +31 -0
- package/src/ui/Text.tsx +60 -0
- package/src/ui/__snapshots__/divider.test.tsx.snap +63 -0
- package/src/ui/app-bar/app-bar-column.tsx +99 -0
- package/src/ui/app-bar/app-bar-item-button.tsx +71 -0
- package/src/ui/app-bar/app-bar-items.test.tsx +89 -0
- package/src/ui/app-bar/app-bar-overflow-indicator.tsx +108 -0
- package/src/ui/app-bar/app-bar-row.tsx +104 -0
- package/src/ui/app-bar/app-bar.test.tsx +87 -0
- package/src/ui/app-bar/app-bar.tokens.ts +223 -0
- package/src/ui/app-bar/app-bar.types.ts +441 -0
- package/src/ui/app-bar/bottom-app-bar.test.tsx +42 -0
- package/src/ui/app-bar/bottom-app-bar.tsx +84 -0
- package/src/ui/app-bar/docked-toolbar.test.tsx +34 -0
- package/src/ui/app-bar/docked-toolbar.tsx +54 -0
- package/src/ui/app-bar/flexible-app-bar.test.tsx +75 -0
- package/src/ui/app-bar/hooks/use-app-bar-scroll.ts +110 -0
- package/src/ui/app-bar/hooks/use-flexible-app-bar.ts +123 -0
- package/{dist/ui/app-bar/index.d.ts → src/ui/app-bar/index.ts} +35 -2
- package/src/ui/app-bar/large-flexible-app-bar.tsx +165 -0
- package/src/ui/app-bar/medium-flexible-app-bar.tsx +167 -0
- package/src/ui/app-bar/search-app-bar.test.tsx +49 -0
- package/src/ui/app-bar/search-app-bar.tsx +176 -0
- package/src/ui/app-bar/search-view.tsx +227 -0
- package/src/ui/app-bar/small-app-bar.test.tsx +48 -0
- package/src/ui/app-bar/small-app-bar.tsx +203 -0
- package/src/ui/badge.test.tsx +345 -0
- package/src/ui/badge.tsx +282 -0
- package/src/ui/button-group.test.tsx +71 -0
- package/src/ui/button-group.tsx +350 -0
- package/src/ui/button.test.tsx +306 -0
- package/src/ui/button.tsx +665 -0
- package/src/ui/card.test.tsx +187 -0
- package/src/ui/card.tsx +259 -0
- package/src/ui/checkbox.test.tsx +423 -0
- package/src/ui/checkbox.tsx +525 -0
- package/src/ui/chip.test.tsx +292 -0
- package/src/ui/chip.tsx +548 -0
- package/src/ui/code-block.tsx +219 -0
- package/src/ui/dialog.test.tsx +300 -0
- package/src/ui/dialog.tsx +384 -0
- package/src/ui/divider.test.tsx +314 -0
- package/src/ui/divider.tsx +412 -0
- package/src/ui/drawer.tsx +240 -0
- package/src/ui/fab-menu.test.tsx +494 -0
- package/src/ui/fab-menu.tsx +739 -0
- package/src/ui/fab.test.tsx +232 -0
- package/src/ui/fab.tsx +505 -0
- package/src/ui/icon-button.test.tsx +515 -0
- package/src/ui/icon-button.tsx +525 -0
- package/src/ui/icon.test.tsx +197 -0
- package/src/ui/icon.tsx +179 -0
- package/src/ui/loading-indicator.test.tsx +73 -0
- package/src/ui/loading-indicator.tsx +312 -0
- package/src/ui/menu/context-menu.tsx +275 -0
- package/src/ui/menu/index.ts +77 -0
- package/src/ui/menu/menu-animations.ts +102 -0
- package/src/ui/menu/menu-context.tsx +99 -0
- package/src/ui/menu/menu-divider.tsx +47 -0
- package/src/ui/menu/menu-group.tsx +200 -0
- package/src/ui/menu/menu-item.tsx +294 -0
- package/src/ui/menu/menu-tokens.ts +208 -0
- package/src/ui/menu/menu-types.ts +313 -0
- package/src/ui/menu/menu.test.tsx +624 -0
- package/src/ui/menu/menu.tsx +289 -0
- package/src/ui/menu/sub-menu.tsx +223 -0
- package/src/ui/menu/vertical-menu.tsx +382 -0
- package/src/ui/navigation-rail.test.tsx +404 -0
- package/src/ui/navigation-rail.tsx +607 -0
- package/src/ui/progress-indicator/circular.tsx +248 -0
- package/src/ui/progress-indicator/hooks.ts +51 -0
- package/{dist/ui/progress-indicator/index.d.ts → src/ui/progress-indicator/index.tsx} +20 -2
- package/src/ui/progress-indicator/linear-flat.tsx +83 -0
- package/src/ui/progress-indicator/linear-wavy.tsx +243 -0
- package/src/ui/progress-indicator/linear.tsx +143 -0
- package/src/ui/progress-indicator/types.ts +158 -0
- package/src/ui/progress-indicator/utils.ts +73 -0
- package/src/ui/radio-button.test.tsx +407 -0
- package/src/ui/radio-button.tsx +551 -0
- package/src/ui/ripple.test.tsx +72 -0
- package/src/ui/ripple.tsx +234 -0
- package/src/ui/scroll-area.test.tsx +58 -0
- package/src/ui/scroll-area.tsx +139 -0
- package/src/ui/search/animated-placeholder.tsx +145 -0
- package/src/ui/search/hooks/use-search-keyboard.test.ts +202 -0
- package/src/ui/search/hooks/use-search-keyboard.ts +104 -0
- package/src/ui/search/hooks/use-search-view-focus.test.ts +96 -0
- package/src/ui/search/hooks/use-search-view-focus.ts +24 -0
- package/src/ui/search/index.ts +44 -0
- package/src/ui/search/search-bar.tsx +220 -0
- package/src/ui/search/search-context.tsx +42 -0
- package/src/ui/search/search-view-docked.tsx +194 -0
- package/src/ui/search/search-view-fullscreen.tsx +247 -0
- package/src/ui/search/search.test.tsx +233 -0
- package/src/ui/search/search.tokens.ts +134 -0
- package/src/ui/search/search.tsx +131 -0
- package/src/ui/search/search.types.ts +154 -0
- package/src/ui/search/trailing-action.tsx +49 -0
- package/src/ui/shared/constants.ts +135 -0
- package/{dist/ui/shared/touch-target.d.ts → src/ui/shared/touch-target.tsx} +13 -1
- package/src/ui/slider/hooks/useSliderMath.ts +195 -0
- package/{dist/ui/slider/index.d.ts → src/ui/slider/index.ts} +12 -1
- package/src/ui/slider/range-slider.tsx +561 -0
- package/src/ui/slider/slider-thumb.tsx +379 -0
- package/src/ui/slider/slider-track.tsx +912 -0
- package/src/ui/slider/slider.tokens.ts +189 -0
- package/src/ui/slider/slider.tsx +259 -0
- package/src/ui/slider/slider.types.ts +288 -0
- package/src/ui/snackbar/index.ts +20 -0
- package/src/ui/snackbar/snackbar.test.tsx +338 -0
- package/src/ui/snackbar/snackbar.tsx +476 -0
- package/{dist/ui/switch/index.d.ts → src/ui/switch/index.ts} +1 -0
- package/src/ui/switch/switch.stories.tsx +309 -0
- package/src/ui/switch/switch.test.tsx +243 -0
- package/src/ui/switch/switch.tokens.ts +89 -0
- package/src/ui/switch/switch.tsx +504 -0
- package/src/ui/switch/switch.types.ts +62 -0
- package/{dist/ui/tabs/index.d.ts → src/ui/tabs/index.ts} +8 -1
- package/src/ui/tabs/tab.tsx +407 -0
- package/src/ui/tabs/tabs-content.tsx +89 -0
- package/src/ui/tabs/tabs-list.tsx +146 -0
- package/src/ui/tabs/tabs.test.tsx +290 -0
- package/src/ui/tabs/tabs.tokens.ts +121 -0
- package/src/ui/tabs/tabs.tsx +229 -0
- package/src/ui/tabs/tabs.types.ts +185 -0
- package/{dist/ui/text-field/index.d.ts → src/ui/text-field/index.ts} +8 -1
- package/src/ui/text-field/subcomponents/active-indicator.tsx +67 -0
- package/src/ui/text-field/subcomponents/floating-label.tsx +161 -0
- package/src/ui/text-field/subcomponents/leading-icon.tsx +46 -0
- package/src/ui/text-field/subcomponents/outline-container.tsx +170 -0
- package/src/ui/text-field/subcomponents/prefix-suffix.tsx +59 -0
- package/src/ui/text-field/subcomponents/supporting-text.tsx +145 -0
- package/src/ui/text-field/subcomponents/trailing-icon.tsx +199 -0
- package/src/ui/text-field/text-field.test.tsx +454 -0
- package/src/ui/text-field/text-field.tokens.ts +104 -0
- package/src/ui/text-field/text-field.tsx +548 -0
- package/src/ui/text-field/text-field.types.ts +180 -0
- package/src/ui/theme-provider/index.tsx +215 -0
- package/src/ui/toc.test.tsx +108 -0
- package/src/ui/toc.tsx +172 -0
- package/src/ui/tooltip/plain-tooltip.tsx +63 -0
- package/src/ui/tooltip/rich-tooltip.tsx +94 -0
- package/src/ui/tooltip/tooltip-box.tsx +266 -0
- package/src/ui/tooltip/tooltip-caret-shape.tsx +68 -0
- package/src/ui/tooltip/tooltip.tokens.ts +26 -0
- package/src/ui/tooltip/tooltip.types.ts +70 -0
- package/src/ui/tooltip/use-tooltip-position.ts +208 -0
- package/src/ui/tooltip/use-tooltip-state.ts +41 -0
- package/src/ui/typography/__tests__/typography.test.tsx +170 -0
- package/{dist/ui/typography/index.d.ts → src/ui/typography/index.ts} +21 -3
- package/src/ui/typography/type-scale-tokens.ts +205 -0
- package/src/ui/typography/typography-key-tokens.ts +43 -0
- package/src/ui/typography/typography-tokens.ts +360 -0
- package/src/ui/typography/typography.css +22 -0
- package/src/ui/typography/typography.tsx +559 -0
- package/test-render.tsx +4 -0
- package/test-shadow.html +26 -0
- package/test_output.txt +164 -0
- package/test_output_v2.txt +5 -0
- package/tsconfig.build.json +10 -0
- package/tsconfig.json +18 -0
- package/tsup.config.ts +20 -0
- package/vitest.config.ts +11 -0
- package/dist/hooks/useClickOutside.d.ts +0 -8
- package/dist/hooks/useMediaQuery.d.ts +0 -11
- package/dist/hooks/useRipple.d.ts +0 -26
- package/dist/lib/material-symbols-preconnect.d.ts +0 -42
- package/dist/lib/theme-utils.d.ts +0 -63
- package/dist/lib/utils.d.ts +0 -2
- package/dist/types/index.d.ts +0 -1
- package/dist/types/md3.d.ts +0 -14
- package/dist/ui/app-bar/app-bar-column.d.ts +0 -28
- package/dist/ui/app-bar/app-bar-item-button.d.ts +0 -16
- package/dist/ui/app-bar/app-bar-overflow-indicator.d.ts +0 -18
- package/dist/ui/app-bar/app-bar-row.d.ts +0 -36
- package/dist/ui/app-bar/app-bar.tokens.d.ts +0 -184
- package/dist/ui/app-bar/app-bar.types.d.ts +0 -392
- package/dist/ui/app-bar/bottom-app-bar.d.ts +0 -31
- package/dist/ui/app-bar/docked-toolbar.d.ts +0 -25
- package/dist/ui/app-bar/hooks/use-app-bar-scroll.d.ts +0 -42
- package/dist/ui/app-bar/hooks/use-flexible-app-bar.d.ts +0 -37
- package/dist/ui/app-bar/large-flexible-app-bar.d.ts +0 -26
- package/dist/ui/app-bar/medium-flexible-app-bar.d.ts +0 -28
- package/dist/ui/app-bar/search-app-bar.d.ts +0 -43
- package/dist/ui/app-bar/search-view.d.ts +0 -54
- package/dist/ui/app-bar/small-app-bar.d.ts +0 -37
- package/dist/ui/badge.d.ts +0 -125
- package/dist/ui/button-group.d.ts +0 -59
- package/dist/ui/button.d.ts +0 -148
- package/dist/ui/card.d.ts +0 -62
- package/dist/ui/checkbox.d.ts +0 -82
- package/dist/ui/chip.d.ts +0 -110
- package/dist/ui/code-block.d.ts +0 -14
- package/dist/ui/dialog.d.ts +0 -111
- package/dist/ui/divider.d.ts +0 -164
- package/dist/ui/drawer.d.ts +0 -39
- package/dist/ui/dropdown.d.ts +0 -29
- package/dist/ui/fab-menu.d.ts +0 -204
- package/dist/ui/fab.d.ts +0 -162
- package/dist/ui/icon-button.d.ts +0 -131
- package/dist/ui/icon.d.ts +0 -88
- package/dist/ui/loading-indicator.d.ts +0 -42
- package/dist/ui/navigation-rail.d.ts +0 -29
- package/dist/ui/progress-indicator/circular.d.ts +0 -3
- package/dist/ui/progress-indicator/hooks.d.ts +0 -3
- package/dist/ui/progress-indicator/linear-flat.d.ts +0 -10
- package/dist/ui/progress-indicator/linear-wavy.d.ts +0 -18
- package/dist/ui/progress-indicator/linear.d.ts +0 -3
- package/dist/ui/progress-indicator/types.d.ts +0 -151
- package/dist/ui/progress-indicator/utils.d.ts +0 -3
- package/dist/ui/radio-button.d.ts +0 -106
- package/dist/ui/ripple.d.ts +0 -126
- package/dist/ui/scroll-area.d.ts +0 -27
- package/dist/ui/search/animated-placeholder.d.ts +0 -54
- package/dist/ui/search/hooks/use-search-keyboard.d.ts +0 -32
- package/dist/ui/search/hooks/use-search-view-focus.d.ts +0 -6
- package/dist/ui/search/index.d.ts +0 -27
- package/dist/ui/search/search-bar.d.ts +0 -32
- package/dist/ui/search/search-context.d.ts +0 -24
- package/dist/ui/search/search-view-docked.d.ts +0 -25
- package/dist/ui/search/search-view-fullscreen.d.ts +0 -36
- package/dist/ui/search/search.d.ts +0 -50
- package/dist/ui/search/search.tokens.d.ts +0 -112
- package/dist/ui/search/search.types.d.ts +0 -131
- package/dist/ui/search/trailing-action.d.ts +0 -9
- package/dist/ui/shared/constants.d.ts +0 -86
- package/dist/ui/slider/hooks/useSliderMath.d.ts +0 -101
- package/dist/ui/slider/range-slider.d.ts +0 -47
- package/dist/ui/slider/slider-thumb.d.ts +0 -33
- package/dist/ui/slider/slider-track.d.ts +0 -25
- package/dist/ui/slider/slider.d.ts +0 -60
- package/dist/ui/slider/slider.tokens.d.ts +0 -151
- package/dist/ui/slider/slider.types.d.ts +0 -259
- package/dist/ui/snackbar/index.d.ts +0 -6
- package/dist/ui/snackbar/snackbar.d.ts +0 -197
- package/dist/ui/switch/switch.d.ts +0 -30
- package/dist/ui/switch/switch.stories.d.ts +0 -48
- package/dist/ui/switch/switch.tokens.d.ts +0 -67
- package/dist/ui/switch/switch.types.d.ts +0 -59
- package/dist/ui/tabs/tab.d.ts +0 -43
- package/dist/ui/tabs/tabs-content.d.ts +0 -36
- package/dist/ui/tabs/tabs-list.d.ts +0 -40
- package/dist/ui/tabs/tabs.d.ts +0 -60
- package/dist/ui/tabs/tabs.tokens.d.ts +0 -94
- package/dist/ui/tabs/tabs.types.d.ts +0 -172
- package/dist/ui/text-field/subcomponents/active-indicator.d.ts +0 -24
- package/dist/ui/text-field/subcomponents/floating-label.d.ts +0 -43
- package/dist/ui/text-field/subcomponents/leading-icon.d.ts +0 -23
- package/dist/ui/text-field/subcomponents/outline-container.d.ts +0 -42
- package/dist/ui/text-field/subcomponents/prefix-suffix.d.ts +0 -24
- package/dist/ui/text-field/subcomponents/supporting-text.d.ts +0 -37
- package/dist/ui/text-field/subcomponents/trailing-icon.d.ts +0 -41
- package/dist/ui/text-field/text-field.d.ts +0 -49
- package/dist/ui/text-field/text-field.tokens.d.ts +0 -76
- package/dist/ui/text-field/text-field.types.d.ts +0 -126
- package/dist/ui/theme-provider/index.d.ts +0 -48
- package/dist/ui/toc.d.ts +0 -80
- package/dist/ui/tooltip/plain-tooltip.d.ts +0 -2
- package/dist/ui/tooltip/rich-tooltip.d.ts +0 -2
- package/dist/ui/tooltip/tooltip-box.d.ts +0 -2
- package/dist/ui/tooltip/tooltip-caret-shape.d.ts +0 -9
- package/dist/ui/tooltip/tooltip.tokens.d.ts +0 -26
- package/dist/ui/tooltip/tooltip.types.d.ts +0 -56
- package/dist/ui/tooltip/use-tooltip-position.d.ts +0 -8
- package/dist/ui/tooltip/use-tooltip-state.d.ts +0 -2
- package/dist/ui/typography/type-scale-tokens.d.ts +0 -162
- package/dist/ui/typography/typography-key-tokens.d.ts +0 -40
- package/dist/ui/typography/typography-tokens.d.ts +0 -220
- package/dist/ui/typography/typography.d.ts +0 -265
- /package/{dist/hooks/index.d.ts → src/hooks/index.ts} +0 -0
- /package/{dist/ui/tooltip/index.d.ts → src/ui/tooltip/index.ts} +0 -0
|
@@ -1,265 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @file typography.tsx
|
|
3
|
-
* @description MD3 Expressive Typography System for React.
|
|
4
|
-
*
|
|
5
|
-
* Port of `androidx.compose.material3.Typography` (Kotlin `@Immutable` class).
|
|
6
|
-
*
|
|
7
|
-
* Provides 30 {@link TextStyle} definitions via the React Context API, mirroring
|
|
8
|
-
* the Compose `LocalTypography` / `MaterialTheme.typography` pattern.
|
|
9
|
-
*
|
|
10
|
-
* ### Memory & Performance Optimizations
|
|
11
|
-
* - The `Typography` class delegates all property access to a `TypographyTokens`
|
|
12
|
-
* instance that uses **lazy getters**, so styles are computed only on first use.
|
|
13
|
-
* - `TypographyProvider` memoizes the context value via `useMemo` to prevent
|
|
14
|
-
* unnecessary re-renders downstream.
|
|
15
|
-
*
|
|
16
|
-
* @example Wrap your application
|
|
17
|
-
* ```tsx
|
|
18
|
-
* <TypographyProvider>
|
|
19
|
-
* <App />
|
|
20
|
-
* </TypographyProvider>
|
|
21
|
-
* ```
|
|
22
|
-
*
|
|
23
|
-
* @example Consume in a component
|
|
24
|
-
* ```tsx
|
|
25
|
-
* const typography = useTypography();
|
|
26
|
-
* <p style={typography.bodyLarge}>Hello</p>
|
|
27
|
-
* ```
|
|
28
|
-
*
|
|
29
|
-
* @example Via token key
|
|
30
|
-
* ```tsx
|
|
31
|
-
* const style = typography.fromToken(TypographyKeyTokens.BodyLarge);
|
|
32
|
-
* ```
|
|
33
|
-
*
|
|
34
|
-
* @example Custom font + half-rounded corners
|
|
35
|
-
* ```tsx
|
|
36
|
-
* <TypographyProvider
|
|
37
|
-
* fontFamily="'Roboto', sans-serif"
|
|
38
|
-
* fontVariationAxes={{ ROND: 50 }}
|
|
39
|
-
* >
|
|
40
|
-
* <App />
|
|
41
|
-
* </TypographyProvider>
|
|
42
|
-
* ```
|
|
43
|
-
*/
|
|
44
|
-
import { type ReactNode } from "react";
|
|
45
|
-
import { TypographyKeyTokens } from "./typography-key-tokens";
|
|
46
|
-
import { type FontVariationAxes, type TextStyle, TypographyTokens } from "./typography-tokens";
|
|
47
|
-
/**
|
|
48
|
-
* MD3 Expressive Typography — port of Compose's `@Immutable class Typography(...)`.
|
|
49
|
-
*
|
|
50
|
-
* All 30 style properties are **readonly** and lazily resolved from the
|
|
51
|
-
* underlying {@link TypographyTokens} instance. Use {@link Typography.copy}
|
|
52
|
-
* to create a customized variant without mutating the original.
|
|
53
|
-
*
|
|
54
|
-
* @example Default
|
|
55
|
-
* ```ts
|
|
56
|
-
* const typography = new Typography();
|
|
57
|
-
* const style = typography.displayLarge; // lazy — computed on first access
|
|
58
|
-
* ```
|
|
59
|
-
*
|
|
60
|
-
* @example Custom tokens
|
|
61
|
-
* ```ts
|
|
62
|
-
* const typography = new Typography(
|
|
63
|
-
* new TypographyTokens({ fontFamily: "'Inter', sans-serif", fontVariationAxes: { ROND: 0 } })
|
|
64
|
-
* );
|
|
65
|
-
* ```
|
|
66
|
-
*/
|
|
67
|
-
export declare class Typography {
|
|
68
|
-
#private;
|
|
69
|
-
constructor(tokens?: TypographyTokens);
|
|
70
|
-
/** Display Large text style (`57px`, weight `400`). */
|
|
71
|
-
get displayLarge(): TextStyle;
|
|
72
|
-
/** Display Medium text style (`45px`, weight `400`). */
|
|
73
|
-
get displayMedium(): TextStyle;
|
|
74
|
-
/** Display Small text style (`36px`, weight `400`). */
|
|
75
|
-
get displaySmall(): TextStyle;
|
|
76
|
-
/** Headline Large text style (`32px`, weight `400`). */
|
|
77
|
-
get headlineLarge(): TextStyle;
|
|
78
|
-
/** Headline Medium text style (`28px`, weight `400`). */
|
|
79
|
-
get headlineMedium(): TextStyle;
|
|
80
|
-
/** Headline Small text style (`24px`, weight `400`). */
|
|
81
|
-
get headlineSmall(): TextStyle;
|
|
82
|
-
/** Title Large text style (`22px`, weight `400`). */
|
|
83
|
-
get titleLarge(): TextStyle;
|
|
84
|
-
/** Title Medium text style (`16px`, weight `500`). */
|
|
85
|
-
get titleMedium(): TextStyle;
|
|
86
|
-
/** Title Small text style (`14px`, weight `500`). */
|
|
87
|
-
get titleSmall(): TextStyle;
|
|
88
|
-
/** Body Large text style (`16px`, weight `400`). */
|
|
89
|
-
get bodyLarge(): TextStyle;
|
|
90
|
-
/** Body Medium text style (`14px`, weight `400`). */
|
|
91
|
-
get bodyMedium(): TextStyle;
|
|
92
|
-
/** Body Small text style (`12px`, weight `400`). */
|
|
93
|
-
get bodySmall(): TextStyle;
|
|
94
|
-
/** Label Large text style (`14px`, weight `500`). */
|
|
95
|
-
get labelLarge(): TextStyle;
|
|
96
|
-
/** Label Medium text style (`12px`, weight `500`). */
|
|
97
|
-
get labelMedium(): TextStyle;
|
|
98
|
-
/** Label Small text style (`11px`, weight `500`). */
|
|
99
|
-
get labelSmall(): TextStyle;
|
|
100
|
-
/** Display Large Emphasized text style (`57px`, weight `800`). */
|
|
101
|
-
get displayLargeEmphasized(): TextStyle;
|
|
102
|
-
/** Display Medium Emphasized text style (`45px`, weight `800`). */
|
|
103
|
-
get displayMediumEmphasized(): TextStyle;
|
|
104
|
-
/** Display Small Emphasized text style (`36px`, weight `800`). */
|
|
105
|
-
get displaySmallEmphasized(): TextStyle;
|
|
106
|
-
/** Headline Large Emphasized text style (`32px`, weight `800`). */
|
|
107
|
-
get headlineLargeEmphasized(): TextStyle;
|
|
108
|
-
/** Headline Medium Emphasized text style (`28px`, weight `800`). */
|
|
109
|
-
get headlineMediumEmphasized(): TextStyle;
|
|
110
|
-
/** Headline Small Emphasized text style (`24px`, weight `800`). */
|
|
111
|
-
get headlineSmallEmphasized(): TextStyle;
|
|
112
|
-
/** Title Large Emphasized text style (`22px`, weight `700`). */
|
|
113
|
-
get titleLargeEmphasized(): TextStyle;
|
|
114
|
-
/** Title Medium Emphasized text style (`16px`, weight `700`). */
|
|
115
|
-
get titleMediumEmphasized(): TextStyle;
|
|
116
|
-
/** Title Small Emphasized text style (`14px`, weight `700`). */
|
|
117
|
-
get titleSmallEmphasized(): TextStyle;
|
|
118
|
-
/** Body Large Emphasized text style (`16px`, weight `700`). */
|
|
119
|
-
get bodyLargeEmphasized(): TextStyle;
|
|
120
|
-
/** Body Medium Emphasized text style (`14px`, weight `700`). */
|
|
121
|
-
get bodyMediumEmphasized(): TextStyle;
|
|
122
|
-
/** Body Small Emphasized text style (`12px`, weight `700`). */
|
|
123
|
-
get bodySmallEmphasized(): TextStyle;
|
|
124
|
-
/** Label Large Emphasized text style (`14px`, weight `800`). */
|
|
125
|
-
get labelLargeEmphasized(): TextStyle;
|
|
126
|
-
/** Label Medium Emphasized text style (`12px`, weight `800`). */
|
|
127
|
-
get labelMediumEmphasized(): TextStyle;
|
|
128
|
-
/** Label Small Emphasized text style (`11px`, weight `800`). */
|
|
129
|
-
get labelSmallEmphasized(): TextStyle;
|
|
130
|
-
/**
|
|
131
|
-
* Returns the `TextStyle` corresponding to the given {@link TypographyKeyTokens}.
|
|
132
|
-
*
|
|
133
|
-
* Port of `internal fun Typography.fromToken(value: TypographyKeyTokens): TextStyle`.
|
|
134
|
-
*
|
|
135
|
-
* @example
|
|
136
|
-
* ```ts
|
|
137
|
-
* const style = typography.fromToken(TypographyKeyTokens.BodyLarge);
|
|
138
|
-
* ```
|
|
139
|
-
*/
|
|
140
|
-
fromToken(value: TypographyKeyTokens): TextStyle;
|
|
141
|
-
/**
|
|
142
|
-
* Creates a new `Typography` instance with the specified property overrides
|
|
143
|
-
* merged on top of the current instance's styles.
|
|
144
|
-
*
|
|
145
|
-
* Port of Compose's `fun Typography.copy(...)`.
|
|
146
|
-
*
|
|
147
|
-
* Unlike a shallow `Object.assign`, this method preserves the lazy-getter
|
|
148
|
-
* architecture — overridden styles are stored separately and looked up first
|
|
149
|
-
* on each property access, while non-overridden styles continue to be
|
|
150
|
-
* resolved from the underlying {@link TypographyTokens}.
|
|
151
|
-
*
|
|
152
|
-
* @param overrides - Map of camelCase property names to partial `TextStyle` overrides.
|
|
153
|
-
* @returns A new `Typography` instance. The original is never mutated.
|
|
154
|
-
*
|
|
155
|
-
* @example
|
|
156
|
-
* ```ts
|
|
157
|
-
* const custom = typography.copy({ bodyLarge: { fontSize: "2rem" } });
|
|
158
|
-
* custom.bodyLarge.fontSize; // "2rem"
|
|
159
|
-
* custom.bodySmall.fontSize; // original token value — untouched
|
|
160
|
-
* ```
|
|
161
|
-
*/
|
|
162
|
-
copy(overrides: Partial<Record<TypographyStyleKey, Partial<TextStyle>>>): Typography;
|
|
163
|
-
}
|
|
164
|
-
/**
|
|
165
|
-
* Union of all camelCase property names on {@link Typography} that return a
|
|
166
|
-
* {@link TextStyle}. Used as the key type for `copy()` overrides and the
|
|
167
|
-
* `OverriddenTypography` resolver.
|
|
168
|
-
*/
|
|
169
|
-
type TypographyStyleKey = {
|
|
170
|
-
[K in keyof Typography]: Typography[K] extends TextStyle ? K : never;
|
|
171
|
-
}[keyof Typography];
|
|
172
|
-
/**
|
|
173
|
-
* React context that holds the current {@link Typography} instance.
|
|
174
|
-
*
|
|
175
|
-
* Port of `internal val LocalTypography = staticCompositionLocalOf { Typography() }`.
|
|
176
|
-
*
|
|
177
|
-
* @internal — Prefer {@link useTypography} and {@link TypographyProvider}.
|
|
178
|
-
*/
|
|
179
|
-
export declare const TypographyContext: import("react").Context<Typography>;
|
|
180
|
-
/**
|
|
181
|
-
* React hook to access the current {@link Typography} from the nearest
|
|
182
|
-
* {@link TypographyProvider} in the tree. Falls back to the default
|
|
183
|
-
* googleapis Typography when no provider is present.
|
|
184
|
-
*
|
|
185
|
-
* @returns The current `Typography` instance.
|
|
186
|
-
*
|
|
187
|
-
* @example
|
|
188
|
-
* ```tsx
|
|
189
|
-
* const typography = useTypography();
|
|
190
|
-
* <p style={typography.bodyLarge}>Hello</p>
|
|
191
|
-
* ```
|
|
192
|
-
*/
|
|
193
|
-
export declare function useTypography(): Typography;
|
|
194
|
-
/**
|
|
195
|
-
* Props for {@link TypographyProvider}.
|
|
196
|
-
*/
|
|
197
|
-
export interface TypographyProviderProps {
|
|
198
|
-
/** The child tree that will have access to the provided typography. */
|
|
199
|
-
children: ReactNode;
|
|
200
|
-
/**
|
|
201
|
-
* A fully custom {@link Typography} instance.
|
|
202
|
-
* When provided, `fontFamily` and `fontVariationAxes` are ignored.
|
|
203
|
-
*/
|
|
204
|
-
typography?: Typography;
|
|
205
|
-
/**
|
|
206
|
-
* Shorthand to override the CSS `font-family` for all typography styles.
|
|
207
|
-
* Ignored when `typography` is provided.
|
|
208
|
-
*
|
|
209
|
-
* @example "'Roboto', sans-serif"
|
|
210
|
-
*/
|
|
211
|
-
fontFamily?: string;
|
|
212
|
-
/**
|
|
213
|
-
* Variable font axes to apply globally via `font-variation-settings`.
|
|
214
|
-
* Merged on top of the defaults (`ROND: 100`). Only the axes you specify
|
|
215
|
-
* will be overridden; unspecified axes retain font defaults.
|
|
216
|
-
* Ignored when `typography` is provided.
|
|
217
|
-
*
|
|
218
|
-
* @example { ROND: 50 } // half-rounded
|
|
219
|
-
* @example { ROND: 0 } // sharp corners
|
|
220
|
-
*/
|
|
221
|
-
fontVariationAxes?: FontVariationAxes;
|
|
222
|
-
}
|
|
223
|
-
/**
|
|
224
|
-
* Typography Provider component.
|
|
225
|
-
*
|
|
226
|
-
* Port of `CompositionLocalProvider(LocalTypography provides typography)`.
|
|
227
|
-
* Wrap your application (or a subtree) to provide MD3 Expressive typography
|
|
228
|
-
* to all descendant components that call {@link useTypography}.
|
|
229
|
-
*
|
|
230
|
-
* The context value is **memoized** — it is only re-computed when `typography`,
|
|
231
|
-
* `fontFamily`, or `fontVariationAxes` change, preventing unnecessary re-renders.
|
|
232
|
-
*
|
|
233
|
-
* @example Default (Google Sans Flex, ROND = 100)
|
|
234
|
-
* ```tsx
|
|
235
|
-
* <TypographyProvider>
|
|
236
|
-
* <App />
|
|
237
|
-
* </TypographyProvider>
|
|
238
|
-
* ```
|
|
239
|
-
*
|
|
240
|
-
* @example Custom font
|
|
241
|
-
* ```tsx
|
|
242
|
-
* <TypographyProvider fontFamily="'Inter', sans-serif">
|
|
243
|
-
* <App />
|
|
244
|
-
* </TypographyProvider>
|
|
245
|
-
* ```
|
|
246
|
-
*
|
|
247
|
-
* @example Partially rounded corners (ROND = 50)
|
|
248
|
-
* ```tsx
|
|
249
|
-
* <TypographyProvider fontVariationAxes={{ ROND: 50 }}>
|
|
250
|
-
* <App />
|
|
251
|
-
* </TypographyProvider>
|
|
252
|
-
* ```
|
|
253
|
-
*
|
|
254
|
-
* @example Fully sharp (ROND = 0) with a custom font
|
|
255
|
-
* ```tsx
|
|
256
|
-
* <TypographyProvider
|
|
257
|
-
* fontFamily="'Outfit', sans-serif"
|
|
258
|
-
* fontVariationAxes={{ ROND: 0 }}
|
|
259
|
-
* >
|
|
260
|
-
* <App />
|
|
261
|
-
* </TypographyProvider>
|
|
262
|
-
* ```
|
|
263
|
-
*/
|
|
264
|
-
export declare function TypographyProvider({ children, typography, fontFamily, fontVariationAxes, }: TypographyProviderProps): import("react/jsx-runtime").JSX.Element;
|
|
265
|
-
export {};
|
|
File without changes
|
|
File without changes
|