docblocks-react-ui 0.3.1 → 0.4.1

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,123 @@
1
1
  # docblocks-react-ui
2
2
 
3
+ ## 0.4.1
4
+
5
+ ### Patch Changes
6
+
7
+ - ddc068e: The standalone `DatabaseTable` gains a `className` prop: the consumer's
8
+ sizing / layout classes merge over the component's root (the package's
9
+ `--docblocks-*` token scope's anchor, merged with the consumer's own
10
+ classes). The grid already stands the root's width (`w-full`); the
11
+ `className` closes the height's stand — a height-constrained root (the
12
+ consumer's `h-*` class) stands the grid's inner scroll over the toolbar
13
+
14
+ - header + rows (the card / content / grid-region's flex plumbing:
15
+ `flex-1 min-h-0`), and the unconstrained's stand is the content's height
16
+ (as over the document's database block — the plumbing stands inert over
17
+ the block's context).
18
+
19
+ ## 0.4.0
20
+
21
+ ### Minor Changes
22
+
23
+ - 1b15901: The `embed` block's hover toolbar gains a URL-edit affordance (the
24
+ editing mode's stand): the pencil button opens a panel over the
25
+ toolbar with the current `src` pre-filled — the Enter / check's
26
+ commit writes the `src` over the block's attrs (the iframe's
27
+ navigation over the new src; the unsafe-scheme's and the empty's
28
+ no-commit stand the slash form's rule, the unchanged's no-op writes
29
+ nothing), the Escape / x's cancel closes the panel without a write.
30
+ The read-only's stand gates the button off.
31
+
32
+ The slash `Embed` form's visual stands the check over the URL input's
33
+ right end (one row — the input fills the width, the commit button
34
+ sits at its right edge instead of a row below).
35
+ - 48ef4fb: The `embed` block's height stands the stretchable stand: the
36
+ `--docblocks-embed-height` token (300 px) is the default — the minimum,
37
+ and the block's bottom edge stands the resize handle (the hover reveal's
38
+ grip bar, the `cursor-row-resize`'s stand, the keyboard's arrows over
39
+ the 16 px's step — the slider's aria). The drag stretches the wrapper's
40
+ height over the gesture (the live's stand), and the rest's commit stands
41
+ the block's new `height` attr (px; absent or `null` = the token's
42
+ default — the null idiom's stand, so the reload restores the stretched
43
+ stand and the panes share it over the wire). The stretch only stands
44
+ over the minimum (the drag over it clamps, the clear stands the `null`'s
45
+ write); the read-only's stand gates the handle off.
46
+ - 0791efb: The `embed` block's slash form stands the URL input only (the kind's
47
+ selector stood removed — the kind's default stands the `iframe`, the
48
+ renderer's hint over the single-iframe stand). The `data:text/html`
49
+ snippet's stand (the former `html` kind's purpose over the form) is no
50
+ longer reachable over the form; the `html` kind stands a valid data
51
+ kind over the direct insert / the wire.
52
+
53
+ The default embed sandbox's stand changes: it now grants
54
+ `allow-same-origin` (with the `allow-scripts`), so the embedded app
55
+ boots with its own origin's storage / cookies (the real-app's
56
+ requirement — the dashboards' class stands). The frame's document stands
57
+ a separate document either way (a cross-origin's embed cannot reach the
58
+ parent's DOM or state); the posture's consequence stands the same-origin
59
+ URL's reach over the parent's state. The consumer's `embedSandbox`
60
+ policy stands the restriction (the opaque-origin's stand, the
61
+ `allow-same-origin`'s refuse).
62
+
63
+ The embed's pan/zoom stands the block's persisted attrs (the `zoom` /
64
+ `panX` / `panY` over the core's new attrs): the reload / the new tab's
65
+ embed restores the view, and the panes share the persisted view over
66
+ the wire (a pane's gesture writes over the doc, the other's adopt it).
67
+ The write's debounce stands over the gesture's bursts (one doc write
68
+ per rest); the values stand the wire's precision (the 1% zoom, the
69
+ 0.1 px pan — the floating-point's residue's guard).
70
+
71
+ ### Patch Changes
72
+
73
+ - c5d0360: The canvas frame stands a pure region boundary — it renders no content
74
+ copy. The frame renders the boundary (the transparent box, the border, the
75
+ optional title chip); the interior is transparent, so the canvas content
76
+ that falls under the box stands once over the surface (no mirror, no
77
+ inert copies, no nested frame windows). The page-frame block's window is
78
+ the only mirror of the canvas content — the clipped, inert cut over the
79
+ page.
80
+
81
+ This changes the frame's visual contract: a frame no longer re-renders the
82
+ surface's children inside its box (the former viewport-window behavior),
83
+ and the page-frame block's window no longer carries the nested frame
84
+ window's copies (a frame inside the referenced frame now stands its
85
+ boundary over the window, not a second cut of the content).
86
+ - c8be627: Fix the caret's re-seat over a text block after the focus stood in an
87
+ embedded iframe (the embed's click): the cross-block selection's
88
+ mousedown suppression no longer stands over such a press — the
89
+ mousedown's default is the browser's focus move out of the frame, and
90
+ suppressing it left the editor's document unfocused (no visible caret,
91
+ the keystrokes' no-stand; only a double-click recovered it). The
92
+ press now lets the default stand (the native focus move + the caret's
93
+ seat) and tears the selection session down.
94
+ - 14e72c1: The page row's delete affordance stands the gutter's right offset over
95
+ every block type: the hover's trash icon stands at the row's right edge,
96
+ the same offset from the block content as the grip (the gutter's left
97
+ offset, mirrored to the right) — over the text rows (paragraph, quote,
98
+ heading, callout, list-item, code) as the non-text rows. The icon no
99
+ longer overlaps the block's content zone.
100
+ - 9f789c9: The PDF preview (the `./pdf` subpath's `PdfFirstPage`) gains page
101
+ navigation + a fullscreen mode. The inline view stands a control bar under
102
+ the canvas: the previous/next page buttons (disabled at the first/last
103
+ page), the page indicator, and the fullscreen toggle. The fullscreen mode
104
+ opens a portal overlay over the viewport (the page scaled to the
105
+ viewport, the same page navigation; the control bar stands the inline's
106
+ — the thin border + the rounded corners, the minimize icon the only
107
+ difference). The Escape key, the close button, and a click over the
108
+ overlay's own surface (the background around the page) exit the fullscreen
109
+ mode; a click over the page or the control bar stands it. The inline +
110
+ the fullscreen views share the page state, so a page switch in either
111
+ re-renders both.
112
+ - b3f2e54: The slash `File` command's label resolves over the slash catalog (the
113
+ missing key stood the raw `blocks.file` in the menu); the orphaned
114
+ `Image` key stands removed. The embed form's hint stands the URL-only
115
+ form's wording (the `html` kind's snippet is no longer the form's
116
+ purpose — the kind's selector stood removed).
117
+ - Updated dependencies [0791efb]
118
+ - Updated dependencies [48ef4fb]
119
+ - docblocks-core@0.2.0
120
+
3
121
  ## 0.3.1
4
122
 
5
123
  ### Patch 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. |
@@ -421,7 +422,8 @@ function TablesSection({ bridge }: { bridge: DatabaseBridge }) {
421
422
  }
422
423
  ```
423
424
 
424
- - `DatabaseTable({ bridge, tableId, readOnly?, view?, onViewChange? })` —
425
+ - `DatabaseTable({ bridge, tableId, readOnly?, view?, onViewChange?,
426
+ className? })` —
425
427
  the live grid over the bridge's table id (the same data stand as the
426
428
  document block: the schema, the rows, the live events, the optimistic
427
429
  cell layer). The view's settings (`filter`, `columnOrder`,
@@ -429,7 +431,12 @@ function TablesSection({ bridge }: { bridge: DatabaseBridge }) {
429
431
  the optional `view` prop at mount); `onViewChange(patch)` receives one
430
432
  patch per change for the consumer's persistence (the controlled mode
431
433
  stands absent — the state is never external). `readOnly` gates the
432
- editing's paths (the read-only block's parity). The component is
434
+ editing's paths (the read-only block's parity). The sizing's stand is
435
+ the consumer's: the grid stands the root's width (`w-full`), and the
436
+ `className` over the root (the component's own classes stand merged
437
+ over it) — a height-constrained root stands the grid's inner scroll
438
+ (the unconstrained's stand is the content's height, as over the
439
+ document's block). The component is
433
440
  self-contained: it wraps itself in the package's i18n scope and anchors
434
441
  the `--docblocks-*` token scope over its own root, so it themes
435
442
  standalone over the consumer's page (the `dark` class over an ancestor