@pixelmatters/markup 1.19.0 → 1.21.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.
package/README.md CHANGED
@@ -37,9 +37,9 @@ CDN drop-in, no build step. Paste this just before `</body>`:
37
37
  ```html
38
38
  <script type="module">
39
39
  // Pin the exact version; esm.sh resolves it from npm
40
- import { init } from 'https://esm.sh/@pixelmatters/markup@1.19.0'
40
+ import { init } from 'https://esm.sh/@pixelmatters/markup@1.21.0'
41
41
  // or
42
- // import { init } from 'https://esm.run/@pixelmatters/markup@1.19.0'
42
+ // import { init } from 'https://esm.run/@pixelmatters/markup@1.21.0'
43
43
 
44
44
  init({
45
45
  apiUrl: 'https://your-deployment.convex.site',
@@ -50,14 +50,14 @@ CDN drop-in, no build step. Paste this just before `</body>`:
50
50
  </script>
51
51
  ```
52
52
 
53
- > **Why pin the version?** CDN URLs without a version (`@pixelmatters/markup`) resolve to whatever's `latest` on npm, so a future major release will break your page with no warning. Always pin (`@pixelmatters/markup@1.19.0`).
53
+ > **Why pin the version?** CDN URLs without a version (`@pixelmatters/markup`) resolve to whatever's `latest` on npm, so a future major release will break your page with no warning. Always pin (`@pixelmatters/markup@1.21.0`).
54
54
 
55
55
  If your platform doesn't allow inline JS (some CMS / page-builder editors), use the auto-init form instead. Point a `<script src=…>` at the bundle and pass config via `data-*` attributes:
56
56
 
57
57
  ```html
58
58
  <script
59
59
  type="module"
60
- src="https://esm.sh/@pixelmatters/markup@1.19.0"
60
+ src="https://esm.sh/@pixelmatters/markup@1.21.0"
61
61
  data-markup-widget="true"
62
62
  data-api-url="https://your-deployment.convex.site"
63
63
  data-api-key="markup_..."
@@ -207,15 +207,17 @@ Unmounts the widget and removes the host element. Safe to call when nothing is m
207
207
 
208
208
  The widget mounts a single compact pill in the corner set by `position`:
209
209
 
210
- | Control | What it does |
211
- | ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
212
- | **Comment** | Arms placement. The next click on the page drops a pin, and it flips to a cancel icon while armed. |
213
- | **Inbox** | Mention notifications for this project, with an unread badge. Signed-in users only; anonymous visitors don't get the button. |
214
- | **Pins** (eye) | Hides or shows every pin without hiding the toolbar. |
215
- | **Identity** | Avatar button. Anonymous: a sign-in prompt plus "Forget me on this site". Signed in: name, email, an **Account →** link when `dashboardUrl` is set, and **Sign out**. |
216
- | **Overflow** (`☰`) | **Appearance** (Light / Dark / Auto), **Position** (left / center / right), an **Auto-capture screenshots** toggle, **Privacy & data**, **Keyboard shortcuts**, **Hide for this session**, and the widget version. |
210
+ | Control | What it does |
211
+ | ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
212
+ | **Comment** | Arms placement. The next click on the page drops a pin, and it flips to a cancel icon while armed. |
213
+ | **Inbox** | Mention notifications for this project, with an unread badge. Signed-in users only; anonymous visitors don't get the button. |
214
+ | **Pins** (eye) | Hides or shows every pin without hiding the toolbar. |
215
+ | **Identity** | Avatar button. Anonymous: a sign-in prompt plus "Forget me on this site". Signed in: name, email, an **Account →** link when `dashboardUrl` is set, and **Sign out**. |
216
+ | **Overflow** (`☰`) | **Appearance** (Light / Dark / Auto), **Position** (left / center / right), an **Auto-capture screenshots** toggle, a **Show resolved threads** toggle, **Privacy & data**, **Keyboard shortcuts**, **Hide for this session**, and the widget version. |
217
217
 
218
- Appearance persists to the host page's `localStorage` (`markup:widget:theme`) and, once a user has set it, takes precedence over the `theme` option on every later `init()`. Position, pin visibility, and the auto-capture toggle are per-mount. They reset on reload, and `position` seeds the toolbar again.
218
+ Appearance persists to the host page's `localStorage` (`markup:widget:theme`) and, once a user has set it, takes precedence over the `theme` option on every later `init()`. Position, pin visibility, the auto-capture toggle and the resolved-threads toggle are per-mount. They reset on reload, and `position` seeds the toolbar again.
219
+
220
+ **Show resolved threads** is off by default. Turned on, the widget also renders the route's most recently resolved threads (up to 100) as muted check-mark pins. Opening one shows the thread read-only: no replies, edits, reactions or resolve button. Reopening still happens from the dashboard.
219
221
 
220
222
  The last two menu rows open panels anchored to the same corner as the toolbar:
221
223
 
@@ -370,7 +372,7 @@ For a `<script>` tag drop-in (no bundler), use the inline ESM form and **pin the
370
372
 
371
373
  ```html
372
374
  <script type="module">
373
- import { init } from 'https://esm.sh/@pixelmatters/markup@1.19.0'
375
+ import { init } from 'https://esm.sh/@pixelmatters/markup@1.21.0'
374
376
 
375
377
  init({
376
378
  apiUrl: '...',
@@ -386,7 +388,7 @@ If inline JS is disallowed (some CMS / page-builder editors), use the auto-init
386
388
  ```html
387
389
  <script
388
390
  type="module"
389
- src="https://esm.sh/@pixelmatters/markup@1.19.0"
391
+ src="https://esm.sh/@pixelmatters/markup@1.21.0"
390
392
  data-markup-widget="true"
391
393
  data-api-url="..."
392
394
  data-api-key="..."