@xyd-js/components 0.1.0-xyd.7 → 0.1.0-xyd.8
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 +6 -0
- package/LICENSE +21 -0
- package/dist/CTABanner-4FVIoaTR.js +2 -0
- package/dist/CTABanner-4FVIoaTR.js.map +1 -0
- package/dist/CTABanner-C6afsXoE.js +2 -0
- package/dist/CTABanner-C6afsXoE.js.map +1 -0
- package/dist/CTABanner-CEKs-Hb-.js +2 -0
- package/dist/CTABanner-CEKs-Hb-.js.map +1 -0
- package/dist/CTABanner-CUNcTr6s.js +2 -0
- package/dist/CTABanner-CUNcTr6s.js.map +1 -0
- package/dist/CTABanner-D02aIAsD.js +2 -0
- package/dist/CTABanner-D02aIAsD.js.map +1 -0
- package/dist/CTABanner-Dm3tUG3I.js +2 -0
- package/dist/CTABanner-Dm3tUG3I.js.map +1 -0
- package/dist/CTABanner-MCOcVowa.js +2 -0
- package/dist/CTABanner-MCOcVowa.js.map +1 -0
- package/dist/CTABanner-X6K49gSr.js +2 -0
- package/dist/CTABanner-X6K49gSr.js.map +1 -0
- package/dist/CodeSample-B9VUhTKF.js +2 -0
- package/dist/CodeSample-B9VUhTKF.js.map +1 -0
- package/dist/CodeSample-BSXeFy0x.js +2 -0
- package/dist/CodeSample-BSXeFy0x.js.map +1 -0
- package/dist/CodeSample-BwP208sQ.js +2 -0
- package/dist/CodeSample-BwP208sQ.js.map +1 -0
- package/dist/CodeSample-CUemtj_W.js +2 -0
- package/dist/CodeSample-CUemtj_W.js.map +1 -0
- package/dist/CodeSample-D0iKih-A.js +2 -0
- package/dist/CodeSample-D0iKih-A.js.map +1 -0
- package/dist/CodeSample-D33vTa6M.js +2 -0
- package/dist/CodeSample-D33vTa6M.js.map +1 -0
- package/dist/CodeSample-DUSx2KBt.js +2 -0
- package/dist/CodeSample-DUSx2KBt.js.map +1 -0
- package/dist/CodeSample-P4yxkHPW.js +2 -0
- package/dist/CodeSample-P4yxkHPW.js.map +1 -0
- package/dist/HomeView-ACBdUgyz.js +2 -0
- package/dist/HomeView-ACBdUgyz.js.map +1 -0
- package/dist/HomeView-B0ATNUF1.js +2 -0
- package/dist/HomeView-B0ATNUF1.js.map +1 -0
- package/dist/HomeView-COJrg8Ju.js +2 -0
- package/dist/HomeView-COJrg8Ju.js.map +1 -0
- package/dist/HomeView-Cun4apuy.js +2 -0
- package/dist/HomeView-Cun4apuy.js.map +1 -0
- package/dist/HomeView-D4DXEOOn.js +2 -0
- package/dist/HomeView-D4DXEOOn.js.map +1 -0
- package/dist/HomeView-DaH1PSBB.js +2 -0
- package/dist/HomeView-DaH1PSBB.js.map +1 -0
- package/dist/HomeView-O_lj2c2t.js +2 -0
- package/dist/HomeView-O_lj2c2t.js.map +1 -0
- package/dist/HomeView-_Nu2RcOM.js +2 -0
- package/dist/HomeView-_Nu2RcOM.js.map +1 -0
- package/dist/UnderlineNav-BCyB0G5d.js +2 -0
- package/dist/UnderlineNav-BCyB0G5d.js.map +1 -0
- package/dist/UnderlineNav-BEhDJk0H.js +2 -0
- package/dist/UnderlineNav-BEhDJk0H.js.map +1 -0
- package/dist/UnderlineNav-BqZ2xAp7.js +2 -0
- package/dist/UnderlineNav-BqZ2xAp7.js.map +1 -0
- package/dist/UnderlineNav-C2-4Vyj8.js +2 -0
- package/dist/UnderlineNav-C2-4Vyj8.js.map +1 -0
- package/dist/UnderlineNav-Co08Gykm.js +2 -0
- package/dist/UnderlineNav-Co08Gykm.js.map +1 -0
- package/dist/UnderlineNav-DC3UVmnZ.js +2 -0
- package/dist/UnderlineNav-DC3UVmnZ.js.map +1 -0
- package/dist/UnderlineNav-DsRYwuGB.js +2 -0
- package/dist/UnderlineNav-DsRYwuGB.js.map +1 -0
- package/dist/UnderlineNav-FbclXKUW.js +2 -0
- package/dist/UnderlineNav-FbclXKUW.js.map +1 -0
- package/dist/{_rollupPluginBabelHelpers-BMmCG_qQ.js → _rollupPluginBabelHelpers-BEouSrrZ.js} +2 -2
- package/dist/_rollupPluginBabelHelpers-BEouSrrZ.js.map +1 -0
- package/dist/{_rollupPluginBabelHelpers-DsEzE6Ab.js → _rollupPluginBabelHelpers-BHehKRBq.js} +2 -2
- package/dist/_rollupPluginBabelHelpers-BHehKRBq.js.map +1 -0
- package/dist/_rollupPluginBabelHelpers-Bunpz22T.js +2 -0
- package/dist/_rollupPluginBabelHelpers-Bunpz22T.js.map +1 -0
- package/dist/_rollupPluginBabelHelpers-CVblpRvU.js +2 -0
- package/dist/_rollupPluginBabelHelpers-CVblpRvU.js.map +1 -0
- package/dist/_rollupPluginBabelHelpers-CxmswfqM.js +2 -0
- package/dist/_rollupPluginBabelHelpers-CxmswfqM.js.map +1 -0
- package/dist/_rollupPluginBabelHelpers-DQJTK9EO.js +2 -0
- package/dist/_rollupPluginBabelHelpers-DQJTK9EO.js.map +1 -0
- package/dist/_rollupPluginBabelHelpers-DuRQdJ01.js +2 -0
- package/dist/_rollupPluginBabelHelpers-DuRQdJ01.js.map +1 -0
- package/dist/_rollupPluginBabelHelpers-tRAa4O0f.js +2 -0
- package/dist/_rollupPluginBabelHelpers-tRAa4O0f.js.map +1 -0
- package/dist/brand.d.ts +9 -9
- package/dist/brand.js +1 -1
- package/dist/brand.js.map +1 -1
- package/dist/coder.js +1 -1
- package/dist/content.d.ts +4 -3
- package/dist/content.js +1 -1
- package/dist/content.js.map +1 -1
- package/dist/index-B0FncPxO.js +2 -0
- package/dist/index-B0FncPxO.js.map +1 -0
- package/dist/index-BEm-xkm-.js +2 -0
- package/dist/index-BEm-xkm-.js.map +1 -0
- package/dist/index-BHwtxG27.js +2 -0
- package/dist/index-BHwtxG27.js.map +1 -0
- package/dist/index-BTcmIG47.js +2 -0
- package/dist/index-BTcmIG47.js.map +1 -0
- package/dist/index-CNkHt1r7.js +2 -0
- package/dist/index-CNkHt1r7.js.map +1 -0
- package/dist/index-D0XuyFm7.js +2 -0
- package/dist/index-D0XuyFm7.js.map +1 -0
- package/dist/index-DBspcqWq.js +2 -0
- package/dist/index-DBspcqWq.js.map +1 -0
- package/dist/index-DVBO4gYE.js +2 -0
- package/dist/index-DVBO4gYE.js.map +1 -0
- package/dist/index.css +217 -216
- package/dist/layouts.d.ts +1 -1
- package/dist/layouts.js +1 -1
- package/dist/layouts.js.map +1 -1
- package/dist/pages.js +1 -1
- package/dist/pages.js.map +1 -1
- package/dist/{tslib.es6-DDIOdJiV.js → tslib.es6-BBkx4Se1.js} +1 -1
- package/dist/{tslib.es6-DDIOdJiV.js.map → tslib.es6-BBkx4Se1.js.map} +1 -1
- package/dist/{tslib.es6-DUrRPhZd.js → tslib.es6-BF6ZLEXa.js} +1 -1
- package/dist/{tslib.es6-DUrRPhZd.js.map → tslib.es6-BF6ZLEXa.js.map} +1 -1
- package/dist/tslib.es6-BOZCDgb8.js +2 -0
- package/dist/tslib.es6-BOZCDgb8.js.map +1 -0
- package/dist/tslib.es6-Cjl5tesf.js +2 -0
- package/dist/tslib.es6-Cjl5tesf.js.map +1 -0
- package/dist/tslib.es6-DEH7Dkgy.js +2 -0
- package/dist/tslib.es6-DEH7Dkgy.js.map +1 -0
- package/dist/tslib.es6-DTeJ7dWi.js +2 -0
- package/dist/tslib.es6-DTeJ7dWi.js.map +1 -0
- package/dist/tslib.es6-U9-f6pA7.js +2 -0
- package/dist/tslib.es6-U9-f6pA7.js.map +1 -0
- package/dist/tslib.es6-cb69JjeS.js +2 -0
- package/dist/tslib.es6-cb69JjeS.js.map +1 -0
- package/dist/views.js +1 -1
- package/dist/writer.d.ts +4 -3
- package/dist/writer.js +1 -1
- package/dist/writer.js.map +1 -1
- package/package.json +12 -11
- package/rollup.config.js +20 -1
- package/src/brand/Button/Button.styles.tsx +31 -0
- package/src/brand/Button/Button.tsx +3 -35
- package/src/brand/CTABanner/CTABanner.styles.tsx +82 -0
- package/src/brand/CTABanner/CTABanner.tsx +34 -112
- package/src/brand/Footer/Footer.styles.tsx +21 -0
- package/src/brand/Footer/Footer.tsx +4 -24
- package/src/brand/TODO.md +1 -0
- package/src/coder/Code/Code.styles.tsx +45 -48
- package/src/coder/Code/Code.tsx +8 -8
- package/src/coder/Code/CodeLoader.tsx +2 -2
- package/src/coder/Code/annotations.tsx +1 -1
- package/src/coder/CodeCopy/CodeCopy.styles.tsx +19 -0
- package/src/coder/CodeCopy/CodeCopy.tsx +2 -4
- package/src/coder/CodeTabs/CodeTabs.styles.tsx +101 -97
- package/src/coder/CodeTabs/CodeTabs.tsx +11 -14
- package/src/content/Anchor/Anchor.styles.tsx +5 -0
- package/src/content/Anchor/Anchor.tsx +4 -14
- package/src/content/Content/Content.styles.tsx +9 -0
- package/src/content/Content/Content.tsx +4 -12
- package/src/content/Content.tsx +1 -2
- package/src/content/Subtitle/Subtitle.styles.ts +8 -0
- package/src/content/Subtitle/Subtitle.tsx +1 -10
- package/src/layouts/Layout.styles.tsx +135 -131
- package/src/layouts/Layout.tsx +21 -23
- package/src/layouts/LayoutPrimary/LayoutPrimary.styles.tsx +298 -277
- package/src/layouts/LayoutPrimary/LayoutPrimary.tsx +39 -42
- package/src/pages/HomePage/HomePage.styles.tsx +16 -0
- package/src/pages/HomePage/HomePage.tsx +7 -21
- package/src/pages/TODO.md +1 -0
- package/src/ui/Loader/Loader.styles.tsx +48 -46
- package/src/ui/Loader/Loader.tsx +8 -8
- package/src/ui/TODO.md +2 -0
- package/src/utils/useStyle.ts +19 -0
- package/src/views/HomeView/HomeView.styles.tsx +37 -0
- package/src/views/HomeView/HomeView.tsx +5 -45
- package/src/views/TODO.md +1 -0
- package/src/writer/Badge/Badge.styles.tsx +31 -30
- package/src/writer/Badge/Badge.tsx +40 -9
- package/src/writer/Blockquote/Blockquote.styles.tsx +6 -8
- package/src/writer/Blockquote/Blockquote.tsx +2 -2
- package/src/writer/Breadcrumbs/Breadcrumbs.styles.ts +27 -26
- package/src/writer/Breadcrumbs/Breadcrumbs.tsx +5 -5
- package/src/writer/Callout/Callout.styles.tsx +44 -48
- package/src/writer/Callout/Callout.tsx +5 -5
- package/src/writer/Code/Code.styles.tsx +11 -13
- package/src/writer/Code/Code.tsx +2 -2
- package/src/writer/Details/Details.styles.tsx +101 -90
- package/src/writer/Details/Details.tsx +32 -33
- package/src/writer/GuideCard/GuideCard.styles.tsx +116 -112
- package/src/writer/GuideCard/GuideCard.tsx +19 -19
- package/src/writer/Heading/Heading.styles.tsx +65 -61
- package/src/writer/Heading/Heading.tsx +11 -11
- package/src/writer/Hr/Hr.styles.tsx +3 -5
- package/src/writer/Hr/Hr.tsx +2 -2
- package/src/writer/NavLinks/NavLinks.styles.ts +30 -31
- package/src/writer/NavLinks/NavLinks.tsx +6 -6
- package/src/writer/Pre/Pre.styles.tsx +8 -10
- package/src/writer/Pre/Pre.tsx +2 -2
- package/src/writer/Steps/Steps.styles.tsx +30 -31
- package/src/writer/Steps/Steps.tsx +3 -4
- package/src/writer/Table/Table.styles.tsx +32 -31
- package/src/writer/Table/Table.tsx +5 -5
- package/src/writer/Tabs/Tabs.styles.tsx +60 -63
- package/src/writer/Tabs/Tabs.tsx +11 -16
- package/src/writer/UnderlineNav/UnderlineNav.styles.tsx +44 -42
- package/src/writer/UnderlineNav/UnderlineNav.tsx +5 -5
- package/tsconfig.json +2 -3
- package/dist/CTABanner-BrdYlhnD.js +0 -2
- package/dist/CTABanner-BrdYlhnD.js.map +0 -1
- package/dist/CTABanner-XQNnnpUx.js +0 -2
- package/dist/CTABanner-XQNnnpUx.js.map +0 -1
- package/dist/CodeSample-Cp42Adjc.js +0 -2
- package/dist/CodeSample-Cp42Adjc.js.map +0 -1
- package/dist/CodeSample-DxPp80ID.js +0 -2
- package/dist/CodeSample-DxPp80ID.js.map +0 -1
- package/dist/HomeView-BN9mZXh9.js +0 -2
- package/dist/HomeView-BN9mZXh9.js.map +0 -1
- package/dist/HomeView-BVaaV0uE.js +0 -2
- package/dist/HomeView-BVaaV0uE.js.map +0 -1
- package/dist/UnderlineNav-Bs7Ot9Ch.js +0 -2
- package/dist/UnderlineNav-Bs7Ot9Ch.js.map +0 -1
- package/dist/UnderlineNav-C2aEVraN.js +0 -2
- package/dist/UnderlineNav-C2aEVraN.js.map +0 -1
- package/dist/_rollupPluginBabelHelpers-BMmCG_qQ.js.map +0 -1
- package/dist/_rollupPluginBabelHelpers-DsEzE6Ab.js.map +0 -1
- package/dist/index-BVUz77Tm.js +0 -2
- package/dist/index-BVUz77Tm.js.map +0 -1
- package/dist/index-jxd3nv2J.js +0 -2
- package/dist/index-jxd3nv2J.js.map +0 -1
- package/src/coder/CodeCopy/CodeCopy.style.tsx +0 -21
|
@@ -7,10 +7,7 @@ import {
|
|
|
7
7
|
import {
|
|
8
8
|
CodeCopy,
|
|
9
9
|
} from "../CodeCopy";
|
|
10
|
-
import
|
|
11
|
-
$sample,
|
|
12
|
-
$languages,
|
|
13
|
-
} from "./CodeTabs.styles.tsx"; // TODO: style by highlighted?
|
|
10
|
+
import * as cn from "./CodeTabs.styles"; // TODO: style by highlighted?
|
|
14
11
|
|
|
15
12
|
export interface CodeTabsProps {
|
|
16
13
|
description: string;
|
|
@@ -24,7 +21,7 @@ export function withCodeTabs(PreComponent) {
|
|
|
24
21
|
|
|
25
22
|
return (
|
|
26
23
|
<TabsPrimitive.Root
|
|
27
|
-
className={
|
|
24
|
+
className={cn.CodeTabsHost}
|
|
28
25
|
style={props.highlighted[0]?.style}
|
|
29
26
|
defaultValue={props.highlighted[0]?.meta}
|
|
30
27
|
>
|
|
@@ -39,7 +36,7 @@ export function withCodeTabs(PreComponent) {
|
|
|
39
36
|
style={codeblock?.style || codeblock?.style}
|
|
40
37
|
codeblock={codeblock}
|
|
41
38
|
className={`
|
|
42
|
-
${isSingle &&
|
|
39
|
+
${isSingle && cn.CodeTabsPreSingle}
|
|
43
40
|
`}
|
|
44
41
|
/>
|
|
45
42
|
</TabsPrimitive.Content>
|
|
@@ -58,25 +55,25 @@ function $LanguageTabSwitcher(props: LanguageTabSwitcherProps) {
|
|
|
58
55
|
const isSingle = props.highlighted.length === 1 && !props.description
|
|
59
56
|
|
|
60
57
|
return <div className={`
|
|
61
|
-
${
|
|
62
|
-
${isSingle &&
|
|
58
|
+
${cn.CodeTabsLanguagesHost}
|
|
59
|
+
${isSingle && cn.CodeTabsLanguagesHostSingle}
|
|
63
60
|
`}>
|
|
64
61
|
<$Description description={props.description}/>
|
|
65
62
|
|
|
66
|
-
<TabsPrimitive.List className={
|
|
63
|
+
<TabsPrimitive.List className={cn.CodeTabsLanguagesList}>
|
|
67
64
|
{props.highlighted?.map(({meta}, i) => {
|
|
68
65
|
if (isSingle) {
|
|
69
66
|
return null
|
|
70
67
|
}
|
|
71
|
-
return <TabsPrimitive.Trigger value={meta!} key={i} className={
|
|
68
|
+
return <TabsPrimitive.Trigger value={meta!} key={i} className={cn.CodeTabsLanguagesButton}>
|
|
72
69
|
{meta}
|
|
73
70
|
</TabsPrimitive.Trigger>
|
|
74
71
|
})}
|
|
75
72
|
</TabsPrimitive.List>
|
|
76
73
|
|
|
77
74
|
<div className={`
|
|
78
|
-
${
|
|
79
|
-
${isSingle &&
|
|
75
|
+
${cn.CodeTabsLanguagesCopy}
|
|
76
|
+
${isSingle && cn.CodeTabsLanguagesCopySingle}
|
|
80
77
|
`}>
|
|
81
78
|
{props.highlighted?.map((codeblock, i) => (
|
|
82
79
|
<TabsPrimitive.Content value={codeblock.meta!} asChild key={i}>
|
|
@@ -88,8 +85,8 @@ function $LanguageTabSwitcher(props: LanguageTabSwitcherProps) {
|
|
|
88
85
|
}
|
|
89
86
|
|
|
90
87
|
function $Description(props: { description: string }) {
|
|
91
|
-
return <div className={
|
|
92
|
-
<div className={
|
|
88
|
+
return <div className={cn.CodeTabsLanguagesDescription}>
|
|
89
|
+
<div className={cn.CodeTabsLanguagesDescriptionItem}>
|
|
93
90
|
{props.description}
|
|
94
91
|
</div>
|
|
95
92
|
</div>
|
|
@@ -1,13 +1,6 @@
|
|
|
1
1
|
import React, {forwardRef} from 'react'
|
|
2
2
|
import type {ComponentProps, ReactElement} from 'react'
|
|
3
|
-
|
|
4
|
-
import {css} from "@linaria/core";
|
|
5
|
-
|
|
6
|
-
const $anchor = {
|
|
7
|
-
host: css`
|
|
8
|
-
color: #7051d4;
|
|
9
|
-
`,
|
|
10
|
-
};
|
|
3
|
+
import * as cn from "./Anchor.styles";
|
|
11
4
|
|
|
12
5
|
export type AnchorProps = Omit<ComponentProps<'a'>, 'ref'> & {
|
|
13
6
|
newWindow?: boolean
|
|
@@ -24,11 +17,10 @@ export const Anchor = forwardRef<HTMLAnchorElement, AnchorProps>(function (
|
|
|
24
17
|
return (
|
|
25
18
|
<a
|
|
26
19
|
ref={forwardedRef}
|
|
27
|
-
to={href}
|
|
28
20
|
href={href}
|
|
29
21
|
target="_blank"
|
|
30
22
|
rel="noreferrer"
|
|
31
|
-
className={
|
|
23
|
+
className={cn.AnchorHost}
|
|
32
24
|
>
|
|
33
25
|
{children}
|
|
34
26
|
</a>
|
|
@@ -39,9 +31,8 @@ export const Anchor = forwardRef<HTMLAnchorElement, AnchorProps>(function (
|
|
|
39
31
|
return (
|
|
40
32
|
<a
|
|
41
33
|
ref={forwardedRef}
|
|
42
|
-
to={href}
|
|
43
34
|
href={href}
|
|
44
|
-
className={
|
|
35
|
+
className={cn.AnchorHost}
|
|
45
36
|
>
|
|
46
37
|
{children}
|
|
47
38
|
</a>
|
|
@@ -51,9 +42,8 @@ export const Anchor = forwardRef<HTMLAnchorElement, AnchorProps>(function (
|
|
|
51
42
|
return (
|
|
52
43
|
<a
|
|
53
44
|
ref={forwardedRef}
|
|
54
|
-
to={href}
|
|
55
45
|
href={href}
|
|
56
|
-
className={
|
|
46
|
+
className={cn.AnchorHost}
|
|
57
47
|
>
|
|
58
48
|
{children}
|
|
59
49
|
</a>
|
|
@@ -1,21 +1,13 @@
|
|
|
1
1
|
import React from "react"
|
|
2
|
-
import
|
|
3
|
-
|
|
4
|
-
const $content = {
|
|
5
|
-
host: css`
|
|
6
|
-
display: flex;
|
|
7
|
-
flex-direction: column;
|
|
8
|
-
//align-items: center;
|
|
9
|
-
gap: 24px;
|
|
10
|
-
`
|
|
11
|
-
}
|
|
2
|
+
import * as cn from "./Content.styles";
|
|
12
3
|
|
|
13
4
|
export interface ContentProps {
|
|
14
5
|
children: React.ReactNode
|
|
15
6
|
}
|
|
16
7
|
|
|
17
8
|
export function Content({children}: ContentProps) {
|
|
18
|
-
return <div className={
|
|
9
|
+
return <div className={cn.ContentHost}>
|
|
19
10
|
{children}
|
|
20
11
|
</div>
|
|
21
|
-
}
|
|
12
|
+
}
|
|
13
|
+
|
package/src/content/Content.tsx
CHANGED
|
@@ -1,14 +1,5 @@
|
|
|
1
1
|
import React from "react"
|
|
2
|
-
import
|
|
3
|
-
|
|
4
|
-
const cn = {
|
|
5
|
-
Host: css`
|
|
6
|
-
margin-top: -18px;
|
|
7
|
-
font-size: 18px;
|
|
8
|
-
color: #6e6e80;
|
|
9
|
-
font-weight: 300;
|
|
10
|
-
`
|
|
11
|
-
}
|
|
2
|
+
import * as cn from "./Subtitle.styles";
|
|
12
3
|
|
|
13
4
|
export interface SubtitleProps {
|
|
14
5
|
children: React.ReactNode
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import {css} from "@linaria/core";
|
|
2
2
|
|
|
3
3
|
const globalPageGutter = '8px';
|
|
4
|
-
export const globalHeaderHeight = '
|
|
4
|
+
export const globalHeaderHeight = '40px';
|
|
5
5
|
const globalHeaderWarningHeight = "0px";
|
|
6
6
|
const contentTopSpace = "12px";
|
|
7
7
|
|
|
8
|
-
const globalHeaderHeightWithSub = '
|
|
8
|
+
const globalHeaderHeightWithSub = '94px';
|
|
9
9
|
|
|
10
10
|
const cubicMove = "cubic-bezier(.65, 0, .35, 1)";
|
|
11
11
|
const sidebarWidth = "210px";
|
|
@@ -20,132 +20,136 @@ export const globals = css`
|
|
|
20
20
|
}
|
|
21
21
|
`;
|
|
22
22
|
|
|
23
|
-
export const
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
export const
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
23
|
+
export const LayoutHost = css`
|
|
24
|
+
width: 100%;
|
|
25
|
+
`;
|
|
26
|
+
|
|
27
|
+
export const LayoutHeader = css`
|
|
28
|
+
display: flex;
|
|
29
|
+
justify-content: space-between;
|
|
30
|
+
align-items: center;
|
|
31
|
+
|
|
32
|
+
position: fixed;
|
|
33
|
+
top: ${globalHeaderWarningHeight};
|
|
34
|
+
right: ${globalPageGutter};
|
|
35
|
+
left: ${globalPageGutter};
|
|
36
|
+
|
|
37
|
+
height: ${globalHeaderHeight};
|
|
38
|
+
`;
|
|
39
|
+
|
|
40
|
+
export const LayoutHeaderSub = css`
|
|
41
|
+
flex-direction: column;
|
|
42
|
+
height: ${globalHeaderHeightWithSub};
|
|
43
|
+
transition: transform 200ms;
|
|
44
|
+
`;
|
|
45
|
+
|
|
46
|
+
export const LayoutHeaderHideMain = css`
|
|
47
|
+
transform: translateY(calc(-${globalHeaderHeight} + 3px));
|
|
48
|
+
`;
|
|
49
|
+
|
|
50
|
+
export const LayoutMain = css`
|
|
51
|
+
position: fixed;
|
|
52
|
+
top: calc(${globalHeaderHeight} + ${globalHeaderWarningHeight});
|
|
53
|
+
bottom: ${globalPageGutter};
|
|
54
|
+
left: ${globalPageGutter};
|
|
55
|
+
right: ${globalPageGutter};
|
|
56
|
+
}`;
|
|
57
|
+
|
|
58
|
+
export const LayoutMainSub = css`
|
|
59
|
+
top: calc(${globalHeaderHeightWithSub} + ${globalHeaderWarningHeight});
|
|
60
|
+
transition: top 200ms;
|
|
61
|
+
`;
|
|
62
|
+
|
|
63
|
+
export const LayoutSidebar = css`
|
|
64
|
+
flex-direction: column;
|
|
65
|
+
position: absolute;
|
|
66
|
+
top: 0;
|
|
67
|
+
left: 0;
|
|
68
|
+
bottom: 0;
|
|
69
|
+
right: 0;
|
|
70
|
+
z-index: 101;
|
|
71
|
+
width: ${sidebarWidth};
|
|
72
|
+
border: 0;
|
|
73
|
+
padding: ${contentTopSpace} 0 0;
|
|
74
|
+
overflow: visible;
|
|
75
|
+
background: none;
|
|
76
|
+
border-radius: 0;
|
|
77
|
+
opacity: 1;
|
|
78
|
+
visibility: visible;
|
|
79
|
+
transition: opacity .3s ${cubicMove};
|
|
80
|
+
`;
|
|
81
|
+
|
|
82
|
+
export const PageHost = css`
|
|
83
|
+
position: absolute;
|
|
84
|
+
top: ${contentTopSpace};
|
|
85
|
+
right: 0;
|
|
86
|
+
bottom: 0;
|
|
87
|
+
z-index: 201;
|
|
88
|
+
background: #fff;
|
|
89
|
+
|
|
90
|
+
//border-radius: 8px;
|
|
91
|
+
//border: 1px solid #ececf1;
|
|
92
|
+
|
|
93
|
+
overflow: hidden;
|
|
94
|
+
transition: opacity .3s ${cubicMove};
|
|
95
|
+
|
|
96
|
+
left: ${sidebarWidth};
|
|
97
|
+
`;
|
|
98
|
+
|
|
99
|
+
export const PageScroll = css`
|
|
100
|
+
//position: absolute;
|
|
101
|
+
//top: 0;
|
|
102
|
+
//right: 0;
|
|
103
|
+
//bottom: 0;
|
|
104
|
+
//left: 0;
|
|
105
|
+
//overflow: auto;
|
|
106
|
+
|
|
107
|
+
overflow: scroll;
|
|
108
|
+
height: 100%;
|
|
109
|
+
`;
|
|
110
|
+
|
|
111
|
+
export const PageContainer = css`
|
|
112
|
+
padding: 0;
|
|
113
|
+
width: 100%;
|
|
114
|
+
//position: relative; TODO: unset if during client render?
|
|
115
|
+
min-height: 100%;
|
|
116
|
+
|
|
117
|
+
max-width: 100%;
|
|
118
|
+
margin: 0 auto;
|
|
119
|
+
font-size: 15px;
|
|
120
|
+
line-height: 24px;
|
|
121
|
+
`;
|
|
122
|
+
|
|
123
|
+
export const PageArticleContainer = css`
|
|
124
|
+
width: 980px;
|
|
125
|
+
padding: 40px 56px;
|
|
126
|
+
padding-top: 20px;
|
|
127
|
+
max-width: 100%;
|
|
128
|
+
margin: 0 auto;
|
|
129
|
+
`;
|
|
130
|
+
|
|
131
|
+
export const PageArticleContainerFullWidth = css`
|
|
132
|
+
width: 1200px;
|
|
133
|
+
`;
|
|
134
|
+
|
|
135
|
+
export const ArticleHost = css`
|
|
136
|
+
display: flex;
|
|
137
|
+
gap: 30px;
|
|
138
|
+
width: 100%;
|
|
139
|
+
align-items: flex-start;;
|
|
140
|
+
`;
|
|
141
|
+
|
|
142
|
+
export const ArticleContent = css`
|
|
143
|
+
flex: 1 1 0;
|
|
144
|
+
overflow: hidden;
|
|
145
|
+
`;
|
|
146
|
+
|
|
147
|
+
export const ArticleNav = css`
|
|
148
|
+
position: sticky;
|
|
149
|
+
top: 30px;
|
|
150
|
+
width: 180px;
|
|
151
|
+
margin-top: 0;
|
|
152
|
+
margin-left: 50px;
|
|
153
|
+
padding-left: 16px;
|
|
154
|
+
flex: none;
|
|
155
|
+
`;
|
package/src/layouts/Layout.tsx
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React, {useEffect, useState} from "react"
|
|
2
2
|
|
|
3
|
-
import
|
|
3
|
+
import * as cn from "./Layout.styles"
|
|
4
4
|
|
|
5
5
|
export interface LayoutProps {
|
|
6
6
|
header: React.ReactNode;
|
|
@@ -21,7 +21,7 @@ export function Layout(props: LayoutProps) {
|
|
|
21
21
|
return
|
|
22
22
|
}
|
|
23
23
|
|
|
24
|
-
const checkpoint = parseInt(globalHeaderHeight, 10) / 2
|
|
24
|
+
const checkpoint = parseInt(cn.globalHeaderHeight, 10) / 2
|
|
25
25
|
const diff = scrollTop - controlScrollPos
|
|
26
26
|
const reversePosDiff = Math.abs(scrollTop - controlScrollPos)
|
|
27
27
|
|
|
@@ -61,44 +61,42 @@ export function Layout(props: LayoutProps) {
|
|
|
61
61
|
return
|
|
62
62
|
}
|
|
63
63
|
|
|
64
|
-
document.querySelector(`.${
|
|
65
|
-
document.querySelector(`.${
|
|
64
|
+
document.querySelector(`.${cn.PageScroll}`)?.addEventListener("scroll", onScroll)
|
|
65
|
+
document.querySelector(`.${cn.PageScroll}`)?.addEventListener("scrollend", onScrollFinish)
|
|
66
66
|
|
|
67
67
|
return () => {
|
|
68
|
-
document.querySelector(`.${
|
|
69
|
-
document.querySelector(`.${
|
|
68
|
+
document.querySelector(`.${cn.PageScroll}`)?.removeEventListener("scroll", onScroll)
|
|
69
|
+
document.querySelector(`.${cn.PageScroll}`)?.removeEventListener("scrollend", onScrollFinish)
|
|
70
70
|
}
|
|
71
71
|
}, []);
|
|
72
72
|
|
|
73
|
-
return <div className={
|
|
73
|
+
return <div className={cn.LayoutHost}>
|
|
74
74
|
<Layout.Header className={`
|
|
75
|
-
${props.subheader &&
|
|
76
|
-
${hideMainHeader &&
|
|
75
|
+
${props.subheader && cn.LayoutHeaderSub}
|
|
76
|
+
${hideMainHeader && cn.LayoutHeaderHideMain}
|
|
77
77
|
`}>
|
|
78
78
|
{props.header}
|
|
79
79
|
</Layout.Header>
|
|
80
80
|
<main className={`
|
|
81
|
-
${
|
|
82
|
-
${!hideMainHeader && props.subheader &&
|
|
81
|
+
${cn.LayoutMain}
|
|
82
|
+
${!hideMainHeader && props.subheader && cn.LayoutMainSub}
|
|
83
83
|
`}>
|
|
84
|
-
<aside className={
|
|
84
|
+
<aside className={cn.LayoutSidebar}>
|
|
85
85
|
{props.aside}
|
|
86
86
|
</aside>
|
|
87
|
-
<div className={
|
|
88
|
-
<div className={
|
|
89
|
-
<div className={
|
|
87
|
+
<div className={cn.PageHost}>
|
|
88
|
+
<div className={cn.PageScroll}>
|
|
89
|
+
<div className={cn.PageContainer}>
|
|
90
90
|
<div className={`
|
|
91
|
-
${
|
|
92
|
-
${props.kind == "fullwidth" &&
|
|
91
|
+
${cn.PageArticleContainer}
|
|
92
|
+
${props.kind == "fullwidth" && cn.PageArticleContainerFullWidth}
|
|
93
93
|
`}>
|
|
94
|
-
<article className={
|
|
95
|
-
<section className={
|
|
94
|
+
<article className={cn.ArticleHost}>
|
|
95
|
+
<section className={cn.ArticleContent}>
|
|
96
96
|
{props.content}
|
|
97
97
|
</section>
|
|
98
98
|
{
|
|
99
|
-
props.contentNav && <nav className={
|
|
100
|
-
${$article.nav}
|
|
101
|
-
`}>
|
|
99
|
+
props.contentNav && <nav className={cn.ArticleNav}>
|
|
102
100
|
{props.contentNav}
|
|
103
101
|
</nav>
|
|
104
102
|
}
|
|
@@ -113,7 +111,7 @@ export function Layout(props: LayoutProps) {
|
|
|
113
111
|
|
|
114
112
|
Layout.Header = function LayoutHeader({className, children}: { className?: string, children: React.ReactNode }) {
|
|
115
113
|
return <header className={`
|
|
116
|
-
${
|
|
114
|
+
${cn.LayoutHeader}
|
|
117
115
|
${className}
|
|
118
116
|
`}>
|
|
119
117
|
{children}
|