@connextar/house 0.6.0 → 0.8.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 (38) hide show
  1. package/README.md +75 -1
  2. package/dist/setup-guide/bits.js +1 -1
  3. package/dist/setup-guide/bits.js.map +1 -1
  4. package/dist/setup-guide/guide.d.ts +12 -3
  5. package/dist/setup-guide/guide.d.ts.map +1 -1
  6. package/dist/setup-guide/guide.js.map +1 -1
  7. package/dist/setup-guide/strip.d.ts.map +1 -1
  8. package/dist/setup-guide/strip.js +5 -2
  9. package/dist/setup-guide/strip.js.map +1 -1
  10. package/dist/trail/trail.d.ts +9 -1
  11. package/dist/trail/trail.d.ts.map +1 -1
  12. package/dist/trail/trail.js +46 -9
  13. package/dist/trail/trail.js.map +1 -1
  14. package/dist/ux/index.d.ts +1 -1
  15. package/dist/ux/index.d.ts.map +1 -1
  16. package/dist/ux/index.js +1 -1
  17. package/dist/ux/index.js.map +1 -1
  18. package/dist/ux/optimistic.d.ts +70 -0
  19. package/dist/ux/optimistic.d.ts.map +1 -1
  20. package/dist/ux/optimistic.js +107 -0
  21. package/dist/ux/optimistic.js.map +1 -1
  22. package/dist/ux/use-optimistic-value.d.ts +14 -6
  23. package/dist/ux/use-optimistic-value.d.ts.map +1 -1
  24. package/dist/ux/use-optimistic-value.js +39 -36
  25. package/dist/ux/use-optimistic-value.js.map +1 -1
  26. package/dist/web-search/index.d.ts +3 -0
  27. package/dist/web-search/index.d.ts.map +1 -0
  28. package/dist/web-search/index.js +3 -0
  29. package/dist/web-search/index.js.map +1 -0
  30. package/dist/web-search/providers.d.ts +33 -0
  31. package/dist/web-search/providers.d.ts.map +1 -0
  32. package/dist/web-search/providers.js +161 -0
  33. package/dist/web-search/providers.js.map +1 -0
  34. package/dist/web-search/types.d.ts +82 -0
  35. package/dist/web-search/types.d.ts.map +1 -0
  36. package/dist/web-search/types.js +29 -0
  37. package/dist/web-search/types.js.map +1 -0
  38. package/package.json +5 -1
