react-material-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.
Files changed (66) hide show
  1. package/CHANGELOG.md +39 -0
  2. package/LICENSE +21 -0
  3. package/README.md +286 -0
  4. package/dist/index.cjs +7014 -0
  5. package/dist/index.cjs.map +1 -0
  6. package/dist/index.d.cts +2068 -0
  7. package/dist/index.d.ts +2068 -0
  8. package/dist/index.js +6941 -0
  9. package/dist/index.js.map +1 -0
  10. package/dist/styles.css +2 -0
  11. package/dist/theme.css +187 -0
  12. package/docs/components/Amount.md +48 -0
  13. package/docs/components/Avatar.md +69 -0
  14. package/docs/components/AvatarStack.md +50 -0
  15. package/docs/components/Badge.md +50 -0
  16. package/docs/components/Blob.md +44 -0
  17. package/docs/components/Button.md +79 -0
  18. package/docs/components/ButtonGroup.md +46 -0
  19. package/docs/components/ButtonGroupConnected.md +62 -0
  20. package/docs/components/Card.md +52 -0
  21. package/docs/components/Checkbox.md +45 -0
  22. package/docs/components/Chips.md +77 -0
  23. package/docs/components/DatePicker.md +112 -0
  24. package/docs/components/Dialog.md +83 -0
  25. package/docs/components/Divider.md +48 -0
  26. package/docs/components/Dropdown.md +79 -0
  27. package/docs/components/FAB.md +63 -0
  28. package/docs/components/FABMenu.md +76 -0
  29. package/docs/components/Gallery.md +35 -0
  30. package/docs/components/Icon.md +36 -0
  31. package/docs/components/IconButton.md +69 -0
  32. package/docs/components/Img.md +52 -0
  33. package/docs/components/Layers.md +43 -0
  34. package/docs/components/Link.md +43 -0
  35. package/docs/components/List.md +87 -0
  36. package/docs/components/Loading.md +67 -0
  37. package/docs/components/LoadingIndicator.md +64 -0
  38. package/docs/components/MaterialSymbol.md +48 -0
  39. package/docs/components/MediaFrame.md +46 -0
  40. package/docs/components/Menu.md +149 -0
  41. package/docs/components/NavigationBar.md +78 -0
  42. package/docs/components/NavigationRail.md +105 -0
  43. package/docs/components/OverflowMenu.md +65 -0
  44. package/docs/components/Perspective.md +45 -0
  45. package/docs/components/Progress.md +83 -0
  46. package/docs/components/Radio.md +39 -0
  47. package/docs/components/Search.md +100 -0
  48. package/docs/components/Select.md +76 -0
  49. package/docs/components/Sheets.md +62 -0
  50. package/docs/components/Slider.md +89 -0
  51. package/docs/components/Snackbar.md +73 -0
  52. package/docs/components/SplitButton.md +75 -0
  53. package/docs/components/Stories.md +71 -0
  54. package/docs/components/Switch.md +40 -0
  55. package/docs/components/Table.md +67 -0
  56. package/docs/components/Tabs.md +67 -0
  57. package/docs/components/TextElement.md +37 -0
  58. package/docs/components/TextField.md +70 -0
  59. package/docs/components/TimePicker.md +83 -0
  60. package/docs/components/ToggleTheme.md +71 -0
  61. package/docs/components/Toolbar.md +102 -0
  62. package/docs/components/Tooltip.md +63 -0
  63. package/docs/components/TopAppBar.md +84 -0
  64. package/docs/components/Video.md +35 -0
  65. package/llms.txt +90 -0
  66. package/package.json +101 -0
