@wix/origami-system-components 1.10.9 → 1.10.11

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
@@ -22,9 +22,10 @@ React and its own `UnsupportedWidgetPlaceholder.css`, which the build copies to
22
22
 
23
23
  There is one Page skin, no `Page_*` exports, and no Thunderbolt-generated components
24
24
  (PageSections, PinnedLayer, ResponsiveContainer, PagesContainer, PageGroup,
25
- HeaderContainer, FooterContainer, ResponsivePopupPage). Anchor supports future
26
- `SCROLL_TO_TOP` / `SCROLL_TO_BOTTOM` work. Logic and HOCs come from wix-next's
27
- system-core, without depending on that package; Page is renamed and defaults added.
25
+ HeaderContainer, FooterContainer, ResponsivePopupPage). Anchor is for exported user
26
+ anchors; layout Page renders the top/bottom scroll targets itself. Logic and HOCs come
27
+ from wix-next's system-core, without depending on that package; Page is renamed and
28
+ defaults added.
28
29
  The controller still passes empty services and accepts no services argument.
29
30
 
30
31
  ## Importing
@@ -176,8 +177,14 @@ This uses import bindings rather than runtime component names and leaves the
176
177
  authored structure unchanged for round trips. Outside the site's build pipeline,
177
178
  pass the slot props directly.
178
179
 
179
- Rendering order is background wrapper, header, one main containing children, footer.
180
- Absent header/footer add no wrappers; the background and main remain when empty.
180
+ Rendering order is the `#top` target, background wrapper, header, one main containing
181
+ children, footer, viewport layer, and the `#bottom` target.
182
+ Absent header/footer add no wrappers; the background, main and both targets remain when empty.
183
+ The targets are bare, childless divs with no role or ARIA, absolutely positioned at the
184
+ page's top and bottom edge so they take no cell in the authored grid. They are where the
185
+ `#top` / `#bottom` hrefs that link-utils emits for top/bottom anchor links land
186
+ (`#top` also works without an element). Page is the document page: popups must not
187
+ render it, or the IDs would repeat.
181
188
  Header/Footer preserve their identities and remain direct Page children. Sections
182
189
  are main's descendants, not necessarily its children: a Section with interactions
183
190
  renders inside an `<interact-element>` boundary, which the interactions service styles
@@ -6,6 +6,22 @@
6
6
  display: contents;
7
7
  }
8
8
 
9
+ /* Fragment targets for `#top` / `#bottom` links. Absolute, so they take no cell in the authored grid. */
10
+ .origami-page__anchor {
11
+ position: absolute;
12
+ left: 0;
13
+ width: 0;
14
+ height: 0;
15
+ }
16
+
17
+ .origami-page__anchor--top {
18
+ top: 0;
19
+ }
20
+
21
+ .origami-page__anchor--bottom {
22
+ bottom: 0;
23
+ }
24
+
9
25
  .origami-page__background {
10
26
  position: absolute;
11
27
  top: 0;
@@ -20,11 +20,16 @@ export interface PageProps {
20
20
  viewportLayer?: Array<ReactNode> | undefined;
21
21
  /** The DM page data the converter writes on the Page. Accepted, not rendered. */
22
22
  data?: any;
23
+ /** The DM skin a popup's Page carries (`WithoutOverlay`). Accepted, not rendered. */
24
+ skin?: string;
23
25
  }
24
26
  /**
25
27
  * Experimental page composition. Slot semantics are the caller's responsibility;
26
28
  * supplied nodes are rendered without component-type or cardinality validation.
27
29
  * Authored CSS owns foreground layout and positioning. Main has no layout box.
30
+ *
31
+ * Page is the document page: it renders the document's only `#top` / `#bottom` scroll
32
+ * targets, so popups must not render it.
28
33
  */
29
34
  export declare function Page({ id, className, backgroundLayer, header, footer, children, viewportLayer }: PageProps): import("react").JSX.Element;
30
35
  export default Page;
@@ -6,8 +6,11 @@ import './Page.css';
6
6
  * Experimental page composition. Slot semantics are the caller's responsibility;
7
7
  * supplied nodes are rendered without component-type or cardinality validation.
8
8
  * Authored CSS owns foreground layout and positioning. Main has no layout box.
9
+ *
10
+ * Page is the document page: it renders the document's only `#top` / `#bottom` scroll
11
+ * targets, so popups must not render it.
9
12
  */
10
13
  export function Page({ id, className, backgroundLayer, header, footer, children, viewportLayer }) {
11
- return (_jsxs("div", { id: id, className: ['origami-page', className].filter(Boolean).join(' '), children: [_jsx("div", { className: "origami-page__background", children: backgroundLayer }), header, _jsx("main", { className: "origami-page__main", children: children }), footer, viewportLayer?.length ? _jsx("div", { className: "origami-page__viewport-layer", children: viewportLayer }) : null] }));
14
+ return (_jsxs("div", { id: id, className: ['origami-page', className].filter(Boolean).join(' '), children: [_jsx("div", { id: "top", className: "origami-page__anchor origami-page__anchor--top" }), _jsx("div", { className: "origami-page__background", children: backgroundLayer }), header, _jsx("main", { className: "origami-page__main", children: children }), footer, viewportLayer?.length ? _jsx("div", { className: "origami-page__viewport-layer", children: viewportLayer }) : null, _jsx("div", { id: "bottom", className: "origami-page__anchor origami-page__anchor--bottom" })] }));
12
15
  }
13
16
  export default Page;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wix/origami-system-components",
3
- "version": "1.10.9",
3
+ "version": "1.10.11",
4
4
  "description": "Editor structural and system components for standalone Origami sites",
5
5
  "sideEffects": [
6
6
  "**/*.css"
@@ -132,5 +132,5 @@
132
132
  "@wix/builder-state": "^1.49.3",
133
133
  "@wix/editor-components": "^1.16.0"
134
134
  },
135
- "falconPackageHash": "f0bda00dc10fc8ceb13c5d315d34c8d38fbe730a657c180d249c8fea"
135
+ "falconPackageHash": "8322f7e780efcfaf3ea333e1d754ea6504ea1c2bad7848b9fc0bb1a7"
136
136
  }