@expressivecss/expressive 0.3.0 → 0.5.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 +96 -0
- package/README.md +4 -9
- package/dist/css/expressive.css +3183 -2150
- package/dist/css/expressive.css.map +1 -1
- package/dist/css/expressive.min.css +1 -1
- package/dist/css/expressive.min.css.map +1 -1
- package/dist/js/expressive.cjs +1254 -1567
- package/dist/js/expressive.cjs.map +4 -4
- package/dist/js/expressive.js +1254 -1567
- package/dist/js/expressive.js.map +4 -4
- package/dist/js/expressive.min.js +12 -22
- package/dist/js/expressive.min.js.map +4 -4
- package/dist/js/expressive.mjs +1254 -1568
- package/dist/js/expressive.mjs.map +4 -4
- package/dist/types/behaviors/bottomSheets.d.ts +18 -0
- package/dist/types/behaviors/sideSheets.d.ts +18 -0
- package/dist/types/components/autocomplete.d.ts +13 -20
- package/dist/types/components/buttons.d.ts +2 -2
- package/dist/types/components/cards.d.ts +3 -6
- package/dist/types/components/carousel.d.ts +3 -3
- package/dist/types/components/characterCounter.d.ts +3 -5
- package/dist/types/components/chips.d.ts +2 -2
- package/dist/types/components/datepicker.d.ts +2 -8
- package/dist/types/components/index.d.ts +3 -6
- package/dist/types/components/lightbox.d.ts +2 -2
- package/dist/types/components/{dropdown.d.ts → menu.d.ts} +48 -38
- package/dist/types/components/navigationRail.d.ts +53 -0
- package/dist/types/components/parallax.d.ts +2 -8
- package/dist/types/components/range.d.ts +5 -2
- package/dist/types/components/registry.d.ts +7 -19
- package/dist/types/components/scrollspy.d.ts +26 -50
- package/dist/types/components/select.d.ts +28 -14
- package/dist/types/components/sidenav.d.ts +40 -55
- package/dist/types/components/slider.d.ts +2 -2
- package/dist/types/components/{toasts.d.ts → snackbar.d.ts} +28 -25
- package/dist/types/components/tabs.d.ts +2 -2
- package/dist/types/components/timepicker.d.ts +2 -4
- package/dist/types/components/tooltip.d.ts +2 -2
- package/dist/types/core/component.d.ts +4 -4
- package/dist/types/index.d.ts +3 -1
- package/package.json +4 -3
- package/src/sass/README.md +13 -15
- package/src/sass/abstracts/_breakpoints.scss +14 -19
- package/src/sass/abstracts/_mixins.scss +3 -3
- package/src/sass/abstracts/_variables.scss +27 -23
- package/src/sass/base/_global.scss +1 -1
- package/src/sass/base/_grid.scss +64 -133
- package/src/sass/base/_index.scss +1 -1
- package/src/sass/components/_badges.scss +76 -61
- package/src/sass/components/_bottom-sheet.scss +137 -0
- package/src/sass/components/_buttons.scss +22 -54
- package/src/sass/components/_cards.scss +54 -127
- package/src/sass/components/_carousel.scss +4 -6
- package/src/sass/components/_chips.scss +6 -5
- package/src/sass/components/_datepicker.scss +1 -15
- package/src/sass/components/_dialog.scss +268 -0
- package/src/sass/components/_index.scss +9 -7
- package/src/sass/components/_list.scss +253 -0
- package/src/sass/components/_menu.scss +341 -0
- package/src/sass/components/_navbar.scss +68 -117
- package/src/sass/components/_navigation-bar.scss +165 -0
- package/src/sass/components/_navigation-rail.scss +308 -0
- package/src/sass/components/_page-footer.scss +138 -15
- package/src/sass/components/_parallax.scss +7 -28
- package/src/sass/components/_preloader.scss +145 -300
- package/src/sass/components/_scrollspy.scss +18 -0
- package/src/sass/components/_side-sheet.scss +193 -0
- package/src/sass/components/_sidenav.scss +281 -146
- package/src/sass/components/{_toast.scss → _snackbar.scss} +43 -43
- package/src/sass/components/_table_of_contents.scss +30 -14
- package/src/sass/components/_tabs.scss +43 -50
- package/src/sass/components/_toolbar.scss +93 -27
- package/src/sass/components/_tooltip.scss +5 -10
- package/src/sass/components/_transitions.scss +0 -5
- package/src/sass/components/forms/_fieldset.scss +1 -1
- package/src/sass/components/forms/_index.scss +0 -5
- package/src/sass/components/forms/_input-fields.scss +52 -55
- package/src/sass/components/forms/_range.scss +423 -98
- package/src/sass/components/forms/_select.scss +177 -60
- package/src/sass/components/forms/_switches.scss +21 -8
- package/src/sass/tokens/_reference.scss +37 -13
- package/src/sass/tokens/_theme.scss +5 -13
- package/src/sass/utilities/_colors.scss +16 -74
- package/src/sass/utilities/_helpers.scss +1 -3
- package/src/sass/utilities/_typescale.scss +0 -5
- package/src/sass/utilities/_visibility.scss +10 -2
- package/dist/types/components/collapsible.d.ts +0 -96
- package/dist/types/components/modal.d.ts +0 -45
- package/dist/types/components/pushpin.d.ts +0 -51
- package/dist/types/components/tapTarget.d.ts +0 -57
- package/src/sass/components/_collapsible.scss +0 -181
- package/src/sass/components/_collection.scss +0 -198
- package/src/sass/components/_dropdown.scss +0 -129
- package/src/sass/components/_modal.scss +0 -208
- package/src/sass/components/_pushpin.scss +0 -11
- package/src/sass/components/_tapTarget.scss +0 -191
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
Notable changes to ExpressiveCSS. Versions follow [semver](https://semver.org/);
|
|
4
|
+
the format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
|
|
5
|
+
|
|
6
|
+
## [Unreleased]
|
|
7
|
+
|
|
8
|
+
## [0.5.0] - 2026-08-19
|
|
9
|
+
|
|
10
|
+
The release that finishes moving the vendored Materialize surface onto Material
|
|
11
|
+
Design 3 Expressive. Components with no M3 counterpart are gone, several were
|
|
12
|
+
renamed to their M3 names, and the color layer now carries the full role set.
|
|
13
|
+
Pre-1.0, so the breaking changes below are not gated behind a deprecation cycle
|
|
14
|
+
— but every retired docs URL still 301s to its replacement.
|
|
15
|
+
|
|
16
|
+
### Added
|
|
17
|
+
|
|
18
|
+
- **Menu** (`Menu`, `.menu-trigger` + `<menu>`) — M3 vertical menus, replacing
|
|
19
|
+
`Dropdown`. Nested flyout submenus, a selected-item state, a vibrant color
|
|
20
|
+
mode, and per-menu sizing.
|
|
21
|
+
- **Navigation bar** (`.navigation-bar`, CSS only) and **navigation rail**
|
|
22
|
+
(`NavigationRail`, `.navigation-rail`, auto-inits) — compact and medium/large
|
|
23
|
+
navigation, with stacked, horizontal, collapsed, expanded, and modal layouts.
|
|
24
|
+
- **Bottom sheets** (`.bottom-sheet`, started by `BottomSheets.Init()`) — modal
|
|
25
|
+
and standard variants with drag-to-dismiss; 28dp top corners, 640dp max width.
|
|
26
|
+
- **Side sheets** (`.side-sheet`, started by `SideSheets.Init()`) — modal and
|
|
27
|
+
standard variants, 400px wide, drag-to-dismiss from the header or the inner
|
|
28
|
+
24dp edge.
|
|
29
|
+
- **Lists** (`.list`) — standard and segmented variants, replacing `.collection`.
|
|
30
|
+
- **Dialogs** — basic and full-screen variants on native `<dialog>`, on M3 tokens
|
|
31
|
+
(`surface-container-high`, `on-surface-variant`).
|
|
32
|
+
- **Snackbar** (`Snackbar`) — `Toast` under its M3 name, with a reworked options
|
|
33
|
+
object: `snackbarId` replaces `toastId`, `displayLength` accepts `Infinity` to
|
|
34
|
+
stay until the user acts, and defaults to 10000 when an `action` is set.
|
|
35
|
+
- **Widescreen layout** — an `xxlarge` breakpoint at 1601px, the `.xxl` grid
|
|
36
|
+
prefix, wider container caps (1920px at `xxlarge`, `.container.wide` 2400px,
|
|
37
|
+
`.container.max` uncapped), and `.hide-on-xxl-only` / `.show-on-xxl`.
|
|
38
|
+
- **Slider variants** — `.centered` (active track grows from the midpoint),
|
|
39
|
+
dual-handle ranges in one host, sizes `.s` / `.m` / `.l` / `.xl`, `.stops`
|
|
40
|
+
discrete ticks, and an optional inset leading icon.
|
|
41
|
+
- **M3 Expressive color roles** — the surface containers
|
|
42
|
+
(`surface-container-lowest` … `surface-container-highest`), `surface-dim`,
|
|
43
|
+
`surface-bright`, the fixed roles, and `outline-variant`. Utility classes are
|
|
44
|
+
generated from the role list, so every role has both `.role` (fill) and
|
|
45
|
+
`.role-text` (foreground).
|
|
46
|
+
- **Badges** — M3 anatomy: a 6dp dot and a 16dp stadium with a label, positioned
|
|
47
|
+
against navigation, list, and sidenav icons.
|
|
48
|
+
|
|
49
|
+
### Changed
|
|
50
|
+
|
|
51
|
+
- **Breaking:** `Autocomplete`'s `menuOptions.onItemClick` now receives the clicked
|
|
52
|
+
`li` and is called on the `Menu` instance, matching the documented `MenuOptions`
|
|
53
|
+
contract. It previously received the autocomplete's `<input>` element, so a
|
|
54
|
+
handler written against the documented signature got the wrong node. Handlers
|
|
55
|
+
that used the argument need updating; handlers that ignored it are unaffected.
|
|
56
|
+
- App bars separate from the body on scroll with a `surface-container` fill
|
|
57
|
+
instead of elevation, interpolated through the new
|
|
58
|
+
`--md-comp-top-app-bar-scrolled-container-color`.
|
|
59
|
+
- The sidenav trigger stays visible at every breakpoint; it used to be hidden at
|
|
60
|
+
`large`, which left an M3 app bar with no leading navigation control.
|
|
61
|
+
- Collapsible sections inside the sidenav are now `<details>` / `<summary>`.
|
|
62
|
+
- Components were repointed at accurate M3 container roles rather than
|
|
63
|
+
`surface-variant` aliases, which is what fixes their dark-mode contrast.
|
|
64
|
+
- **Breaking for direct Sass importers:** component partials were renamed to
|
|
65
|
+
match the components they now hold — `components/_modal.scss` →
|
|
66
|
+
`_dialog.scss`, `_dropdown.scss` → `_menu.scss`, `_collection.scss` →
|
|
67
|
+
`_list.scss`, `_toast.scss` → `_snackbar.scss`. `_collapsible.scss`,
|
|
68
|
+
`_pushpin.scss`, and `_tapTarget.scss` are gone. Only code that `@use`s a
|
|
69
|
+
partial by path is affected — the renames themselves change nothing about the
|
|
70
|
+
compiled CSS, and importing `expressive.scss` still pulls in everything.
|
|
71
|
+
- Retired docs routes 301 to their replacements: `/dropdown` → `/menu`,
|
|
72
|
+
`/collections` → `/lists`, `/modals` → `/dialogs`, `/toasts` → `/snackbar`,
|
|
73
|
+
`/range` → `/sliders`, `/collapsible` → `/sidenav`,
|
|
74
|
+
`/feature-discovery` is gone.
|
|
75
|
+
|
|
76
|
+
### Removed
|
|
77
|
+
|
|
78
|
+
Every entry here is breaking. The replacement is named where there is one; there
|
|
79
|
+
are no compatibility aliases.
|
|
80
|
+
|
|
81
|
+
- `Dropdown` and `.dropdown-trigger` / `.dropdown-content` — use `Menu` and
|
|
82
|
+
`.menu-trigger`.
|
|
83
|
+
- `Toast` — use `Snackbar`.
|
|
84
|
+
- `.collection` and its modifiers — use `.list`.
|
|
85
|
+
- `Collapsible` and `.collapsible` — use native `<details>` / `<summary>`.
|
|
86
|
+
- `Pushpin` and `.pushpin` / `.pin-*` — use `position: sticky`.
|
|
87
|
+
- Feature Discovery (`TapTarget`, `.tap-target`). It is not an M3 component.
|
|
88
|
+
- `.modal` and its modifiers — dialogs are native `<dialog>` elements.
|
|
89
|
+
- `dialog.top` / `dialog.top-sheet`. M3 has no top sheet; use a side sheet or a
|
|
90
|
+
bottom sheet. The unused `--md-comp-basic-dialog-sheet-width` token is gone
|
|
91
|
+
with them.
|
|
92
|
+
- `.tabs` nested in a header or app bar as a secondary row. `.tabs` is a
|
|
93
|
+
standalone component; the `.tabs.transparent` app bar variant is gone with it.
|
|
94
|
+
|
|
95
|
+
[Unreleased]: https://github.com/BaezFJ/ExpressiveCSS/compare/v0.5.0...HEAD
|
|
96
|
+
[0.5.0]: https://github.com/BaezFJ/ExpressiveCSS/compare/v0.4.0...v0.5.0
|
package/README.md
CHANGED
|
@@ -4,7 +4,7 @@ ExpressiveCSS is a Material Design 3 front-end framework built with Sass and
|
|
|
4
4
|
TypeScript. It provides theme tokens, layout and utility classes, styled form
|
|
5
5
|
controls, and JavaScript components in browser, ES module, and CommonJS builds.
|
|
6
6
|
|
|
7
|
-
> ExpressiveCSS is currently at version `0.
|
|
7
|
+
> ExpressiveCSS is currently at version `0.5.0` and under active development.
|
|
8
8
|
|
|
9
9
|
## Features
|
|
10
10
|
|
|
@@ -12,8 +12,8 @@ controls, and JavaScript components in browser, ES module, and CommonJS builds.
|
|
|
12
12
|
- Light and dark themes using CSS custom properties
|
|
13
13
|
- Responsive grid and utility classes
|
|
14
14
|
- Buttons, cards, forms, navigation, and other styled components
|
|
15
|
-
- Interactive components including carousels,
|
|
16
|
-
|
|
15
|
+
- Interactive components including carousels, date pickers, menus,
|
|
16
|
+
side navigation, tabs, tooltips, and more
|
|
17
17
|
- ES module, CommonJS, browser IIFE, CSS, and TypeScript declaration outputs
|
|
18
18
|
- Automatic component initialization with an opt-out mechanism
|
|
19
19
|
|
|
@@ -62,12 +62,7 @@ after the page has loaded:
|
|
|
62
62
|
```html
|
|
63
63
|
<link rel="stylesheet" href="dist/css/expressive.min.css">
|
|
64
64
|
|
|
65
|
-
<
|
|
66
|
-
<details name="intro">
|
|
67
|
-
<summary>Details</summary>
|
|
68
|
-
<p>ExpressiveCSS is ready.</p>
|
|
69
|
-
</details>
|
|
70
|
-
</div>
|
|
65
|
+
<a class="button tooltipped" data-tooltip="ExpressiveCSS is ready.">Hover</a>
|
|
71
66
|
|
|
72
67
|
<script src="dist/js/expressive.min.js"></script>
|
|
73
68
|
<script>
|