actual-css 0.3.1 → 0.4.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/CHANGELOG.md +109 -3
- package/README.md +35 -30
- package/dist/actual.css +66 -4958
- package/dist/actual.full.css +7548 -0
- package/dist/actual.full.js +1 -0
- package/dist/actual.full.min.css +1 -0
- package/dist/actual.js +1 -1
- package/dist/actual.min.css +1 -1
- package/docs/design-notes/app-ui.md +33 -0
- package/docs/design-notes/cascade-layer.md +34 -13
- package/docs/design-notes/column-layout.md +677 -0
- package/docs/design-notes/enhancement-contract.md +25 -0
- package/docs/design-notes/forced-colors.md +3 -0
- package/docs/design-notes/grid.md +785 -0
- package/docs/design-notes/naming.md +15 -0
- package/docs/design-notes/references.md +1 -1
- package/docs/design-notes/widget-primitives.md +1 -0
- package/docs/navigation.json +12 -2
- package/docs/pages/components/alert.md +21 -14
- package/docs/pages/components/app-navigation.md +34 -0
- package/docs/pages/components/aura.md +1 -1
- package/docs/pages/components/avatar.md +16 -6
- package/docs/pages/components/badge.md +9 -7
- package/docs/pages/components/button.md +46 -16
- package/docs/pages/components/card.md +17 -9
- package/docs/pages/components/chat.md +8 -8
- package/docs/pages/components/dialog.md +7 -7
- package/docs/pages/components/drawer.md +3 -3
- package/docs/pages/components/fab.md +9 -7
- package/docs/pages/components/indicator.md +52 -0
- package/docs/pages/components/list.md +62 -0
- package/docs/pages/components/navbar.md +15 -8
- package/docs/pages/components/pagination.md +4 -3
- package/docs/pages/components/rating.md +68 -0
- package/docs/pages/components/skeleton.md +4 -4
- package/docs/pages/components/spinner.md +5 -5
- package/docs/pages/components/steps.md +57 -0
- package/docs/pages/components/table.md +30 -5
- package/docs/pages/enhancements/flyout.md +15 -15
- package/docs/pages/enhancements/overview.md +1 -1
- package/docs/pages/enhancements/scrollspy.md +6 -6
- package/docs/pages/enhancements/status-bar.md +5 -1
- package/docs/pages/enhancements/tabs.md +7 -8
- package/docs/pages/enhancements/tooltip.md +1 -1
- package/docs/pages/examples/overview.md +47 -22
- package/docs/pages/forms/choice-cards.md +11 -6
- package/docs/pages/forms/controls.md +1 -1
- package/docs/pages/forms/detached-actions.md +1 -1
- package/docs/pages/forms/floating-field.md +10 -5
- package/docs/pages/forms/form-actions.md +1 -1
- package/docs/pages/forms/input-policy.md +1 -1
- package/docs/pages/forms/joined-controls.md +4 -4
- package/docs/pages/forms/labels.md +6 -6
- package/docs/pages/forms/otp.md +33 -1
- package/docs/pages/forms/overview.md +19 -19
- package/docs/pages/forms/password.md +1 -1
- package/docs/pages/forms/range.md +1 -1
- package/docs/pages/forms/states-and-sizes.md +44 -48
- package/docs/pages/forms/sticky-actions.md +3 -3
- package/docs/pages/forms/switch.md +110 -2
- package/docs/pages/forms/validation.md +9 -9
- package/docs/pages/foundations/philosophy.md +1 -1
- package/docs/pages/foundations/theming.md +17 -2
- package/docs/pages/foundations/tokens.md +22 -10
- package/docs/pages/foundations/typography.md +50 -20
- package/docs/pages/guides/bootstrap.md +11 -11
- package/docs/pages/guides/integrating-actual-css.md +192 -0
- package/docs/pages/guides/introduction.md +23 -26
- package/docs/pages/guides/modular-import.md +173 -0
- package/docs/pages/guides/progressive-enhancement.md +81 -78
- package/docs/pages/guides/tailwind.md +6 -8
- package/docs/pages/layout/app-layout.md +57 -0
- package/docs/pages/layout/app-shell.md +28 -7
- package/docs/pages/layout/center.md +12 -1
- package/docs/pages/layout/choosing.md +54 -0
- package/docs/pages/layout/column-layout.md +206 -0
- package/docs/pages/layout/frame.md +6 -1
- package/docs/pages/layout/grid.md +133 -102
- package/docs/pages/layout/media.md +1 -1
- package/docs/pages/layout/overview.md +15 -2
- package/docs/pages/layout/scroll-snap.md +2 -2
- package/docs/pages/layout/scroll-target.md +45 -0
- package/docs/pages/layout/sidebar-layout.md +38 -18
- package/docs/pages/layout/stack.md +70 -1
- package/docs/pages/layout/switcher.md +10 -26
- package/docs/pages/layout/topbar.md +2 -2
- package/docs/pages/patterns/actions.md +1 -1
- package/docs/pages/patterns/code-block.md +1 -1
- package/docs/pages/patterns/exclusive-accordion.md +1 -1
- package/docs/pages/patterns/hierarchical-nav.md +1 -1
- package/docs/pages/patterns/icon-input.md +1 -1
- package/docs/pages/patterns/icon-slot.md +61 -0
- package/docs/pages/patterns/intent-nesting.md +1 -1
- package/docs/pages/patterns/navigation-list.md +1 -1
- package/docs/pages/patterns/overview.md +1 -1
- package/docs/pages/patterns/structured-lists.md +38 -40
- package/docs/pages/utilities/accessibility.md +3 -3
- package/docs/pages/utilities/flex.md +15 -15
- package/docs/pages/utilities/links.md +4 -4
- package/docs/pages/utilities/list.md +8 -8
- package/docs/pages/utilities/overflow.md +8 -8
- package/docs/pages/utilities/overview.md +1 -1
- package/docs/pages/utilities/shape.md +3 -3
- package/docs/pages/utilities/sizing-wrapping.md +23 -16
- package/docs/pages/utilities/spacing.md +20 -20
- package/docs/pages/utilities/text.md +10 -10
- package/llms.txt +46 -4
- package/package.json +43 -13
- package/scripts/reserved-classes.json +278 -0
- package/src/cli/actual-css.js +133 -0
- package/src/css/actual.css +1 -31
- package/src/css/actual.full.css +11 -2
- package/src/css/components/alert.css +17 -4
- package/src/css/components/app-nav.css +76 -0
- package/src/css/components/avatar.css +4 -0
- package/src/css/components/badge.css +19 -19
- package/src/css/components/breadcrumb.css +1 -1
- package/src/css/components/button.css +20 -32
- package/src/css/components/card.css +34 -9
- package/src/css/{optional → components}/chat.css +0 -6
- package/src/css/components/drawer.css +24 -5
- package/src/css/{optional → components}/fab.css +1 -7
- package/src/css/components/flyout.css +5 -0
- package/src/css/components/index.css +37 -27
- package/src/css/components/indicator.css +47 -0
- package/src/css/components/join.css +8 -1
- package/src/css/components/key.css +2 -0
- package/src/css/components/list.css +83 -0
- package/src/css/components/menu.css +11 -8
- package/src/css/components/meter.css +4 -1
- package/src/css/components/modal.css +5 -17
- package/src/css/components/navbar.css +6 -15
- package/src/css/components/pagination.css +11 -0
- package/src/css/components/rating.css +101 -0
- package/src/css/components/spinner.css +5 -0
- package/src/css/components/status-bar.css +5 -0
- package/src/css/components/steps.css +122 -0
- package/src/css/components/surface.css +5 -0
- package/src/css/components/tab.css +20 -22
- package/src/css/components/table.css +6 -0
- package/src/css/components/tooltip.css +3 -7
- package/src/css/{focus.css → core/focus.css} +0 -8
- package/src/css/core/index.css +9 -0
- package/src/css/core/print.css +18 -0
- package/src/css/{theme.css → core/theme.css} +19 -19
- package/src/css/{tokens.css → core/tokens.css} +16 -4
- package/src/css/{variants.css → core/variants.css} +3 -2
- package/src/css/{optional → effects}/aura.css +1 -10
- package/src/css/effects/index.css +2 -0
- package/src/css/forms/base.css +8 -0
- package/src/css/forms/choice-card.css +7 -15
- package/src/css/forms/choice.css +49 -37
- package/src/css/forms/control.css +4 -1
- package/src/css/forms/custom-select.css +2 -0
- package/src/css/{optional → forms}/floating-field.css +25 -7
- package/src/css/forms/index.css +10 -13
- package/src/css/forms/native.css +15 -2
- package/src/css/{optional → forms}/otp.css +25 -16
- package/src/css/forms/range.css +14 -4
- package/src/css/forms/switch.css +31 -29
- package/src/css/layout/app-layout.css +102 -0
- package/src/css/layout/app-shell.css +6 -0
- package/src/css/layout/center.css +14 -0
- package/src/css/layout/cluster.css +21 -0
- package/src/css/layout/column-layout.css +144 -0
- package/src/css/layout/container-query.css +15 -0
- package/src/css/layout/frame.css +19 -0
- package/src/css/layout/grid.css +155 -0
- package/src/css/layout/index.css +44 -0
- package/src/css/layout/measure.css +9 -0
- package/src/css/layout/media.css +10 -0
- package/src/css/layout/scroll-target.css +15 -0
- package/src/css/layout/scroller.css +41 -0
- package/src/css/layout/sidebar-layout.css +52 -0
- package/src/css/layout/stack.css +21 -0
- package/src/css/layout/switcher.css +23 -0
- package/src/css/{optional/layout-extra.css → layout/topbar.css} +0 -20
- package/src/css/typography/index.css +5 -0
- package/src/css/typography/lead.css +7 -0
- package/src/css/{components → typography}/overline.css +2 -2
- package/src/css/{prose.css → typography/prose.css} +57 -38
- package/src/css/{utilities.css → utilities/base.css} +2 -0
- package/src/css/utilities/index.css +3 -0
- package/src/js/escape.js +36 -0
- package/src/js/flyout.js +22 -12
- package/src/js/full.js +26 -0
- package/src/js/index.js +5 -21
- package/src/js/surface.js +1 -31
- package/src/js/tooltip.js +48 -19
- package/src/js/validation.js +1 -1
- package/src/tooling/css-bundle.js +308 -0
- package/dist/actual-themes.min.css +0 -1
- package/dist/optional.css +0 -1048
- package/dist/optional.min.css +0 -1
- package/docs/pages/guides/optional-components.md +0 -33
- package/docs/pages/layout/list.md +0 -41
- package/src/css/grid.css +0 -109
- package/src/css/layout.css +0 -123
- package/src/css/optional/index.css +0 -10
- package/src/css/optional/scroller.css +0 -63
- package/src/css/print.css +0 -47
- package/src/css/themes/corporate.css +0 -60
- package/src/css/themes/cyberpunk.css +0 -60
- package/src/css/themes/dim.css +0 -33
- package/src/css/themes/edge.css +0 -117
- package/src/css/themes/forest.css +0 -65
- package/src/css/themes/gradient.css +0 -97
- package/src/css/themes/index.css +0 -47
- package/src/css/themes/indigo.css +0 -33
- package/src/css/themes/lavender.css +0 -66
- package/src/css/themes/mono.css +0 -60
- package/src/css/themes/neon.css +0 -66
- package/src/css/themes/ocean.css +0 -60
- package/src/css/themes/petrol.css +0 -64
- package/src/css/themes/spruce.css +0 -64
- package/src/css/themes/square.css +0 -65
- package/src/css/themes/sunset.css +0 -66
- /package/src/css/{base.css → core/base.css} +0 -0
- /package/src/css/{intents.css → core/intents.css} +0 -0
- /package/src/css/{reset.css → core/reset.css} +0 -0
- /package/src/css/{optional → layout}/scroll-snap.css +0 -0
- /package/src/css/{optional/typography-fluid.css → typography/fluid.css} +0 -0
- /package/src/css/{optional/utilities-extra.css → utilities/extra.css} +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,8 +1,114 @@
|
|
|
1
|
-
# Changelog
|
|
1
|
+
# Actual CSS Changelog
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
## [Unreleased]
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
## [0.4.1] - 2026-08-25
|
|
7
|
+
|
|
8
|
+
### Added
|
|
9
|
+
|
|
10
|
+
* `indicator`, `rating`, and intrinsically responsive `steps` components.
|
|
11
|
+
* `list` / `list-item` for repeated application rows with leading, content, and trailing regions.
|
|
12
|
+
* `app-nav` and `app-layout` primitives for adaptive application shells.
|
|
13
|
+
* `.sidebar-layout.reverse` to place the sidebar visually first while keeping main-content-first DOM order.
|
|
14
|
+
* `icon-slot` documented pattern for predictable contained icon regions.
|
|
15
|
+
* `check:doc-classes` guardrail for validating framework classes used in documentation.
|
|
16
|
+
* New **Actual Tasks** mobile/application demo.
|
|
17
|
+
* `docs-geometry` guardrail asserting the documentation shell can reach the structural-grid thresholds, read from `grid.css` rather than hard-coded.
|
|
18
|
+
* `--width` on `shot:page` for captures at an exact layout viewport; the flag was previously accepted and silently ignored.
|
|
19
|
+
|
|
20
|
+
### Changed
|
|
21
|
+
|
|
22
|
+
* Improved card and prose vertical rhythm:
|
|
23
|
+
* bare cards now own direct-child spacing through `--card-gap`;
|
|
24
|
+
* direct child block margins are normalized;
|
|
25
|
+
* `.stack` and `.media` keep ownership when composed with `.card`;
|
|
26
|
+
* prose sibling rhythm is more deterministic.
|
|
27
|
+
* `steps` now use one intrinsic responsive layout, filling available space and scrolling only when `--step-min` cannot be maintained.
|
|
28
|
+
* Added `--step-marker-radius`, `--step-connector`, and `--step-complete-mark` customization hooks.
|
|
29
|
+
* Improved `app-layout` / `app-nav` composition with framework-owned safe-area handling and automatic FAB/navigation avoidance.
|
|
30
|
+
* Clarified that `app-layout` targets persistent application shells rather than regular document pages.
|
|
31
|
+
* Simplified forced-colors support: native/system colors are preferred, with framework overrides limited to structural states that would otherwise disappear.
|
|
32
|
+
* Expanded documentation around lists, application layouts, icon containment, and framework-vs-application CSS ownership.
|
|
33
|
+
* Documented reference container sizes for `.grid-N`, including that the thresholds describe the query container's content box rather than the viewport.
|
|
34
|
+
* Recorded why the framework exposes no global breakpoint scale: container width is not a monotonic function of viewport width, measured across a composition that reveals a sidebar as the viewport grows.
|
|
35
|
+
|
|
36
|
+
### Fixed
|
|
37
|
+
|
|
38
|
+
* Tooltip cleanup now follows enhancement-root membership correctly, including triggers moved outside the observed root while still connected.
|
|
39
|
+
* Documentation home-page overflow and minimum-size issues.
|
|
40
|
+
* Documentation demo previews could not reach the structural-grid thresholds. The article column capped every live preview at 45.9rem at any viewport width, so `.grid-3` demos rendered one column and `.grid-4` / `.grid-6` two — including on the page documenting `6 -> 3 -> 2 -> 1`. No framework CSS was involved or changed.
|
|
41
|
+
* Invalid or misleading documentation class examples.
|
|
42
|
+
* Steps sizing and narrow-container behavior.
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
## [0.4.0] - 2026-08-22
|
|
46
|
+
|
|
47
|
+
### Added
|
|
48
|
+
|
|
49
|
+
* Modular CSS architecture with `core`, `layout`, `typography`, `forms`, `components`, `effects`, and `utilities` families, with family and individual-module imports.
|
|
50
|
+
* `actual-css/full` / `actual.full.*` bundles for the complete CSS and JS framework.
|
|
51
|
+
* `.column-layout` with `column-span-1…12` and `column-start-1…12` for explicit opt-in 12-column composition.
|
|
52
|
+
* Intrinsic `.switcher` and `.sidebar-layout` layout recipes, plus explicit layout-selection guidance.
|
|
53
|
+
* `.scroll-target` with `--scroll-target-offset` for hash links and `scrollIntoView()` below sticky UI.
|
|
54
|
+
* Dedicated `typography/lead.css` and `layout/measure.css`; `.measure` exposes `--measure`.
|
|
55
|
+
* Generated and published `reserved-classes.json` for the framework-owned class namespace.
|
|
56
|
+
* Native `accent-color` theming for unstyled platform controls, recomputed across `[data-theme]` islands.
|
|
57
|
+
* “Building with Actual CSS” integration guide covering theme tokens, layout selection, hooks, utilities, and application CSS.
|
|
58
|
+
* Expanded build, architecture, compatibility, browser-layout, package, and generated-output guardrails, including real `npm pack` verification.
|
|
59
|
+
* `brutalist` theme.
|
|
60
|
+
* `--soft-fg-mix` for tuning soft foreground ink.
|
|
61
|
+
* Optional `--link` override for prose link ink.
|
|
62
|
+
* `check:color-space` guardrail for intent/context color interpolation.
|
|
63
|
+
* Bundle tool.
|
|
64
|
+
|
|
65
|
+
### Changed
|
|
66
|
+
|
|
67
|
+
* The bare `actual-css` entrypoint is now the minimal core; use `actual-css/full` for all CSS families.
|
|
68
|
+
* `actual-css/js` is now the enhancement loader only; use `actual-css/js/full` or `actual.full.js` for the complete pre-registered runtime.
|
|
69
|
+
* `.grid` remains space-driven through `--grid-min`; `.grid-2/3/4/6` now express bounded structural density and degrade responsively.
|
|
70
|
+
* `.container-query` optionally gives `.grid-N` balanced divisor-based subdivisions.
|
|
71
|
+
* `--grid-columns` is the explicit escape hatch for exact custom tracks.
|
|
72
|
+
* `.sidebar-layout` now uses intrinsic flex wrapping instead of a hidden breakpoint contract.
|
|
73
|
+
* Grid primitives preserve overflow-safe track sizing.
|
|
74
|
+
* `.card` is now a column flex container and direct footers can anchor to the bottom.
|
|
75
|
+
* Focus is now a core invariant.
|
|
76
|
+
* Focus rings follow each theme island's `--focus`.
|
|
77
|
+
* `.prose` adds native description-list styling.
|
|
78
|
+
* `.lead` and `.measure` are independent from `.prose`.
|
|
79
|
+
* Utilities are split between compact framework shortcuts and optional property/value helpers.
|
|
80
|
+
* Preset theme palettes are reference/demo material rather than package API.
|
|
81
|
+
* `llms.txt` documents package splits, layout selection, the class manifest, and application-CSS integration.
|
|
82
|
+
* Biome covers `src/`, `scripts/`, and `tests/`.
|
|
83
|
+
* Intent/context color mixes use OKLab.
|
|
84
|
+
* Documentation syntax highlighting uses its own local palette.
|
|
85
|
+
* CI and browser diagnostics were updated for Bun 1.4 and verify committed generated output.
|
|
86
|
+
|
|
87
|
+
### Fixed
|
|
88
|
+
|
|
89
|
+
* Forced-colors and theme-island focus/state handling.
|
|
90
|
+
* Grid child min-content overflow.
|
|
91
|
+
* Drawer RTL behavior.
|
|
92
|
+
* Badge typography token usage.
|
|
93
|
+
* `.sr-only` legacy fallback.
|
|
94
|
+
* `dim` and `indigo` shadows.
|
|
95
|
+
* Vendor pseudo-element handling for color inputs and meters.
|
|
96
|
+
* Tooltip Escape handling and LIFO dismissal.
|
|
97
|
+
* OTP, switch, joined-control, floating-field, validation, and native color-control edge cases.
|
|
98
|
+
* Flyout lifecycle cleanup.
|
|
99
|
+
* Prose spacing and component focus regressions.
|
|
100
|
+
* Compatibility checks matching feature names in CSS comments.
|
|
101
|
+
* Navbar and status-bar guidance.
|
|
102
|
+
|
|
103
|
+
### Breaking
|
|
104
|
+
|
|
105
|
+
* `actual-css` now contains only the core. Use `actual-css/full` for the previous full-framework behavior.
|
|
106
|
+
* `actual-css/js` / `actual.js` now contain only the enhancement loader. Use `actual-css/js/full` / `actual.full.js` for the previous complete runtime.
|
|
107
|
+
* `.grid-N` no longer means a fixed N-column grid at every width.
|
|
108
|
+
* `.sidebar-layout` no longer depends on `.container-query` or the old fixed breakpoint.
|
|
109
|
+
* `.card` now establishes a column flex formatting context.
|
|
110
|
+
* Direct imports of `typography/prose` no longer include `.lead` or `.measure`.
|
|
4
111
|
|
|
5
|
-
This project follows Keep a Changelog and uses semver, including during 0.x.
|
|
6
112
|
|
|
7
113
|
## [0.3.1] - 2026-08-20
|
|
8
114
|
|
package/README.md
CHANGED
|
@@ -2,9 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
Plain CSS component framework for new projects. Semantic classes, shared variants, small tokens, theme hooks, and progressive enhancement.
|
|
4
4
|
|
|
5
|
-
Actual CSS claims a
|
|
5
|
+
Actual CSS claims a documented set of global class names; the package publishes
|
|
6
|
+
it as [`actual-css/reserved-classes.json`](scripts/reserved-classes.json).
|
|
6
7
|
|
|
7
|
-
For existing projects: cascade layers, import order, or
|
|
8
|
+
For existing projects: use cascade layers, import order, or your own build-time
|
|
9
|
+
prefix transform.
|
|
8
10
|
|
|
9
11
|
## Install
|
|
10
12
|
|
|
@@ -15,38 +17,39 @@ npm install actual-css
|
|
|
15
17
|
Import the full framework in your CSS:
|
|
16
18
|
|
|
17
19
|
```css
|
|
18
|
-
@import "actual-css";
|
|
20
|
+
@import "actual-css/full";
|
|
19
21
|
```
|
|
20
22
|
|
|
23
|
+
`actual-css/full` ships every functional family. The bare `actual-css` entrypoint is the minimal core (reset, tokens, theme, base, intents, variants, focus, print).
|
|
24
|
+
|
|
21
25
|
Or import only the pieces you use:
|
|
22
26
|
|
|
23
27
|
```css
|
|
24
|
-
@import "actual-css/css
|
|
25
|
-
@import "actual-css/css/base";
|
|
26
|
-
@import "actual-css/css/tokens";
|
|
27
|
-
@import "actual-css/css/theme";
|
|
28
|
-
@import "actual-css/css/intents";
|
|
29
|
-
@import "actual-css/css/variants";
|
|
28
|
+
@import "actual-css/css";
|
|
30
29
|
@import "actual-css/css/layout";
|
|
31
|
-
@import "actual-css/css/grid";
|
|
32
30
|
@import "actual-css/css/components/button";
|
|
33
31
|
@import "actual-css/css/components/card";
|
|
34
32
|
@import "actual-css/css/forms";
|
|
35
33
|
@import "actual-css/css/components/flyout";
|
|
36
34
|
@import "actual-css/css/utilities";
|
|
37
|
-
@import "actual-css/css/components/join";
|
|
38
|
-
/* Keep the focus baseline after components and controls. */
|
|
39
|
-
@import "actual-css/css/focus";
|
|
40
35
|
```
|
|
41
36
|
|
|
42
|
-
`
|
|
43
|
-
|
|
44
|
-
|
|
37
|
+
`actual-css/css` is the minimal core. Family manifests (`css/layout`,
|
|
38
|
+
`css/components`, `css/typography`, `css/effects`, `css/utilities`) and
|
|
39
|
+
their modules map one-to-one to `src/css/`; `css/forms` is the exception —
|
|
40
|
+
it points at the native-controls base, with `css/forms/all` exposing the
|
|
41
|
+
complete Forms family. See the
|
|
42
|
+
[modular import guide](docs/pages/guides/modular-import.md) for the full map.
|
|
43
|
+
|
|
44
|
+
For a flattened custom bundle, import the source entrypoints you want from
|
|
45
|
+
`actual-css/css` and run `npx actual-css bundle src/app.css --out public/app.css --minify`.
|
|
46
|
+
The CLI resolves package subpaths and relative files, then inlines them without
|
|
47
|
+
transpiling modern CSS.
|
|
45
48
|
|
|
46
|
-
You can also use the compiled
|
|
49
|
+
You can also use the compiled full bundle directly:
|
|
47
50
|
|
|
48
51
|
```html
|
|
49
|
-
<link rel="stylesheet" href="actual.min.css">
|
|
52
|
+
<link rel="stylesheet" href="actual.full.min.css">
|
|
50
53
|
```
|
|
51
54
|
|
|
52
55
|
## Usage
|
|
@@ -96,14 +99,14 @@ Undocumented `is-*` classes are runtime internals.
|
|
|
96
99
|
|
|
97
100
|
**Theme hooks** — public tokens for color, radius, shadow, motion, and typography. Reference presets in `src/css/themes/` are demo material, not default CSS or public package entrypoints.
|
|
98
101
|
|
|
99
|
-
##
|
|
100
|
-
|
|
101
|
-
```css
|
|
102
|
-
@import "actual-css/css/layer";
|
|
103
|
-
@import "actual-css/css/optional/index";
|
|
104
|
-
```
|
|
102
|
+
## Modular CSS
|
|
105
103
|
|
|
106
|
-
|
|
104
|
+
The family manifests are the module catalog: `core`, `layout`, `typography`,
|
|
105
|
+
`forms`, `components`, `effects`, and `utilities` under `src/css/`, each with
|
|
106
|
+
an `index.css` manifest and per-module files. Import a manifest to get the
|
|
107
|
+
family, or a single file for one module. See the
|
|
108
|
+
[modular import guide](docs/pages/guides/modular-import.md) for the full map
|
|
109
|
+
of module names to import paths.
|
|
107
110
|
|
|
108
111
|
## JavaScript enhancers
|
|
109
112
|
|
|
@@ -114,7 +117,7 @@ Presentation (`class`) and behaviour (`data-enhance`) are separate layers — im
|
|
|
114
117
|
Use the full module:
|
|
115
118
|
|
|
116
119
|
```html
|
|
117
|
-
<script src="actual.js" type="module"></script>
|
|
120
|
+
<script src="actual.full.js" type="module"></script>
|
|
118
121
|
```
|
|
119
122
|
|
|
120
123
|
Or import only the enhancers you need:
|
|
@@ -127,18 +130,20 @@ import "actual-css/js/mask";
|
|
|
127
130
|
import "actual-css/js/tooltip";
|
|
128
131
|
```
|
|
129
132
|
|
|
130
|
-
The package does not maintain separate partial bundles. Modular entrypoints map to source files, so each project can compose the framework shape it needs. To customize the full runtime, comment the imports you do not want in `src/js/
|
|
133
|
+
The package does not maintain separate partial bundles. Modular entrypoints map to source files, so each project can compose the framework shape it needs. To customize the full runtime, comment the imports you do not want in `src/js/full.js` and rebuild the JavaScript bundle. JavaScript modules are safe to import during server-side rendering; outside a browser, registration is a no-op.
|
|
131
134
|
|
|
132
135
|
For project-specific behavior, use `actual-css/js/enhance` and the small input helpers rather than patching built-in modules. See [Progressive Enhancements](docs/pages/enhancements/overview.md) for custom filters, textarea autogrow, ajax forms, and htmx-like patterns.
|
|
133
136
|
|
|
134
137
|
## Distribution
|
|
135
138
|
|
|
136
|
-
* `dist/actual.css` — readable
|
|
137
|
-
* `dist/actual.min.css` — the
|
|
139
|
+
* `dist/actual.css` — readable core CSS.
|
|
140
|
+
* `dist/actual.min.css` — the core, minified for production.
|
|
141
|
+
* `dist/actual.full.css` — readable full-bundle CSS (every family).
|
|
142
|
+
* `dist/actual.full.min.css` — the full bundle, minified for production.
|
|
138
143
|
|
|
139
144
|
Modern syntax such as `light-dark()`, `color-mix()`, `@container`, `:has()`, `100dvh`, and `100vi` is preserved in the distributed files.
|
|
140
145
|
|
|
141
|
-
Actual CSS does not currently ship a separate compatibility build. It is designed as progressive enhancement: modern features are guarded with `@supports` where needed, while older browsers still receive core layout, forms, and components.
|
|
146
|
+
Actual CSS does not currently ship a separate compatibility build. It is designed as progressive enhancement: modern features are guarded with `@supports` where needed, while older browsers still receive the core styles and the layout, forms, and components.
|
|
142
147
|
|
|
143
148
|
For more conservative fallbacks, import and compose the source entrypoints directly.
|
|
144
149
|
|