@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.
Files changed (223) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/LICENSE +21 -0
  3. package/dist/CTABanner-4FVIoaTR.js +2 -0
  4. package/dist/CTABanner-4FVIoaTR.js.map +1 -0
  5. package/dist/CTABanner-C6afsXoE.js +2 -0
  6. package/dist/CTABanner-C6afsXoE.js.map +1 -0
  7. package/dist/CTABanner-CEKs-Hb-.js +2 -0
  8. package/dist/CTABanner-CEKs-Hb-.js.map +1 -0
  9. package/dist/CTABanner-CUNcTr6s.js +2 -0
  10. package/dist/CTABanner-CUNcTr6s.js.map +1 -0
  11. package/dist/CTABanner-D02aIAsD.js +2 -0
  12. package/dist/CTABanner-D02aIAsD.js.map +1 -0
  13. package/dist/CTABanner-Dm3tUG3I.js +2 -0
  14. package/dist/CTABanner-Dm3tUG3I.js.map +1 -0
  15. package/dist/CTABanner-MCOcVowa.js +2 -0
  16. package/dist/CTABanner-MCOcVowa.js.map +1 -0
  17. package/dist/CTABanner-X6K49gSr.js +2 -0
  18. package/dist/CTABanner-X6K49gSr.js.map +1 -0
  19. package/dist/CodeSample-B9VUhTKF.js +2 -0
  20. package/dist/CodeSample-B9VUhTKF.js.map +1 -0
  21. package/dist/CodeSample-BSXeFy0x.js +2 -0
  22. package/dist/CodeSample-BSXeFy0x.js.map +1 -0
  23. package/dist/CodeSample-BwP208sQ.js +2 -0
  24. package/dist/CodeSample-BwP208sQ.js.map +1 -0
  25. package/dist/CodeSample-CUemtj_W.js +2 -0
  26. package/dist/CodeSample-CUemtj_W.js.map +1 -0
  27. package/dist/CodeSample-D0iKih-A.js +2 -0
  28. package/dist/CodeSample-D0iKih-A.js.map +1 -0
  29. package/dist/CodeSample-D33vTa6M.js +2 -0
  30. package/dist/CodeSample-D33vTa6M.js.map +1 -0
  31. package/dist/CodeSample-DUSx2KBt.js +2 -0
  32. package/dist/CodeSample-DUSx2KBt.js.map +1 -0
  33. package/dist/CodeSample-P4yxkHPW.js +2 -0
  34. package/dist/CodeSample-P4yxkHPW.js.map +1 -0
  35. package/dist/HomeView-ACBdUgyz.js +2 -0
  36. package/dist/HomeView-ACBdUgyz.js.map +1 -0
  37. package/dist/HomeView-B0ATNUF1.js +2 -0
  38. package/dist/HomeView-B0ATNUF1.js.map +1 -0
  39. package/dist/HomeView-COJrg8Ju.js +2 -0
  40. package/dist/HomeView-COJrg8Ju.js.map +1 -0
  41. package/dist/HomeView-Cun4apuy.js +2 -0
  42. package/dist/HomeView-Cun4apuy.js.map +1 -0
  43. package/dist/HomeView-D4DXEOOn.js +2 -0
  44. package/dist/HomeView-D4DXEOOn.js.map +1 -0
  45. package/dist/HomeView-DaH1PSBB.js +2 -0
  46. package/dist/HomeView-DaH1PSBB.js.map +1 -0
  47. package/dist/HomeView-O_lj2c2t.js +2 -0
  48. package/dist/HomeView-O_lj2c2t.js.map +1 -0
  49. package/dist/HomeView-_Nu2RcOM.js +2 -0
  50. package/dist/HomeView-_Nu2RcOM.js.map +1 -0
  51. package/dist/UnderlineNav-BCyB0G5d.js +2 -0
  52. package/dist/UnderlineNav-BCyB0G5d.js.map +1 -0
  53. package/dist/UnderlineNav-BEhDJk0H.js +2 -0
  54. package/dist/UnderlineNav-BEhDJk0H.js.map +1 -0
  55. package/dist/UnderlineNav-BqZ2xAp7.js +2 -0
  56. package/dist/UnderlineNav-BqZ2xAp7.js.map +1 -0
  57. package/dist/UnderlineNav-C2-4Vyj8.js +2 -0
  58. package/dist/UnderlineNav-C2-4Vyj8.js.map +1 -0
  59. package/dist/UnderlineNav-Co08Gykm.js +2 -0
  60. package/dist/UnderlineNav-Co08Gykm.js.map +1 -0
  61. package/dist/UnderlineNav-DC3UVmnZ.js +2 -0
  62. package/dist/UnderlineNav-DC3UVmnZ.js.map +1 -0
  63. package/dist/UnderlineNav-DsRYwuGB.js +2 -0
  64. package/dist/UnderlineNav-DsRYwuGB.js.map +1 -0
  65. package/dist/UnderlineNav-FbclXKUW.js +2 -0
  66. package/dist/UnderlineNav-FbclXKUW.js.map +1 -0
  67. package/dist/{_rollupPluginBabelHelpers-BMmCG_qQ.js → _rollupPluginBabelHelpers-BEouSrrZ.js} +2 -2
  68. package/dist/_rollupPluginBabelHelpers-BEouSrrZ.js.map +1 -0
  69. package/dist/{_rollupPluginBabelHelpers-DsEzE6Ab.js → _rollupPluginBabelHelpers-BHehKRBq.js} +2 -2
  70. package/dist/_rollupPluginBabelHelpers-BHehKRBq.js.map +1 -0
  71. package/dist/_rollupPluginBabelHelpers-Bunpz22T.js +2 -0
  72. package/dist/_rollupPluginBabelHelpers-Bunpz22T.js.map +1 -0
  73. package/dist/_rollupPluginBabelHelpers-CVblpRvU.js +2 -0
  74. package/dist/_rollupPluginBabelHelpers-CVblpRvU.js.map +1 -0
  75. package/dist/_rollupPluginBabelHelpers-CxmswfqM.js +2 -0
  76. package/dist/_rollupPluginBabelHelpers-CxmswfqM.js.map +1 -0
  77. package/dist/_rollupPluginBabelHelpers-DQJTK9EO.js +2 -0
  78. package/dist/_rollupPluginBabelHelpers-DQJTK9EO.js.map +1 -0
  79. package/dist/_rollupPluginBabelHelpers-DuRQdJ01.js +2 -0
  80. package/dist/_rollupPluginBabelHelpers-DuRQdJ01.js.map +1 -0
  81. package/dist/_rollupPluginBabelHelpers-tRAa4O0f.js +2 -0
  82. package/dist/_rollupPluginBabelHelpers-tRAa4O0f.js.map +1 -0
  83. package/dist/brand.d.ts +9 -9
  84. package/dist/brand.js +1 -1
  85. package/dist/brand.js.map +1 -1
  86. package/dist/coder.js +1 -1
  87. package/dist/content.d.ts +4 -3
  88. package/dist/content.js +1 -1
  89. package/dist/content.js.map +1 -1
  90. package/dist/index-B0FncPxO.js +2 -0
  91. package/dist/index-B0FncPxO.js.map +1 -0
  92. package/dist/index-BEm-xkm-.js +2 -0
  93. package/dist/index-BEm-xkm-.js.map +1 -0
  94. package/dist/index-BHwtxG27.js +2 -0
  95. package/dist/index-BHwtxG27.js.map +1 -0
  96. package/dist/index-BTcmIG47.js +2 -0
  97. package/dist/index-BTcmIG47.js.map +1 -0
  98. package/dist/index-CNkHt1r7.js +2 -0
  99. package/dist/index-CNkHt1r7.js.map +1 -0
  100. package/dist/index-D0XuyFm7.js +2 -0
  101. package/dist/index-D0XuyFm7.js.map +1 -0
  102. package/dist/index-DBspcqWq.js +2 -0
  103. package/dist/index-DBspcqWq.js.map +1 -0
  104. package/dist/index-DVBO4gYE.js +2 -0
  105. package/dist/index-DVBO4gYE.js.map +1 -0
  106. package/dist/index.css +217 -216
  107. package/dist/layouts.d.ts +1 -1
  108. package/dist/layouts.js +1 -1
  109. package/dist/layouts.js.map +1 -1
  110. package/dist/pages.js +1 -1
  111. package/dist/pages.js.map +1 -1
  112. package/dist/{tslib.es6-DDIOdJiV.js → tslib.es6-BBkx4Se1.js} +1 -1
  113. package/dist/{tslib.es6-DDIOdJiV.js.map → tslib.es6-BBkx4Se1.js.map} +1 -1
  114. package/dist/{tslib.es6-DUrRPhZd.js → tslib.es6-BF6ZLEXa.js} +1 -1
  115. package/dist/{tslib.es6-DUrRPhZd.js.map → tslib.es6-BF6ZLEXa.js.map} +1 -1
  116. package/dist/tslib.es6-BOZCDgb8.js +2 -0
  117. package/dist/tslib.es6-BOZCDgb8.js.map +1 -0
  118. package/dist/tslib.es6-Cjl5tesf.js +2 -0
  119. package/dist/tslib.es6-Cjl5tesf.js.map +1 -0
  120. package/dist/tslib.es6-DEH7Dkgy.js +2 -0
  121. package/dist/tslib.es6-DEH7Dkgy.js.map +1 -0
  122. package/dist/tslib.es6-DTeJ7dWi.js +2 -0
  123. package/dist/tslib.es6-DTeJ7dWi.js.map +1 -0
  124. package/dist/tslib.es6-U9-f6pA7.js +2 -0
  125. package/dist/tslib.es6-U9-f6pA7.js.map +1 -0
  126. package/dist/tslib.es6-cb69JjeS.js +2 -0
  127. package/dist/tslib.es6-cb69JjeS.js.map +1 -0
  128. package/dist/views.js +1 -1
  129. package/dist/writer.d.ts +4 -3
  130. package/dist/writer.js +1 -1
  131. package/dist/writer.js.map +1 -1
  132. package/package.json +12 -11
  133. package/rollup.config.js +20 -1
  134. package/src/brand/Button/Button.styles.tsx +31 -0
  135. package/src/brand/Button/Button.tsx +3 -35
  136. package/src/brand/CTABanner/CTABanner.styles.tsx +82 -0
  137. package/src/brand/CTABanner/CTABanner.tsx +34 -112
  138. package/src/brand/Footer/Footer.styles.tsx +21 -0
  139. package/src/brand/Footer/Footer.tsx +4 -24
  140. package/src/brand/TODO.md +1 -0
  141. package/src/coder/Code/Code.styles.tsx +45 -48
  142. package/src/coder/Code/Code.tsx +8 -8
  143. package/src/coder/Code/CodeLoader.tsx +2 -2
  144. package/src/coder/Code/annotations.tsx +1 -1
  145. package/src/coder/CodeCopy/CodeCopy.styles.tsx +19 -0
  146. package/src/coder/CodeCopy/CodeCopy.tsx +2 -4
  147. package/src/coder/CodeTabs/CodeTabs.styles.tsx +101 -97
  148. package/src/coder/CodeTabs/CodeTabs.tsx +11 -14
  149. package/src/content/Anchor/Anchor.styles.tsx +5 -0
  150. package/src/content/Anchor/Anchor.tsx +4 -14
  151. package/src/content/Content/Content.styles.tsx +9 -0
  152. package/src/content/Content/Content.tsx +4 -12
  153. package/src/content/Content.tsx +1 -2
  154. package/src/content/Subtitle/Subtitle.styles.ts +8 -0
  155. package/src/content/Subtitle/Subtitle.tsx +1 -10
  156. package/src/layouts/Layout.styles.tsx +135 -131
  157. package/src/layouts/Layout.tsx +21 -23
  158. package/src/layouts/LayoutPrimary/LayoutPrimary.styles.tsx +298 -277
  159. package/src/layouts/LayoutPrimary/LayoutPrimary.tsx +39 -42
  160. package/src/pages/HomePage/HomePage.styles.tsx +16 -0
  161. package/src/pages/HomePage/HomePage.tsx +7 -21
  162. package/src/pages/TODO.md +1 -0
  163. package/src/ui/Loader/Loader.styles.tsx +48 -46
  164. package/src/ui/Loader/Loader.tsx +8 -8
  165. package/src/ui/TODO.md +2 -0
  166. package/src/utils/useStyle.ts +19 -0
  167. package/src/views/HomeView/HomeView.styles.tsx +37 -0
  168. package/src/views/HomeView/HomeView.tsx +5 -45
  169. package/src/views/TODO.md +1 -0
  170. package/src/writer/Badge/Badge.styles.tsx +31 -30
  171. package/src/writer/Badge/Badge.tsx +40 -9
  172. package/src/writer/Blockquote/Blockquote.styles.tsx +6 -8
  173. package/src/writer/Blockquote/Blockquote.tsx +2 -2
  174. package/src/writer/Breadcrumbs/Breadcrumbs.styles.ts +27 -26
  175. package/src/writer/Breadcrumbs/Breadcrumbs.tsx +5 -5
  176. package/src/writer/Callout/Callout.styles.tsx +44 -48
  177. package/src/writer/Callout/Callout.tsx +5 -5
  178. package/src/writer/Code/Code.styles.tsx +11 -13
  179. package/src/writer/Code/Code.tsx +2 -2
  180. package/src/writer/Details/Details.styles.tsx +101 -90
  181. package/src/writer/Details/Details.tsx +32 -33
  182. package/src/writer/GuideCard/GuideCard.styles.tsx +116 -112
  183. package/src/writer/GuideCard/GuideCard.tsx +19 -19
  184. package/src/writer/Heading/Heading.styles.tsx +65 -61
  185. package/src/writer/Heading/Heading.tsx +11 -11
  186. package/src/writer/Hr/Hr.styles.tsx +3 -5
  187. package/src/writer/Hr/Hr.tsx +2 -2
  188. package/src/writer/NavLinks/NavLinks.styles.ts +30 -31
  189. package/src/writer/NavLinks/NavLinks.tsx +6 -6
  190. package/src/writer/Pre/Pre.styles.tsx +8 -10
  191. package/src/writer/Pre/Pre.tsx +2 -2
  192. package/src/writer/Steps/Steps.styles.tsx +30 -31
  193. package/src/writer/Steps/Steps.tsx +3 -4
  194. package/src/writer/Table/Table.styles.tsx +32 -31
  195. package/src/writer/Table/Table.tsx +5 -5
  196. package/src/writer/Tabs/Tabs.styles.tsx +60 -63
  197. package/src/writer/Tabs/Tabs.tsx +11 -16
  198. package/src/writer/UnderlineNav/UnderlineNav.styles.tsx +44 -42
  199. package/src/writer/UnderlineNav/UnderlineNav.tsx +5 -5
  200. package/tsconfig.json +2 -3
  201. package/dist/CTABanner-BrdYlhnD.js +0 -2
  202. package/dist/CTABanner-BrdYlhnD.js.map +0 -1
  203. package/dist/CTABanner-XQNnnpUx.js +0 -2
  204. package/dist/CTABanner-XQNnnpUx.js.map +0 -1
  205. package/dist/CodeSample-Cp42Adjc.js +0 -2
  206. package/dist/CodeSample-Cp42Adjc.js.map +0 -1
  207. package/dist/CodeSample-DxPp80ID.js +0 -2
  208. package/dist/CodeSample-DxPp80ID.js.map +0 -1
  209. package/dist/HomeView-BN9mZXh9.js +0 -2
  210. package/dist/HomeView-BN9mZXh9.js.map +0 -1
  211. package/dist/HomeView-BVaaV0uE.js +0 -2
  212. package/dist/HomeView-BVaaV0uE.js.map +0 -1
  213. package/dist/UnderlineNav-Bs7Ot9Ch.js +0 -2
  214. package/dist/UnderlineNav-Bs7Ot9Ch.js.map +0 -1
  215. package/dist/UnderlineNav-C2aEVraN.js +0 -2
  216. package/dist/UnderlineNav-C2aEVraN.js.map +0 -1
  217. package/dist/_rollupPluginBabelHelpers-BMmCG_qQ.js.map +0 -1
  218. package/dist/_rollupPluginBabelHelpers-DsEzE6Ab.js.map +0 -1
  219. package/dist/index-BVUz77Tm.js +0 -2
  220. package/dist/index-BVUz77Tm.js.map +0 -1
  221. package/dist/index-jxd3nv2J.js +0 -2
  222. package/dist/index-jxd3nv2J.js.map +0 -1
  223. 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={$sample.host}
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 && $sample.pre$$single}
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
- ${$languages.host}
62
- ${isSingle && $languages.host$$single}
58
+ ${cn.CodeTabsLanguagesHost}
59
+ ${isSingle && cn.CodeTabsLanguagesHostSingle}
63
60
  `}>
64
61
  <$Description description={props.description}/>
65
62
 
66
- <TabsPrimitive.List className={$languages.list}>
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={$languages.button}>
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
- ${$languages.copy}
79
- ${isSingle && $languages.copy$$single}
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={$languages.description}>
92
- <div className={$languages.description$item}>
88
+ return <div className={cn.CodeTabsLanguagesDescription}>
89
+ <div className={cn.CodeTabsLanguagesDescriptionItem}>
93
90
  {props.description}
94
91
  </div>
95
92
  </div>
@@ -0,0 +1,5 @@
1
+ import {css} from "@linaria/core";
2
+
3
+ export const AnchorHost = css`
4
+ color: #7051d4;
5
+ `;
@@ -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={$anchor.host}
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={$anchor.host}
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={$anchor.host}
46
+ className={cn.AnchorHost}
57
47
  >
58
48
  {children}
59
49
  </a>
@@ -0,0 +1,9 @@
1
+ import {css} from "@linaria/core";
2
+
3
+ export const ContentHost = css`
4
+ display: flex;
5
+ flex-direction: column;
6
+ gap: 24px;
7
+ font-size: 16px;
8
+ line-height: 1.5;
9
+ `;
@@ -1,21 +1,13 @@
1
1
  import React from "react"
2
- import {css} from "@linaria/core";
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={$content.host}>
9
+ return <div className={cn.ContentHost}>
19
10
  {children}
20
11
  </div>
21
- }
12
+ }
13
+
@@ -88,8 +88,7 @@ export function stdContent() {
88
88
  table: TableV2,
89
89
  tr: TableV2.Tr,
90
90
  th: TableV2.Th,
91
- td: TableV2.Td,
92
- td: (props) => <TableV2.Td {...props} >
91
+ td: (props) => <TableV2.Td {...props}>
93
92
  <TableV2.Cell>
94
93
  {props.children}
95
94
  </TableV2.Cell>
@@ -0,0 +1,8 @@
1
+ import {css} from "@linaria/core";
2
+
3
+ export const Host = css`
4
+ margin-top: -18px;
5
+ font-size: 18px;
6
+ color: #6e6e80;
7
+ font-weight: 300;
8
+ `;
@@ -1,14 +1,5 @@
1
1
  import React from "react"
2
- import {css} from "@linaria/core";
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 = '46px';
4
+ export const globalHeaderHeight = '40px';
5
5
  const globalHeaderWarningHeight = "0px";
6
6
  const contentTopSpace = "12px";
7
7
 
8
- const globalHeaderHeightWithSub = '90px';
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 $layout = {
24
- host: css`
25
- width: 100%;
26
- `,
27
- header: 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
- header$$sub: css`
40
- flex-direction: column;
41
- height: ${globalHeaderHeightWithSub};
42
- transition: transform 200ms;
43
- `,
44
- header$$hideMain: css`
45
- transform: translateY(calc(-${globalHeaderHeight} + 3px));
46
- `,
47
- main: css`
48
- position: fixed;
49
- top: calc(${globalHeaderHeight} + ${globalHeaderWarningHeight});
50
- bottom: ${globalPageGutter};
51
- left: ${globalPageGutter};
52
- right: ${globalPageGutter};
53
- }`,
54
- main$$sub: css`
55
- top: calc(${globalHeaderHeightWithSub} + ${globalHeaderWarningHeight});
56
- transition: top 200ms;
57
- `,
58
- sidebar: css`
59
- flex-direction: column;
60
- position: absolute;
61
- top: 0;
62
- left: 0;
63
- bottom: 0;
64
- right: 0;
65
- z-index: 101;
66
- width: ${sidebarWidth};
67
- border: 0;
68
- padding: ${contentTopSpace} 0 0;
69
- overflow: visible;
70
- background: none;
71
- border-radius: 0;
72
- opacity: 1;
73
- visibility: visible;
74
- transition: opacity .3s ${cubicMove};
75
- `,
76
- }
77
-
78
- export const $page = {
79
- host: css`
80
- position: absolute;
81
- top: ${contentTopSpace};
82
- right: 0;
83
- bottom: 0;
84
- z-index: 201;
85
- background: #fff;
86
-
87
- //border-radius: 8px;
88
- //border: 1px solid #ececf1;
89
-
90
- overflow: hidden;
91
- transition: opacity .3s ${cubicMove};
92
-
93
- left: ${sidebarWidth};
94
- `,
95
- scroll: css`
96
- //position: absolute;
97
- //top: 0;
98
- //right: 0;
99
- //bottom: 0;
100
- //left: 0;
101
- //overflow: auto;
102
-
103
- overflow: scroll;
104
- height: 100%;
105
-
106
- `,
107
- container: css`
108
- padding: 0;
109
- width: 100%;
110
- //position: relative; TODO: unset if during client render?
111
- min-height: 100%;
112
-
113
- max-width: 100%;
114
- margin: 0 auto;
115
- font-size: 15px;
116
- line-height: 24px;
117
- `,
118
- articleContainer: css`
119
- width: 980px;
120
- padding: 40px 56px;
121
- padding-top: 20px;
122
- max-width: 100%;
123
- margin: 0 auto;
124
- `,
125
- articleContainer$$fullWidth: css`
126
- width: 1200px;
127
- `,
128
-
129
- }
130
-
131
- export const $article = {
132
- host: css`
133
- display: flex;
134
- gap: 30px;
135
- width: 100%;
136
- align-items: flex-start;;
137
- `,
138
- content: css`
139
- flex: 1 1 0;
140
- overflow: hidden;
141
- `,
142
- nav: css`
143
- position: sticky;
144
- top: 30px;
145
- width: 180px;
146
- margin-top: 0;
147
- margin-left: 50px;
148
- padding-left: 16px;
149
- flex: none;
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
+ `;
@@ -1,6 +1,6 @@
1
1
  import React, {useEffect, useState} from "react"
2
2
 
3
- import {$layout, $page, $article, globalHeaderHeight} from "./Layout.styles"
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(`.${$page.scroll}`)?.addEventListener("scroll", onScroll)
65
- document.querySelector(`.${$page.scroll}`)?.addEventListener("scrollend", onScrollFinish)
64
+ document.querySelector(`.${cn.PageScroll}`)?.addEventListener("scroll", onScroll)
65
+ document.querySelector(`.${cn.PageScroll}`)?.addEventListener("scrollend", onScrollFinish)
66
66
 
67
67
  return () => {
68
- document.querySelector(`.${$page.scroll}`)?.removeEventListener("scroll", onScroll)
69
- document.querySelector(`.${$page.scroll}`)?.removeEventListener("scrollend", onScrollFinish)
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={$layout.host}>
73
+ return <div className={cn.LayoutHost}>
74
74
  <Layout.Header className={`
