@trebired/frontend 26.0.0 → 26.1.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,19 @@
1
1
  # Changelog
2
2
 
3
+ ## 26.1.0
4
+
5
+ - The header is right in the first painted frame, on every kind of load. Three answers now agree instead of two fighting: a page opened at the top takes the tone of its first band through one CSS rule, a page reopened where it was left takes the tone it had through a head boot script, and the body script measures the band actually under the bar and marks the header `data-tbf-dark` or `data-tbf-light`, at which point both earlier answers step aside. Verified from screencast frames with a cold cache and the processor at a sixth of its speed: a dark page at the top, a reload scrolled into a light band, a reload with a dark band under the bar, and a soft navigation, each one colour from the first frame.
6
+
7
+ - `prose` joins the text utilities: the measure and the line height a paragraph of running text needs, with `--tbf-prose-measure` and `--tbf-prose-line-height` behind them. `TextDocumentBody` renders its paragraphs with it, so an application stops carrying a class of its own for the same thing.
8
+
9
+ ## 26.0.1
10
+
11
+ - The text document stylesheet ships again. It was written but never registered in the layout styles, so a document rendered with no spacing at all: headings sat on their paragraphs and chapters ran together.
12
+
13
+ - The document body is built from the package's own utilities rather than rules of its own: `column` with `gap-xl2` between chapters, `gap-lg` inside one, `gap-xl` between parts and `gap-sm` between paragraphs. Only what a utility cannot say stays in the stylesheet, which is the question row, its mark and the rotation when it opens.
14
+
15
+ - `gap-xl` and `gap-xl2` join the spacing utilities, with the matching `--tbf-gap-xl` and `--tbf-gap-xl2` tokens, so a consuming application never has to write a gap of its own for the two sizes above `lg`.
16
+
3
17
  ## 26.0.0
4
18
 
5
19
  **Breaking:** the public surface is the API products use, and nothing else. Every entry now lists what it exports instead of re-exporting whole folders: 1559 runtime exports became 692, of which 671 are reached by a Trebired product or by this package's own verification. Types are unchanged, since each list is followed by a type re-export of the same module. If something an application needs is missing, it was not referenced by any product when the lists were drawn, and it goes back by name.
