@stapel/listings-react 0.26.0 → 0.28.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.
Files changed (80) hide show
  1. package/CHANGELOG.md +129 -0
  2. package/MODULE.md +3 -1
  3. package/README.md +102 -8
  4. package/dist/api/generated/schema.d.ts +20 -10
  5. package/dist/api/generated/schema.d.ts.map +1 -1
  6. package/dist/default/ListingActions.d.ts +8 -1
  7. package/dist/default/ListingActions.d.ts.map +1 -1
  8. package/dist/default/ListingActions.js +1 -1
  9. package/dist/default/ListingActions.js.map +1 -1
  10. package/dist/default/ListingDetailPane.d.ts +148 -9
  11. package/dist/default/ListingDetailPane.d.ts.map +1 -1
  12. package/dist/default/ListingDetailPane.js +131 -19
  13. package/dist/default/ListingDetailPane.js.map +1 -1
  14. package/dist/default/MyListingsPane.d.ts.map +1 -1
  15. package/dist/default/MyListingsPane.js +10 -6
  16. package/dist/default/MyListingsPane.js.map +1 -1
  17. package/dist/default/ShareAction.d.ts +16 -1
  18. package/dist/default/ShareAction.d.ts.map +1 -1
  19. package/dist/default/ShareAction.js +16 -9
  20. package/dist/default/ShareAction.js.map +1 -1
  21. package/dist/default/actionRow.d.ts +24 -0
  22. package/dist/default/actionRow.d.ts.map +1 -1
  23. package/dist/default/actionRow.js +50 -7
  24. package/dist/default/actionRow.js.map +1 -1
  25. package/dist/default/detailGallery.d.ts +77 -0
  26. package/dist/default/detailGallery.d.ts.map +1 -0
  27. package/dist/default/detailGallery.js +91 -0
  28. package/dist/default/detailGallery.js.map +1 -0
  29. package/dist/default/index.d.ts +4 -2
  30. package/dist/default/index.d.ts.map +1 -1
  31. package/dist/default/index.js +5 -1
  32. package/dist/default/index.js.map +1 -1
  33. package/dist/default/movableCluster.d.ts +18 -0
  34. package/dist/default/movableCluster.d.ts.map +1 -0
  35. package/dist/default/movableCluster.js +110 -0
  36. package/dist/default/movableCluster.js.map +1 -0
  37. package/dist/headless/MyListings.d.ts +31 -10
  38. package/dist/headless/MyListings.d.ts.map +1 -1
  39. package/dist/headless/MyListings.js +19 -2
  40. package/dist/headless/MyListings.js.map +1 -1
  41. package/dist/headless/Share.d.ts +60 -2
  42. package/dist/headless/Share.d.ts.map +1 -1
  43. package/dist/headless/Share.js +55 -3
  44. package/dist/headless/Share.js.map +1 -1
  45. package/dist/index.d.ts +4 -4
  46. package/dist/index.d.ts.map +1 -1
  47. package/dist/index.js +2 -2
  48. package/dist/index.js.map +1 -1
  49. package/dist/model/cardBadges.d.ts +25 -0
  50. package/dist/model/cardBadges.d.ts.map +1 -1
  51. package/dist/model/cardBadges.js +41 -5
  52. package/dist/model/cardBadges.js.map +1 -1
  53. package/dist/model/draft.d.ts +42 -1
  54. package/dist/model/draft.d.ts.map +1 -1
  55. package/dist/model/draft.js +40 -3
  56. package/dist/model/draft.js.map +1 -1
  57. package/dist/model/status.d.ts +31 -16
  58. package/dist/model/status.d.ts.map +1 -1
  59. package/dist/model/status.js +30 -15
  60. package/dist/model/status.js.map +1 -1
  61. package/llms.txt +1 -1
  62. package/manifest.json +8 -1
  63. package/nav-manifest.json +1 -1
  64. package/package.json +3 -3
  65. package/src/analytics/generated/events.json +1 -1
  66. package/src/api/generated/schema.ts +20 -10
  67. package/src/default/ListingActions.tsx +9 -1
  68. package/src/default/ListingDetailPane.tsx +316 -18
  69. package/src/default/MyListingsPane.tsx +10 -6
  70. package/src/default/ShareAction.tsx +36 -10
  71. package/src/default/actionRow.ts +55 -7
  72. package/src/default/detailGallery.ts +97 -0
  73. package/src/default/index.ts +15 -1
  74. package/src/default/movableCluster.tsx +137 -0
  75. package/src/headless/MyListings.tsx +52 -12
  76. package/src/headless/Share.tsx +98 -5
  77. package/src/index.ts +7 -0
  78. package/src/model/cardBadges.ts +42 -5
  79. package/src/model/draft.ts +61 -3
  80. package/src/model/status.ts +31 -16
@@ -21,13 +21,23 @@ import type { MyListingsAddress } from "../model/tabAddress.js";
21
21
  * `blockedRows` is fetched beside them, off the same route, narrowed to
22
22
  * whatever `MY_LISTINGS_UNTABBED_STATUSES` derives.
23
23
  *
