docblocks-react-ui 0.3.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,120 @@
1
1
  # docblocks-react-ui
2
2
 
3
+ ## 0.4.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 1b15901: The `embed` block's hover toolbar gains a URL-edit affordance (the
8
+ editing mode's stand): the pencil button opens a panel over the
9
+ toolbar with the current `src` pre-filled — the Enter / check's
10
+ commit writes the `src` over the block's attrs (the iframe's
11
+ navigation over the new src; the unsafe-scheme's and the empty's
12
+ no-commit stand the slash form's rule, the unchanged's no-op writes
13
+ nothing), the Escape / x's cancel closes the panel without a write.
14
+ The read-only's stand gates the button off.
15
+
16
+ The slash `Embed` form's visual stands the check over the URL input's
17
+ right end (one row — the input fills the width, the commit button
18
+ sits at its right edge instead of a row below).
19
+ - 48ef4fb: The `embed` block's height stands the stretchable stand: the
20
+ `--docblocks-embed-height` token (300 px) is the default — the minimum,
21
+ and the block's bottom edge stands the resize handle (the hover reveal's
22
+ grip bar, the `cursor-row-resize`'s stand, the keyboard's arrows over
23
+ the 16 px's step — the slider's aria). The drag stretches the wrapper's
24
+ height over the gesture (the live's stand), and the rest's commit stands
25
+ the block's new `height` attr (px; absent or `null` = the token's
26
+ default — the null idiom's stand, so the reload restores the stretched
27
+ stand and the panes share it over the wire). The stretch only stands
28
+ over the minimum (the drag over it clamps, the clear stands the `null`'s
29
+ write); the read-only's stand gates the handle off.
30
+ - 0791efb: The `embed` block's slash form stands the URL input only (the kind's
31
+ selector stood removed — the kind's default stands the `iframe`, the
32
+ renderer's hint over the single-iframe stand). The `data:text/html`
33
+ snippet's stand (the former `html` kind's purpose over the form) is no
34
+ longer reachable over the form; the `html` kind stands a valid data
35
+ kind over the direct insert / the wire.
36
+
37
+ The default embed sandbox's stand changes: it now grants
38
+ `allow-same-origin` (with the `allow-scripts`), so the embedded app
39
+ boots with its own origin's storage / cookies (the real-app's
40
+ requirement — the dashboards' class stands). The frame's document stands
41
+ a separate document either way (a cross-origin's embed cannot reach the
42
+ parent's DOM or state); the posture's consequence stands the same-origin
43
+ URL's reach over the parent's state. The consumer's `embedSandbox`
44
+ policy stands the restriction (the opaque-origin's stand, the
45
+ `allow-same-origin`'s refuse).
46
+
47
+ The embed's pan/zoom stands the block's persisted attrs (the `zoom` /
48
+ `panX` / `panY` over the core's new attrs): the reload / the new tab's
49
+ embed restores the view, and the panes share the persisted view over
50
+ the wire (a pane's gesture writes over the doc, the other's adopt it).
51
+ The write's debounce stands over the gesture's bursts (one doc write
52
+ per rest); the values stand the wire's precision (the 1% zoom, the
53
+ 0.1 px pan — the floating-point's residue's guard).
54
+
55
+ ### Patch Changes
56
+
57
+ - c5d0360: The canvas frame stands a pure region boundary — it renders no content
58
+ copy. The frame renders the boundary (the transparent box, the border, the
59
+ optional title chip); the interior is transparent, so the canvas content
60
+ that falls under the box stands once over the surface (no mirror, no
61
+ inert copies, no nested frame windows). The page-frame block's window is
62
+ the only mirror of the canvas content — the clipped, inert cut over the
63
+ page.
64
+
65
+ This changes the frame's visual contract: a frame no longer re-renders the
66
+ surface's children inside its box (the former viewport-window behavior),
67
+ and the page-frame block's window no longer carries the nested frame
68
+ window's copies (a frame inside the referenced frame now stands its
69
+ boundary over the window, not a second cut of the content).
70
+ - c8be627: Fix the caret's re-seat over a text block after the focus stood in an
71
+ embedded iframe (the embed's click): the cross-block selection's
72
+ mousedown suppression no longer stands over such a press — the
73
+ mousedown's default is the browser's focus move out of the frame, and
74
+ suppressing it left the editor's document unfocused (no visible caret,
75
+ the keystrokes' no-stand; only a double-click recovered it). The
76
+ press now lets the default stand (the native focus move + the caret's
77
+ seat) and tears the selection session down.
78
+ - 14e72c1: The page row's delete affordance stands the gutter's right offset over
79
+ every block type: the hover's trash icon stands at the row's right edge,
80
+ the same offset from the block content as the grip (the gutter's left
81
+ offset, mirrored to the right) — over the text rows (paragraph, quote,
82
+ heading, callout, list-item, code) as the non-text rows. The icon no
83
+ longer overlaps the block's content zone.
84
+ - 9f789c9: The PDF preview (the `./pdf` subpath's `PdfFirstPage`) gains page
85
+ navigation + a fullscreen mode. The inline view stands a control bar under
86
+ the canvas: the previous/next page buttons (disabled at the first/last
87
+ page), the page indicator, and the fullscreen toggle. The fullscreen mode
88
+ opens a portal overlay over the viewport (the page scaled to the
89
+ viewport, the same page navigation; the control bar stands the inline's
90
+ — the thin border + the rounded corners, the minimize icon the only
91
+ difference). The Escape key, the close button, and a click over the
92
+ overlay's own surface (the background around the page) exit the fullscreen
93
+ mode; a click over the page or the control bar stands it. The inline +
94
+ the fullscreen views share the page state, so a page switch in either
95
+ re-renders both.
96
+ - b3f2e54: The slash `File` command's label resolves over the slash catalog (the
97
+ missing key stood the raw `blocks.file` in the menu); the orphaned
98
+ `Image` key stands removed. The embed form's hint stands the URL-only
99
+ form's wording (the `html` kind's snippet is no longer the form's
100
+ purpose — the kind's selector stood removed).
101
+ - Updated dependencies [0791efb]
102
+ - Updated dependencies [48ef4fb]
103
+ - docblocks-core@0.2.0
104
+
105
+ ## 0.3.1
106
+
107
+ ### Patch Changes
108
+
109
+ - bb5df92: The standalone `DatabaseTable` now anchors the package's `--docblocks-*`
110
+ token scope over its own root (the `data-slot="docblocks/editor"` stand).
111
+ The token mapping is declared on the editor root over the shipped CSS,
112
+ and the standalone table renders outside any document — without the
113
+ scope the grid's token-driven utilities (the borders, the paddings, the
114
+ row's heights) stood unresolved over the consumer's page. The
115
+ `readOnly` stand sets the root's `data-readonly` attribute (the page
116
+ mode's `user-select`'s suppression parity).
117
+
3
118
  ## 0.3.0
4
119
 
5
120
  ### Minor Changes
package/README.md CHANGED
@@ -102,6 +102,7 @@ mention catalog). The full props list:
102
102
  | `blobResolver?` | Legacy view-only resolver (key → src string). Wrapped as a store: no upload, subtype `image`. Prefer `blobStore`. |
