@trebired/frontend 13.17.0 → 13.19.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,17 @@
1
1
  # Changelog
2
2
 
3
+ ## 13.19.0
4
+
5
+ - The scroll-state boot script now gets the state right on a reload or a back/forward navigation. The browser restores the scroll position after the boot script runs, so the first value was always "not scrolled"; the script now remembers the position in `sessionStorage` on `pagehide` and seeds the state from it when the navigation is a reload or a history traversal, and the real position takes over as soon as the page has loaded.
6
+ - Added `data-…-scroll-settling`, set on `<html>` until the page has loaded and the state has settled. Styles that transition on the scroll state can switch the transition off while it is present, so a late correction lands in one frame instead of animating.
7
+ - The boot script also re-reads the state on `DOMContentLoaded`, on `pageshow` and in the first animation frame.
8
+
9
+ ## 13.18.0
10
+
11
+ - Added the scroll-state system, so a header that changes appearance once the page is scrolled no longer has to compute that in React. `createScrollStateBootScript()` returns a boot script that sets `data-…-scrolled` on `<html>` before the first paint and keeps it current from then on, so the correct header is painted immediately even when a reload restores a scrolled position.
12
+ - `bindScrollState()` binds the same state from the runtime for apps that do not use a boot script, and does nothing when the boot script already owns it. `bindLayouts` calls it, with the threshold configurable through `scroll` in the layout runtime options.
13
+ - `applyScrollState()`, `readScrollState()`, `SCROLL_STATE_ATTRIBUTE` and `SCROLL_STATE_SELECTOR` are exported for stylesheets and code that need the state directly. The threshold defaults to 24 pixels.
14
+
3
15
  ## 13.17.0
4
16
 
5
17
  - The locale boot script no longer keeps the document hidden until `DOMContentLoaded`. It still hides the page when the visitor's stored locale differs from the rendered one, but `LocaleProvider` now clears that pending state as soon as the localized tree has committed, so the hidden window lasts only until the correct text is on screen instead of until every deferred script has run.
@@ -1,4 +1,5 @@
1
1
  import { type BindRoot } from "../dom/index.d.ts";
2
+ import { type ScrollStateOptions } from "./scroll.js";
2
3
  import { type HeaderRuntimeOptions } from "./header.js";
3
4
  declare const LAYOUT_ROOT_SELECTOR: string;
4
5
  declare const LAYOUT_MAIN_SELECTOR: string;