24
- * That second read is also the fourth tab's COUNT (D407). `my/counters` has
25
- * three integers and no fourth, so the removed tab is counted from the rows it
26
- * holds — which is honest exactly because that read is unpaged and runs
27
- * whichever tab is open. The one thing it cannot describe is a page cap: a
28
- * seller with more takedowns than one page of `my/listings` would see the page
29
- * count and not the total, and there is no counter on the wire to check it
30
- * against (see `MyListingsBag.tabCounts`).
24
+ * That second read used to be the fourth tab's COUNT as well (D407):
25
+ * `my/counters` had three integers and no fourth, so the removed tab was
26
+ * counted from the rows it holds — honest, because that read is unpaged and
27
+ * runs whichever tab is open, and blind to exactly one thing: a page cap. A
28
+ * seller with more takedowns than one page of `my/listings` saw the page count
29
+ * and not the total, and there was no counter on the wire to check it against.
30
+ *
31
+ * **stapel-listings 0.22.4 answers it**: `MyCountersResponse.blocked`, required
32
+ * beside the other three, over the same owner scope and the same grouping. So
33
+ * the tab's number is the SERVER's now and the unpaged read is what it always
34
+ * was underneath — the removed tab's ROWS. The two consequences are both
35
+ * visible: the tab appears from the counter (a beat earlier, and without the
36
+ * seller's whole takedown page having to land first), and a seller with more
37
+ * takedowns than fit on a page is told how many there are rather than how many
38
+ * arrived. A deployment on a server older than 0.22.4 sends no `blocked` at
39
+ * all, and then the rows are the count again — degraded to the previous
40
+ * answer, never to a `0` (see `MyListingsBag.tabCounts`).
31
41
  */
32
42
  export interface MyListingsBag {
33
43
  readonly tab: MyListingsTab;
@@ -37,10 +47,16 @@ export interface MyListingsBag {
37
47
  * The server's three always; the removed one only where there is something
38
48
  * in it or the person asked for it by address. An empty "Taken down" tab is
39
49
  * a scare, and the seller it would scare is the one it has nothing to tell.
50
+ *
51
+ * "Something in it" is `counters.blocked` (stapel-listings 0.22.4) and no
52
+ * longer the unpaged takedown page: the two reads settle independently, and
53
+ * the one that decides whether a tab strip has three tabs or four should be
54
+ * the one that answers in three integers rather than the one that answers in
55
+ * a page of listings.
40
56
  */
41
57
  readonly tabs: readonly MyListingsTab[];
42
58
  setTab(tab: MyListingsTab): void;
43
- /** The three real counts, as the server reports them. */
59
+ /** The four real counts, as the server reports them. */
44
60
  readonly counters: LoadState<MyCounters>;
45
61
  /**
46
62
  * The number to DRAW on each tab — the server's counter, raised to what is
@@ -60,8 +76,13 @@ export interface MyListingsBag {
60
76
  *
61
77
  * The second half: a takedown was in no tab and therefore in no number, so
62
78
  * a cabinet holding one read "Active 0 · Drafts 0 · Archived 0" over it.
63
- * `removed` is counted from `blockedRows` there is no server counter to
64
- * read, and the rows are the only evidence on the wire.
79
+ * `removed` was counted from `blockedRows`, because there was no server
80
+ * counter to read and the rows were the only evidence on the wire. There is
81
+ * one now — `MyCountersResponse.blocked`, stapel-listings 0.22.4 — and it is
82
+ * what the fourth tab draws, under the same floor as the other three: the
83
+ * open tab's number is never below the rows on screen. `blockedRows` stays
84
+ * the FALLBACK for a deployment whose server predates the field, which is a
85
+ * count that is right up to a page and never a `0` over a visible row.
65
86
  */
66
87
  readonly tabCounts: LoadState<Readonly<Record<MyListingsTab, number>>>;
67
88
  /** The rows for the current tab — {@link MyListingsBag.blockedRows} while
@@ -1 +1 @@
1
- {"version":3,"file":"MyListings.d.ts","sourceRoot":"","sources":["../../src/headless/MyListings.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAUrD,OAAO,KAAK,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAClE,OAAO,KAAK,EACV,aAAa,EACb,gBAAgB,EAChB,UAAU,EACX,MAAM,iBAAiB,CAAC;AAEzB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAU/D,OAAO,KAAK,EAAwB,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAE9E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAIhE;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,GAAG,EAAE,aAAa,CAAC;IAC5B;;;;;;OAMG;IACH,QAAQ,CAAC,IAAI,EAAE,SAAS,aAAa,EAAE,CAAC;IACxC,MAAM,CAAC,GAAG,EAAE,aAAa,GAAG,IAAI,CAAC;IACjC,yDAAyD;IACzD,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC;IACzC;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IACvE;2EACuE;IACvE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,SAAS,aAAa,EAAE,CAAC,CAAC;IACnD;;;;;;OAMG;IACH,QAAQ,CAAC,WAAW,EAAE,SAAS,CAAC,SAAS,aAAa,EAAE,CAAC,CAAC;IAC1D,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAChC,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,CAAC;IACtC,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,CAAC;IACtC,MAAM,IAAI,IAAI,CAAC;IACf,MAAM,IAAI,IAAI,CAAC;IACf,qDAAqD;IACrD,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC;IAClC,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,oBAAoB;IACnC;oFACgF;IAChF,QAAQ,CAAC,MAAM,CAAC,EAAE,gBAAgB,CAAC;IACnC;;;;OAIG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,aAAa,CAAC;IACpC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB;;;;;;;;OAQG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,iBAAiB,CAAC;CACtC;AAED,wBAAgB,aAAa,CAC3B,OAAO,GAAE,oBAAyB,GACjC,aAAa,CAqJf;AAED,oDAAoD;AACpD,wBAAgB,UAAU,CACxB,KAAK,EAAE,oBAAoB,GAAG;IAC5B,QAAQ,EAAE,CAAC,GAAG,EAAE,aAAa,KAAK,SAAS,CAAC;CAC7C,GACA,YAAY,CAGd"}
1
+ {"version":3,"file":"MyListings.d.ts","sourceRoot":"","sources":["../../src/headless/MyListings.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAUrD,OAAO,KAAK,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAClE,OAAO,KAAK,EACV,aAAa,EACb,gBAAgB,EAChB,UAAU,EACX,MAAM,iBAAiB,CAAC;AAEzB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAU/D,OAAO,KAAK,EAAwB,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAE9E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAIhE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAEH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,GAAG,EAAE,aAAa,CAAC;IAC5B;;;;;;;;;;;;OAYG;IACH,QAAQ,CAAC,IAAI,EAAE,SAAS,aAAa,EAAE,CAAC;IACxC,MAAM,CAAC,GAAG,EAAE,aAAa,GAAG,IAAI,CAAC;IACjC,wDAAwD;IACxD,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC;IACzC;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IACvE;2EACuE;IACvE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,SAAS,aAAa,EAAE,CAAC,CAAC;IACnD;;;;;;OAMG;IACH,QAAQ,CAAC,WAAW,EAAE,SAAS,CAAC,SAAS,aAAa,EAAE,CAAC,CAAC;IAC1D,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAChC,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,CAAC;IACtC,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,CAAC;IACtC,MAAM,IAAI,IAAI,CAAC;IACf,MAAM,IAAI,IAAI,CAAC;IACf,qDAAqD;IACrD,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC;IAClC,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,oBAAoB;IACnC;oFACgF;IAChF,QAAQ,CAAC,MAAM,CAAC,EAAE,gBAAgB,CAAC;IACnC;;;;OAIG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,aAAa,CAAC;IACpC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB;;;;;;;;OAQG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,iBAAiB,CAAC;CACtC;AAED,wBAAgB,aAAa,CAC3B,OAAO,GAAE,oBAAyB,GACjC,aAAa,CAwKf;AAED,oDAAoD;AACpD,wBAAgB,UAAU,CACxB,KAAK,EAAE,oBAAoB,GAAG;IAC5B,QAAQ,EAAE,CAAC,GAAG,EAAE,aAAa,KAAK,SAAS,CAAC;CAC7C,GACA,YAAY,CAGd"}
@@ -67,7 +67,15 @@ export function useMyListings(options = {}) {
67
67
  // The takedown count, when it is known. Not a `0` while the read is in
68
68
  // flight: the tab strip is drawn off this number and a tab that appeared a
69
69
  // beat after the page settled would move the three beside it.
70
- const blockedCount = blockedRows.status === "ready" ? blockedRows.data.length : undefined;
70
+ //
71
+ // The SERVER's integer first (stapel-listings 0.22.4), the unpaged page's
72
+ // length only where a deployment's backend predates it. `counters.data` is
73
+ // typed with `blocked` required, so the runtime check is the honest one and
74
+ // not a type-driven one: an older server answers 200 with three keys, and a
75
+ // `?? 0` there would print "Taken down 0" over a row the seller can see.
76
+ const rowsBlockedCount = blockedRows.status === "ready" ? blockedRows.data.length : undefined;
77
+ const serverBlockedCount = typeof counters.data?.blocked === "number" ? counters.data.blocked : undefined;
78
+ const blockedCount = serverBlockedCount ?? rowsBlockedCount;
71
79
  // Paging belongs to the tab's own keyset read. The takedowns are fetched
72
80
  // unpaged on purpose, so the removed tab has nowhere to go and says so.
73
81
  const envelope = removed ? undefined : rowsQuery.data;
@@ -86,12 +94,21 @@ export function useMyListings(options = {}) {
86
94
  one,
87
95
  one === tab ? Math.max(server[one], visible) : server[one],
88
96
  ])),
89
- [MY_LISTINGS_REMOVED_TAB]: blockedCount ?? 0,
97
+ // The fourth tab takes the same floor as the other three: the server's
98
+ // number, raised to what is on screen while this tab is the open one.
99
+ // The counter and the unpaged page are two reads of one set and either
100
+ // may be the staler — a badge under its own rows is not a count.
101
+ [MY_LISTINGS_REMOVED_TAB]: tab === MY_LISTINGS_REMOVED_TAB
102
+ ? Math.max(blockedCount ?? 0, visible)
103
+ : (blockedCount ?? 0),
90
104
  });
91
105
  }, [counters.status, counters.error, counters.data, rows, tab, blockedCount]);
92
106
  // The removed tab is drawn where it has something to say — or where the
93
107
  // address named it, so `?tab=removed` opens a real (if empty) tab rather
94
108
  // than an activeKey pointing at nothing.
109
+ //
110
+ // "Something to say" is the COUNTER since 0.22.4, so the tab arrives with
111
+ // `my/counters` rather than waiting for a page of takedowns to come back.
95
112
  const tabs = removed || (blockedCount ?? 0) > 0 ? MY_LISTINGS_TABS : MY_LISTINGS_COUNTED_TABS;
96
113
  return {
97
114
  tab,
@@ -1 +1 @@
1
- {"version":3,"file":"MyListings.js","sourceRoot":"","sources":["../../src/headless/MyListings.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAE1C,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EACL,eAAe,EACf,aAAa,EACb,UAAU,EACV,WAAW,EACX,SAAS,EACT,qBAAqB,GACtB,MAAM,cAAc,CAAC;AAOtB,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAEjE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EACL,wBAAwB,EACxB,uBAAuB,EACvB,gBAAgB,EAChB,6BAA6B,GAC9B,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAEvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AA2GrD,MAAM,UAAU,aAAa,CAC3B,UAAgC,EAAE;IAElC,MAAM,IAAI,GAAG,cAAc,EAAE,CAAC;IAC9B,MAAM,YAAY,GAAG,qBAAqB,EAAE,CAAC;IAC7C,2EAA2E;IAC3E,4EAA4E;IAC5E,6EAA6E;IAC7E,uDAAuD;IACvD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,cAAc,EAAE,CAAC;IACpD,MAAM,CAAC,GAAG,EAAE,WAAW,CAAC,GAAG,QAAQ,CACjC,GAAG,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,UAAU,IAAI,QAAQ,CACtE,CAAC;IACF,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAC9B,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAC5D,CAAC;IAEF,MAAM,QAAQ,GAAG,aAAa,EAAE,CAAC;IACjC,MAAM,GAAG,GAAG,cAAc,EAAE,CAAC;IAC7B,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC;IAChC,MAAM,MAAM,GAAG,OAAO,CACpB,GAAG,EAAE,CAAC,QAAQ,IAAI,uBAAuB,CAAC,GAAG,CAAC,EAC9C,CAAC,QAAQ,EAAE,GAAG,CAAC,CAChB,CAAC;IACF,MAAM,KAAK,GAAG,YAAY,IAAI,IAAI,CAAC,SAAS,CAAC;IAC7C,sEAAsE;IACtE,4EAA4E;IAC5E,8DAA8D;IAC9D,MAAM,OAAO,GAAG,GAAG,KAAK,uBAAuB,CAAC;IAChD,MAAM,UAAU,GAAyB,OAAO;QAC9C,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC;QAC7B,CAAC,CAAE,GAA4B,CAAC;IAElC,MAAM,SAAS,GAAG,QAAQ,CAAC;QACzB,QAAQ,EAAE,iBAAiB,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QAC3D,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;QAClE,OAAO,EAAE,KAAK,IAAI,CAAC,OAAO;QAC1B,KAAK,EAAE,KAAK;KACb,CAAC,CAAC;IAEH,yEAAyE;IACzE,2EAA2E;IAC3E,yDAAyD;IACzD,MAAM,YAAY,GAAG,QAAQ,CAAC;QAC5B,QAAQ,EAAE,iBAAiB,CAAC,YAAY,EAAE;QAC1C,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CACtB,GAAG,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,6BAA6B,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC;QACvE,OAAO,EAAE,KAAK,IAAI,6BAA6B,CAAC,MAAM,GAAG,CAAC;QAC1D,KAAK,EAAE,KAAK;KACb,CAAC,CAAC;IAEH,MAAM,WAAW,GAAwC,OAAO,CAAC,GAAG,EAAE;QACpE,IAAI,6BAA6B,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC,EAAE,CAAC,CAAC;QACrE,IAAI,YAAY,CAAC,MAAM,KAAK,OAAO;YAAE,OAAO,UAAU,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,YAAY,CAAC,IAAI,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/E,OAAO,WAAW,EAAE,CAAC;IACvB,CAAC,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,YAAY,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;IAEjE,MAAM,OAAO,GAAwC,OAAO,CAAC,GAAG,EAAE;QAChE,IAAI,SAAS,CAAC,MAAM,KAAK,OAAO;YAAE,OAAO,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACrE,IAAI,SAAS,CAAC,IAAI,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzE,OAAO,WAAW,EAAE,CAAC;IACvB,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IAExD,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC;IAE7C,uEAAuE;IACvE,2EAA2E;IAC3E,8DAA8D;IAC9D,MAAM,YAAY,GAChB,WAAW,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;IAEvE,yEAAyE;IACzE,wEAAwE;IACxE,MAAM,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC;IAEtD,0EAA0E;IAC1E,kEAAkE;IAClE,6BAA6B;IAC7B,MAAM,SAAS,GACb,OAAO,CAAC,GAAG,EAAE;QACX,IAAI,QAAQ,CAAC,MAAM,KAAK,OAAO;YAAE,OAAO,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACnE,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS;YAAE,OAAO,WAAW,EAAE,CAAC;QACtD,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC;QAC7B,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/D,OAAO,SAAS,CAAC;YACf,GAAI,MAAM,CAAC,WAAW,CACpB,wBAAwB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC;gBACpC,GAAG;gBACH,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;aAC3D,CAAC,CACgD;YACpD,CAAC,uBAAuB,CAAC,EAAE,YAAY,IAAI,CAAC;SAC7C,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC;IAEhF,wEAAwE;IACxE,yEAAyE;IACzE,yCAAyC;IACzC,MAAM,IAAI,GACR,OAAO,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,wBAAwB,CAAC;IAEnF,OAAO;QACL,GAAG;QACH,IAAI;QACJ,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YACf,sEAAsE;YACtE,8DAA8D;YAC9D,mEAAmE;YACnE,iCAAiC;YACjC,OAAO,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACrE,WAAW,CAAC,IAAI,CAAC,CAAC;YAClB,gEAAgE;YAChE,6CAA6C;YAC7C,CAAC,OAAO,CAAC,OAAO,IAAI,cAAc,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACrD,CAAC;QACD,QAAQ,EACN,QAAQ,CAAC,MAAM,KAAK,OAAO;YACzB,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC;YAC5B,CAAC,CAAC,QAAQ,CAAC,IAAI,KAAK,SAAS;gBAC3B,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAC1B,CAAC,CAAC,WAAW,EAAE;QACrB,SAAS;QACT,IAAI;QACJ,WAAW;QACX,IAAI;QACJ,QAAQ,EACN,QAAQ,EAAE,QAAQ,KAAK,IAAI,IAAI,QAAQ,CAAC,WAAW,IAAI,IAAI;YACzD,CAAC,CAAC,eAAe,EAAE;YACnB,CAAC,CAAC,aAAa,CAAC,kBAAkB,CAAC,QAAQ,CAAC;QAChD,QAAQ,EACN,QAAQ,EAAE,QAAQ,KAAK,IAAI,IAAI,QAAQ,CAAC,WAAW,IAAI,IAAI;YACzD,CAAC,CAAC,eAAe,EAAE;YACnB,CAAC,CAAC,aAAa,CAAC,kBAAkB,CAAC,QAAQ,CAAC;QAChD,MAAM,EAAE,GAAG,EAAE;YACX,MAAM,MAAM,GAAG,QAAQ,EAAE,WAAW,CAAC;YACrC,IAAI,MAAM,IAAI,IAAI;gBAAE,OAAO;YAC3B,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;QACpE,CAAC;QACD,MAAM,EAAE,GAAG,EAAE;YACX,MAAM,MAAM,GAAG,QAAQ,EAAE,WAAW,CAAC;YACrC,IAAI,MAAM,IAAI,IAAI;gBAAE,OAAO;YAC3B,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;QACpE,CAAC;QACD,IAAI;QACJ,OAAO,EAAE,GAAG,EAAE;YACZ,KAAK,QAAQ,CAAC,OAAO,EAAE,CAAC;YACxB,KAAK,SAAS,CAAC,OAAO,EAAE,CAAC;YACzB,KAAK,YAAY,CAAC,OAAO,EAAE,CAAC;QAC9B,CAAC;KACF,CAAC;AACJ,CAAC;AAED,oDAAoD;AACpD,MAAM,UAAU,UAAU,CACxB,KAEC;IAED,MAAM,GAAG,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IACjC,OAAO,4BAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAI,CAAC;AACpC,CAAC"}
1
+ {"version":3,"file":"MyListings.js","sourceRoot":"","sources":["../../src/headless/MyListings.tsx"],"names":[],"mappings":"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"}
@@ -51,6 +51,53 @@ export declare function shareLinks(target: ShareTarget): readonly ShareLink[];
51
51
  export declare function resolveShareUrl(url: string | undefined): string | undefined;
52
52
  /** Is this environment able to open the platform's own share sheet? */
53
53
  export declare function hasNativeShare(): boolean;
54
+ /**
55
+ * The media query that asks "is this a thumb" — the second half of the arm
56
+ * decision (§25).
57
+ *
58
+ * `(pointer: coarse)` describes the PRIMARY input device, which is exactly the
59
+ * question: a phone and a tablet match, a mouse and a trackpad do not, and a
60
+ * touchscreen laptop being driven with its trackpad reports the trackpad.
61
+ */
62
+ export declare const SHARE_COARSE_MEDIA = "(pointer: coarse)";
63
+ /** Does the primary pointer look like a finger? `false` wherever the question
64
+ * cannot be asked — a server, an engine without `matchMedia` — because the
65
+ * fallback arm is the one that draws something. */
66
+ export declare function hasCoarsePointer(): boolean;
67
+ /**
68
+ * WHICH ARM A SURFACE WANTS, and why `navigator.share` alone was the wrong
69
+ * question.
70
+ *
71
+ * The capability probe is true on desktop Chrome on macOS — measured on the
72
+ * stand (§25), where every share on the storefront opened the OS sheet and the
73
+ * copy-link menu was therefore unreachable on the platform it was BUILT for.
74
+ * "Has a share sheet" and "is a device whose share sheet is the better answer"
75
+ * turned out to be two questions, and the pair was only asking the first.
76
+ *
77
+ * `"auto"` (default) the platform sheet only where the primary pointer is
78
+ * COARSE and the API exists; a mouse gets the menu, with its
79
+ * copy-link row and its three networks.
80
+ * `"menu"` always this pair's menu, whatever the device offers. For a
81
+ * host whose desktop and mobile web are one build and which
82
+ * wants one answer.
83
+ * `"native"` the platform sheet wherever the API exists, pointer ignored —
84
+ * the behaviour every version before this one had, kept
85
+ * reachable by name rather than deleted.
86
+ *
87
+ * In all three, a missing `navigator.share` is the menu: an arm that cannot
88
+ * open is not an arm.
89
+ */
90
+ export type SharePreference = "auto" | "menu" | "native";
91
+ /**
92
+ * Resolve the arm from the preference and what the device actually answered.
93
+ *
94
+ * Pure, and separate from the hook, so the decision is a thing a test reads
95
+ * rather than a thing a rendered `data-share-mode` implies.
96
+ */
97
+ export declare function preferNativeShare(prefer: SharePreference, capability: {
98
+ readonly native: boolean;
99
+ readonly coarse: boolean;
100
+ }): boolean;
54
101
  export interface UseShareOptions {
55
102
  /** The canonical address, absolute or a path. Absent: the address bar,
56
103
  * which is the honest answer only for a host with no route seam. */
@@ -63,12 +110,23 @@ export interface UseShareOptions {
63
110
  * through; `"native"` never says which app, because the sheet does not
64
111
  * tell the page. */
65
112
  readonly onShared?: ((channel: ShareChannel) => void) | undefined;
113
+ /**
114
+ * Which arm this surface wants — see {@link SharePreference}. Default
115
+ * `"auto"`: the platform sheet on a coarse pointer, this pair's menu on a
116
+ * mouse, the menu wherever `navigator.share` is missing.
117
+ */
118
+ readonly prefer?: SharePreference | undefined;
66
119
  }
67
120
  export interface ShareBag {
68
121
  /** The absolute address every arm shares. `undefined` only on a server. */
69
122
  readonly url: string | undefined;
70
- /** Does this device have the platform's own sheet? Settles in an effect —
71
- * see the file header. */
123
+ /**
124
+ * IS THE PLATFORM SHEET THE ARM ON SCREEN — the resolved answer, not the
125
+ * raw capability. `prefer` and the primary pointer are both in it (see
126
+ * {@link SharePreference}); `hasNativeShare()` is the capability alone, for
127
+ * a caller that wants to ask that question itself. Settles in an effect —
128
+ * see the file header.
129
+ */
72
130
  readonly native: boolean;
73
131
  /** The three networks' links, already encoded. */
74
132
  readonly links: readonly ShareLink[];
@@ -1 +1 @@
1
- {"version":3,"file":"Share.d.ts","sourceRoot":"","sources":["../../src/headless/Share.tsx"],"names":[],"mappings":"AAgDA,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAErD;;;;;GAKG;AACH,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,GAAG,UAAU,GAAG,IAAI,CAAC;AAE9E,4DAA4D;AAC5D,eAAO,MAAM,cAAc,yCAA0C,CAAC;AAEtE,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;AAE3D,qCAAqC;AACrC,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC;IAC/B;yEACqE;IACrE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,WAAW;IAC1B,+DAA+D;IAC/D,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB;uEACmE;IACnE,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACrC;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,WAAW,GAAG,SAAS,SAAS,EAAE,CAcpE;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAS3E;AAED,uEAAuE;AACvE,wBAAgB,cAAc,IAAI,OAAO,CAGxC;AAED,MAAM,WAAW,eAAe;IAC9B;wEACoE;IACpE,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,wEAAwE;IACxE,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,yEAAyE;IACzE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC;;wBAEoB;IACpB,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,YAAY,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;CACnE;AAED,MAAM,WAAW,QAAQ;IACvB,2EAA2E;IAC3E,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC;8BAC0B;IAC1B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,kDAAkD;IAClD,QAAQ,CAAC,KAAK,EAAE,SAAS,SAAS,EAAE,CAAC;IACrC;;;;OAIG;IACH,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB;;mEAE+D;IAC/D,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B;kEAC8D;IAC9D,aAAa,IAAI,IAAI,CAAC;IACtB,0CAA0C;IAC1C,IAAI,IAAI,IAAI,CAAC;IACb;iDAC6C;IAC7C,MAAM,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI,CAAC;CACrC;AAED;0DAC0D;AAC1D,eAAO,MAAM,eAAe,OAAO,CAAC;AAEpC,wBAAgB,QAAQ,CAAC,OAAO,GAAE,eAAoB,GAAG,QAAQ,CAoFhE;AAED;mCACmC;AACnC,wBAAgB,KAAK,CACnB,KAAK,EAAE,eAAe,GAAG;IACvB,QAAQ,EAAE,CAAC,GAAG,EAAE,QAAQ,KAAK,SAAS,CAAC;CACxC,GACA,YAAY,CAGd"}
1
+ {"version":3,"file":"Share.d.ts","sourceRoot":"","sources":["../../src/headless/Share.tsx"],"names":[],"mappings":"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"}
@@ -18,6 +18,15 @@ import { Fragment as _Fragment, jsx as _jsx } from "react/jsx-runtime";
18
18
  * menu with "copy the link" and the three networks a Russian-speaking
19
19
  * marketplace actually gets traffic from.
20
20
  *
21
+ * ── …AND "HAS A SHEET" IS NOT "SHOULD USE THE SHEET" (§25) ───────────────
22
+ *
23
+ * `navigator.share` is true on desktop Chrome on macOS. Measured on the stand:
24
+ * every share on the storefront opened the OS sheet and the copy-link menu —
25
+ * three networks and a clipboard row, built for exactly that platform — was
26
+ * unreachable there. So the decision takes a second reading, the primary
27
+ * POINTER, and {@link UseShareOptions.prefer} lets a surface state the answer
28
+ * outright. See {@link SharePreference}.
29
+ *
21
30
  * `native` is resolved in an EFFECT rather than during render, for the reason
22
31
  * `cardGallery.ts`'s `useFinePointer` gives at length: a server render has no
23
32
  * `navigator`, and a first client render that disagreed with it is a
@@ -105,19 +114,62 @@ export function hasNativeShare() {
105
114
  return false;
106
115
  return typeof navigator.share === "function";
107
116
  }
117
+ /**
118
+ * The media query that asks "is this a thumb" — the second half of the arm
119
+ * decision (§25).
120
+ *
121
+ * `(pointer: coarse)` describes the PRIMARY input device, which is exactly the
122
+ * question: a phone and a tablet match, a mouse and a trackpad do not, and a
123
+ * touchscreen laptop being driven with its trackpad reports the trackpad.
124
+ */
125
+ export const SHARE_COARSE_MEDIA = "(pointer: coarse)";
126
+ /** Does the primary pointer look like a finger? `false` wherever the question
127
+ * cannot be asked — a server, an engine without `matchMedia` — because the
128
+ * fallback arm is the one that draws something. */
129
+ export function hasCoarsePointer() {
130
+ if (typeof window === "undefined" || typeof window.matchMedia !== "function") {
131
+ return false;
132
+ }
133
+ try {
134
+ return window.matchMedia(SHARE_COARSE_MEDIA).matches;
135
+ }
136
+ catch {
137
+ return false;
138
+ }
139
+ }
140
+ /**
141
+ * Resolve the arm from the preference and what the device actually answered.
142
+ *
143
+ * Pure, and separate from the hook, so the decision is a thing a test reads
144
+ * rather than a thing a rendered `data-share-mode` implies.
145
+ */
146
+ export function preferNativeShare(prefer, capability) {
147
+ if (prefer === "menu")
148
+ return false;
149
+ if (!capability.native)
150
+ return false;
151
+ return prefer === "native" || capability.coarse;
152
+ }
108
153
  /** How long the "copied" confirmation stands. Long enough to read, short
109
154
  * enough that a reopened menu is not still showing it. */
110
155
  export const SHARE_COPIED_MS = 2400;
111
156
  export function useShare(options = {}) {
112
157
  const { url: given, title, text, onShared } = options;
158
+ const prefer = options.prefer ?? "auto";
113
159
  const [native, setNative] = useState(false);
114
160
  const [copied, setCopied] = useState(false);
115
161
  const [copyFailed, setCopyFailed] = useState(false);
116
162
  // See the header: resolved in an effect so a server render and the
117
- // hydration pass that must agree with it draw the same arm.
163
+ // hydration pass that must agree with it draw the same arm. Both halves of
164
+ // the question are asked in the SAME effect — the capability and the
165
+ // pointer — so there is never a frame in which one has landed and the
166
+ // other has not and the button changes arm twice.
118
167
  useEffect(() => {
119
- setNative(hasNativeShare());
120
- }, []);
168
+ setNative(preferNativeShare(prefer, {
169
+ native: hasNativeShare(),
170
+ coarse: hasCoarsePointer(),
171
+ }));
172
+ }, [prefer]);
121
173
  const url = useMemo(() => resolveShareUrl(given), [given]);
122
174
  const links = useMemo(() => (url === undefined ? [] : shareLinks({ url, title })), [url, title]);
123
175
  useEffect(() => {
@@ -1 +1 @@
1
- {"version":3,"file":"Share.js","sourceRoot":"","sources":["../../src/headless/Share.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Share.js","sourceRoot":"","sources":["../../src/headless/Share.tsx"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -73,11 +73,11 @@ export { MY_LISTINGS_TAB_PARAM, NO_ADDRESS, browserAddress, searchWithTab, tabFr
73
73
  export type { MyListingsAddress } from "./model/tabAddress.js";
74
74
  export { myListingImages, myListingPrice, myListingTitle, showsDraft, } from "./model/mine.js";
75
75
  export { EMPTY_LOCATION, createDraftBody, draftPatchFromValues, draftValuesFromDetail, draftValuesFromWire, droppedFeatureSlugs, emptyDraftValues, retainKnownFeatureValues, } from "./model/draft.js";
76
- export type { EmptyDraftOptions, ListingDraftValues, ListingLocation, } from "./model/draft.js";
76
+ export type { DraftPatchOptions, EmptyDraftOptions, ListingDraftField, ListingDraftValues, ListingLocation, } from "./model/draft.js";
77
77
  export { asFeatureDaoList, featureFromDao, featureValuesForDisplay, featuresDtoFromDaoList, featuresFromDaoList, unreadableFeatureCount, } from "./model/features.js";
78
78
  export type { FeatureCopySource } from "./model/features.js";
79
79
  export { featureUnit, formatSpecValue } from "./model/featureText.js";
80
- export { badgePresentation, badgeValueText, cardBadgeText, cardBadgeTexts, hasCardBadgeContract, } from "./model/cardBadges.js";
80
+ export { badgePresentation, badgeValueText, captionName, cardBadgeText, cardBadgeTexts, hasCardBadgeContract, } from "./model/cardBadges.js";
81
81
  export type { CardBadgeContract, CardBadgePresentation, CardBadgeRow, CardBadgeStyle, } from "./model/cardBadges.js";
82
82
  export { engagementFor, isListingViewed, listingViewCount, withEngagement, } from "./model/engagement.js";
83
83
  export { CATEGORY_FIELD, DEFAULT_DRAFT_LIMITS, DESCRIPTION_FIELD, IMAGES_FIELD, LOCATION_FIELD, PRICE_FIELD, TITLE_FIELD, envelopeFieldErrors, failedResults, isBatchValid, listingFieldErrors, mirrorDraft, mirrorListingFields, publishRefusal, } from "./model/validation.js";
@@ -104,8 +104,8 @@ export { ListingEngagementContext, ListingEngagementScope, useEngagedListing, us
104
104
  export type { ListingEngagementBag, ListingEngagementScopeProps, UseListingEngagementOverlayOptions, } from "./headless/Engagement.js";
105
105
  export { Favorites, useFavorites, useFavoriteToggle } from "./headless/Favorites.js";
106
106
  export type { FavoriteToggleBag, FavoritesBag, UseFavoritesOptions, } from "./headless/Favorites.js";
107
- export { SHARE_COPIED_MS, SHARE_NETWORKS, Share, hasNativeShare, resolveShareUrl, shareLinks, useShare, } from "./headless/Share.js";
108
- export type { ShareBag, ShareChannel, ShareLink, ShareNetwork, ShareTarget, UseShareOptions, } from "./headless/Share.js";
107
+ export { SHARE_COARSE_MEDIA, SHARE_COPIED_MS, SHARE_NETWORKS, Share, hasCoarsePointer, hasNativeShare, preferNativeShare, resolveShareUrl, shareLinks, useShare, } from "./headless/Share.js";
108
+ export type { ShareBag, ShareChannel, ShareLink, ShareNetwork, SharePreference, ShareTarget, UseShareOptions, } from "./headless/Share.js";
109
109
  export { useListingActions } from "./headless/ListingActions.js";
110
110
  export type { ListingActionsBag, ListingMove, UseListingActionsOptions, } from "./headless/ListingActions.js";
111
111
  export { ACCOUNT_ROOT_ID, navEntries } from "./nav/manifest.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6DG;AAGH,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,YAAY,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EACL,wBAAwB,EACxB,gBAAgB,EAChB,+BAA+B,EAC/B,mBAAmB,EACnB,aAAa,GACd,MAAM,gBAAgB,CAAC;AACxB,YAAY,EACV,cAAc,EACd,sBAAsB,EACtB,aAAa,EACb,UAAU,EACV,eAAe,EACf,qBAAqB,EACrB,WAAW,EACX,aAAa,IAAI,iBAAiB,EAClC,YAAY,EACZ,iBAAiB,EACjB,iBAAiB,EACjB,sBAAsB,EACtB,uBAAuB,EACvB,iBAAiB,EACjB,sBAAsB,EACtB,kBAAkB,EAClB,kBAAkB,EAClB,sBAAsB,EACtB,uBAAuB,EACvB,sBAAsB,EACtB,iBAAiB,EACjB,iBAAiB,EACjB,UAAU,EACV,aAAa,EACb,gBAAgB,EAChB,qBAAqB,EACrB,uBAAuB,EACvB,eAAe,EACf,OAAO,GACR,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACL,wBAAwB,EACxB,uBAAuB,EACvB,gBAAgB,EAChB,wBAAwB,EACxB,6BAA6B,EAC7B,YAAY,EACZ,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,KAAK,GACN,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EACV,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,oBAAoB,EACpB,aAAa,GACd,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,SAAS,EACT,aAAa,EACb,UAAU,GACX,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAChE,YAAY,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EACL,qBAAqB,EACrB,UAAU,EACV,cAAc,EACd,aAAa,EACb,aAAa,GACd,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EACL,eAAe,EACf,cAAc,EACd,cAAc,EACd,UAAU,GACX,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,cAAc,EACd,eAAe,EACf,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACnB,gBAAgB,EAChB,wBAAwB,GACzB,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EACV,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,uBAAuB,EACvB,sBAAsB,EACtB,mBAAmB,EACnB,sBAAsB,GACvB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAGtE,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,WAAW,EACX,aAAa,EACb,cAAc,EACd,oBAAoB,GACrB,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EACV,iBAAiB,EACjB,qBAAqB,EACrB,YAAY,EACZ,cAAc,GACf,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EACL,aAAa,EACb,eAAe,EACf,gBAAgB,EAChB,cAAc,GACf,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,iBAAiB,EACjB,YAAY,EACZ,cAAc,EACd,WAAW,EACX,WAAW,EACX,mBAAmB,EACnB,aAAa,EACb,YAAY,EACZ,kBAAkB,EAClB,WAAW,EACX,mBAAmB,EACnB,cAAc,GACf,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAGhF,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,YAAY,EACV,4BAA4B,EAC5B,oBAAoB,EACpB,eAAe,GAChB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,sBAAsB,EACtB,oBAAoB,EACpB,cAAc,EACd,kBAAkB,GACnB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAClE,YAAY,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EACL,UAAU,EACV,eAAe,EACf,eAAe,EACf,oBAAoB,EACpB,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,gBAAgB,GACjB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACd,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,EACjB,YAAY,EACZ,oBAAoB,GACrB,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EACV,aAAa,EACb,sBAAsB,EACtB,cAAc,GACf,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpE,YAAY,EACV,YAAY,EACZ,cAAc,EACd,gBAAgB,GACjB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EACL,cAAc,EACd,wBAAwB,EACxB,0BAA0B,GAC3B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC9E,YAAY,EACV,gBAAgB,EAChB,uBAAuB,GACxB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACpF,YAAY,EACV,YAAY,EACZ,kBAAkB,EAClB,gBAAgB,EAChB,cAAc,EACd,yBAAyB,GAC1B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACrE,YAAY,EACV,aAAa,EACb,oBAAoB,GACrB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,wBAAwB,EACxB,sBAAsB,EACtB,iBAAiB,EACjB,oBAAoB,EACpB,2BAA2B,EAC3B,yBAAyB,GAC1B,MAAM,0BAA0B,CAAC;AAClC,YAAY,EACV,oBAAoB,EACpB,2BAA2B,EAC3B,kCAAkC,GACnC,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACrF,YAAY,EACV,iBAAiB,EACjB,YAAY,EACZ,mBAAmB,GACpB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,cAAc,EACd,KAAK,EACL,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EACjB,eAAe,EACf,UAAU,EACV,QAAQ,GACT,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACV,QAAQ,EACR,YAAY,EACZ,SAAS,EACT,YAAY,EACZ,eAAe,EACf,WAAW,EACX,eAAe,GAChB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,YAAY,EACV,iBAAiB,EACjB,WAAW,EACX,wBAAwB,GACzB,MAAM,8BAA8B,CAAC;AAGtC,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAGhE,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,gBAAgB,CAAC;AACxB,YAAY,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAGtD,OAAO,EACL,eAAe,EACf,oBAAoB,EACpB,4BAA4B,EAC5B,0BAA0B,EAC1B,iBAAiB,EACjB,iCAAiC,EACjC,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACV,iBAAiB,EACjB,iBAAiB,EACjB,WAAW,GACZ,MAAM,qBAAqB,CAAC"}
package/dist/index.js CHANGED
@@ -76,7 +76,7 @@ export { EMPTY_LOCATION, createDraftBody, draftPatchFromValues, draftValuesFromD
76
76
  export { asFeatureDaoList, featureFromDao, featureValuesForDisplay, featuresDtoFromDaoList, featuresFromDaoList, unreadableFeatureCount, } from "./model/features.js";
77
77
  export { featureUnit, formatSpecValue } from "./model/featureText.js";
78
78
  // ── model: the card badge contract (stapel-listings 0.21.3) ──────────────────
79
- export { badgePresentation, badgeValueText, cardBadgeText, cardBadgeTexts, hasCardBadgeContract, } from "./model/cardBadges.js";
79
+ export { badgePresentation, badgeValueText, captionName, cardBadgeText, cardBadgeTexts, hasCardBadgeContract, } from "./model/cardBadges.js";
80
80
  // ── model: the engagement axis (already-seen / view count / the overlay) ─────
81
81
  export { engagementFor, isListingViewed, listingViewCount, withEngagement, } from "./model/engagement.js";
82
82
  // ── model: validation, the mirror and the publish-400 split ──────────────────
@@ -97,7 +97,7 @@ export { ListingComposer, useListingComposer } from "./headless/ListingComposer.
97
97
  export { MyListings, useMyListings } from "./headless/MyListings.js";
98
98
  export { ListingEngagementContext, ListingEngagementScope, useEngagedListing, useEngagementOverlay, useListingEngagementOverlay, useListingEngagementScope, } from "./headless/Engagement.js";
99
99
  export { Favorites, useFavorites, useFavoriteToggle } from "./headless/Favorites.js";
100
- export { SHARE_COPIED_MS, SHARE_NETWORKS, Share, hasNativeShare, resolveShareUrl, shareLinks, useShare, } from "./headless/Share.js";
100
+ export { SHARE_COARSE_MEDIA, SHARE_COPIED_MS, SHARE_NETWORKS, Share, hasCoarsePointer, hasNativeShare, preferNativeShare, resolveShareUrl, shareLinks, useShare, } from "./headless/Share.js";
101
101
  export { useListingActions } from "./headless/ListingActions.js";
102
102
  // ── nav manifest (the pair's public surface declaration) ─────────────────────
103
103
  export { ACCOUNT_ROOT_ID, navEntries } from "./nav/manifest.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -162,6 +162,31 @@ export declare function badgeValueText(row: CardBadgeRow, locale?: string): stri
162
162
  * where a caption needs punctuation to be read as one.
163
163
  */
164
164
  export type CardBadgeStyle = "badge" | "line";
165
+ /**
166
+ * A CAPTION AS THIS PAIR WILL PUNCTUATE IT — the catalogue's own trailing
167
+ * colon stripped (D455).
168
+ *
169
+ * Measured on a live feed, translated: one card in twenty-four read
170
+ * "HONOR · **Model:: 90** · 256 GB". The catalogue row for that leaf spells
171
+ * the feature's name "Model:" — with the colon IN the name — and presents it
172
+ * `name_value`, while the neighbouring listing's row for the same slug spells
173
+ * it "Model" and presents it `value`. So the content is inconsistent and only
174
+ * one half of that is ours; what is ours is that {@link caption} then adds a
175
+ * second colon to a name that already ended in one.
176
+ *
177
+ * Punctuation between a caption and its answer is the SURFACE's decision (see
178
+ * the module header) — which means it is not the catalogue's, and a name that
179
+ * arrives carrying its own is a name with a separator baked into it. It is
180
+ * taken off here, once, so both styles are unaffected by which of the two
181
+ * spellings a row happens to use: the chip draws "Model 90" and the line
182
+ * "Model: 90" either way.
183
+ *
184
+ * Only a TRAILING colon, and only the colon: a name is otherwise printed
185
+ * exactly as the catalogue wrote it. "Model: year:" is not a shape anybody
186
+ * sends, and a rule that chewed punctuation off the end of every caption
187
+ * would eventually eat a name that meant it.
188
+ */
189
+ export declare function captionName(name: string): string;
165
190
  /**
166
191
  * One badge element → the text a card prints, or `undefined` for an element
167
192
  * that has nothing to say (a false boolean, a blank value).
@@ -1 +1 @@
1
- {"version":3,"file":"cardBadges.d.ts","sourceRoot":"","sources":["../../src/model/cardBadges.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgGG;AACH,OAAO,KAAK,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAElF;;;;;;;GAOG;AACH,MAAM,MAAM,qBAAqB,GAAG,uBAAuB,CAAC,cAAc,CAAC,CAAC;AAE5E;;;;;;;;;GASG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B;;gEAE4D;IAC5D,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;CAC1B,GAAG;IACF,QAAQ,EAAE,CAAC,IAAI,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC,CAAC,EAAE,uBAAuB,CAAC,CAAC,CAAC,GAAG,IAAI;CAC9E,GAAG;IACF;;;+BAG2B;IAC3B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACvC,CAAC;AAEF,gFAAgF;AAChF,MAAM,MAAM,YAAY,GAAG,iBAAiB,GAAG,iBAAiB,CAAC;AAEjE;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,YAAY,GAAG,qBAAqB,GAAG,SAAS,CAYtF;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,SAAS,YAAY,EAAE,GAAG,OAAO,CAE3E;AAqBD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,YAAY,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAmBzE;AAOD;;;;;;GAMG;AACH,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,MAAM,CAAC;AAU9C;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAC3B,GAAG,EAAE,YAAY,EACjB,MAAM,CAAC,EAAE,MAAM,EACf,KAAK,GAAE,cAAwB,GAC9B,MAAM,GAAG,SAAS,CA6BpB;AAuBD;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,SAAS,YAAY,EAAE,EAC7B,MAAM,CAAC,EAAE,MAAM,EACf,KAAK,GAAE,cAAwB,GAC9B,SAAS;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAAE,CAsC7D"}
1
+ {"version":3,"file":"cardBadges.d.ts","sourceRoot":"","sources":["../../src/model/cardBadges.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgGG;AACH,OAAO,KAAK,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAElF;;;;;;;GAOG;AACH,MAAM,MAAM,qBAAqB,GAAG,uBAAuB,CAAC,cAAc,CAAC,CAAC;AAE5E;;;;;;;;;GASG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B;;gEAE4D;IAC5D,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;CAC1B,GAAG;IACF,QAAQ,EAAE,CAAC,IAAI,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC,CAAC,EAAE,uBAAuB,CAAC,CAAC,CAAC,GAAG,IAAI;CAC9E,GAAG;IACF;;;+BAG2B;IAC3B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACvC,CAAC;AAEF,gFAAgF;AAChF,MAAM,MAAM,YAAY,GAAG,iBAAiB,GAAG,iBAAiB,CAAC;AAEjE;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,YAAY,GAAG,qBAAqB,GAAG,SAAS,CAYtF;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,SAAS,YAAY,EAAE,GAAG,OAAO,CAE3E;AAqBD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,YAAY,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAmBzE;AAOD;;;;;;GAMG;AACH,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,MAAM,CAAC;AAE9C;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEhD;AAWD;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAC3B,GAAG,EAAE,YAAY,EACjB,MAAM,CAAC,EAAE,MAAM,EACf,KAAK,GAAE,cAAwB,GAC9B,MAAM,GAAG,SAAS,CAkCpB;AAuBD;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,SAAS,YAAY,EAAE,EAC7B,MAAM,CAAC,EAAE,MAAM,EACf,KAAK,GAAE,cAAwB,GAC9B,SAAS;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAAE,CAyC7D"}
@@ -80,12 +80,40 @@ export function badgeValueText(row, locale) {
80
80
  function isTrue(raw) {
81
81
  return raw === true || raw === 1 || raw === "true";
82
82
  }
83
+ /**
84
+ * A CAPTION AS THIS PAIR WILL PUNCTUATE IT — the catalogue's own trailing
85
+ * colon stripped (D455).
86
+ *
87
+ * Measured on a live feed, translated: one card in twenty-four read
88
+ * "HONOR · **Model:: 90** · 256 GB". The catalogue row for that leaf spells
89
+ * the feature's name "Model:" — with the colon IN the name — and presents it
90
+ * `name_value`, while the neighbouring listing's row for the same slug spells
91
+ * it "Model" and presents it `value`. So the content is inconsistent and only
92
+ * one half of that is ours; what is ours is that {@link caption} then adds a
93
+ * second colon to a name that already ended in one.
94
+ *
95
+ * Punctuation between a caption and its answer is the SURFACE's decision (see
96
+ * the module header) — which means it is not the catalogue's, and a name that
97
+ * arrives carrying its own is a name with a separator baked into it. It is
98
+ * taken off here, once, so both styles are unaffected by which of the two
99
+ * spellings a row happens to use: the chip draws "Model 90" and the line
100
+ * "Model: 90" either way.
101
+ *
102
+ * Only a TRAILING colon, and only the colon: a name is otherwise printed
103
+ * exactly as the catalogue wrote it. "Model: year:" is not a shape anybody
104
+ * sends, and a rule that chewed punctuation off the end of every caption
105
+ * would eventually eat a name that meant it.
106
+ */
107
+ export function captionName(name) {
108
+ return name.replace(/\s*:+$/u, "");
109
+ }
83
110
  /** A caption and its answer, joined the way this surface separates them. */
84
111
  function caption(name, body, style) {
85
112
  // A SPACE in a chip and a COLON in a line. "Floor 3" is a caption inside a
86
113
  // border; "Floor: 3" is what the same pair has to become when the border is
87
114
  // gone and the neighbours are a dot away.
88
- return style === "line" ? `${name}: ${body}` : `${name} ${body}`;
115
+ const head = captionName(name);
116
+ return style === "line" ? `${head}: ${body}` : `${head} ${body}`;
89
117
  }
90
118
  /**
91
119
  * One badge element → the text a card prints, or `undefined` for an element
@@ -98,10 +126,15 @@ function caption(name, body, style) {
98
126
  */
99
127
  export function cardBadgeText(row, locale, style = "badge") {
100
128
  const presentation = badgePresentation(row);
101
- const name = text(row.name);
129
+ // Normalised ONCE, here (D455): every arm below asks "is there a name to
130
+ // print", and the answer has to be about the name this pair will actually
131
+ // draw — a row whose whole name is ":" has none.
132
+ const name = captionName(text(row.name));
102
133
  const unit = text(row.unit);
103
134
  if (presentation === "name") {
104
- // The name IS the badge, and only while the answer is yes.
135
+ // The name IS the badge, and only while the answer is yes. Normalised by
136
+ // the same rule as a caption: a lone "Brick:" is a colon with nothing
137
+ // after it, which is the defect in its plainest form.
105
138
  return isTrue(row.value) && name.length > 0 ? name : undefined;
106
139
  }
107
140
  const value = badgeValueText(row, locale);
@@ -133,7 +166,7 @@ function alreadyCaptioned(row) {
133
166
  const presentation = badgePresentation(row);
134
167
  if (presentation === "name")
135
168
  return true;
136
- return presentation === "name_value" && text(row.name).length > 0;
169
+ return presentation === "name_value" && captionName(text(row.name)).length > 0;
137
170
  }
138
171
  /**
139
172
  * How a bare answer could be MISTAKEN for its neighbour: by measuring the
@@ -172,7 +205,10 @@ export function cardBadgeTexts(rows, locale, style = "badge") {
172
205
  for (const positions of groups.values()) {
173
206
  if (positions.length < 2)
174
207
  continue;
175
- const names = positions.map((at) => text(printedRows[at]?.name));
208
+ // The names as they will be DRAWN (D455) so a catalogue row spelling
209
+ // one axis "Floor:" and the other "Floor" is two spellings of one word
210
+ // here rather than two distinct captions that tell a reader nothing apart.
211
+ const names = positions.map((at) => captionName(text(printedRows[at]?.name)));
176
212
  // Nothing to caption with, or one word for both axes: leave the line as
177
213
  // the server wrote it rather than adding a caption that tells a reader
178
214
  // nothing they did not already have.
@@ -1 +1 @@
1
- {"version":3,"file":"cardBadges.js","sourceRoot":"","sources":["../../src/model/cardBadges.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cardBadges.js","sourceRoot":"","sources":["../../src/model/cardBadges.ts"],"names":[],"mappings":"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"}