actual-css 0.14.0 → 0.15.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 +56 -0
- package/README.md +8 -8
- package/components.json +51 -6
- package/dist/actual.full.css +367 -31
- package/dist/actual.full.js +1 -1
- package/dist/actual.full.min.css +1 -1
- package/docs/design-notes/widget-primitives.md +4 -0
- package/docs/navigation.json +4 -1
- package/docs/pages/components/accordion.md +15 -18
- package/docs/pages/components/avatar.md +1 -0
- package/docs/pages/components/badge.md +41 -5
- package/docs/pages/components/button.md +5 -0
- package/docs/pages/components/card.md +34 -0
- package/docs/pages/components/diagrams.md +96 -0
- package/docs/pages/components/steps.md +1 -1
- package/docs/pages/components/table.md +4 -0
- package/docs/pages/components/timeline.md +111 -0
- package/docs/pages/enhancements/flyout.md +4 -3
- package/docs/pages/enhancements/overview.md +2 -1
- package/docs/pages/enhancements/tabs.md +48 -6
- package/docs/pages/enhancements/tooltip.md +3 -1
- package/docs/pages/examples/overview.md +5 -2
- package/docs/pages/forms/choice-cards.md +3 -0
- package/docs/pages/forms/combobox.md +34 -19
- package/docs/pages/forms/controls.md +2 -0
- package/docs/pages/forms/date-picker.md +34 -13
- package/docs/pages/forms/file-upload.md +120 -0
- package/docs/pages/forms/overview.md +8 -0
- package/docs/pages/foundations/philosophy.md +6 -0
- package/docs/pages/foundations/theming.md +57 -5
- package/docs/pages/foundations/typography.md +3 -0
- package/docs/pages/guides/introduction.md +1 -1
- package/docs/pages/guides/modular-import.md +124 -0
- package/docs/pages/guides/upgrading.md +63 -0
- package/package.json +4 -3
- package/reserved-classes.json +3 -0
- package/src/css/components/accordion.css +7 -3
- package/src/css/components/alert.css +9 -1
- package/src/css/components/badge.css +38 -11
- package/src/css/components/button.css +10 -2
- package/src/css/components/card.css +9 -0
- package/src/css/components/index.css +1 -0
- package/src/css/components/skeleton.css +11 -0
- package/src/css/components/tab.css +77 -0
- package/src/css/components/table.css +7 -1
- package/src/css/components/timeline.css +160 -0
- package/src/css/core/base.css +3 -1
- package/src/css/core/theme.css +6 -1
- package/src/css/core/tokens.css +3 -3
- package/src/css/forms/choice-card.css +5 -2
- package/src/css/forms/color-swatch.css +4 -0
- package/src/css/forms/control.css +12 -3
- package/src/css/forms/custom-select.css +1 -1
- package/src/css/typography/prose.css +4 -2
- package/src/js/enhance.js +14 -0
- package/src/js/floating-space.js +26 -0
- package/src/js/flyout.js +3 -1
- package/src/js/parse-config.js +5 -2
- package/src/js/tooltip.js +2 -2
- package/src/tooling/design-tokens.js +2 -0
- package/src/tooling/theme-contrast.js +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,62 @@
|
|
|
2
2
|
|
|
3
3
|
## [Unreleased]
|
|
4
4
|
|
|
5
|
+
## [0.15.0] - 2026-10-18
|
|
6
|
+
### Added
|
|
7
|
+
- `.tabs-attached` and `.tab-panel`: folder-style horizontal tabs joined to their panel, with shared surface, padding and shadow hooks.
|
|
8
|
+
- `--control-default-bg`: inherited resting field fill shared with external widget bridges.
|
|
9
|
+
- `theming.md`: a custom button focus recipe that preserves the outline and elevation when focus and hover coincide.
|
|
10
|
+
- `modular-import.md`: replacing a component while keeping its markup, states and theme tokens, with a minimal Steps recipe linked from Philosophy.
|
|
11
|
+
- `neo-brutalist` demo theme: pastel intents under black ink, offset shadows on framed objects, lifting buttons, a plus accordion marker.
|
|
12
|
+
- `demo/templates/neo-brutalist.html`: a risograph print studio page on that theme, with page-loaded fonts.
|
|
13
|
+
- Theming docs: where a font goes when a theme is in use (`:root`, not `[data-theme]`).
|
|
14
|
+
- Card docs: tones (`.card.soft` plus an intent class).
|
|
15
|
+
- Date picker docs and `date-fields.html`: the token bridge maps the panel shadow to `--shadow-popout`.
|
|
16
|
+
- `--btn-shadow`: a resting button elevation that inherits and that the solid hover overlay keeps.
|
|
17
|
+
- `--control-shadow`: a resting elevation for `.input`, `.textarea` and `.select` that keyboard focus keeps.
|
|
18
|
+
- `--table-header-bg` and `--table-header-fg`: theme hooks for the `.table` header band, also read by the data grid template bridge.
|
|
19
|
+
- `--accordion-marker-icon` and `--accordion-marker-open-rotate`: swap the accordion marker glyph and its open turn (plus to cross with `--icon-plus` and `45deg`).
|
|
20
|
+
- `.badge > .avatar`: a leading avatar sized to the badge for person chips (mention, assignee, contributor).
|
|
21
|
+
- `.timeline`: vertical history of dated events, with intent dots and an optional avatar or icon slot.
|
|
22
|
+
- Dashboard and Admini demos: activity feeds use `.timeline` instead of local feed CSS.
|
|
23
|
+
- Diagrams docs and `diagrams.html`: Pele 1.6.0 on Actual tokens through a demo `<pele-diagram>` web component.
|
|
24
|
+
- File upload docs and `file-upload.html`: Dropzone 6.3.5 rows composed from `.list`, `.progress` and `.close`, and FilePond 5.0.0-beta.74 on a `--default-*` token bridge.
|
|
25
|
+
|
|
26
|
+
### Fixed
|
|
27
|
+
- `::selection`: SVG text uses the theme's selection foreground, keeping Pele diagram labels legible when selected.
|
|
28
|
+
- `.card.solid`: bare and `.prose` links follow the card's text color at rest, hover and keyboard focus, including when a theme sets `--link`.
|
|
29
|
+
- `.skeleton`: `--skeleton-track` and `--skeleton-highlight` are translucent ink tints, so a placeholder keeps its edges on cards, soft cards and dark surfaces.
|
|
30
|
+
- `.choice-card.chip`: `--state-selected-text` takes priority over explicit intents to keep checks legible on light selected fills.
|
|
31
|
+
- `.alert` with `.alert-icon`: an icon taller than one line, or an alert stretched by an equal-height grid, no longer opens a gap between the title and the body.
|
|
32
|
+
|
|
33
|
+
### Removed
|
|
34
|
+
- The `bootstrap-v6` demo theme: the core focus line and field treatment it demonstrated are now the defaults.
|
|
35
|
+
|
|
36
|
+
### Changed
|
|
37
|
+
- `.badge > .close`: a trailing disc inside the pill, mirroring a leading `.avatar`; a transparent hit area keeps the 24px target.
|
|
38
|
+
- `edge` theme: the default button drops its hover overlay through `--btn-hover-overlay` instead of `box-shadow: none`.
|
|
39
|
+
- Date picker docs and demos: `@lekoala/date-picker` 0.5.1; focus maps through `--dp-focus` / `--dp-focus-width` instead of two override rules.
|
|
40
|
+
- Date picker docs and demos: `setDefaultControlClasses()` gives every calendar header real `.select`, `.input` and `.btn` controls.
|
|
41
|
+
- Combobox docs and demos: `@lekoala/combobox` 0.7.1; the control reads `--border-width`, `--control-shadow` and `--control-hover-border` like `.input`.
|
|
42
|
+
- Combobox docs and demos: `setDefaultChipClass()` gives every chip the `.badge primary` skin without per-element attributes.
|
|
43
|
+
- `data-grid.html`: `data-grid-component` 3.7.0 with `themes/actual.css`, global Actual control classes and responsive column disclosure.
|
|
44
|
+
- `contrast-contexts.html` and `neo-brutalist.html`: combobox and date picker bridges follow the current recipes (0.7.1 / 0.5.1).
|
|
45
|
+
- `@lekoala/floating` 0.3.1: `repositionAt()` throws on an unknown placement outside a browser too.
|
|
46
|
+
|
|
47
|
+
## [0.14.1] - 2026-10-14
|
|
48
|
+
### Added
|
|
49
|
+
- `actual-css/js/enhance` logs a console warning when a second copy of the runtime loads (dist bundle plus source modules, or two bundles).
|
|
50
|
+
|
|
51
|
+
### Changed
|
|
52
|
+
- `@lekoala/floating` 0.3: a wrapped inline trigger flipped above anchors to its first line, and start/end alignment follows CSS `direction` without a `dir` attribute.
|
|
53
|
+
- `data-tooltip-placement` and `data-flyout-placement`: an unknown value logs one console warning and falls back to the default placement.
|
|
54
|
+
- `dist/`, `site/` and `demo/assets/` are no longer committed: run `bun run build:all` after a clone; npm, GitHub releases and Pages ship the CI build.
|
|
55
|
+
- GitHub Pages deploys from CI (`build:pages`, `scripts/pages.js`) instead of serving the branch.
|
|
56
|
+
|
|
57
|
+
### Fixed
|
|
58
|
+
- `.color-swatch`: an inline swatch (a flyout trigger beside its label) centers on the text instead of sitting above the baseline.
|
|
59
|
+
- `data-enhance-config`: a relaxed config keeps `key:`-like text inside a double-quoted string (`{url: "http://x"}`) instead of throwing.
|
|
60
|
+
|
|
5
61
|
## [0.14.0] - 2026-10-13
|
|
6
62
|
### Breaking changes
|
|
7
63
|
|
package/README.md
CHANGED
|
@@ -64,7 +64,7 @@ size is not worth optimizing:
|
|
|
64
64
|
```
|
|
65
65
|
|
|
66
66
|
```html
|
|
67
|
-
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/actual-css@0.
|
|
67
|
+
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/actual-css@0.15/dist/actual.full.min.css">
|
|
68
68
|
```
|
|
69
69
|
|
|
70
70
|
## Usage
|
|
@@ -137,7 +137,7 @@ registries:
|
|
|
137
137
|
* **Full runtime, zero-config** — every built-in enhancer, compiled:
|
|
138
138
|
|
|
139
139
|
```html
|
|
140
|
-
<script src="https://cdn.jsdelivr.net/npm/actual-css@0.
|
|
140
|
+
<script src="https://cdn.jsdelivr.net/npm/actual-css@0.15/dist/actual.full.js" type="module"></script>
|
|
141
141
|
```
|
|
142
142
|
|
|
143
143
|
* **Your own build** — copy the package's `src/js/full.js` as your entry,
|
|
@@ -179,8 +179,8 @@ Actual CSS is before 1.0:
|
|
|
179
179
|
* A patch release (`0.12.0` → `0.12.1`) keeps every class and hook. It fixes
|
|
180
180
|
bugs and may add hooks, so a fix can still move a rendering by a few pixels.
|
|
181
181
|
|
|
182
|
-
The floating `actual-css@0.
|
|
183
|
-
version (`actual-css@0.
|
|
182
|
+
The floating `actual-css@0.15` CDN path takes patches automatically. Pin the exact
|
|
183
|
+
version (`actual-css@0.15.0`) when the rendering must not change without a
|
|
184
184
|
review.
|
|
185
185
|
|
|
186
186
|
## Browser support
|
|
@@ -229,7 +229,7 @@ MIT
|
|
|
229
229
|
|
|
230
230
|
## Docs
|
|
231
231
|
|
|
232
|
-
The documentation site is
|
|
233
|
-
source pages under [`docs/pages/`](docs/pages/)
|
|
234
|
-
|
|
235
|
-
`
|
|
232
|
+
The documentation site is published at <https://lekoala.github.io/actual-css/>.
|
|
233
|
+
It is generated from the source pages under [`docs/pages/`](docs/pages/);
|
|
234
|
+
in a clone, run `bun run build:all` (or `build:dist`, `build:js` and
|
|
235
|
+
`build:docs`) and open `site/index.html`.
|
package/components.json
CHANGED
|
@@ -12,7 +12,9 @@
|
|
|
12
12
|
"--accordion-radius",
|
|
13
13
|
"--accordion-pad",
|
|
14
14
|
"--accordion-marker-color",
|
|
15
|
-
"--accordion-marker-size"
|
|
15
|
+
"--accordion-marker-size",
|
|
16
|
+
"--accordion-marker-icon",
|
|
17
|
+
"--accordion-marker-open-rotate"
|
|
16
18
|
],
|
|
17
19
|
"states": [
|
|
18
20
|
"open"
|
|
@@ -124,6 +126,8 @@
|
|
|
124
126
|
"--badge-default-fg",
|
|
125
127
|
"--badge-default-border",
|
|
126
128
|
"--badge-default-hover-bg",
|
|
129
|
+
"--badge-slot-inset",
|
|
130
|
+
"--badge-slot-size",
|
|
127
131
|
"--badge-bg",
|
|
128
132
|
"--badge-fg",
|
|
129
133
|
"--badge-border"
|
|
@@ -132,7 +136,12 @@
|
|
|
132
136
|
"aria-disabled",
|
|
133
137
|
"aria-hidden",
|
|
134
138
|
"disabled"
|
|
135
|
-
]
|
|
139
|
+
],
|
|
140
|
+
"pseudoElements": {
|
|
141
|
+
".close": [
|
|
142
|
+
"::after"
|
|
143
|
+
]
|
|
144
|
+
}
|
|
136
145
|
},
|
|
137
146
|
{
|
|
138
147
|
"name": "bleed",
|
|
@@ -201,6 +210,7 @@
|
|
|
201
210
|
"--btn-radius",
|
|
202
211
|
"--btn-gap",
|
|
203
212
|
"--btn-hover-overlay",
|
|
213
|
+
"--btn-shadow",
|
|
204
214
|
"--btn-default-bg",
|
|
205
215
|
"--btn-default-fg",
|
|
206
216
|
"--btn-default-border",
|
|
@@ -242,7 +252,8 @@
|
|
|
242
252
|
"--card-bg",
|
|
243
253
|
"--card-fg",
|
|
244
254
|
"--heading",
|
|
245
|
-
"--busy-overlay-bg"
|
|
255
|
+
"--busy-overlay-bg",
|
|
256
|
+
"--surface-link"
|
|
246
257
|
]
|
|
247
258
|
},
|
|
248
259
|
{
|
|
@@ -731,11 +742,15 @@
|
|
|
731
742
|
"cssImport": "actual-css/css/components/tab",
|
|
732
743
|
"classes": [
|
|
733
744
|
"tab",
|
|
734
|
-
"tabs"
|
|
745
|
+
"tabs",
|
|
746
|
+
"tabs-attached"
|
|
735
747
|
],
|
|
736
748
|
"publicHooks": [
|
|
737
749
|
"--tab-flex",
|
|
738
|
-
"--tab-gap"
|
|
750
|
+
"--tab-gap",
|
|
751
|
+
"--tab-panel-bg",
|
|
752
|
+
"--tab-panel-pad",
|
|
753
|
+
"--tab-panel-shadow"
|
|
739
754
|
],
|
|
740
755
|
"internalHooks": [
|
|
741
756
|
"--tab-edge",
|
|
@@ -768,9 +783,39 @@
|
|
|
768
783
|
],
|
|
769
784
|
"publicHooks": [
|
|
770
785
|
"--table-min",
|
|
771
|
-
"--table-cell-pad"
|
|
786
|
+
"--table-cell-pad",
|
|
787
|
+
"--table-header-bg",
|
|
788
|
+
"--table-header-fg"
|
|
772
789
|
]
|
|
773
790
|
},
|
|
791
|
+
{
|
|
792
|
+
"name": "timeline",
|
|
793
|
+
"source": "src/css/components/timeline.css",
|
|
794
|
+
"cssImport": "actual-css/css/components/timeline",
|
|
795
|
+
"classes": [
|
|
796
|
+
"timeline"
|
|
797
|
+
],
|
|
798
|
+
"publicHooks": [
|
|
799
|
+
"--timeline-dot-size",
|
|
800
|
+
"--timeline-slot-size",
|
|
801
|
+
"--timeline-gap",
|
|
802
|
+
"--timeline-inline-gap",
|
|
803
|
+
"--timeline-line-size"
|
|
804
|
+
],
|
|
805
|
+
"internalHooks": [
|
|
806
|
+
"--timeline-rail-size",
|
|
807
|
+
"--timeline-line-box"
|
|
808
|
+
],
|
|
809
|
+
"states": [
|
|
810
|
+
"aria-hidden"
|
|
811
|
+
],
|
|
812
|
+
"pseudoElements": {
|
|
813
|
+
".timeline li": [
|
|
814
|
+
"::after",
|
|
815
|
+
"::before"
|
|
816
|
+
]
|
|
817
|
+
}
|
|
818
|
+
},
|
|
774
819
|
{
|
|
775
820
|
"name": "tooltip",
|
|
776
821
|
"source": "src/css/components/tooltip.css",
|