@@ -20,6 +21,7 @@ type LayoutBodyState = {
20
21
  type LayoutRuntimeOptions = {
21
22
  header?: HeaderRuntimeOptions;
22
23
  mobile?: boolean;
24
+ scroll?: ScrollStateOptions;
23
25
  };
24
26
  declare function readLayoutBodyState(root?: ParentNode): LayoutBodyState;
25
27
  declare function applyLayoutBodyState(state: LayoutBodyState, options?: LayoutRuntimeOptions): LayoutBodyState;
@@ -31,6 +33,7 @@ declare function ensureLayoutPortalRoot(): HTMLElement;
31
33
  declare function createLayoutBootScript(state?: Partial<LayoutBodyState>): string;
32
34
  export { LAYOUT_BODY_ATTRIBUTE, LAYOUT_CONTENT_SELECTOR, LAYOUT_MAIN_SELECTOR, LAYOUT_MOBILE_BODY_ATTRIBUTE, LAYOUT_PORTAL_ROOT_ID, LAYOUT_PORTAL_ROOT_SELECTOR, LAYOUT_ROOT_SELECTOR, SITE_HEADER_ROOT_ATTRIBUTE, SITE_HEADER_ROOT_SELECTOR, applyLayoutBodyState, bindLayoutRoot, bindLayouts, createLayoutBootScript, ensureLayoutPortalRoot, readLayoutBodyState, siteHeaderRootHtml, syncLayoutBodyState, };
33
35
  export * from "./breadcrumb.js";
36
+ export * from "./scroll.js";
34
37
  export * from "./header.js";
35
38
  export * from "./state.js";
36
39
  export type { LayoutBodyState, LayoutRuntimeOptions, LayoutSide };
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/layout/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,QAAQ,EAAE,MAAM,eAAe,CAAC;AAExD,OAAO,EAIL,KAAK,oBAAoB,EAC1B,MAAM,aAAa,CAAC;AAGrB,QAAA,MAAM,oBAAoB,QAAsC,CAAC;AACjE,QAAA,MAAM,oBAAoB,QAAsC,CAAC;AACjE,QAAA,MAAM,uBAAuB,QAAyC,CAAC;AACvE,QAAA,MAAM,qBAAqB,2BAA0C,CAAC;AACtE,QAAA,MAAM,2BAA2B,QAA6C,CAAC;AAC/E,QAAA,MAAM,qBAAqB,kBAA6B,CAAC;AACzD,QAAA,MAAM,4BAA4B,kBAAoC,CAAC;AACvE,QAAA,MAAM,0BAA0B,kBAAuC,CAAC;AACxE,QAAA,MAAM,yBAAyB,QAA2C,CAAC;AAE3E,KAAK,UAAU,GAAG,MAAM,GAAG,OAAO,CAAC;AAEnC,KAAK,eAAe,GAAG;IACrB,SAAS,EAAE,OAAO,CAAC;IACnB,cAAc,EAAE,OAAO,CAAC;IACxB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,eAAe,EAAE,OAAO,CAAC;IACzB,kBAAkB,EAAE,OAAO,CAAC;CAC7B,CAAC;AAEF,KAAK,oBAAoB,GAAG;IAC1B,MAAM,CAAC,EAAE,oBAAoB,CAAC;IAC9B,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAUF,iBAAS,mBAAmB,CAAC,IAAI,GAAE,UAAqB,GAAG,eAAe,CAQzE;AAED,iBAAS,oBAAoB,CAAC,KAAK,EAAE,eAAe,EAAE,OAAO,GAAE,oBAAyB,mBAgBvF;AAED,iBAAS,mBAAmB,CAAC,IAAI,GAAE,UAAqB,EAAE,OAAO,GAAE,oBAAyB,mBAE3F;AAED,iBAAS,cAAc,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,EAAE,OAAO,GAAE,oBAAyB,eAKnF;AAED,iBAAS,WAAW,CAAC,IAAI,GAAE,QAAmB,EAAE,OAAO,GAAE,oBAAyB,QAOjF;AAED,iBAAS,kBAAkB,CAAC,UAAU,EAAE,MAAM,UAE7C;AAED,iBAAS,sBAAsB,gBAS9B;AAED,iBAAS,sBAAsB,CAAC,KAAK,GAAE,OAAO,CAAC,eAAe,CAAM,UAqBnE;AAED,OAAO,EACL,qBAAqB,EACrB,uBAAuB,EACvB,oBAAoB,EACpB,4BAA4B,EAC5B,qBAAqB,EACrB,2BAA2B,EAC3B,oBAAoB,EACpB,0BAA0B,EAC1B,yBAAyB,EACzB,oBAAoB,EACpB,cAAc,EACd,WAAW,EACX,sBAAsB,EACtB,sBAAsB,EACtB,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,GACpB,CAAC;AACF,cAAa,iBAAiB,CAAC;AAC/B,cAAa,aAAa,CAAC;AAC3B,cAAa,YAAY,CAAC;AAC1B,YAAY,EAAE,eAAe,EAAE,oBAAoB,EAAE,UAAU,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/layout/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,QAAQ,EAAE,MAAM,eAAe,CAAC;AAExD,OAAO,EAAmB,KAAK,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACvE,OAAO,EAIL,KAAK,oBAAoB,EAC1B,MAAM,aAAa,CAAC;AAGrB,QAAA,MAAM,oBAAoB,QAAsC,CAAC;AACjE,QAAA,MAAM,oBAAoB,QAAsC,CAAC;AACjE,QAAA,MAAM,uBAAuB,QAAyC,CAAC;AACvE,QAAA,MAAM,qBAAqB,2BAA0C,CAAC;AACtE,QAAA,MAAM,2BAA2B,QAA6C,CAAC;AAC/E,QAAA,MAAM,qBAAqB,kBAA6B,CAAC;AACzD,QAAA,MAAM,4BAA4B,kBAAoC,CAAC;AACvE,QAAA,MAAM,0BAA0B,kBAAuC,CAAC;AACxE,QAAA,MAAM,yBAAyB,QAA2C,CAAC;AAE3E,KAAK,UAAU,GAAG,MAAM,GAAG,OAAO,CAAC;AAEnC,KAAK,eAAe,GAAG;IACrB,SAAS,EAAE,OAAO,CAAC;IACnB,cAAc,EAAE,OAAO,CAAC;IACxB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,eAAe,EAAE,OAAO,CAAC;IACzB,kBAAkB,EAAE,OAAO,CAAC;CAC7B,CAAC;AAEF,KAAK,oBAAoB,GAAG;IAC1B,MAAM,CAAC,EAAE,oBAAoB,CAAC;IAC9B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,kBAAkB,CAAC;CAC7B,CAAC;AAUF,iBAAS,mBAAmB,CAAC,IAAI,GAAE,UAAqB,GAAG,eAAe,CAQzE;AAED,iBAAS,oBAAoB,CAAC,KAAK,EAAE,eAAe,EAAE,OAAO,GAAE,oBAAyB,mBAgBvF;AAED,iBAAS,mBAAmB,CAAC,IAAI,GAAE,UAAqB,EAAE,OAAO,GAAE,oBAAyB,mBAE3F;AAED,iBAAS,cAAc,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,EAAE,OAAO,GAAE,oBAAyB,eAKnF;AAED,iBAAS,WAAW,CAAC,IAAI,GAAE,QAAmB,EAAE,OAAO,GAAE,oBAAyB,QASjF;AAED,iBAAS,kBAAkB,CAAC,UAAU,EAAE,MAAM,UAE7C;AAED,iBAAS,sBAAsB,gBAS9B;AAED,iBAAS,sBAAsB,CAAC,KAAK,GAAE,OAAO,CAAC,eAAe,CAAM,UAqBnE;AAED,OAAO,EACL,qBAAqB,EACrB,uBAAuB,EACvB,oBAAoB,EACpB,4BAA4B,EAC5B,qBAAqB,EACrB,2BAA2B,EAC3B,oBAAoB,EACpB,0BAA0B,EAC1B,yBAAyB,EACzB,oBAAoB,EACpB,cAAc,EACd,WAAW,EACX,sBAAsB,EACtB,sBAAsB,EACtB,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,GACpB,CAAC;AACF,cAAa,iBAAiB,CAAC;AAC/B,cAAa,aAAa,CAAC;AAC3B,cAAa,aAAa,CAAC;AAC3B,cAAa,YAAY,CAAC;AAC1B,YAAY,EAAE,eAAe,EAAE,oBAAoB,EAAE,UAAU,EAAE,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { queryAll } from "../dom/index.js";
2
2
  import { bindBreadcrumbs } from "./breadcrumb.js";
3
+ import { bindScrollState } from "./scroll.js";
3
4
  import { HEADER_PRIMARY_SELECTOR, HEADER_SECONDARY_SELECTOR, bindHeaders, } from "./header.js";
4
5
  import { FRONTEND_PREFIX, frontendDataAttr, frontendDataSelector } from "../namespace/index.js";
5
6
  const LAYOUT_ROOT_SELECTOR = frontendDataSelector("layout-root");
@@ -54,8 +55,10 @@ function bindLayouts(root = document, options = {}) {
54
55
  });
