@mittwald/flow-react-components 1.2.0-next.48 → 1.2.0-next.49
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/AGENTS.md +18 -0
- package/dist/assets/component-index.json +1 -1
- package/dist/assets/doc-properties.json +1 -1
- package/dist/js/default.mjs +2 -1
- package/dist/js/internal.mjs +2 -1
- package/dist/js/packages/components/src/components/Label/Label.mjs +21 -23
- package/dist/js/packages/components/src/components/Label/Label.mjs.map +1 -1
- package/dist/js/packages/components/src/components/List/components/ListItemView/ListItemView.mjs +9 -12
- package/dist/js/packages/components/src/components/List/components/ListItemView/ListItemView.mjs.map +1 -1
- package/dist/js/packages/components/src/components/MarkdownEditor/MarkdownEditor.mjs +2 -12
- package/dist/js/packages/components/src/components/MarkdownEditor/MarkdownEditor.mjs.map +1 -1
- package/dist/js/packages/components/src/components/OverlayTrigger/OverlayTrigger.mjs +9 -5
- package/dist/js/packages/components/src/components/OverlayTrigger/OverlayTrigger.mjs.map +1 -1
- package/dist/js/packages/components/src/components/OverlayTrigger/components/DialogTrigger/DialogTrigger.mjs +17 -4
- package/dist/js/packages/components/src/components/OverlayTrigger/components/DialogTrigger/DialogTrigger.mjs.map +1 -1
- package/dist/js/packages/components/src/components/Section/components/SectionHeader/SectionHeader.mjs +38 -70
- package/dist/js/packages/components/src/components/Section/components/SectionHeader/SectionHeader.mjs.map +1 -1
- package/dist/js/packages/components/src/components/propTypes/index.mjs +1 -0
- package/dist/js/packages/components/src/components/propTypes/index.mjs.map +1 -1
- package/dist/js/packages/components/src/lib/propsContext/overlayTriggerTunnel.mjs +34 -0
- package/dist/js/packages/components/src/lib/propsContext/overlayTriggerTunnel.mjs.map +1 -0
- package/dist/types/components/OverlayTrigger/components/DialogTrigger/DialogTrigger.d.ts +6 -2
- package/dist/types/components/propTypes/index.d.ts +2 -1
- package/dist/types/lib/propsContext/index.d.ts +1 -0
- package/dist/types/lib/propsContext/overlayTriggerTunnel.d.ts +24 -0
- package/package.json +9 -9
package/AGENTS.md
CHANGED
|
@@ -125,6 +125,17 @@ return (
|
|
|
125
125
|
components break remote rendering.
|
|
126
126
|
- When parent context must not leak into a component's children, use targeted
|
|
127
127
|
clearing, e.g. `wrapWith: <ClearPropsContext />` (see `Modal.tsx`).
|
|
128
|
+
- **A context that tunnels `Button` must tunnel overlay triggers as a whole** —
|
|
129
|
+
spread `overlayTriggersTunneledTo(tunnel)` (`@/lib/propsContext`). An overlay
|
|
130
|
+
trigger's button is the react-aria trigger: `OverlayTrigger` pins it with
|
|
131
|
+
`tunnel: null`, because the press handling, the trigger ref and
|
|
132
|
+
`aria-haspopup`/`aria-expanded`/`aria-controls` travel through a
|
|
133
|
+
`PressResponder` that only reaches its own subtree. The list includes
|
|
134
|
+
`DialogTrigger` because a host sees a different component than the author
|
|
135
|
+
wrote: `ModalTrigger`, `PopoverTrigger` and `LightBoxTrigger` are not
|
|
136
|
+
`@flr-generate`, so a remote tree reaches the host as a `DialogTrigger` with
|
|
137
|
+
no `OverlayTrigger` around it — which is why `DialogTrigger` pins the button
|
|
138
|
+
itself as well.
|
|
128
139
|
|
|
129
140
|
Why this works the way it does across the remote boundary:
|
|
130
141
|
[docs/remote-ui.md](https://github.com/mittwald/flow/blob/main/docs/remote-ui.md).
|
|
@@ -147,6 +158,13 @@ Why this works the way it does across the remote boundary:
|
|
|
147
158
|
Remote generation details:
|
|
148
159
|
|
|
149
160
|
- `@flr-generate all` on the component const marks it for generation.
|
|
161
|
+
- `@flr-provider` carries a `flowComponent`'s `type: "provider"` over to the
|
|
162
|
+
generated remote component. Without it the remote element is created as a
|
|
163
|
+
`"ui"` component and wrapped in a `ClearPropsContext` — which drops every
|
|
164
|
+
props context a provider around it just set. It only matters where the
|
|
165
|
+
provider actually runs inside the remote tree, i.e. where the component that
|
|
166
|
+
renders it is not itself `@flr-generate` (`ModalTrigger` → `OverlayTrigger` →
|
|
167
|
+
`DialogTriggerView`).
|
|
150
168
|
- **A prop that carries rendered output has to be a slot, not a property.** A
|
|
151
169
|
remote property is transported as data, and a React element carries
|
|
152
170
|
`$$typeof: Symbol(react.…)` — `postMessage` refuses symbols and rejects the
|