103
103
  | `databaseBridge?` | The table operations behind external-form database blocks (see below). |
104
104
  | `syncEmbedResolver?` | `(ref) => Doc \| null` — resolves a `sync-embed` block's ref to the master doc (see below). |
105
+ | `embedSandbox?` | `(src) => string \| null` — the embed iframe's `sandbox` policy. The default grants the same-origin (the embedded app's own storage / cookies stand, so the real apps boot); `null` stands no sandbox (a fully trusted embed). The opaque-origin restriction stands over this policy. |
105
106
  | `pdfPreview?` | A first-page preview component for `pdf`-subtype image blocks (see below). |
106
107
  | `mentionProvider?` | The `@` mention picker's search catalog (see below). |
107
108
  | `rootBlockId?` | Render the entry list of this block instead of the document root (the subtree view). Must not change after mount. |
@@ -429,7 +430,12 @@ function TablesSection({ bridge }: { bridge: DatabaseBridge }) {
429
430
  the optional `view` prop at mount); `onViewChange(patch)` receives one
430
431
  patch per change for the consumer's persistence (the controlled mode
431
432
  stands absent — the state is never external). `readOnly` gates the
432
- editing's paths (the read-only block's parity).
433
+ editing's paths (the read-only block's parity). The component is
434
+ self-contained: it wraps itself in the package's i18n scope and anchors
435
+ the `--docblocks-*` token scope over its own root, so it themes
436
+ standalone over the consumer's page (the `dark` class over an ancestor
437
+ follows the shipped dark set — the package's `styles.css` import is the
438
+ only requirement).
433
439
  - `useTableList(bridge)` — `{ tables, loading, error, refresh, create,
434
440
  rename }`: the `listTables` catalog (the system tables stand out), the
435
441
  `createTable` / `renameTable` mutations (the fresh `operationId` per op;