75
- ${props.subheader && $layout.header$$sub}
76
- ${hideMainHeader && $layout.header$$hideMain}
75
+ ${props.subheader && cn.LayoutHeaderSub}
76
+ ${hideMainHeader && cn.LayoutHeaderHideMain}
77
77
  `}>
78
78
  {props.header}
79
79
  </Layout.Header>
80
80
  <main className={`
81
- ${$layout.main}
82
- ${!hideMainHeader && props.subheader && $layout.main$$sub}
81
+ ${cn.LayoutMain}
82
+ ${!hideMainHeader && props.subheader && cn.LayoutMainSub}
83
83
  `}>
84
- <aside className={$layout.sidebar}>
84
+ <aside className={cn.LayoutSidebar}>
85
85
  {props.aside}
86
86
  </aside>
87
- <div className={$page.host}>
88
- <div className={$page.scroll}>
89
- <div className={$page.container}>
87
+ <div className={cn.PageHost}>
88
+ <div className={cn.PageScroll}>
89
+ <div className={cn.PageContainer}>
90
90
  <div className={`
91
- ${$page.articleContainer}
92
- ${props.kind == "fullwidth" && $page.articleContainer$$fullWidth}
91
+ ${cn.PageArticleContainer}
92
+ ${props.kind == "fullwidth" && cn.PageArticleContainerFullWidth}
93
93
  `}>
94
- <article className={$article.host}>
95
- <section className={$article.content}>
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
- ${$layout.header}
114
+ ${cn.LayoutHeader}
117
115
  ${className}
118
116
  `}>
119
117
  {children}