@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.
Files changed (26) hide show
  1. package/AGENTS.md +18 -0
  2. package/dist/assets/component-index.json +1 -1
  3. package/dist/assets/doc-properties.json +1 -1
  4. package/dist/js/default.mjs +2 -1
  5. package/dist/js/internal.mjs +2 -1
  6. package/dist/js/packages/components/src/components/Label/Label.mjs +21 -23
  7. package/dist/js/packages/components/src/components/Label/Label.mjs.map +1 -1
  8. package/dist/js/packages/components/src/components/List/components/ListItemView/ListItemView.mjs +9 -12
  9. package/dist/js/packages/components/src/components/List/components/ListItemView/ListItemView.mjs.map +1 -1
  10. package/dist/js/packages/components/src/components/MarkdownEditor/MarkdownEditor.mjs +2 -12
  11. package/dist/js/packages/components/src/components/MarkdownEditor/MarkdownEditor.mjs.map +1 -1
  12. package/dist/js/packages/components/src/components/OverlayTrigger/OverlayTrigger.mjs +9 -5
  13. package/dist/js/packages/components/src/components/OverlayTrigger/OverlayTrigger.mjs.map +1 -1
  14. package/dist/js/packages/components/src/components/OverlayTrigger/components/DialogTrigger/DialogTrigger.mjs +17 -4
  15. package/dist/js/packages/components/src/components/OverlayTrigger/components/DialogTrigger/DialogTrigger.mjs.map +1 -1
  16. package/dist/js/packages/components/src/components/Section/components/SectionHeader/SectionHeader.mjs +38 -70
  17. package/dist/js/packages/components/src/components/Section/components/SectionHeader/SectionHeader.mjs.map +1 -1
  18. package/dist/js/packages/components/src/components/propTypes/index.mjs +1 -0
  19. package/dist/js/packages/components/src/components/propTypes/index.mjs.map +1 -1
  20. package/dist/js/packages/components/src/lib/propsContext/overlayTriggerTunnel.mjs +34 -0
  21. package/dist/js/packages/components/src/lib/propsContext/overlayTriggerTunnel.mjs.map +1 -0
  22. package/dist/types/components/OverlayTrigger/components/DialogTrigger/DialogTrigger.d.ts +6 -2
  23. package/dist/types/components/propTypes/index.d.ts +2 -1
  24. package/dist/types/lib/propsContext/index.d.ts +1 -0
  25. package/dist/types/lib/propsContext/overlayTriggerTunnel.d.ts +24 -0
  26. 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