@humanforest/frames 0.3.5 → 0.3.7

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 ADDED
@@ -0,0 +1,18 @@
1
+ # Changelog
2
+
3
+ Every @humanforest package shares one version, so one entry covers all seven packages. Newest first.
4
+
5
+ ## 0.3.7 — 2026-09-13
6
+
7
+ ### Features
8
+
9
+ - **ui**: add FMapContextMenu, a right-click menu on the map
10
+ - **charts**: chart frames and sparklines can be named for screen readers
11
+
12
+ ### Fixes
13
+
14
+ - **charts**: CellScale types what useCellScale returns
15
+ - **charts**: an empty distribution bar is still named, as "No data"
16
+ - **charts**: a bar sparkline warns that :curve="false" is ignored
17
+ - **charts**: a sparkline leaves non-finite readings off its scale
18
+ - **tokens**: the sub-logo builder passes noUncheckedIndexedAccess
package/package.json CHANGED
@@ -1,11 +1,12 @@
1
1
  {
2
2
  "name": "@humanforest/frames",
3
- "version": "0.3.5",
3
+ "version": "0.3.7",
4
4
  "type": "module",
5
5
  "files": [
6
6
  "src",
7
7
  "README.md",
8
- "ATTRIBUTION.md"
8
+ "ATTRIBUTION.md",
9
+ "CHANGELOG.md"
9
10
  ],
10
11
  "exports": {
11
12
  ".": "./src/index.ts",
package/src/FFitFrame.vue CHANGED
@@ -40,8 +40,8 @@ const availW = ref(0);
40
40
  // component's mounted hook runs, and a missed attach leaves the wrapper unsized with no visible error.
41
41
  // No loop between the two: the slot's unscaled height is fixed by its own content, and the wrapper's
42
42
  // width is its block width — neither depends on the scale derived from them.
43
- const innerRO = new ResizeObserver(([e]) => { naturalH.value = e.contentRect.height; });
44
- const wrapRO = new ResizeObserver(([e]) => { availW.value = e.contentRect.width; });
43
+ const innerRO = new ResizeObserver(([e]) => { naturalH.value = e!.contentRect.height; });
44
+ const wrapRO = new ResizeObserver(([e]) => { availW.value = e!.contentRect.width; });
45
45
  watch(inner, (el) => { innerRO.disconnect(); if (el) innerRO.observe(el); }, { immediate: true, flush: 'post' });
46
46
  watch(wrapper, (el) => { wrapRO.disconnect(); if (el) wrapRO.observe(el); }, { immediate: true, flush: 'post' });
47
47
  onBeforeUnmount(() => { innerRO.disconnect(); wrapRO.disconnect(); });
package/src/devices.ts CHANGED
@@ -333,5 +333,5 @@ export const DEFAULT_DEVICE = 'iphone-17-pro-max';
333
333
  * against the one it got.
334
334
  */
335
335
  export function findDevice(id: string): DeviceModel {
336
- return DEVICES.find((d) => d.id === id) ?? DEVICES.find((d) => d.id === DEFAULT_DEVICE) ?? DEVICES[0];
336
+ return DEVICES.find((d) => d.id === id) ?? DEVICES.find((d) => d.id === DEFAULT_DEVICE) ?? DEVICES[0]!;
337
337
  }