@trebired/frontend 25.1.0 → 25.2.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 +4 -0
- package/README.md +1 -1
- package/dist/layout/components/outline.d.ts +6 -2
- package/dist/layout/components/outline.d.ts.map +1 -1
- package/dist/layout/components/outline.js +9 -2
- package/dist/layout/components/outline.js.map +1 -1
- package/dist/layout/styles/outline.scss +29 -9
- package/dist/src/layout/components/outline.d.ts +6 -2
- package/dist/src/layout/components/outline.d.ts.map +1 -1
- package/dist/src/layout/components/outline.js +9 -2
- package/dist/src/layout/components/outline.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 25.2.0
|
|
4
|
+
|
|
5
|
+
- The page outline is part of the page rather than a rail floating over it. `PageOutlineLayout` takes the same `items` as `PageOutline` plus the page content and puts the list in a column on the left of the text, where it sticks to the top of the viewport as the reader scrolls, so nothing is covered and the list sits where a reader of a long document looks for it. It appears from 1024px, where there is room beside the content, and below that the layout is a single column. Called with no items it renders the content alone, so a page short enough to need no outline needs no branch at the call site.
|
|
6
|
+
|
|
3
7
|
## 25.1.0
|
|
4
8
|
|
|
5
9
|
- A text document declares how it is presented. `parts: disclosure` in front matter asks for an accordion and `prose`, the default, for articles, so a consumer renders what the document says it is instead of mapping a slug to a layout in its own code. Sections and parts carry an `id` slugged from the heading, with diacritics folded, and the paragraphs before the first section are the document's `lead`.
|
package/README.md
CHANGED
|
@@ -153,7 +153,7 @@ parts: disclosure
|
|
|
153
153
|
|
|
154
154
|
### Page Outline
|
|
155
155
|
|
|
156
|
-
`PageOutline` takes `items` of `{ id, label }` and
|
|
156
|
+
`PageOutline` takes `items` of `{ id, label }`, lists the sections of a page and marks the one being read. `PageOutlineLayout` takes the same `items` and the page content, and lays them out side by side: the list in a column on the left, the content beside it, the column sticking to the top of the viewport while the reader scrolls. A click scrolls smoothly to the section, instantly under reduced motion, moves focus to it so the keyboard carries on from there, and replaces the fragment in the address bar rather than stacking a history entry per jump. The column appears from 1024px, where there is room beside the content; below that the layout is a single column and the list renders nothing, because the page is still read by scrolling. Called with no items the layout renders the content alone.
|
|
157
157
|
|
|
158
158
|
|
|
159
159
|
### Site Footer
|
|
@@ -8,7 +8,11 @@ type PageOutlineProps = {
|
|
|
8
8
|
items: PageOutlineItem[];
|
|
9
9
|
label?: string;
|
|
10
10
|
};
|
|
11
|
+
type PageOutlineLayoutProps = PageOutlineProps & {
|
|
12
|
+
children: ReactNode;
|
|
13
|
+
};
|
|
11
14
|
declare function PageOutline(props: PageOutlineProps): import("react").JSX.Element;
|
|
12
|
-
|
|
13
|
-
export
|
|
15
|
+
declare function PageOutlineLayout(props: PageOutlineLayoutProps): import("react").JSX.Element;
|
|
16
|
+
export { PageOutline, PageOutlineLayout };
|
|
17
|
+
export type { PageOutlineItem, PageOutlineLayoutProps, PageOutlineProps };
|
|
14
18
|
//# sourceMappingURL=outline.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"outline.d.ts","sourceRoot":"","sources":["../../../../src/layout/components/outline.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAKvC,KAAK,eAAe,GAAG;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,SAAS,CAAC;CAClB,CAAC;AAEF,KAAK,gBAAgB,GAAG;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,eAAe,EAAE,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;
|
|
1
|
+
{"version":3,"file":"outline.d.ts","sourceRoot":"","sources":["../../../../src/layout/components/outline.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAKvC,KAAK,eAAe,GAAG;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,SAAS,CAAC;CAClB,CAAC;AAEF,KAAK,gBAAgB,GAAG;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,eAAe,EAAE,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,KAAK,sBAAsB,GAAG,gBAAgB,GAAG;IAC/C,QAAQ,EAAE,SAAS,CAAC;CACrB,CAAC;AA8DF,iBAAS,WAAW,CAAC,KAAK,EAAE,gBAAgB,+BA2B3C;AAED,iBAAS,iBAAiB,CAAC,KAAK,EAAE,sBAAsB,+BAYvD;AAED,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,CAAC;AAC1C,YAAY,EAAE,eAAe,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,CAAC"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { useCallback, useEffect, useRef, useState } from "react";
|
|
3
3
|
import { classNames } from "../../components/index.js";
|
|
4
4
|
import { frontendClassName, frontendElementClass } from "../../namespace/index.js";
|
|
5
5
|
import { motionReduced } from "./../../a11y/attributes.js";
|
|
6
6
|
const block = "page-outline";
|
|
7
|
+
const layoutBlock = "page-outline-layout";
|
|
7
8
|
const ACTIVE_LINE = 0.3;
|
|
8
9
|
function activeId(items) {
|
|
9
10
|
let current = "";
|
|
@@ -72,5 +73,11 @@ function PageOutline(props) {
|
|
|
72
73
|
scrollToSection(item.id);
|
|
73
74
|
}, children: item.label }) }, item.id))) }) }));
|
|
74
75
|
}
|
|
75
|
-
|
|
76
|
+
function PageOutlineLayout(props) {
|
|
77
|
+
const { children, className, items, label } = props;
|
|
78
|
+
if (items.length === 0)
|
|
79
|
+
return _jsx(_Fragment, { children: children });
|
|
80
|
+
return (_jsxs("div", { className: classNames(frontendClassName(layoutBlock), className), children: [_jsx("div", { className: frontendElementClass(layoutBlock, "rail"), children: _jsx(PageOutline, { items: items, label: label }) }), _jsx("div", { className: frontendElementClass(layoutBlock, "content"), children: children })] }));
|
|
81
|
+
}
|
|
82
|
+
export { PageOutline, PageOutlineLayout };
|
|
76
83
|
//# sourceMappingURL=outline.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"outline.js","sourceRoot":"","sources":["../../../../src/layout/components/outline.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjE,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"outline.js","sourceRoot":"","sources":["../../../../src/layout/components/outline.tsx"],"names":[],"mappings":"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"}
|
|
@@ -4,8 +4,10 @@
|
|
|
4
4
|
@return var(#{ns.css-var("shell-outline-" + $name)}, $fallback);
|
|
5
5
|
}
|
|
6
6
|
|
|
7
|
+
$anchor: var(#{ns.css-var("anchor-offset")}, var(#{ns.css-var("layout-top-offset")}, 0px));
|
|
8
|
+
|
|
7
9
|
#{ns.class("page-outline")} {
|
|
8
|
-
display:
|
|
10
|
+
display: block;
|
|
9
11
|
}
|
|
10
12
|
|
|
11
13
|
#{ns.element-class("page-outline", "list")} {
|
|
@@ -22,7 +24,7 @@
|
|
|
22
24
|
|
|
23
25
|
#{ns.element-class("page-outline", "link")} {
|
|
24
26
|
display: block;
|
|
25
|
-
max-width: token("max-width",
|
|
27
|
+
max-width: token("max-width", 100%);
|
|
26
28
|
padding-block: token("link-py", 0.15rem);
|
|
27
29
|
padding-inline-start: token("link-px", 0.75rem);
|
|
28
30
|
border-inline-start: token("link-border", 2px solid transparent);
|
|
@@ -44,13 +46,31 @@
|
|
|
44
46
|
color: token("link-active-color", currentColor);
|
|
45
47
|
}
|
|
46
48
|
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
49
|
+
#{ns.class("page-outline-layout")} {
|
|
50
|
+
display: grid;
|
|
51
|
+
gap: token("layout-gap", var(#{ns.css-var("gap-lg")}, 32px));
|
|
52
|
+
grid-template-columns: minmax(0, 1fr);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
#{ns.element-class("page-outline-layout", "rail")} {
|
|
56
|
+
display: none;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
#{ns.element-class("page-outline-layout", "content")} {
|
|
60
|
+
min-width: 0;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
@media (min-width: 1024px) {
|
|
64
|
+
#{ns.class("page-outline-layout")} {
|
|
65
|
+
grid-template-columns: token("layout-column", 13rem) minmax(0, 1fr);
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
#{ns.element-class("page-outline-layout", "rail")} {
|
|
69
|
+
position: sticky;
|
|
51
70
|
display: block;
|
|
52
|
-
|
|
53
|
-
inset-
|
|
54
|
-
|
|
71
|
+
align-self: start;
|
|
72
|
+
inset-block-start: calc(#{$anchor} + token("offset", 1.5rem));
|
|
73
|
+
overflow-y: auto;
|
|
74
|
+
max-block-size: calc(100vh - #{$anchor} - token("offset", 1.5rem) * 2);
|
|
55
75
|
}
|
|
56
76
|
}
|
|
@@ -8,7 +8,11 @@ type PageOutlineProps = {
|
|
|
8
8
|
items: PageOutlineItem[];
|
|
9
9
|
label?: string;
|
|
10
10
|
};
|
|
11
|
+
type PageOutlineLayoutProps = PageOutlineProps & {
|
|
12
|
+
children: ReactNode;
|
|
13
|
+
};
|
|
11
14
|
declare function PageOutline(props: PageOutlineProps): import("react").JSX.Element;
|
|
12
|
-
|
|
13
|
-
export
|
|
15
|
+
declare function PageOutlineLayout(props: PageOutlineLayoutProps): import("react").JSX.Element;
|
|
16
|
+
export { PageOutline, PageOutlineLayout };
|
|
17
|
+
export type { PageOutlineItem, PageOutlineLayoutProps, PageOutlineProps };
|
|
14
18
|
//# sourceMappingURL=outline.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"outline.d.ts","sourceRoot":"","sources":["../../../../src/layout/components/outline.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAKvC,KAAK,eAAe,GAAG;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,SAAS,CAAC;CAClB,CAAC;AAEF,KAAK,gBAAgB,GAAG;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,eAAe,EAAE,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;
|
|
1
|
+
{"version":3,"file":"outline.d.ts","sourceRoot":"","sources":["../../../../src/layout/components/outline.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAKvC,KAAK,eAAe,GAAG;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,SAAS,CAAC;CAClB,CAAC;AAEF,KAAK,gBAAgB,GAAG;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,eAAe,EAAE,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,KAAK,sBAAsB,GAAG,gBAAgB,GAAG;IAC/C,QAAQ,EAAE,SAAS,CAAC;CACrB,CAAC;AA8DF,iBAAS,WAAW,CAAC,KAAK,EAAE,gBAAgB,+BA2B3C;AAED,iBAAS,iBAAiB,CAAC,KAAK,EAAE,sBAAsB,+BAYvD;AAED,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,CAAC;AAC1C,YAAY,EAAE,eAAe,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,CAAC"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { useCallback, useEffect, useRef, useState } from "react";
|
|
3
3
|
import { classNames } from "../../../components/index.js";
|
|
4
4
|
import { frontendClassName, frontendElementClass } from "../../../namespace/index.js";
|
|
5
5
|
import { motionReduced } from "./../../a11y/attributes.js";
|
|
6
6
|
const block = "page-outline";
|
|
7
|
+
const layoutBlock = "page-outline-layout";
|
|
7
8
|
const ACTIVE_LINE = 0.3;
|
|
8
9
|
function activeId(items) {
|
|
9
10
|
let current = "";
|
|
@@ -72,5 +73,11 @@ function PageOutline(props) {
|
|
|
72
73
|
scrollToSection(item.id);
|
|
73
74
|
}, children: item.label }) }, item.id))) }) }));
|
|
74
75
|
}
|
|
75
|
-
|
|
76
|
+
function PageOutlineLayout(props) {
|
|
77
|
+
const { children, className, items, label } = props;
|
|
78
|
+
if (items.length === 0)
|
|
79
|
+
return _jsx(_Fragment, { children: children });
|
|
80
|
+
return (_jsxs("div", { className: classNames(frontendClassName(layoutBlock), className), children: [_jsx("div", { className: frontendElementClass(layoutBlock, "rail"), children: _jsx(PageOutline, { items: items, label: label }) }), _jsx("div", { className: frontendElementClass(layoutBlock, "content"), children: children })] }));
|
|
81
|
+
}
|
|
82
|
+
export { PageOutline, PageOutlineLayout };
|
|
76
83
|
//# sourceMappingURL=outline.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"outline.js","sourceRoot":"","sources":["../../../../src/layout/components/outline.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjE,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"outline.js","sourceRoot":"","sources":["../../../../src/layout/components/outline.tsx"],"names":[],"mappings":"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"}
|