package/README.md CHANGED
@@ -234,6 +234,15 @@ export function DashboardShell({ userId, children }: { userId: string; children:
234
234
  }
235
235
  ```
236
236
 
237
+ The trail lives in `sessionStorage`, so it belongs to one tab and survives a
238
+ reload but not a new window. **On a door whose URL _is_ the credential — a share
239
+ link with a token in the path — pass `persist={false}`.** A crumb carries the
240
+ `href` it points at, so persisting there would leave a bearer token in storage
241
+ for anything with DOM access to read; without it the trail still works for as
242
+ long as the tab stays put, and simply starts again after a reload. The `scope`
243
+ is only ever compared, never read back, so it is stored as a digest rather than
244
+ as the thing you handed over.
245
+
237
246
  ### `@connextar/house/editor`, `/editor/content`, `/editor/emoji`
238
247
 
239
248
  `RichTextEditor` — Notion-style writing for any prose field. Formatting appears
@@ -267,7 +276,8 @@ library, no HTTP client.
267
276
  change as a _patch_ beside them, folded in on render. `insert`, `update`,
268
277
  `remove`, `move` and `bulk` each take a commit function; `isPending(key)` marks
269
278
  one row without disabling the table. `useOptimisticValue` is the same for a
270
- switch, a status or a settings record; `useAction` and `useKeyedAction` are for
279
+ switch, a status or a settings record — a queue there too, not one held value;
280
+ `useAction` and `useKeyedAction` are for
271
281
  work that should not be guessed at — a payment, a model call, a sign-in — and
272
282
  give a control the `pending` flag it needs and nothing more.
273
283
 
@@ -292,6 +302,17 @@ which case they win and the screen corrects itself. Evidence, never a timer —
292
302
  screen that does not refetch has no truth to fall back to, and snapping to stale
293
303
  rows after N seconds is a bug that only appears on a slow connection.
294
304
 
305
+ **Two writes at once.** Each one lands or rolls back on its own, which is why
306
+ both hooks hold a queue rather than the current answer. A slow first write that
307
+ comes back after a second one keeps its place in the queue instead of winning
308
+ it, and a refusal takes down the change that was refused and nothing else.
309
+ Holding a single value gets both of these backwards: the first write's answer
310
+ reappears on screen a second after the person watched the second one save, and a
311
+ failed early write rolls back a later change nobody asked to undo. `merge` takes
312
+ the same discipline — two fields changed in the same breath both survive,
313
+ because a merge is held as its fields rather than as a copy of the value it was
314
+ read from.
315
+
295
316
  **The three seams that keep it portable.** A commit is
296
317
  `() => Promise<Row | void>` that **throws** on failure, which is the one failure
297
318
  contract every client already has; an app whose client returns a result object
@@ -372,6 +393,15 @@ react-hook-form, plain `useState` and MAS's state forms all host it unchanged. A
372
393
  check may live on the form (`onValidateStep`) or on the step (`step.validate`);
373
394
  both are asked, the step's first.
374
395
 
396
+ **`paysOnComplete` is presentational.** It says an item's steps are choices made
397
+ inside one flow that saves nothing until its last press, so the strip can say
398
+ "nothing lands until it is built" and tick them as `ready`. It is _not_ a rule
399
+ `rewardsOwed` enforces — that pays whatever is done and unpaid, as it does for
400
+ every item, and what keeps a half-built thing from paying is that the host's
401
+ records cannot say a step is done before the thing exists. It reads as "not
402
+ built yet" only while nothing has been earned: once the first reward lands the
403
+ thing plainly does exist, and the copy stops promising.
404
+
375
405
  `stepValidator(form, report)` and `useStepValidator(form)` are in
376
406
  `@connextar/house/wizard/react-hook-form` — its own entry point because
377
407
  `react-hook-form` is an **optional** peer dependency. Every import of it there is
@@ -560,6 +590,50 @@ filter is dropped rather than throwing when the menu entry is picked. Where view
560
590
  are stored — a table keyed by account, or the browser — is the app's decision,
561
591
  because only the app knows whether a view should follow someone to their phone.
562
592
 
593
+ ### `@connextar/house/web-search`
594
+
595
+ Google's organic results for a query, from whichever search API a deployment
596
+ has a key for — **Serper** or **VALUE SERP** — in one shape.
597
+
598
+ This one is here by decision rather than by count. AltEd is the first app to
599
+ search the web, but which search API a deployment pays for is a cost choice the
600
+ owner makes across the portfolio — two providers whose prices cross over at a
601
+ few thousand searches a month — and that choice should be one setting, not a
602
+ rewrite in every app that later needs it. What differs between the providers is
603
+ where the key goes, what the fields are called and how they bill; what an app
604
+ wants is identical. So the module is a factory per provider and one picker:
605
+
606
+ ```ts
607
+ import { webSearchProviderFromEnv, WebSearchError } from "@connextar/house/web-search";
608
+
609
+ const search = webSearchProviderFromEnv(); // null without a key
610
+ const { provider, results } = await search!.search(
611
+ { q: "chemistry tutor Leeds", country: "gb", language: "en", num: 20 },
612
+ { timeoutMs: 12_000 },
613
+ );
614
+ // results: [{ position, title, url, snippet }]
615
+ ```
616
+
617
+ `webSearchProviderFromEnv` reads `SERPER_API_KEY` and `VALUESERP_API_KEY`,
618
+ uses `WEB_SEARCH_PROVIDER` (`serper` or `valueserp`) to choose when both are
619
+ set, and otherwise prefers Serper. A named provider without a key falls back to
620
+ the other rather than to no search at all. `SERPER_URL` and `VALUESERP_URL`
621
+ point either at a stand-in for local checks. `provider.label` is the name to
622
+ list in a privacy policy.
623
+
624
+ **A failure is a `WebSearchError` with a code** — `unauthorised`,
625
+ `rate_limited`, `timeout`, `unreachable` or `bad_response` — and the HTTP status
626
+ where there was one. **It never carries the request's address, headers or
627
+ response body.** VALUE SERP takes the key in the query string, so a message that
628
+ quoted the address, or a body that echoed it, would put a live key into whatever
629
+ log caught the error; the tests assert the key appears nowhere in the message or
630
+ the stack for every status and both providers. Serper takes it in a header.
631
+
632
+ Billing differs and is the caller's to weigh: Serper charges one credit for up to
633
+ ten results and two for eleven to a hundred; VALUE SERP charges per request.
634
+ There is no caching here — what may be stored, and for how long, is each app's
635
+ decision and each provider's terms.
636
+
563
637
  ### Styles — `@connextar/house/house.css`
564
638
 
565
639
  What the components need that utility classes cannot say: rich text, the editor's
@@ -135,6 +135,6 @@ export function ItemHelp({ item, className, classNames, }) {
135
135
  return (_jsxs("span", { className: cx("inline-flex items-center", className), children: [_jsx(HowToButton, { classNames: classNames, how: {
136
136
  title: `What “${item.title}” asks for`,
137
137
  steps: item.steps.map((step) => `${step.done ? "Done — " : ""}**${step.title}**${step.reward > 0 ? ` · ${step.reward} ${rewardWord(step.reward, words)}` : ""}`),
138
- }, guide: first.guide, footer: _jsxs("p", { className: "mt-3 text-xs text-muted-foreground", children: ["Each step, with how to do it, is on the screen it's done on.", item.paysOnComplete ? " Its rewards land once the whole thing is built." : ""] }) }), _jsx(GuideIconLink, { guide: first.guide, classNames: classNames })] }));
138
+ }, guide: first.guide, footer: _jsxs("p", { className: "mt-3 text-xs text-muted-foreground", children: ["Each step, with how to do it, is on the screen it's done on.", item.paysOnComplete && item.earnedReward === 0 ? " Nothing is paid until the whole thing is built." : ""] }) }), _jsx(GuideIconLink, { guide: first.guide, classNames: classNames })] }));
139
139
  }
140
140
  //# sourceMappingURL=bits.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bits.js","sourceRoot":"","sources":["../../src/setup-guide/bits.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bits.js","sourceRoot":"","sources":["../../src/setup-guide/bits.tsx"],"names":[],"mappings":"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"}
@@ -56,9 +56,18 @@ export interface SetupItemDef {
56
56
  /** What to say while it is blocked, e.g. "After your first learner". */
57
57
  blockedLabel?: string;
58
58
  /**
59
- * Its rewards land only once the whole thing is built — for a flow that saves
60
- * nothing before its last step, so the steps tick as choices are made and pay
61
- * at the end.
59
+ * This item's steps are choices made inside one flow that saves nothing until
60
+ * its last press, so they tick as they are made and nothing exists to pay for
61
+ * until the whole thing is built.
62
+ *
63
+ * **It describes the host's flow; it is not a rule this module enforces.**
64
+ * `rewardsOwed` pays whatever is done and unpaid, as it does for every other
65
+ * item — what keeps a half-built thing from paying is that the host's records
66
+ * cannot say a step is done before the thing exists. Setting it changes only
67
+ * what is *said* on screen, and it is read as "not built yet" only while
68
+ * nothing has been earned: once the first reward lands, the thing plainly
69
+ * does exist, and going on saying "when it is built" would be untrue
70
+ * (round 19's 19.16).
62
71
  */
63
72
  paysOnComplete?: boolean;
64
73
  steps: readonly SetupStepDef[];
@@ -1 +1 @@
1
- {"version":3,"file":"guide.d.ts","sourceRoot":"","sources":["../../src/setup-guide/guide.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"guide.d.ts","sourceRoot":"","sources":["../../src/setup-guide/guide.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"guide.js","sourceRoot":"","sources":["../../src/setup-guide/guide.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"guide.js","sourceRoot":"","sources":["../../src/setup-guide/guide.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAyHH,MAAM,QAAQ,GAAG,CAAC,IAAkB,EAAU,EAAE,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;AAElE,MAAM,GAAG,GAAG,CAAC,OAA0B,EAAU,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;AAE/F,0CAA0C;AAC1C,MAAM,UAAU,OAAO,CAAC,KAA8B;IACpD,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;AAClD,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,UAAU,CAAC,KAA8B;IACvD,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AACzD,CAAC;AAED;;;;;;GAMG;AACH,SAAS,SAAS,CAAC,IAAkB,EAAE,IAAyB,EAAE,SAAiB;IACjF,IAAI,SAAS,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM;QAAE,OAAO,IAAI,CAAC;IACzD,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1D,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACzD,CAAC;AAED,iGAAiG;AACjG,MAAM,UAAU,UAAU,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,GAAG,KAAK,EAAmB;IAC1F,MAAM,KAAK,GAAgB,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QAC3C,MAAM,KAAK,GAAgB,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAClD,GAAG,IAAI;YACP,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC;YACtB,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC;YACxB,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC;SAC7B,CAAC,CAAC,CAAC;QACJ,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;QAC3D,OAAO;YACL,GAAG,GAAG;YACN,KAAK;YACL,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC7C,YAAY,EAAE,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACjF,SAAS;YACT,gFAAgF;YAChF,IAAI,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,KAAK,KAAK,CAAC,MAAM;YACpD,OAAO,EAAE,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,SAAS,CAAC;SACzC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChD,OAAO;QACL,OAAO;QACP,KAAK,EAAE,KAAK;QACZ,WAAW,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAChD,YAAY,EAAE,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC/E,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM;QACnD,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,IAAI,IAAI;QACvE,QAAQ,EAAE,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC;QACzE,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC;QACpF,MAAM;KACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,KAAoC,EAAE,GAAW;IACxE,OAAO,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC;AAC/D,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,SAAS,CAAC,KAA0B,EAAE,MAA2B;IAC/E,OAAO,IAAI,GAAG,CAAC,CAAC,GAAG,KAAK,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC;AACxC,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,WAAW,CACzB,KAA8B,EAC9B,IAAyB,EACzB,MAA2B;IAE3B,OAAO,OAAO,CAAC,KAAK,CAAC;SAClB,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SACnF,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;AACnF,CAAC;AAWD;;;;;;;GAOG;AACH,MAAM,UAAU,YAAY,CAAC,IAAe,EAAE,KAA2B;IACvE,MAAM,OAAO,GAAG,CAAC,IAAe,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACjF,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;IAClF,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;IAChC,OAAO;QACL,UAAU;QACV,KAAK;QACL,OAAO,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,UAAU,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC;QACjE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,IAAI,IAAI;KAC9E,CAAC;AACJ,CAAC;AAKD,MAAM,UAAU,SAAS,CAAC,IAAe,EAAE,OAAsB,EAAE,KAA2B;IAC5F,IAAI,IAAI,CAAC,IAAI;QAAE,OAAO,MAAM,CAAC;IAC7B,IAAI,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,OAAO,CAAC;IACzC,OAAO,IAAI,CAAC,GAAG,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;AAChD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"strip.d.ts","sourceRoot":"","sources":["../../src/setup-guide/strip.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAqE,KAAK,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAYvH,MAAM,WAAW,eAAe;IAC9B,sDAAsD;IACtD,OAAO,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,KAAK,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,kBAAkB,CAAC;CACjC;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE,eAAe,4BAuFpF"}
1
+ {"version":3,"file":"strip.d.ts","sourceRoot":"","sources":["../../src/setup-guide/strip.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAqE,KAAK,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAYvH,MAAM,WAAW,eAAe;IAC9B,sDAAsD;IACtD,OAAO,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,KAAK,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,kBAAkB,CAAC;CACjC;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE,eAAe,4BA0FpF"}
@@ -31,12 +31,15 @@ export function SetupStrip({ itemKey, ready, className, classNames }) {
31
31
  const words = setup.words;
32
32
  const { progressed, total, percent, nextKey } = itemProgress(item, ready);
33
33
  const owing = item.reward - item.earnedReward;
34
- const summary = item.paysOnComplete
34
+ // Once anything has been earned the thing exists, so "when it is built" stops
35
+ // being true and the ordinary count takes over (round 19's 19.16).
36
+ const awaitingBuild = item.paysOnComplete === true && item.earnedReward === 0;
37
+ const summary = awaitingBuild
35
38
  ? `${progressed} of ${total} ready · ${owing} ${rewardWord(owing, words)} ${owing === 1 ? "lands" : "land"} when it is built`
36
39
  : `${item.doneCount} of ${total} done · ${item.earnedReward} of ${item.reward} ${rewardWord(item.reward, words)} earned`;
37
40
  return (_jsxs("section", { "aria-label": item.title, className: cx("@container", c.strip, className), children: [_jsxs("div", { className: "flex flex-wrap items-center gap-x-3.5 gap-y-3", children: [item.icon ? (_jsx("span", { className: "flex size-9 shrink-0 items-center justify-center rounded-xl bg-secondary", children: item.icon })) : null, _jsxs("div", { className: "min-w-0 flex-1", children: [_jsx("h2", { className: c.stripTitle, children: item.title }), _jsx("p", { className: c.stripSummary, children: summary })] }), _jsxs("div", { className: "flex w-full items-center gap-3 sm:w-auto", children: [_jsx("div", { role: "progressbar", "aria-label": `${item.title}: ${percent}%`, "aria-valuemin": 0, "aria-valuemax": 100, "aria-valuenow": percent, className: cx(c.bar, "flex-1 sm:w-56"), children: _jsx("div", { className: c.barFill, style: { width: `${percent}%` } }) }), _jsxs("span", { className: "text-[13px] font-semibold tabular-nums", children: [percent, "%"] }), _jsx("button", { type: "button", "aria-expanded": open, "aria-label": open ? "Hide the steps" : "Show the steps", onClick: () => setOpen((current) => !current), className: c.iconButton, children: _jsx(ChevronDown, { className: cx("size-4 transition-transform", !open && "-rotate-90"), "aria-hidden": true }) })] })] }), open ? (_jsx("ol", { className: cx("mt-3.5 grid gap-2.5 @md:grid-cols-2", COLUMNS[total]), children: item.steps.map((step, index) => {
38
41
  const state = stepState(step, nextKey, ready);
39
- return (_jsxs("li", { className: cx(c.stripTile, state === "next" && c.stripTileNext), children: [_jsxs("div", { className: "flex items-center justify-between gap-2", children: [_jsx(StepCircle, { state: state, n: index + 1, size: "sm", classNames: classNames }), step.reward > 0 ? (_jsx(RewardChip, { reward: step.reward, state: step.earned ? "earned" : item.paysOnComplete ? "on-complete" : "todo", words: words, classNames: classNames })) : null] }), _jsxs("p", { className: cx("text-[13.5px] leading-snug font-semibold", step.done && c.rowTitleDone), children: [step.title, _jsx("span", { className: c.srOnly, children: step.done ? " (done)" : state === "ready" ? " (ready — pays when built)" : " (to do)" })] }), _jsxs("div", { className: "-ml-1.5 mt-auto flex items-center", children: [step.how ? (_jsx(HowToButton, { how: step.how, guide: step.guide, className: "size-7", classNames: classNames })) : null, _jsx(GuideIconLink, { guide: step.guide, className: "size-7", classNames: classNames }), state === "next" ? _jsx("span", { className: "ml-auto text-xs font-semibold text-primary", children: "Next" }) : null] })] }, step.key));
42
+ return (_jsxs("li", { className: cx(c.stripTile, state === "next" && c.stripTileNext), children: [_jsxs("div", { className: "flex items-center justify-between gap-2", children: [_jsx(StepCircle, { state: state, n: index + 1, size: "sm", classNames: classNames }), step.reward > 0 ? (_jsx(RewardChip, { reward: step.reward, state: step.earned ? "earned" : awaitingBuild ? "on-complete" : "todo", words: words, classNames: classNames })) : null] }), _jsxs("p", { className: cx("text-[13.5px] leading-snug font-semibold", step.done && c.rowTitleDone), children: [step.title, _jsx("span", { className: c.srOnly, children: step.done ? " (done)" : state === "ready" ? " (ready — pays when built)" : " (to do)" })] }), _jsxs("div", { className: "-ml-1.5 mt-auto flex items-center", children: [step.how ? (_jsx(HowToButton, { how: step.how, guide: step.guide, className: "size-7", classNames: classNames })) : null, _jsx(GuideIconLink, { guide: step.guide, className: "size-7", classNames: classNames }), state === "next" ? _jsx("span", { className: "ml-auto text-xs font-semibold text-primary", children: "Next" }) : null] })] }, step.key));
40
43
  }) })) : null] }));
41
44
  }
42
45
  //# sourceMappingURL=strip.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"strip.js","sourceRoot":"","sources":["../../src/setup-guide/strip.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,aAAa,EAA2B,MAAM,WAAW,CAAC;AACvH,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE/D,+EAA+E;AAC/E,gDAAgD;AAChD,MAAM,OAAO,GAA2B;IACtC,CAAC,EAAE,kBAAkB;IACrB,CAAC,EAAE,kBAAkB;IACrB,CAAC,EAAE,kBAAkB;CACtB,CAAC;AAcF;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAmB;IACnF,MAAM,KAAK,GAAG,aAAa,EAAE,CAAC;IAC9B,MAAM,CAAC,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;IACpC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IAE7C,IAAI,CAAC,KAAK,EAAE,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IAC9D,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC;QAAE,OAAO,IAAI,CAAC;IAEpF,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;IAC1B,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC1E,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC;IAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc;QACjC,CAAC,CAAC,GAAG,UAAU,OAAO,KAAK,YAAY,KAAK,IAAI,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,mBAAmB;QAC7H,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,OAAO,KAAK,WAAW,IAAI,CAAC,YAAY,OAAO,IAAI,CAAC,MAAM,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC;IAE3H,OAAO,CACL,iCAAqB,IAAI,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,CAAC,YAAY,EAAE,CAAC,CAAC,KAAK,EAAE,SAAS,CAAC,aAC9E,eAAK,SAAS,EAAC,+CAA+C,aAC3D,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CACX,eAAM,SAAS,EAAC,0EAA0E,YAAE,IAAI,CAAC,IAAI,GAAQ,CAC9G,CAAC,CAAC,CAAC,IAAI,EACR,eAAK,SAAS,EAAC,gBAAgB,aAC7B,aAAI,SAAS,EAAE,CAAC,CAAC,UAAU,YAAG,IAAI,CAAC,KAAK,GAAM,EAC9C,YAAG,SAAS,EAAE,CAAC,CAAC,YAAY,YAAG,OAAO,GAAK,IACvC,EACN,eAAK,SAAS,EAAC,0CAA0C,aACvD,cACE,IAAI,EAAC,aAAa,gBACN,GAAG,IAAI,CAAC,KAAK,KAAK,OAAO,GAAG,mBACzB,CAAC,mBACD,GAAG,mBACH,OAAO,EACtB,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,gBAAgB,CAAC,YAEtC,cAAK,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,OAAO,GAAG,EAAE,GAAI,GAC1D,EACN,gBAAM,SAAS,EAAC,wCAAwC,aAAE,OAAO,SAAS,EAC1E,iBACE,IAAI,EAAC,QAAQ,mBACE,IAAI,gBACP,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,gBAAgB,EACtD,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,EAC7C,SAAS,EAAE,CAAC,CAAC,UAAU,YAEvB,KAAC,WAAW,IAAC,SAAS,EAAE,EAAE,CAAC,6BAA6B,EAAE,CAAC,IAAI,IAAI,YAAY,CAAC,wBAAgB,GACzF,IACL,IACF,EAEL,IAAI,CAAC,CAAC,CAAC,CACN,aAAI,SAAS,EAAE,EAAE,CAAC,qCAAqC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,YACrE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;oBAC9B,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;oBAC9C,OAAO,CACL,cAAmB,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,KAAK,MAAM,IAAI,CAAC,CAAC,aAAa,CAAC,aAChF,eAAK,SAAS,EAAC,yCAAyC,aACtD,KAAC,UAAU,IAAC,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,IAAI,EAAC,IAAI,EAAC,UAAU,EAAE,UAAU,GAAI,EAC3E,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CACjB,KAAC,UAAU,IACT,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,EAC5E,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,UAAU,GACtB,CACH,CAAC,CAAC,CAAC,IAAI,IACJ,EACN,aAAG,SAAS,EAAE,EAAE,CAAC,0CAA0C,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,YAAY,CAAC,aACtF,IAAI,CAAC,KAAK,EACX,eAAM,SAAS,EAAE,CAAC,CAAC,MAAM,YACtB,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAC,UAAU,GACjF,IACL,EACJ,eAAK,SAAS,EAAC,mCAAmC,aAC/C,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CACV,KAAC,WAAW,IAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,SAAS,EAAC,QAAQ,EAAC,UAAU,EAAE,UAAU,GAAI,CAC7F,CAAC,CAAC,CAAC,IAAI,EACR,KAAC,aAAa,IAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,SAAS,EAAC,QAAQ,EAAC,UAAU,EAAE,UAAU,GAAI,EAC9E,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,eAAM,SAAS,EAAC,4CAA4C,qBAAY,CAAC,CAAC,CAAC,IAAI,IAC/F,KAxBC,IAAI,CAAC,GAAG,CAyBZ,CACN,CAAC;gBACJ,CAAC,CAAC,GACC,CACN,CAAC,CAAC,CAAC,IAAI,IACA,CACX,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"strip.js","sourceRoot":"","sources":["../../src/setup-guide/strip.tsx"],"names":[],"mappings":"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"}
@@ -3,9 +3,17 @@ import { type Crumb } from "./rules.js";
3
3
  /**
4
4
  * `scope` is what the trail is made in — typically `${user.id}:${view}`.
5
5
  * Mount it once in the layout that frames the pages which register crumbs.
6
+ *
7
+ * **`persist={false}` keeps the trail in memory only.** A crumb carries the
8
+ * `href` it points at, so on a door whose URLs *are* the credential — a
9
+ * share link with a token in the path — persisting would leave that token in
10
+ * `sessionStorage` for anything with DOM access to read. Turn it off there: the
11
+ * trail still works for as long as the tab stays on the page, and simply starts
12
+ * again after a reload (round 19's 19.15).
6
13
  */
7
- export declare function TrailProvider({ scope, children }: {
14
+ export declare function TrailProvider({ scope, persist, children, }: {
8
15
  scope?: string;
16
+ persist?: boolean;
9
17
  children: ReactNode;
10
18
  }): import("react").JSX.Element;
11
19
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"trail.d.ts","sourceRoot":"","sources":["../../src/trail/trail.tsx"],"names":[],"mappings":"AAKA,OAAO,EAQL,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAGf,OAAO,EAA+B,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AAyDrE;;;GAGG;AACH,wBAAgB,aAAa,CAAC,EAAE,KAAU,EAAE,QAAQ,EAAE,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,SAAS,CAAA;CAAE,+BAwC9F;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,IAAI,GAAG,IAAI,CAapD;AAED,0EAA0E;AAC1E,wBAAgB,SAAS,CAAC,EAAE,KAAK,EAAE,EAAE;IAAE,KAAK,EAAE,KAAK,EAAE,CAAA;CAAE,QAGtD;AAED,kFAAkF;AAClF,wBAAgB,UAAU,IAAI,IAAI,CAMjC;AAED,qFAAqF;AACrF,wBAAgB,cAAc,IAAI,KAAK,EAAE,GAAG,IAAI,CAK/C;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,sCAEhE;AAED,4EAA4E;AAC5E,wBAAgB,SAAS,CAAC,EAAE,SAAS,EAAE,GAAY,EAAE,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,sCAoE1F;AAED,iFAAiF;AACjF,wBAAgB,QAAQ,CAAC,EAAE,SAAS,EAAE,GAAY,EAAE,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,sCA2DzF;AAED;;;;GAIG;AACH,wBAAgB,YAAY,SAW3B"}
1
+ {"version":3,"file":"trail.d.ts","sourceRoot":"","sources":["../../src/trail/trail.tsx"],"names":[],"mappings":"AAKA,OAAO,EAQL,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAGf,OAAO,EAA+B,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AAoFrE;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAAC,EAC5B,KAAU,EACV,OAAc,EACd,QAAQ,GACT,EAAE;IACD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,SAAS,CAAC;CACrB,+BA2CA;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,IAAI,GAAG,IAAI,CAapD;AAED,0EAA0E;AAC1E,wBAAgB,SAAS,CAAC,EAAE,KAAK,EAAE,EAAE;IAAE,KAAK,EAAE,KAAK,EAAE,CAAA;CAAE,QAGtD;AAED,kFAAkF;AAClF,wBAAgB,UAAU,IAAI,IAAI,CAMjC;AAED,qFAAqF;AACrF,wBAAgB,cAAc,IAAI,KAAK,EAAE,GAAG,IAAI,CAK/C;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,sCAEhE;AAED,4EAA4E;AAC5E,wBAAgB,SAAS,CAAC,EAAE,SAAS,EAAE,GAAY,EAAE,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,sCAoE1F;AAED,iFAAiF;AACjF,wBAAgB,QAAQ,CAAC,EAAE,SAAS,EAAE,GAAY,EAAE,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,sCA2DzF;AAED;;;;GAIG;AACH,wBAAgB,YAAY,SAW3B"}
@@ -38,42 +38,79 @@ const CARRY_MS = 15_000;
38
38
  // again, forever.
39
39
  const TrailStateContext = createContext(null);
40
40
  const TrailRegisterContext = createContext(null);
41
+ /**
42
+ * A short digest of the scope.
43
+ *
44
+ * The scope is only ever compared, never read back, so there is no reason to
45
+ * write down the thing itself — and an app may reasonably scope a trail by
46
+ * something it would rather not leave in storage. Not a boundary on its own:
47
+ * for a scope that carries a secret, see `persist`.
48
+ */
49
+ function digest(scope) {
50
+ let a = 0x811c9dc5;
51
+ let b = 0x9e3779b9;
52
+ for (let i = 0; i < scope.length; i++) {
53
+ const code = scope.charCodeAt(i);
54
+ a = Math.imul(a ^ code, 0x01000193);
55
+ b = Math.imul(b + code, 0x85ebca6b) ^ (b >>> 13);
56
+ }
57
+ return `${(a >>> 0).toString(36)}.${(b >>> 0).toString(36)}`;
58
+ }
59
+ /** Whether a reference link carried the trail here. Holds nothing but a timestamp. */
60
+ function readCarried() {
61
+ try {
62
+ const stamp = Number(sessionStorage.getItem(CARRY) ?? 0);
63
+ return stamp > 0 && Date.now() - stamp < CARRY_MS;
64
+ }
65
+ catch {
66
+ return false;
67
+ }
68
+ }
41
69
  function readStored(scope) {
42
70
  try {
43
71
  const parsed = JSON.parse(sessionStorage.getItem(STORE) ?? "null");
44
72
  const stored = typeof parsed === "object" && parsed !== null ? parsed : {};
45
- const previous = stored.scope === scope && Array.isArray(stored.crumbs) ? stored.crumbs.filter(isCrumb) : [];
46
- const stamp = Number(sessionStorage.getItem(CARRY) ?? 0);
47
- return { previous, carried: stamp > 0 && Date.now() - stamp < CARRY_MS };
73
+ return stored.scope === digest(scope) && Array.isArray(stored.crumbs) ? stored.crumbs.filter(isCrumb) : [];
48
74
  }
49
75
  catch {
50
- return { previous: [], carried: false };
76
+ return [];
51
77
  }
52
78
  }
53
79
  /**
54
80
  * `scope` is what the trail is made in — typically `${user.id}:${view}`.
55
81
  * Mount it once in the layout that frames the pages which register crumbs.
82
+ *
83
+ * **`persist={false}` keeps the trail in memory only.** A crumb carries the
84
+ * `href` it points at, so on a door whose URLs *are* the credential — a
85
+ * share link with a token in the path — persisting would leave that token in
86
+ * `sessionStorage` for anything with DOM access to read. Turn it off there: the
87
+ * trail still works for as long as the tab stays on the page, and simply starts
88
+ * again after a reload (round 19's 19.15).
56
89
  */
57
- export function TrailProvider({ scope = "", children }) {
90
+ export function TrailProvider({ scope = "", persist = true, children, }) {
58
91
  const [state, setState] = useState(null);
59
92
  const [shownScope, setShownScope] = useState(scope);
93
+ // Where the trail lives when it is not written down.
94
+ const held = useRef([]);
60
95
  // Switched scope on this page: the trail on screen goes with the old one.
61
96
  if (shownScope !== scope) {
62
97
  setShownScope(scope);
63
98
  setState(null);
64
99
  }
65
100
  const register = useCallback((path, chain) => {
66
- const { previous, carried } = readStored(scope);
67
- const crumbs = nextTrail(previous, chain, carried);
101
+ const previous = persist ? readStored(scope) : held.current;
102
+ const crumbs = nextTrail(previous, chain, readCarried());
103
+ held.current = crumbs;
68
104
  try {
69
- sessionStorage.setItem(STORE, JSON.stringify({ scope, crumbs }));
105
+ if (persist)
106
+ sessionStorage.setItem(STORE, JSON.stringify({ scope: digest(scope), crumbs }));
70
107
  sessionStorage.removeItem(CARRY);
71
108
  }
72
109
  catch {
73
110
  // Storage can be unavailable (private windows); the trail just won't persist.
74
111
  }
75
112
  setState({ path, crumbs });
76
- }, [scope]);
113
+ }, [scope, persist]);
77
114
  // A link marked `data-trail-carry` — a reference in read-only text — carries
78
115
  // the trail, as the editor's references do.
79
116
  useEffect(() => {
@@ -1 +1 @@
1
- {"version":3,"file":"trail.js","sourceRoot":"","sources":["../../src/trail/trail.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"trail.js","sourceRoot":"","sources":["../../src/trail/trail.tsx"],"names":[],"mappings":"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"}
@@ -13,7 +13,7 @@
13
13
  */
14
14
  export { ActionError, errorMessage } from "./errors.js";
15
15
  export { ActionFeedbackProvider, useActionReporter, type ActionFeedback, type ActionReporter } from "./feedback.js";
16
- export { applyPatches, isRedundant, isTempKey, reconcile, sameRow, settlePatch, shouldDropSettled, supersede, tempKey, type Patch, type PatchKind, type RowKey, } from "./optimistic.js";
16
+ export { applyPatches, applyValuePatches, isRedundant, isRedundantValue, isTempKey, reconcile, reconcileValue, sameRow, settlePatch, settleValuePatch, shouldDropSettled, shouldDropSettledValue, supersede, supersedeValue, tempKey, type Patch, type PatchKind, type RowKey, type ValuePatch, } from "./optimistic.js";
17
17
  export { useAction, useKeyedAction, type Action, type ActionOptions, type KeyedAction } from "./use-action.js";
18
18
  export { useOptimisticList, type OptimisticList, type OptimisticListOptions, type WriteOptions, } from "./use-optimistic-list.js";
19
19
  export { useOptimisticValue, type OptimisticValue, type OptimisticValueOptions } from "./use-optimistic-value.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ux/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,KAAK,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AACpH,OAAO,EACL,YAAY,EACZ,WAAW,EACX,SAAS,EACT,SAAS,EACT,OAAO,EACP,WAAW,EACX,iBAAiB,EACjB,SAAS,EACT,OAAO,EACP,KAAK,KAAK,EACV,KAAK,SAAS,EACd,KAAK,MAAM,GACZ,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,KAAK,MAAM,EAAE,KAAK,aAAa,EAAE,KAAK,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC/G,OAAO,EACL,iBAAiB,EACjB,KAAK,cAAc,EACnB,KAAK,qBAAqB,EAC1B,KAAK,YAAY,GAClB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,kBAAkB,EAAE,KAAK,eAAe,EAAE,KAAK,sBAAsB,EAAE,MAAM,2BAA2B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ux/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,KAAK,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AACpH,OAAO,EACL,YAAY,EACZ,iBAAiB,EACjB,WAAW,EACX,gBAAgB,EAChB,SAAS,EACT,SAAS,EACT,cAAc,EACd,OAAO,EACP,WAAW,EACX,gBAAgB,EAChB,iBAAiB,EACjB,sBAAsB,EACtB,SAAS,EACT,cAAc,EACd,OAAO,EACP,KAAK,KAAK,EACV,KAAK,SAAS,EACd,KAAK,MAAM,EACX,KAAK,UAAU,GAChB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,KAAK,MAAM,EAAE,KAAK,aAAa,EAAE,KAAK,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC/G,OAAO,EACL,iBAAiB,EACjB,KAAK,cAAc,EACnB,KAAK,qBAAqB,EAC1B,KAAK,YAAY,GAClB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,kBAAkB,EAAE,KAAK,eAAe,EAAE,KAAK,sBAAsB,EAAE,MAAM,2BAA2B,CAAC"}
package/dist/ux/index.js CHANGED
@@ -13,7 +13,7 @@
13
13
  */
14
14
  export { ActionError, errorMessage } from "./errors.js";
15
15
  export { ActionFeedbackProvider, useActionReporter } from "./feedback.js";
16
- export { applyPatches, isRedundant, isTempKey, reconcile, sameRow, settlePatch, shouldDropSettled, supersede, tempKey, } from "./optimistic.js";
16
+ export { applyPatches, applyValuePatches, isRedundant, isRedundantValue, isTempKey, reconcile, reconcileValue, sameRow, settlePatch, settleValuePatch, shouldDropSettled, shouldDropSettledValue, supersede, supersedeValue, tempKey, } from "./optimistic.js";
17
17
  export { useAction, useKeyedAction } from "./use-action.js";
18
18
  export { useOptimisticList, } from "./use-optimistic-list.js";
19
19
  export { useOptimisticValue } from "./use-optimistic-value.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ux/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,sBAAsB,EAAE,iBAAiB,EAA4C,MAAM,eAAe,CAAC;AACpH,OAAO,EACL,YAAY,EACZ,WAAW,EACX,SAAS,EACT,SAAS,EACT,OAAO,EACP,WAAW,EACX,iBAAiB,EACjB,SAAS,EACT,OAAO,GAIR,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,SAAS,EAAE,cAAc,EAAqD,MAAM,iBAAiB,CAAC;AAC/G,OAAO,EACL,iBAAiB,GAIlB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,kBAAkB,EAAqD,MAAM,2BAA2B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ux/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,sBAAsB,EAAE,iBAAiB,EAA4C,MAAM,eAAe,CAAC;AACpH,OAAO,EACL,YAAY,EACZ,iBAAiB,EACjB,WAAW,EACX,gBAAgB,EAChB,SAAS,EACT,SAAS,EACT,cAAc,EACd,OAAO,EACP,WAAW,EACX,gBAAgB,EAChB,iBAAiB,EACjB,sBAAsB,EACtB,SAAS,EACT,cAAc,EACd,OAAO,GAKR,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,SAAS,EAAE,cAAc,EAAqD,MAAM,iBAAiB,CAAC;AAC/G,OAAO,EACL,iBAAiB,GAIlB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,kBAAkB,EAAqD,MAAM,2BAA2B,CAAC"}
@@ -36,6 +36,10 @@
36
36
  * A settled patch is dropped when fresh rows arrive that account for it. That
37
37
  * is the whole reconciliation rule, and it is deliberately evidence-based
38
38
  * rather than timed: see `shouldDropSettled`.
39
+ *
40
+ * The same rules apply to a single value — a switch, a status, a settings
41
+ * record — under the `…Value` names at the foot of this file. A queue there
42
+ * too, and for the sharper of the two reasons: see `ValuePatch`.
39
43
  */
40
44
  /** How a row is identified. Ids are strings here; numbers stringify fine. */
41
45
  export type RowKey = string;
@@ -136,4 +140,70 @@ export declare function supersede<T>(patches: readonly Patch<T>[], keys: Readonl
136
140
  export declare function tempKey(prefix?: string): string;
137
141
  /** Whether a key came from `tempKey` — a row that is still being created. */
138
142
  export declare function isTempKey(key: RowKey): boolean;
143
+ /**
144
+ * A change to a single value — a switch, a status, a settings record.
145
+ *
146
+ * The same queue as above, for the case where the base is one thing instead of
147
+ * an array of them. It is a queue and not one held value for the reason a list
148
+ * is: two writes can be in flight at once, and each has to be able to land or
149
+ * roll back **on its own**. A single slot makes whichever request answers last
150
+ * the winner, so a slow first write landing after a second one quietly puts the
151
+ * first answer back on screen — a change the person watched save, undone by
152
+ * nothing they did.
153
+ */
154
+ export interface ValuePatch<T> {
155
+ readonly id: string;
156
+ /** `set` replaces the value; `merge` lays fields over whatever is beneath it. */
157
+ readonly kind: "set" | "merge";
158
+ /** `set`: the value to show. */
159
+ readonly value?: T;
160
+ /** `merge`: the fields to lay over it. */
161
+ readonly fields?: Partial<T>;
162
+ readonly settled: boolean;
163
+ /** What the base was when the write landed — see `shouldDropSettledValue`. */
164
+ readonly witness?: T;
165
+ }
166
+ /** The value to render: the server's, with every change laid over it in order. */
167
+ export declare function applyValuePatches<T>(base: T, patches: readonly ValuePatch<T>[]): T;
168
+ /** Does the base already say what this change says? */
169
+ export declare function isRedundantValue<T>(patch: ValuePatch<T>, base: T): boolean;
170
+ /**
171
+ * Whether a settled change has been overtaken by a fresh value — the same two
172
+ * endings as `shouldDropSettled`: the base agrees, so the change has nothing
173
+ * left to show, or the base has moved since the write landed, in which case it
174
+ * wins whatever it says.
175
+ */
176
+ export declare function shouldDropSettledValue<T>(patch: ValuePatch<T>, base: T): boolean;
177
+ /**
178
+ * The queue after a fresh value arrived.
179
+ *
180
+ * Writes in flight are left alone. Settled ones go **together**, judged by the
181
+ * last of them: unlike a list, every change here is about the same one thing,
182
+ * so once fresh data has overtaken the newest of them the older ones have
183
+ * nothing to say either — and keeping some while dropping others is how a
184
+ * half-applied value would get on screen.
185
+ */
186
+ export declare function reconcileValue<T>(patches: readonly ValuePatch<T>[], base: T): readonly ValuePatch<T>[];
187
+ /**
188
+ * Mark a landed write as settled, taking the server's own answer where it sent
189
+ * one and noting what the base said, so the next refresh can be recognised.
190
+ *
191
+ * A `set` takes the answer whole, because the caller declared the value's own
192
+ * shape by passing it. A `merge` takes only the fields it wrote, for the reason
193
+ * `settlePatch` does: a write route often answers with a thinner record than
194
+ * the read did, and laying that over the value blanks everything the write said
195
+ * nothing about.
196
+ */
197
+ export declare function settleValuePatch<T>(patch: ValuePatch<T>, answer: T | undefined, base: T): ValuePatch<T>;
198
+ /**
199
+ * Drop what a write that has just landed supersedes: settled changes queued
200
+ * *before* a landed `set`, which replaced the whole value and so answered for
201
+ * them. Writes still in flight stay — each has a request that can still come
202
+ * back refused — and a landed `merge` supersedes nothing, because the changes
203
+ * under it may carry fields it says nothing about.
204
+ *
205
+ * Pruning only, never order: a landed change keeps its place in the queue, or a
206
+ * slow first write would jump ahead of the second one on landing and win.
207
+ */
208
+ export declare function supersedeValue<T>(patches: readonly ValuePatch<T>[], landed: ValuePatch<T>): readonly ValuePatch<T>[];
139
209
  //# sourceMappingURL=optimistic.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"optimistic.d.ts","sourceRoot":"","sources":["../../src/ux/optimistic.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"optimistic.d.ts","sourceRoot":"","sources":["../../src/ux/optimistic.ts"],"names":[],"mappings":"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"}