55
56
  bindHeaders(root, options.header || {});
56
57
  bindBreadcrumbs(root);
57
- if (root === document)
58
- syncLayoutBodyState(document, options);
58
+ if (root !== document)
59
+ return;
60
+ bindScrollState(options.scroll);
61
+ syncLayoutBodyState(document, options);
59
62
  }
60
63
  function siteHeaderRootHtml(headerHtml) {
61
64
  return `<div ${SITE_HEADER_ROOT_ATTRIBUTE}="">${headerHtml}</div>`;
@@ -96,6 +99,7 @@ function createLayoutBootScript(state = {}) {
96
99
  }
97
100
  export { LAYOUT_BODY_ATTRIBUTE, LAYOUT_CONTENT_SELECTOR, LAYOUT_MAIN_SELECTOR, LAYOUT_MOBILE_BODY_ATTRIBUTE, LAYOUT_PORTAL_ROOT_ID, LAYOUT_PORTAL_ROOT_SELECTOR, LAYOUT_ROOT_SELECTOR, SITE_HEADER_ROOT_ATTRIBUTE, SITE_HEADER_ROOT_SELECTOR, applyLayoutBodyState, bindLayoutRoot, bindLayouts, createLayoutBootScript, ensureLayoutPortalRoot, readLayoutBodyState, siteHeaderRootHtml, syncLayoutBodyState, };
98
101
  export * from "./breadcrumb.js";
102
+ export * from "./scroll.js";
99
103
  export * from "./header.js";
100
104
  export * from "./state.js";
101
105
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/layout/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/layout/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ declare const SCROLL_STATE_ATTRIBUTE: `data-${string}`;
2
+ declare const SCROLL_STATE_SELECTOR: string;
3
+ declare const SCROLL_SETTLING_ATTRIBUTE: `data-${string}`;
4
+ declare const SCROLL_SETTLING_SELECTOR: string;
5
+ declare const DEFAULT_SCROLL_THRESHOLD = 24;
6
+ type ScrollStateOptions = {
7
+ threshold?: number;
8
+ };
9
+ declare function readScrollState(options?: ScrollStateOptions): boolean;
10
+ declare function applyScrollState(options?: ScrollStateOptions): boolean;
11
+ declare function bindScrollState(options?: ScrollStateOptions): () => void;
12
+ declare function createScrollStateBootScript(options?: ScrollStateOptions): string;
13
+ export { DEFAULT_SCROLL_THRESHOLD, SCROLL_SETTLING_ATTRIBUTE, SCROLL_SETTLING_SELECTOR, SCROLL_STATE_ATTRIBUTE, SCROLL_STATE_SELECTOR, applyScrollState, bindScrollState, createScrollStateBootScript, readScrollState, };
14
+ export type { ScrollStateOptions };
15
+ //# sourceMappingURL=scroll.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scroll.d.ts","sourceRoot":"","sources":["../../../src/layout/scroll.ts"],"names":[],"mappings":"AAEA,QAAA,MAAM,sBAAsB,kBAA+B,CAAC;AAC5D,QAAA,MAAM,qBAAqB,QAA2C,CAAC;AACvE,QAAA,MAAM,yBAAyB,kBAAsC,CAAC;AACtE,QAAA,MAAM,wBAAwB,QAA0C,CAAC;AAEzE,QAAA,MAAM,wBAAwB,KAAK,CAAC;AAEpC,KAAK,kBAAkB,GAAG;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAOF,iBAAS,eAAe,CAAC,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAGlE;AAED,iBAAS,gBAAgB,CAAC,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAMnE;AAOD,iBAAS,eAAe,CAAC,OAAO,GAAE,kBAAuB,GAAG,MAAM,IAAI,CAYrE;AAuCD,iBAAS,2BAA2B,CAAC,OAAO,GAAE,kBAAuB,GAAG,MAAM,CAY7E;AAED,OAAO,EACL,wBAAwB,EACxB,yBAAyB,EACzB,wBAAwB,EACxB,sBAAsB,EACtB,qBAAqB,EACrB,gBAAgB,EAChB,eAAe,EACf,2BAA2B,EAC3B,eAAe,GAChB,CAAC;AACF,YAAY,EAAE,kBAAkB,EAAE,CAAC"}
@@ -0,0 +1,90 @@
1
+ import { FRONTEND_PREFIX, frontendDataAttr, frontendDataSelector } from "../namespace/index.js";
2
+ const SCROLL_STATE_ATTRIBUTE = frontendDataAttr("scrolled");
3
+ const SCROLL_STATE_SELECTOR = frontendDataSelector("scrolled", "true");
4
+ const SCROLL_SETTLING_ATTRIBUTE = frontendDataAttr("scroll-settling");
5
+ const SCROLL_SETTLING_SELECTOR = frontendDataSelector("scroll-settling");
6
+ const SCROLL_STORAGE_PREFIX = `${FRONTEND_PREFIX}:scroll:`;
7
+ const DEFAULT_SCROLL_THRESHOLD = 24;
8
+ function scrollStateThreshold(options = {}) {
9
+ const value = Number(options.threshold);
10
+ return Number.isFinite(value) && value >= 0 ? value : DEFAULT_SCROLL_THRESHOLD;
11
+ }
12
+ function readScrollState(options = {}) {
13
+ if (typeof window === "undefined")
14
+ return false;
15
+ return (window.scrollY || window.pageYOffset || 0) > scrollStateThreshold(options);
16
+ }
17
+ function applyScrollState(options = {}) {
18
+ const scrolled = readScrollState(options);
19
+ if (typeof document !== "undefined") {
20
+ document.documentElement.setAttribute(SCROLL_STATE_ATTRIBUTE, scrolled ? "true" : "false");
21
+ }
22
+ return scrolled;
23
+ }
24
+ function scrollStateBound() {
25
+ if (typeof document === "undefined")
26
+ return false;
27
+ return document.documentElement.hasAttribute(SCROLL_STATE_ATTRIBUTE);
28
+ }
29
+ function bindScrollState(options = {}) {
30
+ if (typeof window === "undefined" || scrollStateBound())
31
+ return () => undefined;
32
+ const update = () => {
33
+ applyScrollState(options);
34
+ };
35
+ update();
36
+ window.addEventListener("scroll", update, { passive: true });
37
+ window.addEventListener("resize", update, { passive: true });
38
+ return () => {
39
+ window.removeEventListener("scroll", update);
40
+ window.removeEventListener("resize", update);
41
+ };
42
+ }
43
+ function scrollStateSeedSource() {
44
+ return [
45
+ `var K=${JSON.stringify(SCROLL_STORAGE_PREFIX)}+location.pathname+location.search,N='',S=0;`,
46
+ "try{N=(performance.getEntriesByType('navigation')[0]||{}).type||''}catch(e){}",
47
+ "if(N==='reload'||N==='back_forward'){try{S=parseFloat(sessionStorage.getItem(K))||0}catch(e){}}",
48
+ "window.addEventListener('pagehide',function(){",
49
+ "try{sessionStorage.setItem(K,String(window.scrollY||window.pageYOffset||0))}catch(e){}});",
50
+ ];
51
+ }
52
+ function scrollStateUpdateSource() {
53
+ return [
54
+ "var u=function(){var v=window.scrollY||window.pageYOffset||0;",
55
+ "if(S){if(v)S=0;else v=S}",
56
+ "h.setAttribute(A,v>T?'true':'false')};",
57
+ ];
58
+ }
59
+ function scrollStateSettleSource() {
60
+ return [
61
+ "h.setAttribute(G,'');",
62
+ "window.addEventListener('load',function(){S=0;u();",
63
+ "var f=function(){h.removeAttribute(G)};",
64
+ "if(window.requestAnimationFrame)window.requestAnimationFrame(f);else f()});",
65
+ ];
66
+ }
67
+ function scrollStateListenerSource() {
68
+ return [
69
+ "window.addEventListener('scroll',u,{passive:true});",
70
+ "window.addEventListener('resize',u,{passive:true});",
71
+ "window.addEventListener('pageshow',u);",
72
+ "document.addEventListener('DOMContentLoaded',u);",
73
+ "if(window.requestAnimationFrame)window.requestAnimationFrame(u);",
74
+ ];
75
+ }
76
+ function createScrollStateBootScript(options = {}) {
77
+ return [
78
+ "(function(){try{",
79
+ `var A=${JSON.stringify(SCROLL_STATE_ATTRIBUTE)},G=${JSON.stringify(SCROLL_SETTLING_ATTRIBUTE)};`,
80
+ `var T=${scrollStateThreshold(options)},h=document.documentElement;`,
81
+ ...scrollStateSeedSource(),
82
+ ...scrollStateUpdateSource(),
83
+ "u();",
84
+ ...scrollStateSettleSource(),
85
+ ...scrollStateListenerSource(),
86
+ "}catch(e){}})();",
87
+ ].join("");
88
+ }
89
+ export { DEFAULT_SCROLL_THRESHOLD, SCROLL_SETTLING_ATTRIBUTE, SCROLL_SETTLING_SELECTOR, SCROLL_STATE_ATTRIBUTE, SCROLL_STATE_SELECTOR, applyScrollState, bindScrollState, createScrollStateBootScript, readScrollState, };
90
+ //# sourceMappingURL=scroll.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scroll.js","sourceRoot":"","sources":["../../../src/layout/scroll.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { type BindRoot } from "../../dom/index.d.ts";
2
+ import { type ScrollStateOptions } from "./scroll.js";
2
3
  import { type HeaderRuntimeOptions } from "./header.js";
3
4
  declare const LAYOUT_ROOT_SELECTOR: string;
4
5
  declare const LAYOUT_MAIN_SELECTOR: string;
@@ -20,6 +21,7 @@ type LayoutBodyState = {
20
21
  type LayoutRuntimeOptions = {
21
22
  header?: HeaderRuntimeOptions;
22
23
  mobile?: boolean;
24
+ scroll?: ScrollStateOptions;
23
25
  };
24
26
  declare function readLayoutBodyState(root?: ParentNode): LayoutBodyState;
25
27
  declare function applyLayoutBodyState(state: LayoutBodyState, options?: LayoutRuntimeOptions): LayoutBodyState;
@@ -31,6 +33,7 @@ declare function ensureLayoutPortalRoot(): HTMLElement;
31
33
  declare function createLayoutBootScript(state?: Partial<LayoutBodyState>): string;
32
34
  export { LAYOUT_BODY_ATTRIBUTE, LAYOUT_CONTENT_SELECTOR, LAYOUT_MAIN_SELECTOR, LAYOUT_MOBILE_BODY_ATTRIBUTE, LAYOUT_PORTAL_ROOT_ID, LAYOUT_PORTAL_ROOT_SELECTOR, LAYOUT_ROOT_SELECTOR, SITE_HEADER_ROOT_ATTRIBUTE, SITE_HEADER_ROOT_SELECTOR, applyLayoutBodyState, bindLayoutRoot, bindLayouts, createLayoutBootScript, ensureLayoutPortalRoot, readLayoutBodyState, siteHeaderRootHtml, syncLayoutBodyState, };
33
35
  export * from "./breadcrumb.js";
36
+ export * from "./scroll.js";
34
37
  export * from "./header.js";
35
38
  export * from "./state.js";
36
39
  export type { LayoutBodyState, LayoutRuntimeOptions, LayoutSide };
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/layout/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,QAAQ,EAAE,MAAM,eAAe,CAAC;AAExD,OAAO,EAIL,KAAK,oBAAoB,EAC1B,MAAM,aAAa,CAAC;AAGrB,QAAA,MAAM,oBAAoB,QAAsC,CAAC;AACjE,QAAA,MAAM,oBAAoB,QAAsC,CAAC;AACjE,QAAA,MAAM,uBAAuB,QAAyC,CAAC;AACvE,QAAA,MAAM,qBAAqB,2BAA0C,CAAC;AACtE,QAAA,MAAM,2BAA2B,QAA6C,CAAC;AAC/E,QAAA,MAAM,qBAAqB,kBAA6B,CAAC;AACzD,QAAA,MAAM,4BAA4B,kBAAoC,CAAC;AACvE,QAAA,MAAM,0BAA0B,kBAAuC,CAAC;AACxE,QAAA,MAAM,yBAAyB,QAA2C,CAAC;AAE3E,KAAK,UAAU,GAAG,MAAM,GAAG,OAAO,CAAC;AAEnC,KAAK,eAAe,GAAG;IACrB,SAAS,EAAE,OAAO,CAAC;IACnB,cAAc,EAAE,OAAO,CAAC;IACxB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,eAAe,EAAE,OAAO,CAAC;IACzB,kBAAkB,EAAE,OAAO,CAAC;CAC7B,CAAC;AAEF,KAAK,oBAAoB,GAAG;IAC1B,MAAM,CAAC,EAAE,oBAAoB,CAAC;IAC9B,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAUF,iBAAS,mBAAmB,CAAC,IAAI,GAAE,UAAqB,GAAG,eAAe,CAQzE;AAED,iBAAS,oBAAoB,CAAC,KAAK,EAAE,eAAe,EAAE,OAAO,GAAE,oBAAyB,mBAgBvF;AAED,iBAAS,mBAAmB,CAAC,IAAI,GAAE,UAAqB,EAAE,OAAO,GAAE,oBAAyB,mBAE3F;AAED,iBAAS,cAAc,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,EAAE,OAAO,GAAE,oBAAyB,eAKnF;AAED,iBAAS,WAAW,CAAC,IAAI,GAAE,QAAmB,EAAE,OAAO,GAAE,oBAAyB,QAOjF;AAED,iBAAS,kBAAkB,CAAC,UAAU,EAAE,MAAM,UAE7C;AAED,iBAAS,sBAAsB,gBAS9B;AAED,iBAAS,sBAAsB,CAAC,KAAK,GAAE,OAAO,CAAC,eAAe,CAAM,UAqBnE;AAED,OAAO,EACL,qBAAqB,EACrB,uBAAuB,EACvB,oBAAoB,EACpB,4BAA4B,EAC5B,qBAAqB,EACrB,2BAA2B,EAC3B,oBAAoB,EACpB,0BAA0B,EAC1B,yBAAyB,EACzB,oBAAoB,EACpB,cAAc,EACd,WAAW,EACX,sBAAsB,EACtB,sBAAsB,EACtB,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,GACpB,CAAC;AACF,cAAa,iBAAiB,CAAC;AAC/B,cAAa,aAAa,CAAC;AAC3B,cAAa,YAAY,CAAC;AAC1B,YAAY,EAAE,eAAe,EAAE,oBAAoB,EAAE,UAAU,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/layout/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,QAAQ,EAAE,MAAM,eAAe,CAAC;AAExD,OAAO,EAAmB,KAAK,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACvE,OAAO,EAIL,KAAK,oBAAoB,EAC1B,MAAM,aAAa,CAAC;AAGrB,QAAA,MAAM,oBAAoB,QAAsC,CAAC;AACjE,QAAA,MAAM,oBAAoB,QAAsC,CAAC;AACjE,QAAA,MAAM,uBAAuB,QAAyC,CAAC;AACvE,QAAA,MAAM,qBAAqB,2BAA0C,CAAC;AACtE,QAAA,MAAM,2BAA2B,QAA6C,CAAC;AAC/E,QAAA,MAAM,qBAAqB,kBAA6B,CAAC;AACzD,QAAA,MAAM,4BAA4B,kBAAoC,CAAC;AACvE,QAAA,MAAM,0BAA0B,kBAAuC,CAAC;AACxE,QAAA,MAAM,yBAAyB,QAA2C,CAAC;AAE3E,KAAK,UAAU,GAAG,MAAM,GAAG,OAAO,CAAC;AAEnC,KAAK,eAAe,GAAG;IACrB,SAAS,EAAE,OAAO,CAAC;IACnB,cAAc,EAAE,OAAO,CAAC;IACxB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,eAAe,EAAE,OAAO,CAAC;IACzB,kBAAkB,EAAE,OAAO,CAAC;CAC7B,CAAC;AAEF,KAAK,oBAAoB,GAAG;IAC1B,MAAM,CAAC,EAAE,oBAAoB,CAAC;IAC9B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,kBAAkB,CAAC;CAC7B,CAAC;AAUF,iBAAS,mBAAmB,CAAC,IAAI,GAAE,UAAqB,GAAG,eAAe,CAQzE;AAED,iBAAS,oBAAoB,CAAC,KAAK,EAAE,eAAe,EAAE,OAAO,GAAE,oBAAyB,mBAgBvF;AAED,iBAAS,mBAAmB,CAAC,IAAI,GAAE,UAAqB,EAAE,OAAO,GAAE,oBAAyB,mBAE3F;AAED,iBAAS,cAAc,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,EAAE,OAAO,GAAE,oBAAyB,eAKnF;AAED,iBAAS,WAAW,CAAC,IAAI,GAAE,QAAmB,EAAE,OAAO,GAAE,oBAAyB,QASjF;AAED,iBAAS,kBAAkB,CAAC,UAAU,EAAE,MAAM,UAE7C;AAED,iBAAS,sBAAsB,gBAS9B;AAED,iBAAS,sBAAsB,CAAC,KAAK,GAAE,OAAO,CAAC,eAAe,CAAM,UAqBnE;AAED,OAAO,EACL,qBAAqB,EACrB,uBAAuB,EACvB,oBAAoB,EACpB,4BAA4B,EAC5B,qBAAqB,EACrB,2BAA2B,EAC3B,oBAAoB,EACpB,0BAA0B,EAC1B,yBAAyB,EACzB,oBAAoB,EACpB,cAAc,EACd,WAAW,EACX,sBAAsB,EACtB,sBAAsB,EACtB,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,GACpB,CAAC;AACF,cAAa,iBAAiB,CAAC;AAC/B,cAAa,aAAa,CAAC;AAC3B,cAAa,aAAa,CAAC;AAC3B,cAAa,YAAY,CAAC;AAC1B,YAAY,EAAE,eAAe,EAAE,oBAAoB,EAAE,UAAU,EAAE,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { queryAll } from "../../dom/index.js";
2
2
  import { bindBreadcrumbs } from "./breadcrumb.js";
3
+ import { bindScrollState } from "./scroll.js";
3
4
  import { HEADER_PRIMARY_SELECTOR, HEADER_SECONDARY_SELECTOR, bindHeaders, } from "./header.js";
4
5
  import { FRONTEND_PREFIX, frontendDataAttr, frontendDataSelector } from "../../namespace/index.js";
5
6
  const LAYOUT_ROOT_SELECTOR = frontendDataSelector("layout-root");
@@ -54,8 +55,10 @@ function bindLayouts(root = document, options = {}) {
54
55
  });
55
56
  bindHeaders(root, options.header || {});
56
57
  bindBreadcrumbs(root);
57
- if (root === document)
58
- syncLayoutBodyState(document, options);
58
+ if (root !== document)
59
+ return;
60
+ bindScrollState(options.scroll);
61
+ syncLayoutBodyState(document, options);
59
62
  }
