@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
@@ -1,127 +1,49 @@
1
- import React from "react"
2
- import {css} from "@linaria/core";
1
+ import React from "react";
2
+ import * as cn from "./CTABanner.styles";
3
3
 
4
- const $banner = {
5
- host: css`
6
- padding: 20px;
7
- `,
8
- container: css`
9
- display: flex;
10
- align-items: center;
11
- justify-content: center;
12
- gap: 80px;
13
- `,
14
- hero: css`
15
- display: flex;
16
- align-items: center;
17
- justify-content: center;
18
- flex-direction: column;
19
- gap: 40px;
20
- `,
21
- headingEffect: css`
22
- display: flex;
23
- align-items: center;
24
- justify-content: center;
25
- flex-direction: column;
26
-
27
- background: -webkit-linear-gradient(
28
- 120deg,
29
- var(--headingEffect-color-tertiary) 20%,
30
- var(--headingEffect-color-tertiary) 30%,
31
- var(--headingEffect-color-secondary) 60%,
32
- var(--headingEffect-color-primary) 75%,
33
- var(--headingEffect-color-primary) 85%
34
- );
35
- background-clip: text;
36
- -webkit-text-fill-color: transparent;
37
- animation: wave 5s infinite;
38
- background-size: 200% 200%;
39
- background-position: 50% 50%; // Start with all colors visible
4
+ export interface CTABannerProps {
5
+ children: React.ReactNode;
6
+ }
40
7
 
41
- @keyframes wave {
42
- 0% {
43
- background-position: 50% 50%;
44
- }
45
- 50% {
46
- background-position: 0% 50%;
47
- }
48
- 100% {
49
- background-position: 50% 50%;
50
- }
51
- }
52
- `
8
+ export interface CTABannerHeadingProps {
9
+ title: string;
10
+ subtitle: string;
53
11
  }
54
12
 
55
- export interface CTABannerProps {
56
- children: React.ReactNode
13
+ export interface CTABannerButtonGroupProps {
14
+ children: React.ReactNode;
57
15
  }
58
16
 
59
17
  export function CTABanner({children}: CTABannerProps) {
60
- return <div className={$banner.host}>
61
- <div className={$banner.container}>
62
- <div className={$banner.hero}>
63
- {children}
18
+ return (
19
+ <div className={cn.CTABannerHost}>
20
+ <div className={cn.CTABannerContainer}>
21
+ <div className={cn.CTABannerHero}>
22
+ {children}
23
+ </div>
64
24
  </div>
65
25
  </div>
66
- </div>
67
- }
68
-
69
- const $heading = {
70
- host: css`
71
- display: flex;
72
- align-items: center;
73
- justify-content: center;
74
- flex-direction: column;
75
- `,
76
- title: css`
77
- font-size: 76px;
78
- font-weight: 900;
79
- text-align: center;
80
- letter-spacing: 3px;
81
- margin: 0;
82
- `,
83
- subtitle: css`
84
- color: #3c3c43;
85
- font-size: 46px;
86
- font-weight: 600;
87
- text-align: center;
88
- `
26
+ );
89
27
  }
90
28
 
91
- export interface CTABannerHeadingProps {
92
- title: string
93
- subtitle: string | React.ReactNode
94
- headingEffect?: boolean
95
- }
96
-
97
- CTABanner.Heading = function CTABannerHeading({title, subtitle, headingEffect}: CTABannerHeadingProps) {
98
- return <div className={$heading.host}>
99
- <h1 className={$heading.title}>
100
- {
101
- headingEffect
102
- ? <span className={$banner.headingEffect}>
103
- {title}
104
- </span>
105
- : title
106
- }
107
- </h1>
108
- <p className={$heading.subtitle}>
109
- {subtitle}
110
- </p>
111
- </div>
29
+ function Heading({title, subtitle}: CTABannerHeadingProps) {
30
+ return (
31
+ <div className={cn.CTABannerHeadingHost}>
32
+ <div className={cn.CTABannerHeadingEffect}>
33
+ <h1 className={cn.CTABannerHeadingTitle}>{title}</h1>
34
+ </div>
35
+ <h2 className={cn.CTABannerHeadingSubtitle}>{subtitle}</h2>
36
+ </div>
37
+ );
112
38
  }
113
39
 
114
- const $btnGroup = {
115
- host: css`
116
- display: flex;
117
- align-items: center;
118
- justify-content: center;
119
- gap: 10px;
120
- `
40
+ function ButtonGroup({children}: CTABannerButtonGroupProps) {
41
+ return (
42
+ <div className={cn.CTABannerButtonGroupHost}>
43
+ {children}
44
+ </div>
45
+ );
121
46
  }
122
47
 
123
- CTABanner.ButtonGroup = function CTABannerButtonGroup({children}) {
124
- return <div className={$btnGroup.host}>
125
- {children}
126
- </div>
127
- }
48
+ CTABanner.Heading = Heading;
49
+ CTABanner.ButtonGroup = ButtonGroup;
@@ -0,0 +1,21 @@
1
+ import {css} from "@linaria/core";
2
+
3
+ export const FooterHost = css`
4
+ position: relative;
5
+ border-top: 1px solid #f0f0f0;
6
+ padding: 32px;
7
+ background-color: #fff;
8
+ `;
9
+
10
+ export const FooterContainer = css`
11
+ margin: 0 auto;
12
+ max-width: 1200px;
13
+ text-align: center;
14
+ `;
15
+
16
+ export const FooterTextContainer = css`
17
+ line-height: 24px;
18
+ font-size: 14px;
19
+ font-weight: 500;
20
+ color: rgba(60, 60, 67, .78);
21
+ `;
@@ -1,34 +1,14 @@
1
1
  import React from "react";
2
- import {css} from "@linaria/core";
3
-
4
- const $footer = {
5
- host: css`
6
- position: relative;
7
- border-top: 1px solid #f0f0f0;
8
- padding: 32px;
9
- background-color: #fff;
10
- `,
11
- container: css`
12
- margin: 0 auto;
13
- max-width: 1200px;
14
- text-align: center;
15
- `,
16
- textContainer: css`
17
- line-height: 24px;
18
- font-size: 14px;
19
- font-weight: 500;
20
- color: rgba(60, 60, 67, .78);
21
- `
22
- }
2
+ import * as cn from "./Footer.styles";
23
3
 
24
4
  export interface FooterProps {
25
5
  children?: React.ReactNode
26
6
  }
27
7
 
28
8
  export function Footer({children}: FooterProps) {
29
- return <footer className={$footer.host}>
30
- <div className={$footer.container}>
31
- <div className={$footer.textContainer}>
9
+ return <footer className={cn.FooterHost}>
10
+ <div className={cn.FooterContainer}>
11
+ <div className={cn.FooterTextContainer}>
32
12
  {children}
33
13
  </div>
34
14
  </div>
@@ -0,0 +1 @@
1
+ DELETE `brand`
@@ -1,50 +1,47 @@
1
1
  import {css} from "@linaria/core";
2
2
 
3
- export const $mark = {
4
- host: css`
5
- display: flex;
6
- border-left-width: 4px;
7
- border-color: transparent;
8
- margin: 4px 0;
9
- `,
10
- line: css`
11
- flex: 1 1 0%;
12
- `,
13
- $$annotated: css`
14
- border-color: #60A5FA;
15
- background-color: #EEF2FF;
16
- `
17
- }
18
-
19
- export const $lineNumber = {
20
- host: css`
21
- margin: 0 12px 0px 4px;
22
- //text-align: right;
23
- user-select: none;
24
- opacity: 0.5;
25
- `
26
- }
27
-
28
- export const $code = {
29
- host: css`
30
- max-height: 400px;
31
- background: linear-gradient(45deg, rgb(247, 247, 248) 0%, rgb(247, 247, 248) 100%) !important;
32
-
33
- margin: 0;
34
- padding: 8px 16px;
35
-
36
- border-top: 1px solid rgb(236, 236, 241);
37
- border-bottom-left-radius: 10px;
38
- border-bottom-right-radius: 10px;
39
-
40
- font-size: 12px;
41
- line-height: 20px;
42
- white-space: pre-wrap;
43
- word-break: break-all;
44
-
45
- overflow-y: scroll;
46
- `,
47
- host$$full: css`
48
- max-height: 100%;
49
- `
50
- }
3
+ export const MarkHost = css`
4
+ display: flex;
5
+ border-left-width: 4px;
6
+ border-color: transparent;
7
+ margin: 4px 0;
8
+ `;
9
+
10
+ export const MarkLine = css`
11
+ flex: 1 1 0%;
12
+ `;
13
+
14
+ export const MarkAnnotated = css`
15
+ border-color: #60A5FA;
16
+ background-color: #EEF2FF;
17
+ `;
18
+
19
+ export const LineNumberHost = css`
20
+ margin: 0 12px 0px 4px;
21
+ //text-align: right;
22
+ user-select: none;
23
+ opacity: 0.5;
24
+ `;
25
+
26
+ export const CodeHost = css`
27
+ max-height: 400px;
28
+ background: linear-gradient(45deg, rgb(247, 247, 248) 0%, rgb(247, 247, 248) 100%) !important;
29
+
30
+ margin: 0;
31
+ padding: 8px 16px;
32
+
33
+ border-top: 1px solid rgb(236, 236, 241);
34
+ border-bottom-left-radius: 10px;
35
+ border-bottom-right-radius: 10px;
36
+
37
+ font-size: 12px;
38
+ line-height: 20px;
39
+ white-space: pre-wrap;
40
+ word-break: break-all;
41
+
42
+ overflow-y: scroll;
43
+ `;
44
+
45
+ export const CodeHostFull = css`
46
+ max-height: 100%;
47
+ `;
@@ -4,8 +4,8 @@ import {InnerLine, Pre} from "codehike/code";
4
4
  import {Theme} from "@code-hike/lighter";
5
5
 
6
6
  import {CodeTheme, type CodeThemeBlockProps} from "../CodeTheme";
7
- import {$lineNumber, $mark, $code} from "./Code.styles.tsx";
8
- import {CodeLoader} from "./CodeLoader.tsx";
7
+ import * as cn from "./Code.styles";
8
+ import {CodeLoader} from "./CodeLoader";
9
9
 
10
10
  export interface CodeProps {
11
11
  codeblocks: CodeThemeBlockProps[];
@@ -30,7 +30,7 @@ Code.LineNumber = function LineNumber(props: any) {
30
30
  <>
31
31
  <span
32
32
  style={{minWidth: `${props.width}ch`}}
33
- className={$lineNumber.host}
33
+ className={cn.LineNumberHost}
34
34
  >
35
35
  {props.lineNumber}
36
36
  </span>
@@ -41,17 +41,17 @@ Code.LineNumber = function LineNumber(props: any) {
41
41
 
42
42
  // TODO: fix any
43
43
  Code.Mark = function Mark(props: any) {
44
- return <div className={`${$mark.host} ${props.annotation && $mark.$$annotated}`}>
44
+ return <div className={`${cn.MarkHost} ${props.annotation && cn.MarkAnnotated}`}>
45
45
  <InnerLine
46
46
  merge={props}
47
- className={$mark.line}
47
+ className={cn.MarkLine}
48
48
  />
49
49
  </div>
50
50
  }
51
51
 
52
52
  // TODO: fix any
53
53
  Code.Bg = function CodeLine(props: any) {
54
- return <span className={`${props.annotation && $mark.$$annotated}`}>
54
+ return <span className={`${props.annotation && cn.MarkAnnotated}`}>
55
55
  {props.children}
56
56
  </span>
57
57
  }
@@ -65,8 +65,8 @@ Code.Pre = function CodePre(props: {
65
65
  ) {
66
66
  return <Pre
67
67
  className={`
68
- ${$code.host}
69
- ${props?.size === "full" && $code.host$$full}
68
+ ${cn.CodeHost}
69
+ ${props?.size === "full" && cn.CodeHostFull}
70
70
  ${props.className}
71
71
  `}
72
72
  style={props.codeblock?.style || props.codeblock?.style}
@@ -1,10 +1,10 @@
1
1
  import React from "react";
2
2
 
3
- import {$code} from "./Code.styles.tsx";
3
+ import * as cn from "./Code.styles";
4
4
  import {Loader} from "../../ui";
5
5
 
6
6
  export function CodeLoader() {
7
- return <div className={$code.host}>
7
+ return <div className={cn.CodeHost}>
8
8
  <Loader/>
9
9
  </div>
10
10
  }
@@ -1,7 +1,7 @@
1
1
  import React from "react";
2
2
  import {AnnotationHandler} from "codehike/code";
3
3
 
4
- import {Code} from "./Code.tsx";
4
+ import {Code} from "./Code";
5
5
 
6
6
  const markAnnotation: AnnotationHandler = {
7
7
  name: "mark",
@@ -0,0 +1,19 @@
1
+ import {css} from "@linaria/core";
2
+
3
+ export const CodeCopyHost = css`
4
+ all: unset;
5
+
6
+ cursor: pointer;
7
+
8
+ display: flex;
9
+ align-items: center;
10
+ justify-content: center;
11
+
12
+ border-radius: 6px;
13
+ padding: 6px;
14
+
15
+ &:hover {
16
+ transition: ease-in 0.1s;
17
+ background: #e3e3eb;
18
+ }
19
+ `;
@@ -1,9 +1,7 @@
1
1
  import React, {useState} from "react"
2
2
  import {Copy, CheckCheck} from "lucide-react"
3
3
 
4
- import {
5
- $copy
6
- } from "./CodeCopy.style"
4
+ import * as cn from "./CodeCopy.styles"
7
5
 
8
6
  export interface CodeCopyProps {
9
7
  text: string
@@ -24,7 +22,7 @@ export function CodeCopy({text}: CodeCopyProps) {
24
22
  <button
25
23
  aria-label="Copy to clipboard"
26
24
  onClick={onClick}
27
- className={$copy.host}
25
+ className={cn.CodeCopyHost}
28
26
  >
29
27
  {copied ? <CheckCheck size={16}/> : <Copy size={16}/>}
30
28
  </button>
@@ -1,100 +1,104 @@
1
1
  import {css} from "@linaria/core";
2
2
 
3
- export const $sample = {
4
- host: css`
5
- overflow: hidden;
6
- min-width: 0;
7
- //flex: 1 1 0;
8
- //max-width: 512px;
9
-
10
- border: 1px solid rgb(236, 236, 241);
11
- border-radius: 16px;
12
- `,
13
- pre$$single: css`
14
- border: none !important; // TODO: bad, find another way - CodeSample another kind?
15
- `
16
- }
17
-
18
- export const $languages = {
19
- host: css`
20
- display: flex;
21
- flex: 1 1 0%;
22
- //padding: 8px 0px;
23
-
24
- background: linear-gradient(45deg, rgb(247, 247, 248) 0%, rgb(247, 247, 248) 100%) !important;
25
-
26
- border-top-right-radius: 10px;
27
- border-top-left-radius: 10px;
28
- border-bottom: 0px;
29
-
30
- min-width: 0;
31
- `,
32
- host$$single: css`
33
- height: 0;
34
- `,
35
- list: css`
36
- display: flex;
37
- flex-grow: 1;
38
- justify-content: end;
39
- gap: 8px;
40
- padding: 0 10px;
41
- `,
42
- button: css`
43
- all: unset;
44
-
45
- cursor: pointer;
46
-
47
- display: flex;
48
- align-items: center;
49
- justify-content: center;
50
-
51
- border-radius: 6px;
52
- padding: 6px;
53
-
54
- font-size: 14px;
55
- color: rgb(53, 55, 64);
56
-
57
- &[data-state="active"] {
58
- color: rgb(112, 81, 212);
59
- border-bottom: 1px solid rgb(112, 81, 212);
60
- border-bottom-left-radius: 0px;
61
- border-bottom-right-radius: 0px;
62
- }
63
-
64
- &:hover {
65
- transition: ease-in 0.1s;
66
- background: #e3e3eb;
67
- }
68
- `,
69
- description: css`
70
- display: flex;
71
- align-items: center;
72
- gap: 4px;
73
-
74
- font-size: 14px;
75
- color: rgb(53, 55, 64);
76
-
77
- margin-left: 4px;
78
- margin-right: 4px;
79
- `,
80
- description$item: css`
81
- display: flex;
82
- padding-left: 16px;
83
- padding-right: 16px;
84
- flex: 1 1 0%;
85
- gap: 16px;
86
- border-radius: 4px;
87
- `,
88
- copy: css`
89
- display: flex;
90
- padding-left: 8px;
91
- padding-right: 8px;
92
- align-items: center;
93
- `,
94
- copy$$single: css`
95
- top: 17px;
96
- position: relative;
97
- right: 5px;
98
- `
99
- }
3
+ export const CodeTabsHost = css`
4
+ overflow: hidden;
5
+ min-width: 0;
6
+ //flex: 1 1 0;
7
+ //max-width: 512px;
8
+
9
+ border: 1px solid rgb(236, 236, 241);
10
+ border-radius: 16px;
11
+ `;
12
+
13
+ export const CodeTabsPreSingle = css`
14
+ border: none !important; // TODO: bad, find another way - CodeSample another kind?
15
+ `;
16
+
17
+ export const CodeTabsLanguagesHost = css`
18
+ display: flex;
19
+ flex: 1 1 0%;
20
+ //padding: 8px 0px;
21
+
22
+ background: linear-gradient(45deg, rgb(247, 247, 248) 0%, rgb(247, 247, 248) 100%) !important;
23
+
24
+ border-top-right-radius: 10px;
25
+ border-top-left-radius: 10px;
26
+ border-bottom: 0px;
27
+
28
+ min-width: 0;
29
+ `;
30
+
31
+ export const CodeTabsLanguagesHostSingle = css`
32
+ height: 0;
33
+ `;
34
+
35
+ export const CodeTabsLanguagesList = css`
36
+ display: flex;
37
+ flex-grow: 1;
38
+ justify-content: end;
39
+ gap: 8px;
40
+ padding: 0 10px;
41
+ `;
42
+
43
+ export const CodeTabsLanguagesButton = css`
44
+ all: unset;
45
+
46
+ cursor: pointer;
47
+
48
+ display: flex;
49
+ align-items: center;
50
+ justify-content: center;
51
+
52
+ border-radius: 6px;
53
+ padding: 6px;
54
+
55
+ font-size: 14px;
56
+ color: rgb(53, 55, 64);
57
+
58
+ &[data-state="active"] {
59
+ color: rgb(112, 81, 212);
60
+ border-bottom: 1px solid rgb(112, 81, 212);
61
+ border-bottom-left-radius: 0px;
62
+ border-bottom-right-radius: 0px;
63
+ }
64
+
65
+ &:hover {
66
+ transition: ease-in 0.1s;
67
+ background: #e3e3eb;
68
+ }
69
+ `;
70
+
71
+ export const CodeTabsLanguagesDescription = css`
72
+ display: flex;
73
+ align-items: center;
74
+ gap: 4px;
75
+
76
+ font-size: 14px;
77
+ color: rgb(53, 55, 64);
78
+
79
+ margin-left: 4px;
80
+ margin-right: 4px;
81
+ `;
82
+
83
+ export const CodeTabsLanguagesDescriptionItem = css`
84
+ display: flex;
85
+ padding-left: 16px;
86
+ padding-right: 16px;
87
+ flex: 1 1 0%;
88
+ gap: 16px;
89
+ border-radius: 4px;
90
+ `;
91
+
92
+ export const CodeTabsLanguagesCopy = css`
93
+ display: flex;
94
+ padding-left: 8px;
95
+ padding-right: 8px;
96
+ align-items: center;
97
+ `;
98
+
99
+ export const CodeTabsLanguagesCopySingle = css`
100
+ top: 17px;
101
+ position: relative;
102
+ right: 5px;
103
+ `;
100
104