@@ -1 +1 @@
1
- {"version":3,"file":"boot.d.ts","sourceRoot":"","sources":["../../../src/layout/boot.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAE7E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAGtD,KAAK,kBAAkB,GAAG,iBAAiB,GAAE;IAAE,OAAO,CAAC,EAAE,oBAAoB,CAAA;CAAE,CAAC;AAEhF,KAAK,mBAAmB,GAAG;IACzB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,kBAAkB,GAAG,KAAK,CAAC;IACpC,MAAM,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC;CACvC,CAAC;AAEF,KAAK,mBAAmB,GAAG;IACzB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB,CAAC;AAOF,iBAAS,YAAY,CAAC,OAAO,GAAE,mBAAwB,GAAG,mBAAmB,CAW5E;AAED,OAAO,EAAE,YAAY,EAAE,CAAC;AACxB,YAAY,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,CAAC"}
1
+ {"version":3,"file":"boot.d.ts","sourceRoot":"","sources":["../../../src/layout/boot.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAE7E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAGtD,KAAK,kBAAkB,GAAG,iBAAiB,GAAE;IAAE,OAAO,CAAC,EAAE,oBAAoB,CAAA;CAAE,CAAC;AAEhF,KAAK,mBAAmB,GAAG;IACzB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,kBAAkB,GAAG,KAAK,CAAC;IACpC,MAAM,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC;CACvC,CAAC;AAEF,KAAK,mBAAmB,GAAG;IACzB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB,CAAC;AAOF,iBAAS,YAAY,CAAC,OAAO,GAAE,mBAAwB,GAAG,mBAAmB,CAc5E;AAED,OAAO,EAAE,YAAY,EAAE,CAAC;AACxB,YAAY,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { createLocaleBootScript } from "./../language/routing/boot.js";
2
2
  import { createScrollStateBootScript } from "./scroll.js";
3
- import { createSiteHeaderToneScript } from "./header/tone.js";
3
+ import { createSiteHeaderToneBootScript, createSiteHeaderToneScript } from "./header/tone.js";
4
4
  function localeScript(locale) {
5
5
  const { routing, ...boot } = locale;
6
6
  return createLocaleBootScript(routing || {}, boot);
@@ -13,8 +13,10 @@ function frontendBoot(options = {}) {
13
13
  }
14
14
  if (options.locale)
15
15
  bootScripts.push(localeScript(options.locale));
16
- if (options.header !== false)
16
+ if (options.header !== false) {
17
+ bootScripts.push(createSiteHeaderToneBootScript());
17
18
  bodyScripts.push(createSiteHeaderToneScript());
19
+ }
18
20
  return { bodyScripts, bootScripts };
19
21
  }
20
22
  export { frontendBoot };
@@ -1 +1 @@
1
- {"version":3,"file":"boot.js","sourceRoot":"","sources":["../../../src/layout/boot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAGvE,OAAO,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAC;AAE1D,OAAO,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAe9D,SAAS,YAAY,CAAC,MAA0B;IAC9C,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;IACpC,OAAO,sBAAsB,CAAC,OAAO,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC;AACrD,CAAC;AAED,SAAS,YAAY,CAAC,UAA+B,EAAE;IACrD,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,MAAM,WAAW,GAAa,EAAE,CAAC;IAEjC,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;QAC7B,WAAW,CAAC,IAAI,CAAC,2BAA2B,CAAC,OAAO,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC;IACrG,CAAC;IACD,IAAI,OAAO,CAAC,MAAM;QAAE,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IACnE,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK;QAAE,WAAW,CAAC,IAAI,CAAC,0BAA0B,EAAE,CAAC,CAAC;IAE7E,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC;AACtC,CAAC;AAED,OAAO,EAAE,YAAY,EAAE,CAAC"}
1
+ {"version":3,"file":"boot.js","sourceRoot":"","sources":["../../../src/layout/boot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAGvE,OAAO,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAC;AAE1D,OAAO,EAAE,8BAA8B,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAe9F,SAAS,YAAY,CAAC,MAA0B;IAC9C,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;IACpC,OAAO,sBAAsB,CAAC,OAAO,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC;AACrD,CAAC;AAED,SAAS,YAAY,CAAC,UAA+B,EAAE;IACrD,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,MAAM,WAAW,GAAa,EAAE,CAAC;IAEjC,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;QAC7B,WAAW,CAAC,IAAI,CAAC,2BAA2B,CAAC,OAAO,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC;IACrG,CAAC;IACD,IAAI,OAAO,CAAC,MAAM;QAAE,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IACnE,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;QAC7B,WAAW,CAAC,IAAI,CAAC,8BAA8B,EAAE,CAAC,CAAC;QACnD,WAAW,CAAC,IAAI,CAAC,0BAA0B,EAAE,CAAC,CAAC;IACjD,CAAC;IAED,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC;AACtC,CAAC;AAED,OAAO,EAAE,YAAY,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"text-document.d.ts","sourceRoot":"","sources":["../../../../src/layout/components/text-document.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvC,OAAO,KAAK,EAAE,YAAY,EAAyC,MAAM,iCAAiC,CAAC;AAO3G,KAAK,qBAAqB,GAAG;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,YAAY,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,SAAS,CAAC;CACtD,CAAC;AA2EF,iBAAS,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,+BAgBrD;AAED,OAAO,EAAE,gBAAgB,EAAE,CAAC;AAC5B,YAAY,EAAE,qBAAqB,EAAE,CAAC"}
1
+ {"version":3,"file":"text-document.d.ts","sourceRoot":"","sources":["../../../../src/layout/components/text-document.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvC,OAAO,KAAK,EAAE,YAAY,EAAyC,MAAM,iCAAiC,CAAC;AAO3G,KAAK,qBAAqB,GAAG;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,YAAY,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,SAAS,CAAC;CACtD,CAAC;AAkFF,iBAAS,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,+BAgBrD;AAED,OAAO,EAAE,gBAAgB,EAAE,CAAC;AAC5B,YAAY,EAAE,qBAAqB,EAAE,CAAC"}
@@ -18,10 +18,10 @@ function partsOf(section) {
18
18
  function paragraphsOf(body, render) {
19
19
  return body.map((text, index) => (render
20
20
  ? render(text, index)
21
- : _jsx("p", { children: _jsx(ProseText, { text: text }) }, index)));
21
+ : (_jsx("p", { className: frontendClassName("prose"), children: _jsx(ProseText, { softRedirect: true, text: text }) }, index))));
22
22
  }
23
23
  function ProsePart({ part, render, standalone }) {
24
- return (_jsxs("article", { className: frontendElementClass(block, "part"), children: [standalone ? null : _jsx("h3", { children: part.heading }), paragraphsOf(part.body, render)] }));
24
+ return (_jsxs("article", { className: classNames(frontendClassName("column"), frontendClassName("gap-sm")), children: [standalone ? null : _jsx("h3", { children: part.heading }), paragraphsOf(part.body, render)] }));
25
25
  }
26
26
  function DisclosurePart({ part, render }) {
27
27
  const panelId = `${useId().replace(/:/gu, "")}_part`;
@@ -30,7 +30,7 @@ function DisclosurePart({ part, render }) {
30
30
  function Chapter({ mode, render, section }) {
31
31
  const parts = partsOf(section);
32
32
  const standalone = !section.parts?.length;
33
- return (_jsxs("section", { className: frontendElementClass(block, "chapter"), id: section.id, children: [_jsx("h2", { children: section.heading }), mode === "disclosure" && !standalone ? (_jsx(HairlinePanel, { as: "ul", className: frontendElementClass(block, "list"), min: "100%", children: parts.map((part) => _jsx(DisclosurePart, { part: part, render: render }, part.id)) })) : (_jsx("div", { className: frontendElementClass(block, "parts"), children: parts.map((part) => _jsx(ProsePart, { part: part, render: render, standalone: standalone }, part.id)) }))] }));
33
+ return (_jsxs("section", { className: classNames(frontendClassName("column"), frontendClassName("gap-lg")), id: section.id, children: [_jsx("h2", { children: section.heading }), mode === "disclosure" && !standalone ? (_jsx(HairlinePanel, { as: "ul", className: frontendElementClass(block, "list"), min: "100%", children: parts.map((part) => _jsx(DisclosurePart, { part: part, render: render }, part.id)) })) : (_jsx("div", { className: classNames(frontendClassName("column"), frontendClassName("gap-xl")), children: parts.map((part) => _jsx(ProsePart, { part: part, render: render, standalone: standalone }, part.id)) }))] }));
34
34
  }
35
35
  function TextDocumentBody(props) {
36
36
  const { className, document, label, minOutlineSections, paragraph } = props;
@@ -38,7 +38,7 @@ function TextDocumentBody(props) {
38
38
  const items = document.outline === false || document.sections.length < minimum
39
39
  ? []
40
40
  : document.sections.map((section) => ({ id: section.id, label: section.heading }));
41
- return (_jsx(PageOutlineLayout, { items: items, label: label, children: _jsx("div", { className: classNames(frontendClassName(block), className), children: document.sections.map((section) => (_jsx(Chapter, { mode: document.parts, render: paragraph, section: section }, section.id))) }) }));
41
+ return (_jsx(PageOutlineLayout, { items: items, label: label, children: _jsx("div", { className: classNames(frontendClassName(block), frontendClassName("column"), frontendClassName("gap-xl2"), className), children: document.sections.map((section) => (_jsx(Chapter, { mode: document.parts, render: paragraph, section: section }, section.id))) }) }));
42
42
  }
43
43
  export { TextDocumentBody };
44
44
  //# sourceMappingURL=text-document.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"text-document.js","sourceRoot":"","sources":["../../../../src/layout/components/text-document.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"text-document.js","sourceRoot":"","sources":["../../../../src/layout/components/text-document.tsx"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
1
  declare function createSiteHeaderToneScript(): string;
2
- export { createSiteHeaderToneScript };
2
+ declare function createSiteHeaderToneBootScript(): string;
3
+ export { createSiteHeaderToneBootScript, createSiteHeaderToneScript };
3
4
  //# sourceMappingURL=tone.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tone.d.ts","sourceRoot":"","sources":["../../../../src/layout/header/tone.ts"],"names":[],"mappings":"AAuCA,iBAAS,0BAA0B,IAAI,MAAM,CAQ5C;AAED,OAAO,EAAE,0BAA0B,EAAE,CAAC"}
1
+ {"version":3,"file":"tone.d.ts","sourceRoot":"","sources":["../../../../src/layout/header/tone.ts"],"names":[],"mappings":"AAsDA,iBAAS,0BAA0B,IAAI,MAAM,CAS5C;AAED,iBAAS,8BAA8B,IAAI,MAAM,CAShD;AAED,OAAO,EAAE,8BAA8B,EAAE,0BAA0B,EAAE,CAAC"}
@@ -2,18 +2,23 @@ import { frontendDataAttr, frontendDataSelector, frontendEventName } from "../..
2
2
  const HEADER_SELECTOR = frontendDataSelector("site-header");
3
3
  const FOOTER_SELECTOR = frontendDataSelector("site-footer");
4
4
  const DARK_ATTRIBUTE = frontendDataAttr("dark");
5
+ const LIGHT_ATTRIBUTE = frontendDataAttr("light");
6
+ const TONE_ATTRIBUTE = frontendDataAttr("header-tone");
5
7
  const PAGE_CHANGE_EVENT = frontendEventName("page-change");
6
8
  const BAND_SELECTOR = `main > *, ${FOOTER_SELECTOR}`;
9
+ const TONE_STORAGE_PREFIX = "tbf.header-tone:";
7
10
  function toneMeasureSource() {
8
11
  return [
9
- `var H=${JSON.stringify(HEADER_SELECTOR)},D=${JSON.stringify(DARK_ATTRIBUTE)},B=${JSON.stringify(BAND_SELECTOR)};`,
12
+ `var H=${JSON.stringify(HEADER_SELECTOR)},D=${JSON.stringify(DARK_ATTRIBUTE)};`,
13
+ `var L=${JSON.stringify(LIGHT_ATTRIBUTE)},B=${JSON.stringify(BAND_SELECTOR)};`,
10
14
  "var u=function(){var h=document.querySelector(H);if(!h)return;",
11
15
  "var r=h.getBoundingClientRect(),l=r.top+r.height/2,b=null,n=-Infinity,s=document.querySelectorAll(B);",
12
16
  "for(var i=0;i<s.length;i++){var t=s[i].getBoundingClientRect().top;if(t>l||t<=n)continue;n=t;b=s[i]}",
13
- "if(!b)return;if(b.hasAttribute(D))h.setAttribute(D,'');else h.removeAttribute(D)};",
17
+ "if(!b)return;if(b.hasAttribute(D)){h.setAttribute(D,'');h.removeAttribute(L)}",
18
+ "else{h.removeAttribute(D);h.setAttribute(L,'')}};",
14
19
  ];
15
20
  }
16
- function toneBootSource() {
21
+ function toneHoldSource() {
17
22
  return [
18
23
  "var e=document.createElement('style');",
19
24
  `e.textContent=${JSON.stringify(`${HEADER_SELECTOR},${HEADER_SELECTOR} *{transition-duration:0s !important}`)};`,
@@ -32,14 +37,34 @@ function toneListenerSource() {
32
37
  `document.addEventListener(${JSON.stringify(PAGE_CHANGE_EVENT)},function(){requestAnimationFrame(u)});`,
33
38
  ];
34
39
  }
40
+ function toneStoreSource() {
41
+ return [
42
+ `var K=${JSON.stringify(TONE_STORAGE_PREFIX)}+location.pathname+location.search;`,
43
+ "addEventListener('pagehide',function(){try{",
44
+ `var h=document.querySelector(${JSON.stringify(HEADER_SELECTOR)});`,
45
+ `if(h)sessionStorage.setItem(K,h.hasAttribute(${JSON.stringify(DARK_ATTRIBUTE)})?'dark':'light');`,
46
+ "}catch(e){}});",
47
+ ];
48
+ }
35
49
  function createSiteHeaderToneScript() {
36
50
  return [
37
51
  "(function(){try{",
38
52
  ...toneMeasureSource(),
39
- ...toneBootSource(),
53
+ ...toneHoldSource(),
40
54
  ...toneListenerSource(),
55
+ ...toneStoreSource(),
56
+ "}catch(e){}})();",
57
+ ].join("");
58
+ }
59
+ function createSiteHeaderToneBootScript() {
60
+ return [
61
+ "(function(){try{",
62
+ `var K=${JSON.stringify(TONE_STORAGE_PREFIX)}+location.pathname+location.search,N='',T='';`,
63
+ "try{N=(performance.getEntriesByType('navigation')[0]||{}).type||''}catch(e){}",
64
+ "if(N==='reload'||N==='back_forward'){try{T=sessionStorage.getItem(K)||''}catch(e){}}",
65
+ `if(T==='dark'||T==='light')document.documentElement.setAttribute(${JSON.stringify(TONE_ATTRIBUTE)},T);`,
41
66
  "}catch(e){}})();",
42
67
  ].join("");
43
68
  }
44
- export { createSiteHeaderToneScript };
69
+ export { createSiteHeaderToneBootScript, createSiteHeaderToneScript };
45
70
  //# sourceMappingURL=tone.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tone.js","sourceRoot":"","sources":["../../../../src/layout/header/tone.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAE1F,MAAM,eAAe,GAAG,oBAAoB,CAAC,aAAa,CAAC,CAAC;AAC5D,MAAM,eAAe,GAAG,oBAAoB,CAAC,aAAa,CAAC,CAAC;AAC5D,MAAM,cAAc,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;AAChD,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,aAAa,CAAC,CAAC;AAC3D,MAAM,aAAa,GAAG,aAAa,eAAe,EAAE,CAAC;AAErD,SAAS,iBAAiB;IACxB,OAAO;QACL,SAAS,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,GAAG;QAClH,gEAAgE;QAChE,uGAAuG;QACvG,sGAAsG;QACtG,oFAAoF;KACrF,CAAC;AACJ,CAAC;AAED,SAAS,cAAc;IACrB,OAAO;QACL,wCAAwC;QACxC,iBAAiB,IAAI,CAAC,SAAS,CAAC,GAAG,eAAe,IAAI,eAAe,uCAAuC,CAAC,GAAG;QAChH,2DAA2D;QAC3D,MAAM;QACN,gEAAgE;QAChE,oHAAoH;KACrH,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB;IACzB,OAAO;QACL,8CAA8C;QAC9C,8CAA8C;QAC9C,iCAAiC;QACjC,6BAA6B;QAC7B,6BAA6B,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,yCAAyC;KACxG,CAAC;AACJ,CAAC;AAED,SAAS,0BAA0B;IACjC,OAAO;QACL,kBAAkB;QAClB,GAAG,iBAAiB,EAAE;QACtB,GAAG,cAAc,EAAE;QACnB,GAAG,kBAAkB,EAAE;QACvB,kBAAkB;KACnB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACb,CAAC;AAED,OAAO,EAAE,0BAA0B,EAAE,CAAC"}
1
+ {"version":3,"file":"tone.js","sourceRoot":"","sources":["../../../../src/layout/header/tone.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAE1F,MAAM,eAAe,GAAG,oBAAoB,CAAC,aAAa,CAAC,CAAC;AAC5D,MAAM,eAAe,GAAG,oBAAoB,CAAC,aAAa,CAAC,CAAC;AAC5D,MAAM,cAAc,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;AAChD,MAAM,eAAe,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;AAClD,MAAM,cAAc,GAAG,gBAAgB,CAAC,aAAa,CAAC,CAAC;AACvD,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,aAAa,CAAC,CAAC;AAC3D,MAAM,aAAa,GAAG,aAAa,eAAe,EAAE,CAAC;AACrD,MAAM,mBAAmB,GAAG,kBAAkB,CAAC;AAE/C,SAAS,iBAAiB;IACxB,OAAO;QACL,SAAS,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,GAAG;QAC/E,SAAS,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,GAAG;QAC9E,gEAAgE;QAChE,uGAAuG;QACvG,sGAAsG;QACtG,+EAA+E;QAC/E,mDAAmD;KACpD,CAAC;AACJ,CAAC;AAED,SAAS,cAAc;IACrB,OAAO;QACL,wCAAwC;QACxC,iBAAiB,IAAI,CAAC,SAAS,CAAC,GAAG,eAAe,IAAI,eAAe,uCAAuC,CAAC,GAAG;QAChH,2DAA2D;QAC3D,MAAM;QACN,gEAAgE;QAChE,oHAAoH;KACrH,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB;IACzB,OAAO;QACL,8CAA8C;QAC9C,8CAA8C;QAC9C,iCAAiC;QACjC,6BAA6B;QAC7B,6BAA6B,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,yCAAyC;KACxG,CAAC;AACJ,CAAC;AAED,SAAS,eAAe;IACtB,OAAO;QACL,SAAS,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,qCAAqC;QACjF,6CAA6C;QAC7C,gCAAgC,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,IAAI;QACnE,gDAAgD,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,oBAAoB;QAClG,gBAAgB;KACjB,CAAC;AACJ,CAAC;AAED,SAAS,0BAA0B;IACjC,OAAO;QACL,kBAAkB;QAClB,GAAG,iBAAiB,EAAE;QACtB,GAAG,cAAc,EAAE;QACnB,GAAG,kBAAkB,EAAE;QACvB,GAAG,eAAe,EAAE;QACpB,kBAAkB;KACnB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACb,CAAC;AAED,SAAS,8BAA8B;IACrC,OAAO;QACL,kBAAkB;QAClB,SAAS,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,+CAA+C;QAC3F,+EAA+E;QAC/E,sFAAsF;QACtF,oEAAoE,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,MAAM;QACxG,kBAAkB;KACnB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACb,CAAC;AAED,OAAO,EAAE,8BAA8B,EAAE,0BAA0B,EAAE,CAAC"}
@@ -3,6 +3,7 @@
3
3
  @use "./breadcrumb";
4
4
  @use "./site-link";
5
5
  @use "./outline";
6
+ @use "./text-document";
6
7
  @use "./site-header";
7
8
  @use "./site/menu";
8
9
  @use "./site-footer";
@@ -303,6 +303,10 @@ $tone-motion: token("tone-duration", 320ms) token("tone-easing", cubic-bezier(0.
303
303
  outline-offset: 0.2rem;
304
304
  }
305
305
 
306
+ html#{ns.data("header-tone", "dark")} #{ns.data("site-header")}:not(#{ns.data("light")}):not(#{ns.data("dark")}),
307
+
308
+ html:not(#{ns.data("header-tone")}) body:has(main > #{ns.data("dark")}:first-child) #{ns.data("site-header")}:not(#{ns.data("light")}):not(#{ns.data("dark")}),
309
+
306
310
  #{ns.data("site-header")}#{ns.data("dark")} {
307
311
  @include tone.on-dark;
308
312
  #{ns.css-var("shell-header-surface")}: token("root-bg-dark", var(#{ns.css-var("ink")}, #000));
@@ -4,30 +4,6 @@
4
4
  @return var(#{ns.css-var("shell-text-document-" + $name)}, $fallback);
5
5
  }
6
6
 
7
- #{ns.class("text-document")} {
8
- display: flex;
9
- flex-direction: column;
10
- gap: token("gap", var(--space-xl3, 4rem));
11
- }
12
-
13
- #{ns.element-class("text-document", "chapter")} {
14
- display: flex;
15
- flex-direction: column;
16
- gap: token("chapter-gap", var(--space-lg, 2.5rem));
17
- }
18
-
19
- #{ns.element-class("text-document", "parts")} {
20
- display: flex;
21
- flex-direction: column;
22
- gap: token("parts-gap", var(--space-xl, 3rem));
23
- }
24
-
25
- #{ns.element-class("text-document", "part")} {
26
- display: flex;
27
- flex-direction: column;
28
- gap: token("part-gap", var(--space-sm, 0.75rem));
29
- }
30
-
31
7
  #{ns.element-class("text-document", "item")} {
32
8
  #{ns.css-var("surf-hairline-cell-gap")}: 0;
33
9
  }
@@ -43,7 +19,7 @@
43
19
  width: 100%;
44
20
  align-items: center;
45
21
  justify-content: space-between;
46
- gap: token("trigger-gap", var(#{ns.css-var("gap-sm")}, 0.75rem));
22
+ gap: var(#{ns.css-var("gap-sm")});
47
23
  border: 0;
48
24
  background: transparent;
49
25
  color: inherit;
@@ -1 +1 @@
1
- {"version":3,"file":"boot.d.ts","sourceRoot":"","sources":["../../../src/layout/boot.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAE7E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAGtD,KAAK,kBAAkB,GAAG,iBAAiB,GAAE;IAAE,OAAO,CAAC,EAAE,oBAAoB,CAAA;CAAE,CAAC;AAEhF,KAAK,mBAAmB,GAAG;IACzB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,kBAAkB,GAAG,KAAK,CAAC;IACpC,MAAM,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC;CACvC,CAAC;AAEF,KAAK,mBAAmB,GAAG;IACzB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB,CAAC;AAOF,iBAAS,YAAY,CAAC,OAAO,GAAE,mBAAwB,GAAG,mBAAmB,CAW5E;AAED,OAAO,EAAE,YAAY,EAAE,CAAC;AACxB,YAAY,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,CAAC"}
1
+ {"version":3,"file":"boot.d.ts","sourceRoot":"","sources":["../../../src/layout/boot.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAE7E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAGtD,KAAK,kBAAkB,GAAG,iBAAiB,GAAE;IAAE,OAAO,CAAC,EAAE,oBAAoB,CAAA;CAAE,CAAC;AAEhF,KAAK,mBAAmB,GAAG;IACzB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,kBAAkB,GAAG,KAAK,CAAC;IACpC,MAAM,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC;CACvC,CAAC;AAEF,KAAK,mBAAmB,GAAG;IACzB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB,CAAC;AAOF,iBAAS,YAAY,CAAC,OAAO,GAAE,mBAAwB,GAAG,mBAAmB,CAc5E;AAED,OAAO,EAAE,YAAY,EAAE,CAAC;AACxB,YAAY,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { createLocaleBootScript } from "./../language/routing/boot.js";
2
2
  import { createScrollStateBootScript } from "./scroll.js";
3
- import { createSiteHeaderToneScript } from "./header/tone.js";
3
+ import { createSiteHeaderToneBootScript, createSiteHeaderToneScript } from "./header/tone.js";
4
4
  function localeScript(locale) {
5
5
  const { routing, ...boot } = locale;
6
6
  return createLocaleBootScript(routing || {}, boot);
@@ -13,8 +13,10 @@ function frontendBoot(options = {}) {
13
13
  }
14
14
  if (options.locale)
15
15
  bootScripts.push(localeScript(options.locale));
16
- if (options.header !== false)
16
+ if (options.header !== false) {
17
+ bootScripts.push(createSiteHeaderToneBootScript());
17
18
  bodyScripts.push(createSiteHeaderToneScript());
19
+ }
18
20
  return { bodyScripts, bootScripts };
19
21
  }
20
22
  export { frontendBoot };
@@ -1 +1 @@
1
- {"version":3,"file":"boot.js","sourceRoot":"","sources":["../../../src/layout/boot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAGvE,OAAO,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAC;AAE1D,OAAO,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAe9D,SAAS,YAAY,CAAC,MAA0B;IAC9C,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;IACpC,OAAO,sBAAsB,CAAC,OAAO,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC;AACrD,CAAC;AAED,SAAS,YAAY,CAAC,UAA+B,EAAE;IACrD,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,MAAM,WAAW,GAAa,EAAE,CAAC;IAEjC,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;QAC7B,WAAW,CAAC,IAAI,CAAC,2BAA2B,CAAC,OAAO,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC;IACrG,CAAC;IACD,IAAI,OAAO,CAAC,MAAM;QAAE,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IACnE,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK;QAAE,WAAW,CAAC,IAAI,CAAC,0BAA0B,EAAE,CAAC,CAAC;IAE7E,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC;AACtC,CAAC;AAED,OAAO,EAAE,YAAY,EAAE,CAAC"}
1
+ {"version":3,"file":"boot.js","sourceRoot":"","sources":["../../../src/layout/boot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAGvE,OAAO,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAC;AAE1D,OAAO,EAAE,8BAA8B,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAe9F,SAAS,YAAY,CAAC,MAA0B;IAC9C,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;IACpC,OAAO,sBAAsB,CAAC,OAAO,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC;AACrD,CAAC;AAED,SAAS,YAAY,CAAC,UAA+B,EAAE;IACrD,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,MAAM,WAAW,GAAa,EAAE,CAAC;IAEjC,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;QAC7B,WAAW,CAAC,IAAI,CAAC,2BAA2B,CAAC,OAAO,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC;IACrG,CAAC;IACD,IAAI,OAAO,CAAC,MAAM;QAAE,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IACnE,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;QAC7B,WAAW,CAAC,IAAI,CAAC,8BAA8B,EAAE,CAAC,CAAC;QACnD,WAAW,CAAC,IAAI,CAAC,0BAA0B,EAAE,CAAC,CAAC;IACjD,CAAC;IAED,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC;AACtC,CAAC;AAED,OAAO,EAAE,YAAY,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"text-document.d.ts","sourceRoot":"","sources":["../../../../src/layout/components/text-document.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvC,OAAO,KAAK,EAAE,YAAY,EAAyC,MAAM,iCAAiC,CAAC;AAO3G,KAAK,qBAAqB,GAAG;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,YAAY,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,SAAS,CAAC;CACtD,CAAC;AA2EF,iBAAS,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,+BAgBrD;AAED,OAAO,EAAE,gBAAgB,EAAE,CAAC;AAC5B,YAAY,EAAE,qBAAqB,EAAE,CAAC"}
1
+ {"version":3,"file":"text-document.d.ts","sourceRoot":"","sources":["../../../../src/layout/components/text-document.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvC,OAAO,KAAK,EAAE,YAAY,EAAyC,MAAM,iCAAiC,CAAC;AAO3G,KAAK,qBAAqB,GAAG;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,YAAY,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,SAAS,CAAC;CACtD,CAAC;AAkFF,iBAAS,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,+BAgBrD;AAED,OAAO,EAAE,gBAAgB,EAAE,CAAC;AAC5B,YAAY,EAAE,qBAAqB,EAAE,CAAC"}
@@ -18,10 +18,10 @@ function partsOf(section) {
18
18
  function paragraphsOf(body, render) {
19
19
  return body.map((text, index) => (render
20
20
  ? render(text, index)
21
- : _jsx("p", { children: _jsx(ProseText, { text: text }) }, index)));
21
+ : (_jsx("p", { className: frontendClassName("prose"), children: _jsx(ProseText, { softRedirect: true, text: text }) }, index))));
22
22
  }
23
23
  function ProsePart({ part, render, standalone }) {
24
- return (_jsxs("article", { className: frontendElementClass(block, "part"), children: [standalone ? null : _jsx("h3", { children: part.heading }), paragraphsOf(part.body, render)] }));
24
+ return (_jsxs("article", { className: classNames(frontendClassName("column"), frontendClassName("gap-sm")), children: [standalone ? null : _jsx("h3", { children: part.heading }), paragraphsOf(part.body, render)] }));
25
25
  }
26
26
  function DisclosurePart({ part, render }) {
27
27
  const panelId = `${useId().replace(/:/gu, "")}_part`;
@@ -30,7 +30,7 @@ function DisclosurePart({ part, render }) {
30
30
  function Chapter({ mode, render, section }) {
31
31
  const parts = partsOf(section);
32
32
  const standalone = !section.parts?.length;
33
- return (_jsxs("section", { className: frontendElementClass(block, "chapter"), id: section.id, children: [_jsx("h2", { children: section.heading }), mode === "disclosure" && !standalone ? (_jsx(HairlinePanel, { as: "ul", className: frontendElementClass(block, "list"), min: "100%", children: parts.map((part) => _jsx(DisclosurePart, { part: part, render: render }, part.id)) })) : (_jsx("div", { className: frontendElementClass(block, "parts"), children: parts.map((part) => _jsx(ProsePart, { part: part, render: render, standalone: standalone }, part.id)) }))] }));
33
+ return (_jsxs("section", { className: classNames(frontendClassName("column"), frontendClassName("gap-lg")), id: section.id, children: [_jsx("h2", { children: section.heading }), mode === "disclosure" && !standalone ? (_jsx(HairlinePanel, { as: "ul", className: frontendElementClass(block, "list"), min: "100%", children: parts.map((part) => _jsx(DisclosurePart, { part: part, render: render }, part.id)) })) : (_jsx("div", { className: classNames(frontendClassName("column"), frontendClassName("gap-xl")), children: parts.map((part) => _jsx(ProsePart, { part: part, render: render, standalone: standalone }, part.id)) }))] }));
34
34
  }
35
35
  function TextDocumentBody(props) {
36
36
  const { className, document, label, minOutlineSections, paragraph } = props;
@@ -38,7 +38,7 @@ function TextDocumentBody(props) {
38
38
  const items = document.outline === false || document.sections.length < minimum
39
39
  ? []
40
40
  : document.sections.map((section) => ({ id: section.id, label: section.heading }));
41
- return (_jsx(PageOutlineLayout, { items: items, label: label, children: _jsx("div", { className: classNames(frontendClassName(block), className), children: document.sections.map((section) => (_jsx(Chapter, { mode: document.parts, render: paragraph, section: section }, section.id))) }) }));
41
+ return (_jsx(PageOutlineLayout, { items: items, label: label, children: _jsx("div", { className: classNames(frontendClassName(block), frontendClassName("column"), frontendClassName("gap-xl2"), className), children: document.sections.map((section) => (_jsx(Chapter, { mode: document.parts, render: paragraph, section: section }, section.id))) }) }));
42
42
  }
43
43
  export { TextDocumentBody };
44
44
  //# sourceMappingURL=text-document.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"text-document.js","sourceRoot":"","sources":["../../../../src/layout/components/text-document.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"text-document.js","sourceRoot":"","sources":["../../../../src/layout/components/text-document.tsx"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
1
  declare function createSiteHeaderToneScript(): string;
2
- export { createSiteHeaderToneScript };
2
+ declare function createSiteHeaderToneBootScript(): string;
3
+ export { createSiteHeaderToneBootScript, createSiteHeaderToneScript };
3
4
  //# sourceMappingURL=tone.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tone.d.ts","sourceRoot":"","sources":["../../../../src/layout/header/tone.ts"],"names":[],"mappings":"AAuCA,iBAAS,0BAA0B,IAAI,MAAM,CAQ5C;AAED,OAAO,EAAE,0BAA0B,EAAE,CAAC"}
1
+ {"version":3,"file":"tone.d.ts","sourceRoot":"","sources":["../../../../src/layout/header/tone.ts"],"names":[],"mappings":"AAsDA,iBAAS,0BAA0B,IAAI,MAAM,CAS5C;AAED,iBAAS,8BAA8B,IAAI,MAAM,CAShD;AAED,OAAO,EAAE,8BAA8B,EAAE,0BAA0B,EAAE,CAAC"}
@@ -2,18 +2,23 @@ import { frontendDataAttr, frontendDataSelector, frontendEventName } from "../..
2
2
  const HEADER_SELECTOR = frontendDataSelector("site-header");
3
3
  const FOOTER_SELECTOR = frontendDataSelector("site-footer");
4
4
  const DARK_ATTRIBUTE = frontendDataAttr("dark");
5
+ const LIGHT_ATTRIBUTE = frontendDataAttr("light");
6
+ const TONE_ATTRIBUTE = frontendDataAttr("header-tone");
5
7
  const PAGE_CHANGE_EVENT = frontendEventName("page-change");
6
8
  const BAND_SELECTOR = `main > *, ${FOOTER_SELECTOR}`;
9
+ const TONE_STORAGE_PREFIX = "tbf.header-tone:";
7
10
  function toneMeasureSource() {
8
11
  return [
9
- `var H=${JSON.stringify(HEADER_SELECTOR)},D=${JSON.stringify(DARK_ATTRIBUTE)},B=${JSON.stringify(BAND_SELECTOR)};`,
12
+ `var H=${JSON.stringify(HEADER_SELECTOR)},D=${JSON.stringify(DARK_ATTRIBUTE)};`,
13
+ `var L=${JSON.stringify(LIGHT_ATTRIBUTE)},B=${JSON.stringify(BAND_SELECTOR)};`,
10
14
  "var u=function(){var h=document.querySelector(H);if(!h)return;",
11
15
  "var r=h.getBoundingClientRect(),l=r.top+r.height/2,b=null,n=-Infinity,s=document.querySelectorAll(B);",
12
16
  "for(var i=0;i<s.length;i++){var t=s[i].getBoundingClientRect().top;if(t>l||t<=n)continue;n=t;b=s[i]}",
13
- "if(!b)return;if(b.hasAttribute(D))h.setAttribute(D,'');else h.removeAttribute(D)};",
17
+ "if(!b)return;if(b.hasAttribute(D)){h.setAttribute(D,'');h.removeAttribute(L)}",
18
+ "else{h.removeAttribute(D);h.setAttribute(L,'')}};",
14
19
  ];
15
20
  }
16
- function toneBootSource() {
21
+ function toneHoldSource() {
17
22
  return [
18
23
  "var e=document.createElement('style');",
19
24
  `e.textContent=${JSON.stringify(`${HEADER_SELECTOR},${HEADER_SELECTOR} *{transition-duration:0s !important}`)};`,
@@ -32,14 +37,34 @@ function toneListenerSource() {
32
37
  `document.addEventListener(${JSON.stringify(PAGE_CHANGE_EVENT)},function(){requestAnimationFrame(u)});`,
33
38
  ];
34
39
  }
40
+ function toneStoreSource() {
41
+ return [
42
+ `var K=${JSON.stringify(TONE_STORAGE_PREFIX)}+location.pathname+location.search;`,
43
+ "addEventListener('pagehide',function(){try{",
44
+ `var h=document.querySelector(${JSON.stringify(HEADER_SELECTOR)});`,
45
+ `if(h)sessionStorage.setItem(K,h.hasAttribute(${JSON.stringify(DARK_ATTRIBUTE)})?'dark':'light');`,
46
+ "}catch(e){}});",
47
+ ];
48
+ }
35
49
  function createSiteHeaderToneScript() {
36
50
  return [
37
51
  "(function(){try{",
38
52
  ...toneMeasureSource(),
39
- ...toneBootSource(),
53
+ ...toneHoldSource(),
40
54
  ...toneListenerSource(),
55
+ ...toneStoreSource(),
56
+ "}catch(e){}})();",
57
+ ].join("");
58
+ }
59
+ function createSiteHeaderToneBootScript() {
60
+ return [
61
+ "(function(){try{",
62
+ `var K=${JSON.stringify(TONE_STORAGE_PREFIX)}+location.pathname+location.search,N='',T='';`,
63
+ "try{N=(performance.getEntriesByType('navigation')[0]||{}).type||''}catch(e){}",
64
+ "if(N==='reload'||N==='back_forward'){try{T=sessionStorage.getItem(K)||''}catch(e){}}",
65
+ `if(T==='dark'||T==='light')document.documentElement.setAttribute(${JSON.stringify(TONE_ATTRIBUTE)},T);`,
41
66
  "}catch(e){}})();",
42
67
  ].join("");
43
68
  }
44
- export { createSiteHeaderToneScript };
69
+ export { createSiteHeaderToneBootScript, createSiteHeaderToneScript };
45
70
  //# sourceMappingURL=tone.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tone.js","sourceRoot":"","sources":["../../../../src/layout/header/tone.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAE1F,MAAM,eAAe,GAAG,oBAAoB,CAAC,aAAa,CAAC,CAAC;AAC5D,MAAM,eAAe,GAAG,oBAAoB,CAAC,aAAa,CAAC,CAAC;AAC5D,MAAM,cAAc,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;AAChD,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,aAAa,CAAC,CAAC;AAC3D,MAAM,aAAa,GAAG,aAAa,eAAe,EAAE,CAAC;AAErD,SAAS,iBAAiB;IACxB,OAAO;QACL,SAAS,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,GAAG;QAClH,gEAAgE;QAChE,uGAAuG;QACvG,sGAAsG;QACtG,oFAAoF;KACrF,CAAC;AACJ,CAAC;AAED,SAAS,cAAc;IACrB,OAAO;QACL,wCAAwC;QACxC,iBAAiB,IAAI,CAAC,SAAS,CAAC,GAAG,eAAe,IAAI,eAAe,uCAAuC,CAAC,GAAG;QAChH,2DAA2D;QAC3D,MAAM;QACN,gEAAgE;QAChE,oHAAoH;KACrH,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB;IACzB,OAAO;QACL,8CAA8C;QAC9C,8CAA8C;QAC9C,iCAAiC;QACjC,6BAA6B;QAC7B,6BAA6B,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,yCAAyC;KACxG,CAAC;AACJ,CAAC;AAED,SAAS,0BAA0B;IACjC,OAAO;QACL,kBAAkB;QAClB,GAAG,iBAAiB,EAAE;QACtB,GAAG,cAAc,EAAE;QACnB,GAAG,kBAAkB,EAAE;QACvB,kBAAkB;KACnB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACb,CAAC;AAED,OAAO,EAAE,0BAA0B,EAAE,CAAC"}
1
+ {"version":3,"file":"tone.js","sourceRoot":"","sources":["../../../../src/layout/header/tone.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAE1F,MAAM,eAAe,GAAG,oBAAoB,CAAC,aAAa,CAAC,CAAC;AAC5D,MAAM,eAAe,GAAG,oBAAoB,CAAC,aAAa,CAAC,CAAC;AAC5D,MAAM,cAAc,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;AAChD,MAAM,eAAe,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;AAClD,MAAM,cAAc,GAAG,gBAAgB,CAAC,aAAa,CAAC,CAAC;AACvD,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,aAAa,CAAC,CAAC;AAC3D,MAAM,aAAa,GAAG,aAAa,eAAe,EAAE,CAAC;AACrD,MAAM,mBAAmB,GAAG,kBAAkB,CAAC;AAE/C,SAAS,iBAAiB;IACxB,OAAO;QACL,SAAS,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,GAAG;QAC/E,SAAS,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,GAAG;QAC9E,gEAAgE;QAChE,uGAAuG;QACvG,sGAAsG;QACtG,+EAA+E;QAC/E,mDAAmD;KACpD,CAAC;AACJ,CAAC;AAED,SAAS,cAAc;IACrB,OAAO;QACL,wCAAwC;QACxC,iBAAiB,IAAI,CAAC,SAAS,CAAC,GAAG,eAAe,IAAI,eAAe,uCAAuC,CAAC,GAAG;QAChH,2DAA2D;QAC3D,MAAM;QACN,gEAAgE;QAChE,oHAAoH;KACrH,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB;IACzB,OAAO;QACL,8CAA8C;QAC9C,8CAA8C;QAC9C,iCAAiC;QACjC,6BAA6B;QAC7B,6BAA6B,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,yCAAyC;KACxG,CAAC;AACJ,CAAC;AAED,SAAS,eAAe;IACtB,OAAO;QACL,SAAS,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,qCAAqC;QACjF,6CAA6C;QAC7C,gCAAgC,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,IAAI;QACnE,gDAAgD,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,oBAAoB;QAClG,gBAAgB;KACjB,CAAC;AACJ,CAAC;AAED,SAAS,0BAA0B;IACjC,OAAO;QACL,kBAAkB;QAClB,GAAG,iBAAiB,EAAE;QACtB,GAAG,cAAc,EAAE;QACnB,GAAG,kBAAkB,EAAE;QACvB,GAAG,eAAe,EAAE;QACpB,kBAAkB;KACnB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACb,CAAC;AAED,SAAS,8BAA8B;IACrC,OAAO;QACL,kBAAkB;QAClB,SAAS,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,+CAA+C;QAC3F,+EAA+E;QAC/E,sFAAsF;QACtF,oEAAoE,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,MAAM;QACxG,kBAAkB;KACnB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACb,CAAC;AAED,OAAO,EAAE,8BAA8B,EAAE,0BAA0B,EAAE,CAAC"}
@@ -62,6 +62,8 @@
62
62
  #{ns.css-var("gap-sm")}: var(--space-sm, 0.75rem);
63
63
  #{ns.css-var("gap-md")}: var(--space-md, 1.5rem);
64
64
  #{ns.css-var("gap-lg")}: var(--space-lg, 2.5rem);
65
+ #{ns.css-var("gap-xl")}: var(--space-xl, 3rem);
66
+ #{ns.css-var("gap-xl2")}: var(--space-xl2, 4rem);
65
67
  #{ns.css-var("canvas-bg")}: var(--dot-grid);
66
68
  #{ns.css-var("z-layer")}: var(--z-layer-root, 1000);
67
69
  #{ns.css-var("z-bottom-bar")}: var(--z-bottom-bar, 900);
@@ -19,6 +19,14 @@
19
19
  gap: var(#{ns.css-var("gap-lg")});
20
20
  }
21
21
 
22
+ #{ns.class("gap-xl")} {
23
+ gap: var(#{ns.css-var("gap-xl")});
24
+ }
25
+
26
+ #{ns.class("gap-xl2")} {
27
+ gap: var(#{ns.css-var("gap-xl2")});
28
+ }
29
+
22
30
  #{ns.class("mt-xs")} {
23
31
  margin-top: var(#{ns.css-var("gap-xs")});
24
32
  }
@@ -9,6 +9,11 @@
9
9
  max-width: 100% !important;
10
10
  }
11
11
 
12
+ #{ns.class("prose")} {
13
+ max-width: var(#{ns.css-var("prose-measure")}, 62ch);
14
+ line-height: var(#{ns.css-var("prose-line-height")}, 1.6);
15
+ }
16
+
12
17
  #{ns.class("text-muted")} {
13
18
  color: var(#{ns.css-var("text-muted")}, #000);
14
19
  }
package/package.json CHANGED
@@ -8,7 +8,7 @@
8
8
  }
9
9
  },
10
10
  "name": "@trebired/frontend",
11
- "version": "26.0.0",
11
+ "version": "26.1.0",
12
12
  "description": "Generic browser runtime systems for Trebired frontend packages and applications.",
13
13
  "type": "module",
14
14
  "private": false,