60
63
  function siteHeaderRootHtml(headerHtml) {
61
64
  return `<div ${SITE_HEADER_ROOT_ATTRIBUTE}="">${headerHtml}</div>`;
@@ -96,6 +99,7 @@ function createLayoutBootScript(state = {}) {
96
99
  }
97
100
  export { LAYOUT_BODY_ATTRIBUTE, LAYOUT_CONTENT_SELECTOR, LAYOUT_MAIN_SELECTOR, LAYOUT_MOBILE_BODY_ATTRIBUTE, LAYOUT_PORTAL_ROOT_ID, LAYOUT_PORTAL_ROOT_SELECTOR, LAYOUT_ROOT_SELECTOR, SITE_HEADER_ROOT_ATTRIBUTE, SITE_HEADER_ROOT_SELECTOR, applyLayoutBodyState, bindLayoutRoot, bindLayouts, createLayoutBootScript, ensureLayoutPortalRoot, readLayoutBodyState, siteHeaderRootHtml, syncLayoutBodyState, };
98
101
  export * from "./breadcrumb.js";
102
+ export * from "./scroll.js";
99
103
  export * from "./header.js";
100
104
  export * from "./state.js";
101
105
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/layout/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/layout/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ declare const SCROLL_STATE_ATTRIBUTE: `data-${string}`;
2
+ declare const SCROLL_STATE_SELECTOR: string;
3
+ declare const SCROLL_SETTLING_ATTRIBUTE: `data-${string}`;
4
+ declare const SCROLL_SETTLING_SELECTOR: string;
5
+ declare const DEFAULT_SCROLL_THRESHOLD = 24;
6
+ type ScrollStateOptions = {
7
+ threshold?: number;
8
+ };
9
+ declare function readScrollState(options?: ScrollStateOptions): boolean;
10
+ declare function applyScrollState(options?: ScrollStateOptions): boolean;
11
+ declare function bindScrollState(options?: ScrollStateOptions): () => void;
12
+ declare function createScrollStateBootScript(options?: ScrollStateOptions): string;
13
+ export { DEFAULT_SCROLL_THRESHOLD, SCROLL_SETTLING_ATTRIBUTE, SCROLL_SETTLING_SELECTOR, SCROLL_STATE_ATTRIBUTE, SCROLL_STATE_SELECTOR, applyScrollState, bindScrollState, createScrollStateBootScript, readScrollState, };
14
+ export type { ScrollStateOptions };
15
+ //# sourceMappingURL=scroll.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scroll.d.ts","sourceRoot":"","sources":["../../../src/layout/scroll.ts"],"names":[],"mappings":"AAEA,QAAA,MAAM,sBAAsB,kBAA+B,CAAC;AAC5D,QAAA,MAAM,qBAAqB,QAA2C,CAAC;AACvE,QAAA,MAAM,yBAAyB,kBAAsC,CAAC;AACtE,QAAA,MAAM,wBAAwB,QAA0C,CAAC;AAEzE,QAAA,MAAM,wBAAwB,KAAK,CAAC;AAEpC,KAAK,kBAAkB,GAAG;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAOF,iBAAS,eAAe,CAAC,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAGlE;AAED,iBAAS,gBAAgB,CAAC,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAMnE;AAOD,iBAAS,eAAe,CAAC,OAAO,GAAE,kBAAuB,GAAG,MAAM,IAAI,CAYrE;AAuCD,iBAAS,2BAA2B,CAAC,OAAO,GAAE,kBAAuB,GAAG,MAAM,CAY7E;AAED,OAAO,EACL,wBAAwB,EACxB,yBAAyB,EACzB,wBAAwB,EACxB,sBAAsB,EACtB,qBAAqB,EACrB,gBAAgB,EAChB,eAAe,EACf,2BAA2B,EAC3B,eAAe,GAChB,CAAC;AACF,YAAY,EAAE,kBAAkB,EAAE,CAAC"}
@@ -0,0 +1,90 @@
1
+ import { FRONTEND_PREFIX, frontendDataAttr, frontendDataSelector } from "../../namespace/index.js";
2
+ const SCROLL_STATE_ATTRIBUTE = frontendDataAttr("scrolled");
3
+ const SCROLL_STATE_SELECTOR = frontendDataSelector("scrolled", "true");
4
+ const SCROLL_SETTLING_ATTRIBUTE = frontendDataAttr("scroll-settling");
5
+ const SCROLL_SETTLING_SELECTOR = frontendDataSelector("scroll-settling");
6
+ const SCROLL_STORAGE_PREFIX = `${FRONTEND_PREFIX}:scroll:`;
7
+ const DEFAULT_SCROLL_THRESHOLD = 24;
8
+ function scrollStateThreshold(options = {}) {
9
+ const value = Number(options.threshold);
10
+ return Number.isFinite(value) && value >= 0 ? value : DEFAULT_SCROLL_THRESHOLD;
11
+ }
12
+ function readScrollState(options = {}) {
13
+ if (typeof window === "undefined")
14
+ return false;
15
+ return (window.scrollY || window.pageYOffset || 0) > scrollStateThreshold(options);
16
+ }
17
+ function applyScrollState(options = {}) {
18
+ const scrolled = readScrollState(options);
19
+ if (typeof document !== "undefined") {
20
+ document.documentElement.setAttribute(SCROLL_STATE_ATTRIBUTE, scrolled ? "true" : "false");
21
+ }
22
+ return scrolled;
23
+ }
24
+ function scrollStateBound() {
25
+ if (typeof document === "undefined")
26
+ return false;
27
+ return document.documentElement.hasAttribute(SCROLL_STATE_ATTRIBUTE);
28
+ }
29
+ function bindScrollState(options = {}) {
30
+ if (typeof window === "undefined" || scrollStateBound())
31
+ return () => undefined;
32
+ const update = () => {
33
+ applyScrollState(options);
34
+ };
35
+ update();
36
+ window.addEventListener("scroll", update, { passive: true });
37
+ window.addEventListener("resize", update, { passive: true });
38
+ return () => {
39
+ window.removeEventListener("scroll", update);
40
+ window.removeEventListener("resize", update);
41
+ };
42
+ }
43
+ function scrollStateSeedSource() {
44
+ return [
45
+ `var K=${JSON.stringify(SCROLL_STORAGE_PREFIX)}+location.pathname+location.search,N='',S=0;`,
46
+ "try{N=(performance.getEntriesByType('navigation')[0]||{}).type||''}catch(e){}",
47
+ "if(N==='reload'||N==='back_forward'){try{S=parseFloat(sessionStorage.getItem(K))||0}catch(e){}}",
48
+ "window.addEventListener('pagehide',function(){",
49
+ "try{sessionStorage.setItem(K,String(window.scrollY||window.pageYOffset||0))}catch(e){}});",
50
+ ];
51
+ }
52
+ function scrollStateUpdateSource() {
53
+ return [
54
+ "var u=function(){var v=window.scrollY||window.pageYOffset||0;",
55
+ "if(S){if(v)S=0;else v=S}",
56
+ "h.setAttribute(A,v>T?'true':'false')};",
57
+ ];
58
+ }
59
+ function scrollStateSettleSource() {
60
+ return [
61
+ "h.setAttribute(G,'');",
62
+ "window.addEventListener('load',function(){S=0;u();",
63
+ "var f=function(){h.removeAttribute(G)};",
64
+ "if(window.requestAnimationFrame)window.requestAnimationFrame(f);else f()});",
65
+ ];
66
+ }
67
+ function scrollStateListenerSource() {
68
+ return [
69
+ "window.addEventListener('scroll',u,{passive:true});",
70
+ "window.addEventListener('resize',u,{passive:true});",
71
+ "window.addEventListener('pageshow',u);",
72
+ "document.addEventListener('DOMContentLoaded',u);",
73
+ "if(window.requestAnimationFrame)window.requestAnimationFrame(u);",
74
+ ];
75
+ }
76
+ function createScrollStateBootScript(options = {}) {
77
+ return [
78
+ "(function(){try{",
79
+ `var A=${JSON.stringify(SCROLL_STATE_ATTRIBUTE)},G=${JSON.stringify(SCROLL_SETTLING_ATTRIBUTE)};`,
80
+ `var T=${scrollStateThreshold(options)},h=document.documentElement;`,
81
+ ...scrollStateSeedSource(),
82
+ ...scrollStateUpdateSource(),
83
+ "u();",
84
+ ...scrollStateSettleSource(),
85
+ ...scrollStateListenerSource(),
86
+ "}catch(e){}})();",
87
+ ].join("");
88
+ }
89
+ export { DEFAULT_SCROLL_THRESHOLD, SCROLL_SETTLING_ATTRIBUTE, SCROLL_SETTLING_SELECTOR, SCROLL_STATE_ATTRIBUTE, SCROLL_STATE_SELECTOR, applyScrollState, bindScrollState, createScrollStateBootScript, readScrollState, };
90
+ //# sourceMappingURL=scroll.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scroll.js","sourceRoot":"","sources":["../../../src/layout/scroll.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -8,7 +8,7 @@
8
8
  }
9
9
  },
10
10
  "name": "@trebired/frontend",
11
- "version": "13.17.0",
11
+ "version": "13.19.0",
12
12
  "description": "Generic browser runtime systems for Trebired frontend packages and applications.",
13
13
  "type": "module",
14
14
  "private": false,