@@ -0,0 +1,35 @@
1
+ # Video
2
+
3
+ Native looping video for ambient/media content: `autoPlay`, `muted`,
4
+ `loop` and `playsInline` are on by default (override via props),
5
+ object-fit cover. The autoplay is decorative motion, so it pauses under
6
+ `prefers-reduced-motion: reduce`.
7
+
8
+ ## Import
9
+
10
+ ```tsx
11
+ import {Video} from "react-material-expressive";
12
+ ```
13
+
14
+ ## API
15
+
16
+ ```ts
17
+ type VideoProps = ComponentProps<"video">;
18
+ ```
19
+
20
+ ## Example
21
+
22
+ ```tsx
23
+ <Video
24
+ className="aspect-video w-full rounded-large"
25
+ poster="/poster.jpg"
26
+ src="/clip.mp4"
27
+ />
28
+ ```
29
+
30
+ ## Gotchas
31
+
32
+ - Muted autoplay is required by browsers; unmute only on user gesture.
33
+ - Autoplay pauses when the user prefers reduced motion (WCAG 2.2.2). Pass
34
+ `controls` if you also want an explicit play/pause affordance.
35
+ - Combine with `MediaFrame` for framed/clipped placements.
package/llms.txt ADDED
@@ -0,0 +1,90 @@
1
+ # react-material-expressive
2
+
3
+ > React component system implementing Material 3 Expressive. Framework-
4
+ > agnostic (native <img>/<a> + media injection), precompiled CSS (no
5
+ > Tailwind setup needed), runtime theming via official --md-sys-* tokens,
6
+ > React >= 19 (ESM + CJS + types, "use client" embedded). Single root
7
+ > export (react-material-expressive) plus the precompiled ./styles.css
8
+ > and the raw ./theme.css Tailwind partial (only to extend with your own
9
+ > Tailwind v4).
10
+
11
+ ## Start here
12
+
13
+ - [README](README.md): install, quickstart,
14
+ theming, icons, media/link injection, i18n (per-component `labels` prop,
15
+ English defaults only; `locale` for Intl formatting), subpath map.
16
+ - [CHANGELOG](CHANGELOG.md): per-release history with a migration note on
17
+ every breaking change (pre-1.0: breaking bumps the minor version).
18
+
19
+ ## Component docs (API, props, variants, examples, gotchas)
20
+
21
+ ### Actions
22
+ - [Button](docs/components/Button.md)
23
+ - [ButtonGroup](docs/components/ButtonGroup.md)
24
+ - [ButtonGroupConnected](docs/components/ButtonGroupConnected.md)
25
+ - [IconButton](docs/components/IconButton.md)
26
+ - [FAB and ExtendedFAB](docs/components/FAB.md)
27
+ - [FABMenu](docs/components/FABMenu.md)
28
+ - [SplitButton](docs/components/SplitButton.md)
29
+
30
+ ### Communication
31
+ - [Badge, DotBadge, OnIconBadge](docs/components/Badge.md)
32
+ - [Progress and Circle](docs/components/Progress.md)
33
+ - [LoadingIndicator](docs/components/LoadingIndicator.md)
34
+ - [Snackbar and SnackbarWrapper](docs/components/Snackbar.md)
35
+ - [Tooltip](docs/components/Tooltip.md)
36
+ - [Loading](docs/components/Loading.md)
37
+
38
+ ### Containment
39
+ - [Card (+Header/Body/Footer)](docs/components/Card.md)
40
+ - [Dialog (+Header/Body/Footer)](docs/components/Dialog.md)
41
+ - [BottomSheet and SideSheet](docs/components/Sheets.md)
42
+ - [Divider](docs/components/Divider.md)
43
+ - [List (+List.Item)](docs/components/List.md)
44
+ - [Table (+Head/Body/Row/Cell/HeaderCell/TextContainer)](docs/components/Table.md)
45
+
46
+ ### Selection and input
47
+ - [Checkbox](docs/components/Checkbox.md)
48
+ - [Radio](docs/components/Radio.md)
49
+ - [Switch](docs/components/Switch.md)
50
+ - [Chips](docs/components/Chips.md)
51
+ - [Slider and SliderDual](docs/components/Slider.md)
52
+ - [TextField (InputOutlined/InputFilled/TextFieldOutlined/TextFieldFilled)](docs/components/TextField.md)
53
+ - [Select (SelectFilled/SelectOutlined)](docs/components/Select.md)
54
+ - [Amount](docs/components/Amount.md)
55
+ - [DatePicker (+Docked) and DateRangePicker](docs/components/DatePicker.md)
56
+ - [TimePicker (dial + input)](docs/components/TimePicker.md)
57
+
58
+ ### Navigation
59
+ - [NavigationBar (+Item)](docs/components/NavigationBar.md)
60
+ - [NavigationRail (+Item)](docs/components/NavigationRail.md)
61
+ - [TopAppBar (Small/Center/Medium/Large)](docs/components/TopAppBar.md)
62
+ - [DockedToolbar and FloatingToolbar](docs/components/Toolbar.md)
63
+ - [TabsPrimary and TabsSecondary](docs/components/Tabs.md)
64
+ - [LinkBox and LinkContainer](docs/components/Link.md)
65
+ - [Search (+Input/Item)](docs/components/Search.md)
66
+
67
+ ### Menus
68
+ - [Menu (+Item/+Group/+Sub/+Label/+Divider)](docs/components/Menu.md) — shared M3E vertical-menu primitive
69
+ - [Dropdown (+Item)](docs/components/Dropdown.md)
70
+ - [OverflowMenu (+Item)](docs/components/OverflowMenu.md)
71
+ - [ToggleTheme and ToggleThemeMenu](docs/components/ToggleTheme.md)
72
+
73
+ ### Media and showcase
74
+ - [Avatar](docs/components/Avatar.md)
75
+ - [AvatarStack](docs/components/AvatarStack.md)
76
+ - [Img](docs/components/Img.md)
77
+ - [MediaFrame](docs/components/MediaFrame.md)
78
+ - [Gallery (+Row)](docs/components/Gallery.md)
79
+ - [Stories (+User/Business)](docs/components/Stories.md)
80
+ - [Video](docs/components/Video.md)
81
+ - [PerspectiveImage and PerspectiveCard](docs/components/Perspective.md)
82
+ - [Blob](docs/components/Blob.md)
83
+
84
+ ### Text and icons
85
+ - [TextElement](docs/components/TextElement.md)
86
+ - [Icon](docs/components/Icon.md)
87
+ - [MaterialSymbol](docs/components/MaterialSymbol.md)
88
+
89
+ ### Layout
90
+ - [Layers: Container and Section](docs/components/Layers.md)
package/package.json ADDED
@@ -0,0 +1,101 @@
1
+ {
2
+ "name": "react-material-expressive",
3
+ "version": "1.0.0",
4
+ "description": "Material 3 Expressive React component library. Framework-agnostic, precompiled CSS, official M3 design tokens.",
5
+ "author": "Ger Silva",
6
+ "homepage": "https://github.com/gersilva96/react-material-expressive#readme",
7
+ "repository": {
8
+ "type": "git",
9
+ "url": "git+https://github.com/gersilva96/react-material-expressive.git"
10
+ },
11
+ "bugs": {
12
+ "url": "https://github.com/gersilva96/react-material-expressive/issues"
13
+ },
14
+ "keywords": [
15
+ "react",
16
+ "material-design",
17
+ "material-3",
18
+ "m3-expressive",
19
+ "components",
20
+ "design-system",
21
+ "tailwind"
22
+ ],
23
+ "license": "MIT",
24
+ "type": "module",
25
+ "engines": {
26
+ "node": ">=20"
27
+ },
28
+ "sideEffects": [
29
+ "*.css"
30
+ ],
31
+ "files": [
32
+ "dist",
33
+ "docs",
34
+ "CHANGELOG.md",
35
+ "README.md",
36
+ "llms.txt"
37
+ ],
38
+ "main": "./dist/index.cjs",
39
+ "module": "./dist/index.js",
40
+ "types": "./dist/index.d.ts",
41
+ "exports": {
42
+ ".": {
43
+ "types": "./dist/index.d.ts",
44
+ "import": "./dist/index.js",
45
+ "require": "./dist/index.cjs"
46
+ },
47
+ "./styles.css": "./dist/styles.css",
48
+ "./theme.css": "./dist/theme.css",
49
+ "./package.json": "./package.json"
50
+ },
51
+ "scripts": {
52
+ "clean": "rimraf dist",
53
+ "build:css": "tailwindcss -i src/styles.css -o dist/styles.css --minify",
54
+ "build:lib": "tsup",
55
+ "copy:themes": "node scripts/copy-themes.mjs",
56
+ "build": "npm run clean && npm run build:css && npm run build:lib && npm run copy:themes",
57
+ "typecheck": "tsc --noEmit",
58
+ "test": "vitest run",
59
+ "test:watch": "vitest",
60
+ "lint": "eslint . --max-warnings=0",
61
+ "format": "prettier --write .",
62
+ "pack:dry": "npm pack --dry-run",
63
+ "prepack": "npm run build",
64
+ "prepublishOnly": "npm run lint && npm run typecheck && npm run test"
65
+ },
66
+ "peerDependencies": {
67
+ "react": ">=19.0.0",
68
+ "react-dom": ">=19.0.0"
69
+ },
70
+ "dependencies": {
71
+ "clsx": "2.1.1",
72
+ "tailwind-merge": "3.6.0"
73
+ },
74
+ "devDependencies": {
75
+ "@eslint/js": "10.0.1",
76
+ "@tailwindcss/cli": "4.3.0",
77
+ "@testing-library/jest-dom": "6.9.1",
78
+ "@testing-library/react": "16.3.2",
79
+ "@testing-library/user-event": "14.6.1",
80
+ "@types/jest-axe": "3.5.9",
81
+ "@types/react": "19.2.17",
82
+ "@types/react-dom": "19.2.3",
83
+ "eslint": "10.4.1",
84
+ "globals": "17.6.0",
85
+ "jest-axe": "10.0.0",
86
+ "jiti": "2.7.0",
87
+ "jsdom": "29.1.1",
88
+ "prettier": "3.8.3",
89
+ "react": "19.2.7",
90
+ "react-dom": "19.2.7",
91
+ "rimraf": "6.1.3",
92
+ "tailwindcss": "4.3.0",
93
+ "tsup": "8.5.1",
94
+ "typescript": "6.0.3",
95
+ "typescript-eslint": "8.60.1",
96
+ "vitest": "4.1.9"
97
+ },
98
+ "publishConfig": {
99
+ "access": "public"
100
+ }
101
+ }