@mailwoman/react 10.3.0 → 10.4.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.
@@ -13,7 +13,7 @@ export interface AboutProps {
13
13
  * Wraps the prose in its own `<details>` disclosure.
14
14
  *
15
15
  * Set false where the host is already the disclosure, because a summary repeating
16
- * an About button's words is one control too many.
16
+ * an About button's words adds a control with no new content.
17
17
  *
18
18
  * @defaultValue `true`
19
19
  */
@@ -4,7 +4,7 @@
4
4
  * @author Teffen Ellis, et al.
5
5
  *
6
6
  * `useDebouncedValue` — returns a copy of `value` that only updates after `delayMs` of quiet. Used by
7
- * the POI explorer to avoid re-classifying on every keystroke. The timer is a genuine external-sync
7
+ * the POI explorer to avoid re-classifying on every keystroke. The timer is an external-sync
8
8
  * effect (a scheduled clock), so it belongs in an effect.
9
9
  */
10
10
 
@@ -3,8 +3,8 @@
3
3
  * @license AGPL-3.0
4
4
  * @author Teffen Ellis, et al.
5
5
  *
6
- * Shows a compass that rotates with the map bearing and hides when the map faces north. A press
7
- * it asks the host to reset the bearing.
6
+ * Shows a compass that rotates with the map's rotation angle and hides when the map faces north.
7
+ * A press asks the host to rotate the map back to north.
8
8
  */
9
9
 
10
10
  import type { ReactNode } from "react"
@@ -12,7 +12,7 @@ import type { ReactNode } from "react"
12
12
  import { cx } from "#common/cx"
13
13
 
14
14
  /**
15
- * The compass counts as facing north below this bearing.
15
+ * The compass counts as facing north below this rotation angle.
16
16
  * It fades out below the same threshold.
17
17
  */
18
18
  const HIDE_BELOW_DEGREES = 0.5
@@ -22,7 +22,7 @@ const HIDE_BELOW_DEGREES = 0.5
22
22
  */
23
23
  export interface MapCompassProps {
24
24
  /**
25
- * The map's bearing in degrees as MapLibre reports it, where 0 is north.
25
+ * The map's rotation in degrees as MapLibre's `getBearing` reports it, where 0 is north.
26
26
  */
27
27
  bearing: number
28
28
  /**
package/lib/map/types.ts CHANGED
@@ -209,8 +209,9 @@ export interface GeocoderPanels {
209
209
  */
210
210
  extras?: (result: ParseResult) => ReactNode
211
211
  /**
212
- * Rendered just above the result block for content that reads on this answer. a
213
- * control that reads on the model belongs in {@link developerExtras}.
212
+ * Rendered directly above the result block for content that reads on this answer.
213
+ *
214
+ * A control that reads on the model belongs in {@link developerExtras}.
214
215
  */
215
216
  aboveResult?: (context: { result: ParseResult | null }) => ReactNode
216
217
  /**
@@ -10,7 +10,7 @@ import { useCallback, useSyncExternalStore } from "react"
10
10
  import type { MapInstance } from "react-map-gl/maplibre"
11
11
 
12
12
  /**
13
- * The map's bearing and a callback that returns the map to north.
13
+ * The map's rotation angle and a callback that returns the map to north.
14
14
  */
15
15
  export interface UseMapBearing {
16
16
  /**
@@ -26,7 +26,7 @@ export interface UseMapBearing {
26
26
  }
27
27
 
28
28
  /**
29
- * Reads the live map bearing and exposes `resetNorth`.
29
+ * Reads the live map rotation angle and exposes `resetNorth`.
30
30
  */
31
31
  export function useMapBearing(map: MapInstance | null): UseMapBearing {
32
32
  const subscribe = useCallback(
@@ -44,8 +44,8 @@ export function useMapBearing(map: MapInstance | null): UseMapBearing {
44
44
  [map]
45
45
  )
46
46
 
47
- // The server snapshot is the same reading: the server renders no map.
48
- // and north is what a compass shows with no bearing to report.
47
+ // The server snapshot is the same reading: the server renders no map, and north
48
+ // is what a compass shows with no rotation angle to report.
49
49
  const readBearing = useCallback(() => map?.getBearing() ?? 0, [map])
50
50
 
51
51
  const bearing = useSyncExternalStore(subscribe, readBearing, () => 0)
package/lib/poi/types.ts CHANGED
@@ -38,7 +38,7 @@ export interface POISubjectBase {
38
38
  matchedPhrase: string
39
39
  confidence: number
40
40
  /**
41
- * The rest of the query after the subject, usually the location anchor such as "near Springfield".
41
+ * The rest of the query after the subject, such as the location anchor "near Springfield".
42
42
  */
43
43
  remainder: string
44
44
  }
@@ -12,6 +12,12 @@
12
12
  */
13
13
  export const HIERARCHY_DEPTH = 7
14
14
 
15
+ /**
16
+ * The hierarchy level a table-row record is written at.
17
+ * The indexer writes it and the ranker reads it.
18
+ */
19
+ export const TABLE_ROW_LEVEL = 5
20
+
15
21
  export interface SearchRecord {
16
22
  /**
17
23
  * The first 32 hex characters of `sha256(url + "#" + anchor + "\n" + position)`.
@@ -60,7 +66,7 @@ export interface SearchHit {
60
66
  export interface SearchResponse {
61
67
  query: string
62
68
  /**
63
- * The text actually searched when a token was corrected against the vocabulary.
69
+ * The text the search ran on when a token was corrected against the vocabulary.
64
70
  * It is `null` when no token was.
65
71
  */
66
72
  corrected: string | null
@@ -11,7 +11,7 @@ export interface AboutProps {
11
11
  * Wraps the prose in its own `<details>` disclosure.
12
12
  *
13
13
  * Set false where the host is already the disclosure, because a summary repeating
14
- * an About button's words is one control too many.
14
+ * an About button's words adds a control with no new content.
15
15
  *
16
16
  * @defaultValue `true`
17
17
  */
@@ -4,7 +4,7 @@
4
4
  * @author Teffen Ellis, et al.
5
5
  *
6
6
  * `useDebouncedValue` — returns a copy of `value` that only updates after `delayMs` of quiet. Used by
7
- * the POI explorer to avoid re-classifying on every keystroke. The timer is a genuine external-sync
7
+ * the POI explorer to avoid re-classifying on every keystroke. The timer is an external-sync
8
8
  * effect (a scheduled clock), so it belongs in an effect.
9
9
  */
10
10
  export declare function useDebouncedValue<T>(value: T, delayMs: number): T;
@@ -4,7 +4,7 @@
4
4
  * @author Teffen Ellis, et al.
5
5
  *
6
6
  * `useDebouncedValue` — returns a copy of `value` that only updates after `delayMs` of quiet. Used by
7
- * the POI explorer to avoid re-classifying on every keystroke. The timer is a genuine external-sync
7
+ * the POI explorer to avoid re-classifying on every keystroke. The timer is an external-sync
8
8
  * effect (a scheduled clock), so it belongs in an effect.
9
9
  */
10
10
  import { useEffect, useState } from "react";
@@ -3,8 +3,8 @@
3
3
  * @license AGPL-3.0
4
4
  * @author Teffen Ellis, et al.
5
5
  *
6
- * Shows a compass that rotates with the map bearing and hides when the map faces north. A press
7
- * it asks the host to reset the bearing.
6
+ * Shows a compass that rotates with the map's rotation angle and hides when the map faces north.
7
+ * A press asks the host to rotate the map back to north.
8
8
  */
9
9
  import type { ReactNode } from "react";
10
10
  /**
@@ -12,7 +12,7 @@ import type { ReactNode } from "react";
12
12
  */
13
13
  export interface MapCompassProps {
14
14
  /**
15
- * The map's bearing in degrees as MapLibre reports it, where 0 is north.
15
+ * The map's rotation in degrees as MapLibre's `getBearing` reports it, where 0 is north.
16
16
  */
17
17
  bearing: number;
18
18
  /**
@@ -1,7 +1,7 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { cx } from "#common/cx";
3
3
  /**
4
- * The compass counts as facing north below this bearing.
4
+ * The compass counts as facing north below this rotation angle.
5
5
  * It fades out below the same threshold.
6
6
  */
7
7
  const HIDE_BELOW_DEGREES = 0.5;
@@ -192,8 +192,9 @@ export interface GeocoderPanels {
192
192
  */
193
193
  extras?: (result: ParseResult) => ReactNode;
194
194
  /**
195
- * Rendered just above the result block for content that reads on this answer. a
196
- * control that reads on the model belongs in {@link developerExtras}.
195
+ * Rendered directly above the result block for content that reads on this answer.
196
+ *
197
+ * A control that reads on the model belongs in {@link developerExtras}.
197
198
  */
198
199
  aboveResult?: (context: {
199
200
  result: ParseResult | null;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../lib/map/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../lib/map/types.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@
7
7
  */
8
8
  import type { MapInstance } from "react-map-gl/maplibre";
9
9
  /**
10
- * The map's bearing and a callback that returns the map to north.
10
+ * The map's rotation angle and a callback that returns the map to north.
11
11
  */
12
12
  export interface UseMapBearing {
13
13
  /**
@@ -22,7 +22,7 @@ export interface UseMapBearing {
22
22
  resetNorth: () => void;
23
23
  }
24
24
  /**
25
- * Reads the live map bearing and exposes `resetNorth`.
25
+ * Reads the live map rotation angle and exposes `resetNorth`.
26
26
  */
27
27
  export declare function useMapBearing(map: MapInstance | null): UseMapBearing;
28
28
  //# sourceMappingURL=useMapBearing.d.ts.map
@@ -7,7 +7,7 @@
7
7
  */
8
8
  import { useCallback, useSyncExternalStore } from "react";
9
9
  /**
10
- * Reads the live map bearing and exposes `resetNorth`.
10
+ * Reads the live map rotation angle and exposes `resetNorth`.
11
11
  */
12
12
  export function useMapBearing(map) {
13
13
  const subscribe = useCallback((onChange) => {
@@ -20,8 +20,8 @@ export function useMapBearing(map) {
20
20
  map.off("move", onChange);
21
21
  };
22
22
  }, [map]);
23
- // The server snapshot is the same reading: the server renders no map.
24
- // and north is what a compass shows with no bearing to report.
23
+ // The server snapshot is the same reading: the server renders no map, and north
24
+ // is what a compass shows with no rotation angle to report.
25
25
  const readBearing = useCallback(() => map?.getBearing() ?? 0, [map]);
26
26
  const bearing = useSyncExternalStore(subscribe, readBearing, () => 0);
27
27
  const resetNorth = useCallback(() => map?.easeTo({ bearing: 0, pitch: 0 }), [map]);
@@ -1 +1 @@
1
- {"version":3,"file":"useMapBearing.js","sourceRoot":"","sources":["../../lib/map/useMapBearing.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,OAAO,CAAA;AAmBzD;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,GAAuB;IACpD,MAAM,SAAS,GAAG,WAAW,CAC5B,CAAC,QAAoB,EAAE,EAAE;QACxB,IAAI,CAAC,GAAG;YAAE,OAAO,GAAG,EAAE,CAAC,SAAS,CAAA;QAEhC,GAAG,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;QAC1B,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;QAExB,OAAO,GAAG,EAAE;YACX,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;YAC3B,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;QAC1B,CAAC,CAAA;IACF,CAAC,EACD,CAAC,GAAG,CAAC,CACL,CAAA;IAED,sEAAsE;IACtE,+DAA+D;IAC/D,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAA;IAEpE,MAAM,OAAO,GAAG,oBAAoB,CAAC,SAAS,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAA;IAErE,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAA;IAElF,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,CAAA;AAC/B,CAAC"}
1
+ {"version":3,"file":"useMapBearing.js","sourceRoot":"","sources":["../../lib/map/useMapBearing.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,OAAO,CAAA;AAmBzD;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,GAAuB;IACpD,MAAM,SAAS,GAAG,WAAW,CAC5B,CAAC,QAAoB,EAAE,EAAE;QACxB,IAAI,CAAC,GAAG;YAAE,OAAO,GAAG,EAAE,CAAC,SAAS,CAAA;QAEhC,GAAG,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;QAC1B,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;QAExB,OAAO,GAAG,EAAE;YACX,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;YAC3B,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;QAC1B,CAAC,CAAA;IACF,CAAC,EACD,CAAC,GAAG,CAAC,CACL,CAAA;IAED,gFAAgF;IAChF,4DAA4D;IAC5D,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAA;IAEpE,MAAM,OAAO,GAAG,oBAAoB,CAAC,SAAS,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAA;IAErE,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAA;IAElF,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,CAAA;AAC/B,CAAC"}
@@ -33,7 +33,7 @@ export interface POISubjectBase {
33
33
  matchedPhrase: string;
34
34
  confidence: number;
35
35
  /**
36
- * The rest of the query after the subject, usually the location anchor such as "near Springfield".
36
+ * The rest of the query after the subject, such as the location anchor "near Springfield".
37
37
  */
38
38
  remainder: string;
39
39
  }
@@ -10,6 +10,11 @@
10
10
  * The number of hierarchy entries: the sidebar category, then `h1` through `h6`.
11
11
  */
12
12
  export declare const HIERARCHY_DEPTH = 7;
13
+ /**
14
+ * The hierarchy level a table-row record is written at.
15
+ * The indexer writes it and the ranker reads it.
16
+ */
17
+ export declare const TABLE_ROW_LEVEL = 5;
13
18
  export interface SearchRecord {
14
19
  /**
15
20
  * The first 32 hex characters of `sha256(url + "#" + anchor + "\n" + position)`.
@@ -56,7 +61,7 @@ export interface SearchHit {
56
61
  export interface SearchResponse {
57
62
  query: string;
58
63
  /**
59
- * The text actually searched when a token was corrected against the vocabulary.
64
+ * The text the search ran on when a token was corrected against the vocabulary.
60
65
  * It is `null` when no token was.
61
66
  */
62
67
  corrected: string | null;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../lib/search/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;GAEG;AACH,eAAO,MAAM,eAAe,IAAI,CAAA;AAEhC,MAAM,WAAW,YAAY;IAC5B;;OAEG;IACH,EAAE,EAAE,MAAM,CAAA;IACV;;OAEG;IACH,GAAG,EAAE,MAAM,CAAA;IACX;;OAEG;IACH,MAAM,EAAE,MAAM,CAAA;IACd;;OAEG;IACH,SAAS,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAA;IAC5B;;OAEG;IACH,OAAO,EAAE,MAAM,CAAA;IACf;;OAEG;IACH,KAAK,EAAE,MAAM,CAAA;IACb;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,SAAS;IACzB,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAA;IAC5B;;OAEG;IACH,OAAO,EAAE,MAAM,CAAA;IACf;;OAEG;IACH,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,CAAA;CAC1C;AAED,MAAM,WAAW,cAAc;IAC9B,KAAK,EAAE,MAAM,CAAA;IACb;;;OAGG;IACH,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,IAAI,EAAE,SAAS,EAAE,CAAA;CACjB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../lib/search/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;GAEG;AACH,eAAO,MAAM,eAAe,IAAI,CAAA;AAEhC;;;GAGG;AACH,eAAO,MAAM,eAAe,IAAI,CAAA;AAEhC,MAAM,WAAW,YAAY;IAC5B;;OAEG;IACH,EAAE,EAAE,MAAM,CAAA;IACV;;OAEG;IACH,GAAG,EAAE,MAAM,CAAA;IACX;;OAEG;IACH,MAAM,EAAE,MAAM,CAAA;IACd;;OAEG;IACH,SAAS,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAA;IAC5B;;OAEG;IACH,OAAO,EAAE,MAAM,CAAA;IACf;;OAEG;IACH,KAAK,EAAE,MAAM,CAAA;IACb;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,SAAS;IACzB,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAA;IAC5B;;OAEG;IACH,OAAO,EAAE,MAAM,CAAA;IACf;;OAEG;IACH,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,CAAA;CAC1C;AAED,MAAM,WAAW,cAAc;IAC9B,KAAK,EAAE,MAAM,CAAA;IACb;;;OAGG;IACH,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,IAAI,EAAE,SAAS,EAAE,CAAA;CACjB"}
@@ -10,4 +10,9 @@
10
10
  * The number of hierarchy entries: the sidebar category, then `h1` through `h6`.
11
11
  */
12
12
  export const HIERARCHY_DEPTH = 7;
13
+ /**
14
+ * The hierarchy level a table-row record is written at.
15
+ * The indexer writes it and the ranker reads it.
16
+ */
17
+ export const TABLE_ROW_LEVEL = 5;
13
18
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../lib/search/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAA"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../lib/search/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAA;AAEhC;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mailwoman/react",
3
- "version": "10.3.0",
3
+ "version": "10.4.0",
4
4
  "description": "React components + headless hooks for mailwoman — parse/geocode/POI explorers, Storybook-tested, Docusaurus-independent.",
5
5
  "license": "AGPL-3.0-only OR LicenseRef-Commercial",
6
6
  "repository": {
@@ -477,11 +477,11 @@
477
477
  "test:node": "vitest run --config vitest.node.config.ts"
478
478
  },
479
479
  "dependencies": {
480
- "@mailwoman/core": "10.3.0",
481
- "@mailwoman/kind-classifier": "10.3.0",
482
- "@mailwoman/poi-taxonomy": "10.3.0",
483
- "@mailwoman/query-shape": "10.3.0",
484
- "@mailwoman/spatial": "10.3.0",
480
+ "@mailwoman/core": "10.4.0",
481
+ "@mailwoman/kind-classifier": "10.4.0",
482
+ "@mailwoman/poi-taxonomy": "10.4.0",
483
+ "@mailwoman/query-shape": "10.4.0",
484
+ "@mailwoman/spatial": "10.4.0",
485
485
  "@types/geojson": "^7946.0.16"
486
486
  },
487
487
  "devDependencies": {