diff --git a/.changeset/adaptive-bone-colors.md b/.changeset/adaptive-bone-colors.md deleted file mode 100644 index a6223ef..0000000 --- a/.changeset/adaptive-bone-colors.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@camp.dev/bones": minor ---- - -Bone colors derive from the inherited text color instead of the OS color scheme. `--bone-base` defaults to the text color at 12% opacity and `--bone-highlight` at 6%, and the `prefers-color-scheme` media query is gone. Bones are now visible on any background the surrounding text is readable on. Before this, a dark-mode OS over a page that kept a light canvas painted white bones on white (BON-13). Overriding the custom properties works unchanged. Internally, bones hide their content by zeroing the alpha of `color` so the channels survive into the derivation, and the measured overlay's no-stylesheet fallbacks derive the same way. The stylesheets now use relative color syntax, which is Baseline 2024 (Chrome 119, Safari 18, Firefox 128). diff --git a/.changeset/animate-on-carrier.md b/.changeset/animate-on-carrier.md deleted file mode 100644 index 86b9c25..0000000 --- a/.changeset/animate-on-carrier.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@camp.dev/bones": patch ---- - -`data-bone-animate` now takes effect from the element that carries it: a marked bone can animate itself, and an `aria-busy` region can be stilled or switched from its own tag instead of a wrapper. The animation variants live in `@scope` blocks, and a scoped selector's implicit `:scope` prefix matches strict descendants only, so the attribute was a silent no-op on the scope root itself. The scoped selectors now include the root via `:is(:scope, :scope *)`. diff --git a/.changeset/marked-bones-shimmer-by-default.md b/.changeset/marked-bones-shimmer-by-default.md deleted file mode 100644 index 287f914..0000000 --- a/.changeset/marked-bones-shimmer-by-default.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@camp.dev/bones": minor ---- - -Marked bones (`data-bone`) now shimmer by default, matching auto bones and the measured overlay. Before this, `bones.css` only animated inside a `data-bone-animate` scope, so a page that mixed an `aria-busy` region with explicit `data-bone` markup showed shimmering auto bones beside frozen marked ones. Set `data-bone-animate="none"` on a bone, a wrapper, or `` to keep skeletons still. `"pulse"` still switches the animation. Under `prefers-reduced-motion: reduce`, the default and the `shimmer` and `pulse` scopes all downgrade to a slow pulse, and `none` stays still. This replaces the old reduced-motion rule, which pulsed the whole `aria-busy` element on top of the bar's own animation. diff --git a/.changeset/sole-boundary-component.md b/.changeset/sole-boundary-component.md deleted file mode 100644 index 6641f6b..0000000 --- a/.changeset/sole-boundary-component.md +++ /dev/null @@ -1,17 +0,0 @@ ---- -"@camp.dev/bones": minor ---- - -`` is now the sole skeleton component. The React entry removes `` and `` and keeps `createBones`, `forceBones`, `readPromise`, `minMax`, `isMinMax`, and the `BonesBoundary` wrapper for ``. - -`` is gone. Write the Suspense boundary yourself. Pass `forceBones` where the fallback needs a pending prop: - -```tsx -}> - - -``` - -`` is gone. Pass `forceBones` as the data prop of each component you want forced, or wrap unmarked content in ``. - -The ambient loading flag went with them. `createBones` no longer reads any context. It shows bones only for the `loading` option, the `forceBones` sentinel, or a pending promise. diff --git a/apps/demo/CHANGELOG.md b/apps/demo/CHANGELOG.md index 0cf9fd1..74c8070 100644 --- a/apps/demo/CHANGELOG.md +++ b/apps/demo/CHANGELOG.md @@ -1,5 +1,12 @@ # bones-demo +## 0.0.4 + +### Patch Changes + +- Updated dependencies [[`f4d1362`](https://github.com/campdotdev/bones/commit/f4d1362e1c638ed0bc7145fbd20a46e2d1508c1a), [`14ff496`](https://github.com/campdotdev/bones/commit/14ff49692bfbb5de6c3949b6569ca0662bcd6bbb), [`dc790c3`](https://github.com/campdotdev/bones/commit/dc790c32ea61c614085d2c7d9115b6b384637a4e), [`3a690bb`](https://github.com/campdotdev/bones/commit/3a690bb50b3f2bcf898f2218457d519a85223103)]: + - @camp.dev/bones@0.4.0 + ## 0.0.3 ### Patch Changes diff --git a/apps/demo/package.json b/apps/demo/package.json index e5dc666..1fb2f1d 100644 --- a/apps/demo/package.json +++ b/apps/demo/package.json @@ -1,6 +1,6 @@ { "name": "bones-demo", - "version": "0.0.3", + "version": "0.0.4", "private": true, "scripts": { "dev": "next dev", diff --git a/apps/docs/CHANGELOG.md b/apps/docs/CHANGELOG.md index ccf21bc..b040e80 100644 --- a/apps/docs/CHANGELOG.md +++ b/apps/docs/CHANGELOG.md @@ -1,5 +1,12 @@ # bones-docs +## 0.0.4 + +### Patch Changes + +- Updated dependencies [[`f4d1362`](https://github.com/campdotdev/bones/commit/f4d1362e1c638ed0bc7145fbd20a46e2d1508c1a), [`14ff496`](https://github.com/campdotdev/bones/commit/14ff49692bfbb5de6c3949b6569ca0662bcd6bbb), [`dc790c3`](https://github.com/campdotdev/bones/commit/dc790c32ea61c614085d2c7d9115b6b384637a4e), [`3a690bb`](https://github.com/campdotdev/bones/commit/3a690bb50b3f2bcf898f2218457d519a85223103)]: + - @camp.dev/bones@0.4.0 + ## 0.0.3 ### Patch Changes diff --git a/apps/docs/package.json b/apps/docs/package.json index c64592c..23b3f3a 100644 --- a/apps/docs/package.json +++ b/apps/docs/package.json @@ -1,6 +1,6 @@ { "name": "bones-docs", - "version": "0.0.3", + "version": "0.0.4", "private": true, "scripts": { "dev": "next dev", diff --git a/apps/stream/CHANGELOG.md b/apps/stream/CHANGELOG.md index 6bf6cdb..7dc810c 100644 --- a/apps/stream/CHANGELOG.md +++ b/apps/stream/CHANGELOG.md @@ -1,5 +1,12 @@ # bones-stream +## 0.0.2 + +### Patch Changes + +- Updated dependencies [[`f4d1362`](https://github.com/campdotdev/bones/commit/f4d1362e1c638ed0bc7145fbd20a46e2d1508c1a), [`14ff496`](https://github.com/campdotdev/bones/commit/14ff49692bfbb5de6c3949b6569ca0662bcd6bbb), [`dc790c3`](https://github.com/campdotdev/bones/commit/dc790c32ea61c614085d2c7d9115b6b384637a4e), [`3a690bb`](https://github.com/campdotdev/bones/commit/3a690bb50b3f2bcf898f2218457d519a85223103)]: + - @camp.dev/bones@0.4.0 + ## 0.0.1 ### Patch Changes diff --git a/apps/stream/package.json b/apps/stream/package.json index 40dd0ac..f0e1291 100644 --- a/apps/stream/package.json +++ b/apps/stream/package.json @@ -1,6 +1,6 @@ { "name": "bones-stream", - "version": "0.0.1", + "version": "0.0.2", "private": true, "type": "module", "scripts": { diff --git a/apps/vanilla/CHANGELOG.md b/apps/vanilla/CHANGELOG.md new file mode 100644 index 0000000..51baf28 --- /dev/null +++ b/apps/vanilla/CHANGELOG.md @@ -0,0 +1,8 @@ +# bones-vanilla + +## 0.0.2 + +### Patch Changes + +- Updated dependencies [[`f4d1362`](https://github.com/campdotdev/bones/commit/f4d1362e1c638ed0bc7145fbd20a46e2d1508c1a), [`14ff496`](https://github.com/campdotdev/bones/commit/14ff49692bfbb5de6c3949b6569ca0662bcd6bbb), [`dc790c3`](https://github.com/campdotdev/bones/commit/dc790c32ea61c614085d2c7d9115b6b384637a4e), [`3a690bb`](https://github.com/campdotdev/bones/commit/3a690bb50b3f2bcf898f2218457d519a85223103)]: + - @camp.dev/bones@0.4.0 diff --git a/apps/vanilla/package.json b/apps/vanilla/package.json index 115b03b..ad83249 100644 --- a/apps/vanilla/package.json +++ b/apps/vanilla/package.json @@ -1,6 +1,6 @@ { "name": "bones-vanilla", - "version": "0.0.1", + "version": "0.0.2", "private": true, "type": "module", "scripts": { diff --git a/packages/bones/CHANGELOG.md b/packages/bones/CHANGELOG.md index abbf737..35becd4 100644 --- a/packages/bones/CHANGELOG.md +++ b/packages/bones/CHANGELOG.md @@ -1,5 +1,31 @@ # bones +## 0.4.0 + +### Minor Changes + +- [#42](https://github.com/campdotdev/bones/pull/42) [`f4d1362`](https://github.com/campdotdev/bones/commit/f4d1362e1c638ed0bc7145fbd20a46e2d1508c1a) Thanks [@hunterbecton](https://github.com/hunterbecton)! - Bone colors derive from the inherited text color instead of the OS color scheme. `--bone-base` defaults to the text color at 12% opacity and `--bone-highlight` at 6%, and the `prefers-color-scheme` media query is gone. Bones are now visible on any background the surrounding text is readable on. Before this, a dark-mode OS over a page that kept a light canvas painted white bones on white (BON-13). Overriding the custom properties works unchanged. Internally, bones hide their content by zeroing the alpha of `color` so the channels survive into the derivation, and the measured overlay's no-stylesheet fallbacks derive the same way. The stylesheets now use relative color syntax, which is Baseline 2024 (Chrome 119, Safari 18, Firefox 128). + +- [#51](https://github.com/campdotdev/bones/pull/51) [`dc790c3`](https://github.com/campdotdev/bones/commit/dc790c32ea61c614085d2c7d9115b6b384637a4e) Thanks [@hunterbecton](https://github.com/hunterbecton)! - Marked bones (`data-bone`) now shimmer by default, matching auto bones and the measured overlay. Before this, `bones.css` only animated inside a `data-bone-animate` scope, so a page that mixed an `aria-busy` region with explicit `data-bone` markup showed shimmering auto bones beside frozen marked ones. Set `data-bone-animate="none"` on a bone, a wrapper, or `` to keep skeletons still. `"pulse"` still switches the animation. Under `prefers-reduced-motion: reduce`, the default and the `shimmer` and `pulse` scopes all downgrade to a slow pulse, and `none` stays still. This replaces the old reduced-motion rule, which pulsed the whole `aria-busy` element on top of the bar's own animation. + +- [#47](https://github.com/campdotdev/bones/pull/47) [`3a690bb`](https://github.com/campdotdev/bones/commit/3a690bb50b3f2bcf898f2218457d519a85223103) Thanks [@hunterbecton](https://github.com/hunterbecton)! - `` is now the sole skeleton component. The React entry removes `` and `` and keeps `createBones`, `forceBones`, `readPromise`, `minMax`, `isMinMax`, and the `BonesBoundary` wrapper for ``. + + `` is gone. Write the Suspense boundary yourself. Pass `forceBones` where the fallback needs a pending prop: + + ```tsx + }> + + + ``` + + `` is gone. Pass `forceBones` as the data prop of each component you want forced, or wrap unmarked content in ``. + + The ambient loading flag went with them. `createBones` no longer reads any context. It shows bones only for the `loading` option, the `forceBones` sentinel, or a pending promise. + +### Patch Changes + +- [#45](https://github.com/campdotdev/bones/pull/45) [`14ff496`](https://github.com/campdotdev/bones/commit/14ff49692bfbb5de6c3949b6569ca0662bcd6bbb) Thanks [@hunterbecton](https://github.com/hunterbecton)! - `data-bone-animate` now takes effect from the element that carries it: a marked bone can animate itself, and an `aria-busy` region can be stilled or switched from its own tag instead of a wrapper. The animation variants live in `@scope` blocks, and a scoped selector's implicit `:scope` prefix matches strict descendants only, so the attribute was a silent no-op on the scope root itself. The scoped selectors now include the root via `:is(:scope, :scope *)`. + ## 0.3.0 ### Minor Changes diff --git a/packages/bones/package.json b/packages/bones/package.json index 60e9d57..0bcf1cf 100644 --- a/packages/bones/package.json +++ b/packages/bones/package.json @@ -1,6 +1,6 @@ { "name": "@camp.dev/bones", - "version": "0.3.0", + "version": "0.4.0", "description": "Skeleton loaders designed for React Server Components and streaming.", "homepage": "https://github.com/campdotdev/bones#readme", "bugs": {