@xyd-js/components 0.1.0-build.168
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/.idea/git_toolbox_blame.xml +6 -0
- package/.idea/modules.xml +8 -0
- package/.idea/vcs.xml +6 -0
- package/.idea/xyd-components.iml +12 -0
- package/CHANGELOG.md +1369 -0
- package/LICENSE +21 -0
- package/README.md +3 -0
- package/TODO.md +1 -0
- package/coder.ts +1 -0
- package/content.ts +1 -0
- package/dist/Button-BLA2ghHZ.js +2 -0
- package/dist/Button-BLA2ghHZ.js.map +1 -0
- package/dist/Button-BTJ2hIal.js +2 -0
- package/dist/Button-BTJ2hIal.js.map +1 -0
- package/dist/Button-r4BCrEjy.js +2 -0
- package/dist/Button-r4BCrEjy.js.map +1 -0
- package/dist/CodeSample-BZ5tvyWY.js +2 -0
- package/dist/CodeSample-BZ5tvyWY.js.map +1 -0
- package/dist/CodeSample-BqXDbWdi.js +2 -0
- package/dist/CodeSample-BqXDbWdi.js.map +1 -0
- package/dist/CodeSample-Cqv86IdN.js +2 -0
- package/dist/CodeSample-Cqv86IdN.js.map +1 -0
- package/dist/Icon--77MqplU.js +2 -0
- package/dist/Icon--77MqplU.js.map +1 -0
- package/dist/Icon-DbNmvK_Q.js +2 -0
- package/dist/Icon-DbNmvK_Q.js.map +1 -0
- package/dist/Icon-uVIU1LW6.js +2 -0
- package/dist/Icon-uVIU1LW6.js.map +1 -0
- package/dist/PageFirstSlide-BDNmCTiJ.js +2 -0
- package/dist/PageFirstSlide-BDNmCTiJ.js.map +1 -0
- package/dist/PageFirstSlide-BpZ42bEU.js +2 -0
- package/dist/PageFirstSlide-BpZ42bEU.js.map +1 -0
- package/dist/PageFirstSlide-CqxiyK57.js +2 -0
- package/dist/PageFirstSlide-CqxiyK57.js.map +1 -0
- package/dist/TabsAnalytics-B_JYpawG.js +2 -0
- package/dist/TabsAnalytics-B_JYpawG.js.map +1 -0
- package/dist/TabsAnalytics-DAOfTZgv.js +2 -0
- package/dist/TabsAnalytics-DAOfTZgv.js.map +1 -0
- package/dist/TabsAnalytics-Dhyadlbu.js +2 -0
- package/dist/TabsAnalytics-Dhyadlbu.js.map +1 -0
- package/dist/Update-53fEhmjh.js +2 -0
- package/dist/Update-53fEhmjh.js.map +1 -0
- package/dist/Update-CFi6uapq.js +2 -0
- package/dist/Update-CFi6uapq.js.map +1 -0
- package/dist/Update-CiMIOgZi.js +2 -0
- package/dist/Update-CiMIOgZi.js.map +1 -0
- package/dist/VideoGuide-C0K9fFar.js +2 -0
- package/dist/VideoGuide-C0K9fFar.js.map +1 -0
- package/dist/VideoGuide-CJYkuLst.js +2 -0
- package/dist/VideoGuide-CJYkuLst.js.map +1 -0
- package/dist/VideoGuide-DBY-EyxG.js +2 -0
- package/dist/VideoGuide-DBY-EyxG.js.map +1 -0
- package/dist/_rollupPluginBabelHelpers-CvhQFv1t.js +4 -0
- package/dist/_rollupPluginBabelHelpers-CvhQFv1t.js.map +1 -0
- package/dist/_rollupPluginBabelHelpers-DSwDY1Dm.js +4 -0
- package/dist/_rollupPluginBabelHelpers-DSwDY1Dm.js.map +1 -0
- package/dist/_rollupPluginBabelHelpers-Dc-ocx4G.js +4 -0
- package/dist/_rollupPluginBabelHelpers-Dc-ocx4G.js.map +1 -0
- package/dist/coder/themes/classic.css +57 -0
- package/dist/coder/themes/classic.d.ts +96 -0
- package/dist/coder/themes/classic.js +2 -0
- package/dist/coder/themes/classic.js.map +1 -0
- package/dist/coder/themes/cosmo.css +64 -0
- package/dist/coder/themes/cosmo.d.ts +96 -0
- package/dist/coder/themes/cosmo.js +2 -0
- package/dist/coder/themes/cosmo.js.map +1 -0
- package/dist/coder.d.ts +94 -0
- package/dist/coder.js +2 -0
- package/dist/coder.js.map +1 -0
- package/dist/content.d.ts +411 -0
- package/dist/content.js +2 -0
- package/dist/content.js.map +1 -0
- package/dist/index.css +282 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -0
- package/dist/layouts.d.ts +33 -0
- package/dist/layouts.js +2 -0
- package/dist/layouts.js.map +1 -0
- package/dist/pages.d.ts +176 -0
- package/dist/pages.js +2 -0
- package/dist/pages.js.map +1 -0
- package/dist/system.d.ts +45 -0
- package/dist/system.js +2 -0
- package/dist/system.js.map +1 -0
- package/dist/useUXClick-DK3cTAMR.js +2 -0
- package/dist/useUXClick-DK3cTAMR.js.map +1 -0
- package/dist/useUXClick-DO6qBcRy.js +2 -0
- package/dist/useUXClick-DO6qBcRy.js.map +1 -0
- package/dist/useUXClick-NwpsiuK9.js +2 -0
- package/dist/useUXClick-NwpsiuK9.js.map +1 -0
- package/dist/useUXEvents-CJtgGV4R.js +2 -0
- package/dist/useUXEvents-CJtgGV4R.js.map +1 -0
- package/dist/useUXEvents-Cxgl7xb-.js +2 -0
- package/dist/useUXEvents-Cxgl7xb-.js.map +1 -0
- package/dist/useUXEvents-XqAGxoEj.js +2 -0
- package/dist/useUXEvents-XqAGxoEj.js.map +1 -0
- package/dist/useUXScrollDepth-3rk3Z95r.js +2 -0
- package/dist/useUXScrollDepth-3rk3Z95r.js.map +1 -0
- package/dist/useUXScrollDepth-BwK-XOBg.js +2 -0
- package/dist/useUXScrollDepth-BwK-XOBg.js.map +1 -0
- package/dist/useUXScrollDepth-DKre7PBz.js +2 -0
- package/dist/useUXScrollDepth-DKre7PBz.js.map +1 -0
- package/dist/uxsdk.d.ts +53 -0
- package/dist/uxsdk.js +2 -0
- package/dist/uxsdk.js.map +1 -0
- package/dist/views.d.ts +18 -0
- package/dist/views.js +2 -0
- package/dist/views.js.map +1 -0
- package/dist/writer.d.ts +580 -0
- package/dist/writer.js +2 -0
- package/dist/writer.js.map +1 -0
- package/docs/.nojekyll +1 -0
- package/docs/assets/hierarchy.js +1 -0
- package/docs/assets/highlight.css +22 -0
- package/docs/assets/icons.js +18 -0
- package/docs/assets/icons.svg +1 -0
- package/docs/assets/main.js +60 -0
- package/docs/assets/navigation.js +1 -0
- package/docs/assets/search.js +1 -0
- package/docs/assets/style.css +1640 -0
- package/docs/functions/GuideCard.html +6 -0
- package/docs/hierarchy.html +1 -0
- package/docs/index.html +2 -0
- package/docs/interfaces/GuideCardProps.html +18 -0
- package/docs/modules.html +1 -0
- package/index.ts +0 -0
- package/layouts.ts +1 -0
- package/output.txt +13 -0
- package/package.json +81 -0
- package/pages.ts +1 -0
- package/postcss.config.cjs +5 -0
- package/rollup.config.js +195 -0
- package/src/coder/Code/Code.styles.tsx +151 -0
- package/src/coder/Code/Code.tsx +171 -0
- package/src/coder/Code/CodeLoader.tsx +10 -0
- package/src/coder/Code/annotations.tsx +51 -0
- package/src/coder/Code/highlight.ts +208 -0
- package/src/coder/Code/index.ts +16 -0
- package/src/coder/CodeCopy/CodeCopy.styles.tsx +21 -0
- package/src/coder/CodeCopy/CodeCopy.tsx +36 -0
- package/src/coder/CodeCopy/index.ts +7 -0
- package/src/coder/CodeSample/CodeSample.tsx +118 -0
- package/src/coder/CodeSample/CodeSampleAnalytics.tsx +112 -0
- package/src/coder/CodeSample/index.ts +11 -0
- package/src/coder/CodeSample/withLocalStored.tsx +50 -0
- package/src/coder/CodeTabs/CodeTabs.styles.tsx +126 -0
- package/src/coder/CodeTabs/CodeTabs.tsx +128 -0
- package/src/coder/CodeTabs/index.ts +6 -0
- package/src/coder/CodeTheme/CodeTheme.tsx +126 -0
- package/src/coder/CodeTheme/index.ts +7 -0
- package/src/coder/CoderProvider.tsx +26 -0
- package/src/coder/README.md +1 -0
- package/src/coder/hooks/highlight.ts +182 -0
- package/src/coder/index.ts +37 -0
- package/src/coder/themes/classic.css +57 -0
- package/src/coder/themes/classic.ts +270 -0
- package/src/coder/themes/cosmo.css +64 -0
- package/src/coder/themes/cosmo.ts +264 -0
- package/src/content/AppearanceDecorator.styles.tsx +11 -0
- package/src/content/ContentDecoator.styles.tsx +180 -0
- package/src/content/ContentDecorator.tsx +17 -0
- package/src/content/GridDecorator.styles.tsx +86 -0
- package/src/content/GridDecorator.tsx +23 -0
- package/src/content/ReactContent.tsx +671 -0
- package/src/content/TODO.md +1 -0
- package/src/content/index.ts +13 -0
- package/src/kit/Loader/Loader.styles.tsx +53 -0
- package/src/kit/Loader/Loader.tsx +22 -0
- package/src/kit/TODO.md +2 -0
- package/src/kit/index.ts +1 -0
- package/src/layouts/LayoutPrimary/LayoutPrimary.styles.tsx +325 -0
- package/src/layouts/LayoutPrimary/LayoutPrimary.tsx +252 -0
- package/src/layouts/LayoutPrimary/index.ts +3 -0
- package/src/layouts/index.ts +6 -0
- package/src/pages/PageBlogHome/PageBlogHome.styles.tsx +67 -0
- package/src/pages/PageBlogHome/PageBlogHome.tsx +64 -0
- package/src/pages/PageBlogHome/index.ts +3 -0
- package/src/pages/PageBlogHome/types.ts +35 -0
- package/src/pages/PageBlogPost/PageBlogPost.styles.tsx +4 -0
- package/src/pages/PageBlogPost/PageBlogPost.tsx +9 -0
- package/src/pages/PageBlogPost/index.ts +3 -0
- package/src/pages/PageFirstSlide/PageFirstSlide.styles.tsx +134 -0
- package/src/pages/PageFirstSlide/PageFirstSlide.tsx +56 -0
- package/src/pages/PageFirstSlide/index.ts +1 -0
- package/src/pages/PageFirstSlide/types.ts +67 -0
- package/src/pages/PageHome/PageHome.styles.tsx +51 -0
- package/src/pages/PageHome/PageHome.tsx +62 -0
- package/src/pages/PageHome/index.ts +3 -0
- package/src/pages/PageHome/types.ts +79 -0
- package/src/pages/index.ts +7 -0
- package/src/system/Baseline/Baseline.styles.tsx +128 -0
- package/src/system/Baseline/Baseline.tsx +40 -0
- package/src/system/Baseline/bun.svg +1 -0
- package/src/system/Baseline/check.svg +1 -0
- package/src/system/Baseline/index.ts +1 -0
- package/src/system/Baseline/logo.svg +1 -0
- package/src/system/Baseline/node.svg +7 -0
- package/src/system/Baseline/npm.svg +5 -0
- package/src/system/Baseline/pnpm.svg +1 -0
- package/src/system/Footer/Footer.styles.tsx +213 -0
- package/src/system/Footer/Footer.tsx +105 -0
- package/src/system/Footer/index.ts +1 -0
- package/src/system/SearchButton/SearchButton.styles.tsx +89 -0
- package/src/system/SearchButton/SearchButton.tsx +118 -0
- package/src/system/SearchButton/index.ts +1 -0
- package/src/system/index.ts +3 -0
- package/src/utils/useStyle.ts +19 -0
- package/src/uxsdk/const.ts +1 -0
- package/src/uxsdk/index.ts +21 -0
- package/src/uxsdk/useUXClick.ts +21 -0
- package/src/uxsdk/useUXEvents.ts +105 -0
- package/src/uxsdk/useUXScrollDepth.ts +49 -0
- package/src/uxsdk/useUXUnreachableElementTracker.ts +100 -0
- package/src/views/HomeView/HomeView.styles.tsx +37 -0
- package/src/views/HomeView/HomeView.tsx +34 -0
- package/src/views/HomeView/index.ts +3 -0
- package/src/writer/Anchor/Anchor.styles.tsx +26 -0
- package/src/writer/Anchor/Anchor.tsx +51 -0
- package/src/writer/Anchor/index.tsx +1 -0
- package/src/writer/Badge/Badge.styles.tsx +44 -0
- package/src/writer/Badge/Badge.tsx +47 -0
- package/src/writer/Badge/index.ts +7 -0
- package/src/writer/Banner/Banner.styles.tsx +111 -0
- package/src/writer/Banner/Banner.tsx +151 -0
- package/src/writer/Banner/index.ts +1 -0
- package/src/writer/Blockquote/Blockquote.styles.tsx +20 -0
- package/src/writer/Blockquote/Blockquote.tsx +38 -0
- package/src/writer/Blockquote/index.ts +7 -0
- package/src/writer/BlogCard/BlogCard.styles.tsx +4 -0
- package/src/writer/BlogCard/BlogCard.tsx +9 -0
- package/src/writer/BlogCard/index.ts +3 -0
- package/src/writer/Breadcrumbs/Breadcrumbs.styles.ts +24 -0
- package/src/writer/Breadcrumbs/Breadcrumbs.tsx +57 -0
- package/src/writer/Breadcrumbs/index.ts +7 -0
- package/src/writer/Button/Button.styles.tsx +149 -0
- package/src/writer/Button/Button.tsx +82 -0
- package/src/writer/Button/index.ts +2 -0
- package/src/writer/Callout/Callout.styles.tsx +102 -0
- package/src/writer/Callout/Callout.tsx +166 -0
- package/src/writer/Callout/index.tsx +3 -0
- package/src/writer/Card/Card.styles.tsx +110 -0
- package/src/writer/Card/Card.tsx +94 -0
- package/src/writer/Card/index.ts +1 -0
- package/src/writer/Code/Code.styles.tsx +16 -0
- package/src/writer/Code/Code.tsx +16 -0
- package/src/writer/Code/index.ts +3 -0
- package/src/writer/ColorSchemeButton/ColorSchemeButton.tsx +191 -0
- package/src/writer/ColorSchemeButton/index.ts +1 -0
- package/src/writer/Details/Details.styles.tsx +101 -0
- package/src/writer/Details/Details.tsx +168 -0
- package/src/writer/Details/DetailsProps.tsx +34 -0
- package/src/writer/Details/index.ts +6 -0
- package/src/writer/GuideCard/GuideCard.styles.tsx +129 -0
- package/src/writer/GuideCard/GuideCard.tsx +123 -0
- package/src/writer/GuideCard/index.ts +1 -0
- package/src/writer/Heading/Heading.styles.tsx +93 -0
- package/src/writer/Heading/Heading.tsx +123 -0
- package/src/writer/Heading/index.ts +7 -0
- package/src/writer/Hr/Hr.styles.tsx +7 -0
- package/src/writer/Hr/Hr.tsx +10 -0
- package/src/writer/Hr/index.ts +3 -0
- package/src/writer/Icon/Icon.styles.tsx +15 -0
- package/src/writer/Icon/Icon.tsx +99 -0
- package/src/writer/Icon/index.ts +1 -0
- package/src/writer/IconSocial/IconSocial.tsx +107 -0
- package/src/writer/IconSocial/index.ts +1 -0
- package/src/writer/Image/Image.styles.tsx +9 -0
- package/src/writer/Image/Image.tsx +35 -0
- package/src/writer/Image/index.ts +1 -0
- package/src/writer/List/List.styles.tsx +47 -0
- package/src/writer/List/List.tsx +29 -0
- package/src/writer/List/index.ts +4 -0
- package/src/writer/NavLinks/NavLinks.styles.ts +32 -0
- package/src/writer/NavLinks/NavLinks.tsx +95 -0
- package/src/writer/NavLinks/index.ts +7 -0
- package/src/writer/Pre/Pre.styles.tsx +13 -0
- package/src/writer/Pre/Pre.tsx +14 -0
- package/src/writer/Pre/index.ts +3 -0
- package/src/writer/README.md +1 -0
- package/src/writer/Steps/Steps.styles.tsx +91 -0
- package/src/writer/Steps/Steps.tsx +75 -0
- package/src/writer/Steps/index.ts +5 -0
- package/src/writer/Table/Table.styles.tsx +100 -0
- package/src/writer/Table/Table.tsx +158 -0
- package/src/writer/Table/index.ts +3 -0
- package/src/writer/Tabs/Tabs.tsx +67 -0
- package/src/writer/Tabs/TabsAnalytics.tsx +25 -0
- package/src/writer/Tabs/TabsPrimary.styles.tsx +187 -0
- package/src/writer/Tabs/TabsPrimary.tsx +215 -0
- package/src/writer/Tabs/TabsProps.tsx +13 -0
- package/src/writer/Tabs/TabsSecondary.styles.tsx +78 -0
- package/src/writer/Tabs/TabsSecondary.tsx +176 -0
- package/src/writer/Tabs/index.ts +2 -0
- package/src/writer/Tabs/useValueChange.ts +84 -0
- package/src/writer/Text/Text.styles.tsx +66 -0
- package/src/writer/Text/Text.tsx +79 -0
- package/src/writer/Text/index.ts +3 -0
- package/src/writer/TocCard/TocCard.module.css +44 -0
- package/src/writer/TocCard/TocCard.tsx +42 -0
- package/src/writer/TocCard/index.ts +3 -0
- package/src/writer/Update/Update.styles.tsx +33 -0
- package/src/writer/Update/Update.tsx +37 -0
- package/src/writer/Update/index.ts +1 -0
- package/src/writer/VideoGuide/VideoGuide.module.css +105 -0
- package/src/writer/VideoGuide/VideoGuide.tsx +75 -0
- package/src/writer/VideoGuide/index.ts +1 -0
- package/src/writer/index.ts +53 -0
- package/system.ts +1 -0
- package/tsconfig.json +46 -0
- package/types.d.ts +52 -0
- package/uxsdk.ts +1 -0
- package/views.ts +2 -0
- package/writer.ts +1 -0
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
|
|
2
|
+
import { css } from "@linaria/core";
|
|
3
|
+
|
|
4
|
+
import checkUrl from "./check.svg"
|
|
5
|
+
import bunUrl from "./bun.svg"
|
|
6
|
+
import logoUrl from "./logo.svg"
|
|
7
|
+
import pnpmUrl from "./pnpm.svg"
|
|
8
|
+
import nodeUrl from "./node.svg"
|
|
9
|
+
import npmUrl from "./npm.svg"
|
|
10
|
+
|
|
11
|
+
export const BaselineHost = css`
|
|
12
|
+
--baseline-logo-bun: url(${bunUrl});
|
|
13
|
+
--baseline-logo-node: url(${nodeUrl});
|
|
14
|
+
--baseline-logo-npm: url(${npmUrl});
|
|
15
|
+
|
|
16
|
+
--baseline-high-bg: #e6f4ea;
|
|
17
|
+
--baseline-high-engine-bg: #ceead6;
|
|
18
|
+
--baseline-high-img: url(${logoUrl});
|
|
19
|
+
--baseline-high-check: #099949;
|
|
20
|
+
|
|
21
|
+
--baseline-bg: var(--baseline-high-bg);
|
|
22
|
+
--baseline-engine-bg: var(--baseline-high-engine-bg);
|
|
23
|
+
--baseline-img: var(--baseline-high-img);
|
|
24
|
+
--baseline-check: var(--baseline-high-check);
|
|
25
|
+
|
|
26
|
+
--baseline-cross: var(--baseline-limited-cross);
|
|
27
|
+
--feedback-link-icon: var(--icon-primary);
|
|
28
|
+
background: var(--baseline-bg);
|
|
29
|
+
border-radius: .25rem;
|
|
30
|
+
margin: 1rem 0;
|
|
31
|
+
padding-left: 3.8125rem;
|
|
32
|
+
|
|
33
|
+
summary {
|
|
34
|
+
--chevron-size: 0.6875rem;
|
|
35
|
+
--chevron-padding-left: 0.75rem;
|
|
36
|
+
--chevron-padding-right: 1.25rem;
|
|
37
|
+
align-items: center;
|
|
38
|
+
cursor: pointer;
|
|
39
|
+
display: flex;
|
|
40
|
+
flex-wrap: wrap;
|
|
41
|
+
gap: .5rem;
|
|
42
|
+
justify-content: space-between;
|
|
43
|
+
padding: 1rem 0;
|
|
44
|
+
padding-right: calc(var(--chevron-padding-left) + var(--chevron-size) + var(--chevron-padding-right));
|
|
45
|
+
position: relative;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
[part="icon"] {
|
|
49
|
+
--width: 2.3125rem;
|
|
50
|
+
background-image: var(--baseline-img);
|
|
51
|
+
background-position: 50%;
|
|
52
|
+
background-repeat: no-repeat;
|
|
53
|
+
background-size: contain;
|
|
54
|
+
display: block;
|
|
55
|
+
height: 2.25rem;
|
|
56
|
+
left: calc(-.5rem - var(--width));
|
|
57
|
+
position: absolute;
|
|
58
|
+
top: 1rem;
|
|
59
|
+
width: var(--width);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
[part="title"] {
|
|
63
|
+
font-size: 1rem;
|
|
64
|
+
font-weight: 600;
|
|
65
|
+
letter-spacing: 0;
|
|
66
|
+
line-height: 1.5;
|
|
67
|
+
margin: 0;
|
|
68
|
+
padding: .375rem 0;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
[part="compatibility"] {
|
|
72
|
+
display: flex;
|
|
73
|
+
flex-wrap: wrap;
|
|
74
|
+
gap: .5rem;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
[part="tools"] {
|
|
78
|
+
background: var(--baseline-engine-bg);
|
|
79
|
+
border-radius: 2rem;
|
|
80
|
+
display: flex;
|
|
81
|
+
flex-wrap: wrap;
|
|
82
|
+
gap: .5rem;
|
|
83
|
+
padding: .5rem .625rem;
|
|
84
|
+
|
|
85
|
+
[data-tool] {
|
|
86
|
+
display: flex;
|
|
87
|
+
--baseline-tool-image: none;
|
|
88
|
+
}
|
|
89
|
+
[data-tool="bun"] {
|
|
90
|
+
--baseline-tool-image: var(--baseline-logo-bun);
|
|
91
|
+
}
|
|
92
|
+
[data-tool="node"] {
|
|
93
|
+
--baseline-tool-image: var(--baseline-logo-node);
|
|
94
|
+
}
|
|
95
|
+
[data-tool="npm"] {
|
|
96
|
+
--baseline-tool-image: var(--baseline-logo-npm);
|
|
97
|
+
}
|
|
98
|
+
[data-tool="pnpm"] {
|
|
99
|
+
--baseline-tool-image: url(${pnpmUrl});
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
[data-tool]::before {
|
|
103
|
+
background-repeat: no-repeat;
|
|
104
|
+
background-size: contain;
|
|
105
|
+
content: "";
|
|
106
|
+
display: block;
|
|
107
|
+
height: 1.25rem;
|
|
108
|
+
width: 1.25rem;
|
|
109
|
+
background-image: var(--baseline-tool-image);
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
[data-tool]::after {
|
|
113
|
+
background-color: var(--baseline-check);
|
|
114
|
+
mask-image: url(${checkUrl});
|
|
115
|
+
-webkit-mask-image: url(${checkUrl});
|
|
116
|
+
|
|
117
|
+
content: "";
|
|
118
|
+
display: block;
|
|
119
|
+
height: 1.25rem;
|
|
120
|
+
-webkit-mask-repeat: no-repeat;
|
|
121
|
+
mask-repeat: no-repeat;
|
|
122
|
+
-webkit-mask-size: contain;
|
|
123
|
+
mask-size: contain;
|
|
124
|
+
width: 1rem;
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
`;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
|
|
3
|
+
import * as cn from './Baseline.styles';
|
|
4
|
+
|
|
5
|
+
export interface BaselineTool {
|
|
6
|
+
tool: 'bun' | 'node' | 'npm' | 'pnpm' | string
|
|
7
|
+
supported: boolean;
|
|
8
|
+
label?: React.ReactNode;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export interface BaselineProps extends React.HTMLAttributes<HTMLDetailsElement> {
|
|
12
|
+
title: string;
|
|
13
|
+
toolGroups: BaselineTool[][];
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export function Baseline({ title, toolGroups, ...props }: BaselineProps) {
|
|
17
|
+
return (
|
|
18
|
+
<details className={cn.BaselineHost} {...props}>
|
|
19
|
+
<summary>
|
|
20
|
+
<span part="icon" />
|
|
21
|
+
<div part="title">{title}</div>
|
|
22
|
+
<div part="compatibility">
|
|
23
|
+
{toolGroups.map((group, i) => (
|
|
24
|
+
<span part="tools" key={i}>
|
|
25
|
+
{group.map((tool, j) => (
|
|
26
|
+
<span
|
|
27
|
+
key={tool.tool + (tool.label ?? '') + j}
|
|
28
|
+
data-tool={tool.tool}
|
|
29
|
+
data-supported={tool.supported ? true : undefined}
|
|
30
|
+
>
|
|
31
|
+
{tool.label ? tool.label : null}
|
|
32
|
+
</span>
|
|
33
|
+
))}
|
|
34
|
+
</span>
|
|
35
|
+
))}
|
|
36
|
+
</div>
|
|
37
|
+
</summary>
|
|
38
|
+
</details>
|
|
39
|
+
);
|
|
40
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" id="Bun" viewBox="0 0 80 70"><title>Bun Logo</title><path id="Shadow" d="M71.09,20.74c-.16-.17-.33-.34-.5-.5s-.33-.34-.5-.5-.33-.34-.5-.5-.33-.34-.5-.5-.33-.34-.5-.5-.33-.34-.5-.5-.33-.34-.5-.5A26.46,26.46,0,0,1,75.5,35.7c0,16.57-16.82,30.05-37.5,30.05-11.58,0-21.94-4.23-28.83-10.86l.5.5.5.5.5.5.5.5.5.5.5.5.5.5C19.55,65.3,30.14,69.75,42,69.75c20.68,0,37.5-13.48,37.5-30C79.5,32.69,76.46,26,71.09,20.74Z"/><g id="Body"><path id="Background" d="M73,35.7c0,15.21-15.67,27.54-35,27.54S3,50.91,3,35.7C3,26.27,9,17.94,18.22,13S33.18,3,38,3s8.94,4.13,19.78,10C67,17.94,73,26.27,73,35.7Z" style="fill:#fbf0df"/><path id="Bottom_Shadow" data-name="Bottom Shadow" d="M73,35.7a21.67,21.67,0,0,0-.8-5.78c-2.73,33.3-43.35,34.9-59.32,24.94A40,40,0,0,0,38,63.24C57.3,63.24,73,50.89,73,35.7Z" style="fill:#f6dece"/><path id="Light_Shine" data-name="Light Shine" d="M24.53,11.17C29,8.49,34.94,3.46,40.78,3.45A9.29,9.29,0,0,0,38,3c-2.42,0-5,1.25-8.25,3.13-1.13.66-2.3,1.39-3.54,2.15-2.33,1.44-5,3.07-8,4.7C8.69,18.13,3,26.62,3,35.7c0,.4,0,.8,0,1.19C9.06,15.48,20.07,13.85,24.53,11.17Z" style="fill:#fffefc"/><path id="Top" d="M35.12,5.53A16.41,16.41,0,0,1,29.49,18c-.28.25-.06.73.3.59,3.37-1.31,7.92-5.23,6-13.14C35.71,5,35.12,5.12,35.12,5.53Zm2.27,0A16.24,16.24,0,0,1,39,19c-.12.35.31.65.55.36C41.74,16.56,43.65,11,37.93,5,37.64,4.74,37.19,5.14,37.39,5.49Zm2.76-.17A16.42,16.42,0,0,1,47,17.12a.33.33,0,0,0,.65.11c.92-3.49.4-9.44-7.17-12.53C40.08,4.54,39.82,5.08,40.15,5.32ZM21.69,15.76a16.94,16.94,0,0,0,10.47-9c.18-.36.75-.22.66.18-1.73,8-7.52,9.67-11.12,9.45C21.32,16.4,21.33,15.87,21.69,15.76Z" style="fill:#ccbea7;fill-rule:evenodd"/><path id="Outline" d="M38,65.75C17.32,65.75.5,52.27.5,35.7c0-10,6.18-19.33,16.53-24.92,3-1.6,5.57-3.21,7.86-4.62,1.26-.78,2.45-1.51,3.6-2.19C32,1.89,35,.5,38,.5s5.62,1.2,8.9,3.14c1,.57,2,1.19,3.07,1.87,2.49,1.54,5.3,3.28,9,5.27C69.32,16.37,75.5,25.69,75.5,35.7,75.5,52.27,58.68,65.75,38,65.75ZM38,3c-2.42,0-5,1.25-8.25,3.13-1.13.66-2.3,1.39-3.54,2.15-2.33,1.44-5,3.07-8,4.7C8.69,18.13,3,26.62,3,35.7,3,50.89,18.7,63.25,38,63.25S73,50.89,73,35.7C73,26.62,67.31,18.13,57.78,13,54,11,51.05,9.12,48.66,7.64c-1.09-.67-2.09-1.29-3-1.84C42.63,4,40.42,3,38,3Z"/></g><g id="Mouth"><g id="Background-2" data-name="Background"><path d="M45.05,43a8.93,8.93,0,0,1-2.92,4.71,6.81,6.81,0,0,1-4,1.88A6.84,6.84,0,0,1,34,47.71,8.93,8.93,0,0,1,31.12,43a.72.72,0,0,1,.8-.81H44.26A.72.72,0,0,1,45.05,43Z" style="fill:#b71422"/></g><g id="Tongue"><path id="Background-3" data-name="Background" d="M34,47.79a6.91,6.91,0,0,0,4.12,1.9,6.91,6.91,0,0,0,4.11-1.9,10.63,10.63,0,0,0,1-1.07,6.83,6.83,0,0,0-4.9-2.31,6.15,6.15,0,0,0-5,2.78C33.56,47.4,33.76,47.6,34,47.79Z" style="fill:#ff6164"/><path id="Outline-2" data-name="Outline" d="M34.16,47a5.36,5.36,0,0,1,4.19-2.08,6,6,0,0,1,4,1.69c.23-.25.45-.51.66-.77a7,7,0,0,0-4.71-1.93,6.36,6.36,0,0,0-4.89,2.36A9.53,9.53,0,0,0,34.16,47Z"/></g><path id="Outline-3" data-name="Outline" d="M38.09,50.19a7.42,7.42,0,0,1-4.45-2,9.52,9.52,0,0,1-3.11-5.05,1.2,1.2,0,0,1,.26-1,1.41,1.41,0,0,1,1.13-.51H44.26a1.44,1.44,0,0,1,1.13.51,1.19,1.19,0,0,1,.25,1h0a9.52,9.52,0,0,1-3.11,5.05A7.42,7.42,0,0,1,38.09,50.19Zm-6.17-7.4c-.16,0-.2.07-.21.09a8.29,8.29,0,0,0,2.73,4.37A6.23,6.23,0,0,0,38.09,49a6.28,6.28,0,0,0,3.65-1.73,8.3,8.3,0,0,0,2.72-4.37.21.21,0,0,0-.2-.09Z"/></g><g id="Face"><ellipse id="Right_Blush" data-name="Right Blush" cx="53.22" cy="40.18" rx="5.85" ry="3.44" style="fill:#febbd0"/><ellipse id="Left_Bluch" data-name="Left Bluch" cx="22.95" cy="40.18" rx="5.85" ry="3.44" style="fill:#febbd0"/><path id="Eyes" d="M25.7,38.8a5.51,5.51,0,1,0-5.5-5.51A5.51,5.51,0,0,0,25.7,38.8Zm24.77,0A5.51,5.51,0,1,0,45,33.29,5.5,5.5,0,0,0,50.47,38.8Z" style="fill-rule:evenodd"/><path id="Iris" d="M24,33.64a2.07,2.07,0,1,0-2.06-2.07A2.07,2.07,0,0,0,24,33.64Zm24.77,0a2.07,2.07,0,1,0-2.06-2.07A2.07,2.07,0,0,0,48.75,33.64Z" style="fill:#fff;fill-rule:evenodd"/></g></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 79.301 98"><g fill="#099949"><path fill-rule="evenodd" d="M30.3 6a42.82 42.82 0 0 0-26.616 9.226A59.25 59.25 0 0 0 0 10.489 48.787 48.787 0 0 1 30.3 0c27.063 0 49 21.938 49 49s-21.937 49-49 49A48.786 48.786 0 0 1 0 87.511a59.307 59.307 0 0 0 3.684-4.737A42.823 42.823 0 0 0 30.3 92c23.748 0 43-19.252 43-43S54.049 6 30.3 6Z" clip-rule="evenodd"/><path d="M33.78 58.149 53.3 38.827 48.426 34l-19.52 19.322-9.728-9.629L14.3 48.52 28.929 63l4.876-4.827Z"/></g></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {Baseline} from './Baseline';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 111 62"><path d="m86.333 6.2-6.166 6.2 18.5 18.6-18.5 18.6-12.334-12.4-6.166 6.2 18.5 18.6L111 31 86.333 6.2ZM30.833 0 6.167 24.8l6.166 6.2 18.5-18.6 12.334 12.4 6.166-6.2L30.833 0Z" fill="#B9D8BF"/><path d="m80.167 0 6.166 6.2-55.5 55.8L0 31l6.167-6.2 24.666 24.8L80.167 0Z" fill="#148936"/></svg>
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="800px" height="800px" viewBox="-16.5 0 289 289" version="1.1" preserveAspectRatio="xMidYMid">
|
|
2
|
+
<g>
|
|
3
|
+
<path d="M127.999999,288.463771 C124.024844,288.463771 120.314699,287.403728 116.869564,285.548656 L81.6231884,264.612838 C76.32298,261.697724 78.9730854,260.637682 80.5631458,260.107661 C87.7184259,257.72257 89.0434775,257.192547 96.4637688,252.952381 C97.2587979,252.422361 98.3188405,252.687372 99.1138718,253.217392 L126.144927,269.383024 C127.20497,269.913045 128.530021,269.913045 129.325053,269.383024 L235.064182,208.165634 C236.124225,207.635611 236.654245,206.575571 236.654245,205.250519 L236.654245,83.0807467 C236.654245,81.7556929 236.124225,80.6956526 235.064182,80.1656324 L129.325053,19.2132506 C128.26501,18.6832305 126.939959,18.6832305 126.144927,19.2132506 L20.4057954,80.1656324 C19.3457551,80.6956526 18.8157349,82.0207041 18.8157349,83.0807467 L18.8157349,205.250519 C18.8157349,206.31056 19.3457551,207.635611 20.4057954,208.165634 L49.2919247,224.861286 C64.9275364,232.811595 74.7329196,223.536234 74.7329196,214.260871 L74.7329196,93.681159 C74.7329196,92.0910985 76.0579711,90.5010358 77.9130428,90.5010358 L91.4285716,90.5010358 C93.0186343,90.5010358 94.6086948,91.8260873 94.6086948,93.681159 L94.6086948,214.260871 C94.6086948,235.196689 83.2132512,247.387164 63.3374737,247.387164 C57.2422362,247.387164 52.4720502,247.387164 38.9565214,240.761906 L11.1304347,224.861286 C4.24016581,220.886129 5.68434189e-14,213.46584 5.68434189e-14,205.515528 L5.68434189e-14,83.3457557 C5.68434189e-14,75.3954465 4.24016581,67.9751552 11.1304347,64.0000006 L116.869564,2.78260752 C123.494824,-0.927535841 132.505176,-0.927535841 139.130436,2.78260752 L244.869565,64.0000006 C251.759834,67.9751552 256,75.3954465 256,83.3457557 L256,205.515528 C256,213.46584 251.759834,220.886129 244.869565,224.861286 L139.130436,286.078676 C135.685299,287.668739 131.710145,288.463771 127.999999,288.463771 L127.999999,288.463771 Z M160.596274,204.455488 C114.219461,204.455488 104.679089,183.254659 104.679089,165.233955 C104.679089,163.643893 106.004141,162.053832 107.859212,162.053832 L121.639752,162.053832 C123.229813,162.053832 124.554864,163.113872 124.554864,164.703935 C126.674947,178.749484 132.770187,185.639753 160.861283,185.639753 C183.122154,185.639753 192.662526,180.604556 192.662526,168.67909 C192.662526,161.788821 190.012423,156.753624 155.296065,153.308489 C126.409938,150.393375 108.389235,144.033126 108.389235,120.977226 C108.389235,99.5113875 126.409938,86.7908901 156.621119,86.7908901 C190.542443,86.7908901 207.238095,98.4513472 209.358178,123.89234 C209.358178,124.687371 209.093167,125.482403 208.563147,126.277434 C208.033127,126.807454 207.238095,127.337474 206.443064,127.337474 L192.662526,127.337474 C191.337475,127.337474 190.012423,126.277434 189.747412,124.952382 C186.567289,110.376813 178.351966,105.606625 156.621119,105.606625 C132.240165,105.606625 129.325053,114.086957 129.325053,120.447205 C129.325053,128.132506 132.770187,130.5176 165.631471,134.757766 C198.227744,138.997931 213.598344,145.093169 213.598344,167.884058 C213.333333,191.20497 194.252589,204.455488 160.596274,204.455488 L160.596274,204.455488 Z" fill="#000">
|
|
4
|
+
|
|
5
|
+
</path>
|
|
6
|
+
</g>
|
|
7
|
+
</svg>
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
|
|
2
|
+
<svg xmlns="http://www.w3.org/2000/svg" fill="#D40001" width="800px" height="800px" viewBox="0 0 32 32" version="1.1">
|
|
3
|
+
<title>npm</title>
|
|
4
|
+
<path d="M7.415 7.656l17.291 0.024-0.011 17.29h-4.329l0.012-12.974h-4.319l-0.010 12.964h-8.656zM3.207 1.004c-0.002 0-0.003 0-0.005 0-1.214 0-2.198 0.984-2.198 2.198 0 0.002 0 0.004 0 0.006v-0 25.585c0 0.002 0 0.003 0 0.005 0 1.214 0.984 2.198 2.198 2.198 0.002 0 0.004 0 0.006 0h25.585c0.002 0 0.003 0 0.005 0 1.214 0 2.198-0.984 2.198-2.198 0-0.002 0-0.004 0-0.006v0-25.585c0-0.002 0-0.003 0-0.005 0-1.214-0.984-2.198-2.198-2.198-0.002 0-0.004 0-0.006 0h0z"/>
|
|
5
|
+
</svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" preserveAspectRatio="xMidYMid meet" viewBox="76.58987244897958 44 164.00775510204068 164" width="160.01" height="160"><defs><path d="M237.6 95L187.6 95L187.6 45L237.6 45L237.6 95Z" id="arNRoK435"/><path d="M182.59 95L132.59 95L132.59 45L182.59 45L182.59 95Z" id="a3H2WU7Px"/><path d="M127.59 95L77.59 95L77.59 45L127.59 45L127.59 95Z" id="b1DInM56vl"/><path d="M237.6 150L187.6 150L187.6 100L237.6 100L237.6 150Z" id="a7LFlgQIwu"/><path d="M182.59 150L132.59 150L132.59 100L182.59 100L182.59 150Z" id="amwLiZcuo"/><path d="M182.59 205L132.59 205L132.59 155L182.59 155L182.59 205Z" id="f3Peu5RWan"/><path d="M237.6 205L187.6 205L187.6 155L237.6 155L237.6 205Z" id="a6DXBfqPa"/><path d="M127.59 205L77.59 205L77.59 155L127.59 155L127.59 205Z" id="c1GWSTH1z7"/></defs><g><g><use xlink:href="#arNRoK435" opacity="1" fill="#f9ad00" fill-opacity="1"/></g><g><use xlink:href="#a3H2WU7Px" opacity="1" fill="#f9ad00" fill-opacity="1"/></g><g><use xlink:href="#b1DInM56vl" opacity="1" fill="#f9ad00" fill-opacity="1"/></g><g><use xlink:href="#a7LFlgQIwu" opacity="1" fill="#f9ad00" fill-opacity="1"/></g><g><use xlink:href="#amwLiZcuo" opacity="1" fill="#4e4e4e" fill-opacity="1"/></g><g><use xlink:href="#f3Peu5RWan" opacity="1" fill="#4e4e4e" fill-opacity="1"/></g><g><use xlink:href="#a6DXBfqPa" opacity="1" fill="#4e4e4e" fill-opacity="1"/></g><g><use xlink:href="#c1GWSTH1z7" opacity="1" fill="#4e4e4e" fill-opacity="1"/></g></g></svg>
|
|
@@ -0,0 +1,213 @@
|
|
|
1
|
+
import { css } from "@linaria/core";
|
|
2
|
+
|
|
3
|
+
export const Footer = css`
|
|
4
|
+
/* transform: translateY(-100%); */
|
|
5
|
+
|
|
6
|
+
border-top: 1px solid var(--dark32);
|
|
7
|
+
display: flex;
|
|
8
|
+
align-items: center;
|
|
9
|
+
flex-direction: column;
|
|
10
|
+
|
|
11
|
+
p {
|
|
12
|
+
color: var(--text-primary);
|
|
13
|
+
font-weight: bold;
|
|
14
|
+
}
|
|
15
|
+
hr {
|
|
16
|
+
background: var(--dark32);
|
|
17
|
+
width: 100%;
|
|
18
|
+
height: 1px;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
a {
|
|
22
|
+
color: var(--dark48);
|
|
23
|
+
font-weight: var(--xyd-font-weight-medium);
|
|
24
|
+
|
|
25
|
+
&:hover {
|
|
26
|
+
color: var(--dark80);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
[part="container"] {
|
|
31
|
+
display: flex;
|
|
32
|
+
align-items: center;
|
|
33
|
+
flex-direction: column;
|
|
34
|
+
gap: 24px;
|
|
35
|
+
justify-content: space-between;
|
|
36
|
+
max-width: 1050px;
|
|
37
|
+
width: 100%;
|
|
38
|
+
|
|
39
|
+
padding: 100px 25px
|
|
40
|
+
}
|
|
41
|
+
&[data-kind="minimal"] [part="container"] {
|
|
42
|
+
max-width: 100%;
|
|
43
|
+
padding: 20px;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
[part="content"] {
|
|
47
|
+
display: flex;
|
|
48
|
+
flex-direction: row;
|
|
49
|
+
gap: 32px;
|
|
50
|
+
justify-content: space-between;
|
|
51
|
+
width: 100%;
|
|
52
|
+
|
|
53
|
+
@media (max-width: 768px) {
|
|
54
|
+
flex-direction: column;
|
|
55
|
+
gap: 24px;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
[part="first-column"] {
|
|
60
|
+
display: flex;
|
|
61
|
+
height: 24px;
|
|
62
|
+
|
|
63
|
+
img, svg {
|
|
64
|
+
height: 28px;
|
|
65
|
+
width: auto;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
@media (min-width: 1024px) {
|
|
69
|
+
min-width: 140px;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
@media (max-width: 768px) {
|
|
73
|
+
align-self: flex-start;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
[part="columns"] {
|
|
78
|
+
display: grid;
|
|
79
|
+
gap: 32px;
|
|
80
|
+
grid-template-columns: repeat(auto-fill, minmax(0, 1fr));
|
|
81
|
+
flex: 1 1 0%;
|
|
82
|
+
|
|
83
|
+
@media (max-width: 768px) {
|
|
84
|
+
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
85
|
+
gap: 24px;
|
|
86
|
+
width: 100%;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
@media (max-width: 680px) {
|
|
90
|
+
grid-template-columns: repeat(1, minmax(0, 1fr));
|
|
91
|
+
gap: 20px;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
&[data-cols="1"] {
|
|
95
|
+
grid-template-columns: repeat(1, minmax(0, 1fr));
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
&[data-cols="2"] {
|
|
99
|
+
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
100
|
+
|
|
101
|
+
@media (max-width: 680px) {
|
|
102
|
+
grid-template-columns: repeat(1, minmax(0, 1fr));
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
&[data-cols="3"] {
|
|
107
|
+
grid-template-columns: repeat(3, minmax(0, 1fr));
|
|
108
|
+
|
|
109
|
+
@media (max-width: 768px) {
|
|
110
|
+
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
@media (max-width: 680px) {
|
|
114
|
+
grid-template-columns: repeat(1, minmax(0, 1fr));
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
&[data-cols="4"] {
|
|
119
|
+
grid-template-columns: repeat(4, minmax(0, 1fr));
|
|
120
|
+
|
|
121
|
+
@media (max-width: 768px) {
|
|
122
|
+
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
@media (max-width: 680px) {
|
|
126
|
+
grid-template-columns: repeat(1, minmax(0, 1fr));
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
&[data-cols="5"] {
|
|
131
|
+
grid-template-columns: repeat(5, minmax(0, 1fr));
|
|
132
|
+
|
|
133
|
+
@media (max-width: 768px) {
|
|
134
|
+
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
@media (max-width: 680px) {
|
|
138
|
+
grid-template-columns: repeat(1, minmax(0, 1fr));
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
&[data-kind="minimal"] [part="columns"] {
|
|
143
|
+
display: flex;
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
[part="col"] {
|
|
147
|
+
display: flex;
|
|
148
|
+
flex-direction: column;
|
|
149
|
+
align-items: center;
|
|
150
|
+
white-space: nowrap;
|
|
151
|
+
gap: 16px;
|
|
152
|
+
|
|
153
|
+
@media (max-width: 768px) {
|
|
154
|
+
align-items: flex-start;
|
|
155
|
+
white-space: normal;
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
[part="col-items"] {
|
|
160
|
+
display: flex;
|
|
161
|
+
flex-direction: column;
|
|
162
|
+
gap: 16px;
|
|
163
|
+
align-items: flex-start;
|
|
164
|
+
|
|
165
|
+
@media (max-width: 768px) {
|
|
166
|
+
align-items: flex-start;
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
&[data-kind="minimal"] [part="col-items"] {
|
|
170
|
+
flex-direction: row;
|
|
171
|
+
flex-wrap: wrap;
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
[part="social-links"] {
|
|
175
|
+
display: flex;
|
|
176
|
+
gap: 16px;
|
|
177
|
+
justify-content: flex-end;
|
|
178
|
+
flex-wrap: wrap;
|
|
179
|
+
max-width: 492px;
|
|
180
|
+
min-width: 140px;
|
|
181
|
+
|
|
182
|
+
@media (max-width: 768px) {
|
|
183
|
+
justify-content: flex-start;
|
|
184
|
+
max-width: 100%;
|
|
185
|
+
min-width: auto;
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
svg {
|
|
189
|
+
width: 24px;
|
|
190
|
+
height: 24px;
|
|
191
|
+
|
|
192
|
+
color: var(--dark48);
|
|
193
|
+
fill: var(--dark48);
|
|
194
|
+
|
|
195
|
+
&:hover {
|
|
196
|
+
color: var(--dak80);
|
|
197
|
+
fill: var(--dak80);
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
[part="footnote"] {
|
|
203
|
+
display: flex;
|
|
204
|
+
align-items: center;
|
|
205
|
+
justify-content: space-between;
|
|
206
|
+
|
|
207
|
+
@media (max-width: 768px) {
|
|
208
|
+
flex-direction: column;
|
|
209
|
+
gap: 16px;
|
|
210
|
+
align-items: flex-start;
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
`;
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
|
|
3
|
+
import { Button } from "../../writer/Button"
|
|
4
|
+
import * as cn from "./Footer.styles";
|
|
5
|
+
|
|
6
|
+
export interface FooterLinkItemsProps {
|
|
7
|
+
label: string;
|
|
8
|
+
href: string;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export interface FooterProps {
|
|
12
|
+
footnote: React.ReactNode;
|
|
13
|
+
|
|
14
|
+
kind?: "minimal"
|
|
15
|
+
|
|
16
|
+
logo?: React.ReactNode;
|
|
17
|
+
|
|
18
|
+
socials?: {
|
|
19
|
+
logo: React.ReactNode;
|
|
20
|
+
href: string
|
|
21
|
+
}[]
|
|
22
|
+
|
|
23
|
+
links?: {
|
|
24
|
+
header: string;
|
|
25
|
+
items?: FooterLinkItemsProps[]
|
|
26
|
+
}[] | FooterLinkItemsProps[]
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
export function Footer(props: FooterProps) {
|
|
30
|
+
if (props.kind === "minimal") {
|
|
31
|
+
return <Footer.Minimal {...props} />
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
return <footer className={cn.Footer}>
|
|
35
|
+
<div part="container">
|
|
36
|
+
<div part="content">
|
|
37
|
+
{
|
|
38
|
+
props.logo && <div part="first-column">
|
|
39
|
+
{props.logo}
|
|
40
|
+
</div>
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
{props.links?.length && <div part="columns" data-cols={props.links?.length}>
|
|
44
|
+
{props.links?.map((link, index) => (
|
|
45
|
+
<div part="col" key={`${link.header}-${index}`}>
|
|
46
|
+
<div part="col-items">
|
|
47
|
+
<p>{link.header}</p>
|
|
48
|
+
{link.items?.map((item) => (
|
|
49
|
+
<a key={`${item.label}-${index}`} target="_blank" href={item.href}>{item.label}</a>
|
|
50
|
+
))}
|
|
51
|
+
</div>
|
|
52
|
+
</div>
|
|
53
|
+
))}
|
|
54
|
+
</div>}
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
<div part="social-links">
|
|
58
|
+
{props.socials?.map((social, index) => (
|
|
59
|
+
<a target="_blank" href={social.href} key={`${social.href}-${index}`}>{social.logo}</a>
|
|
60
|
+
))}
|
|
61
|
+
</div>
|
|
62
|
+
</div>
|
|
63
|
+
|
|
64
|
+
{props.footnote && <hr />}
|
|
65
|
+
|
|
66
|
+
<div part="footnote">
|
|
67
|
+
{props.footnote}
|
|
68
|
+
</div>
|
|
69
|
+
</div>
|
|
70
|
+
</footer>
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
Footer.Minimal = function MinimalFooter(props: FooterProps) {
|
|
74
|
+
return <footer className={cn.Footer} data-kind="minimal">
|
|
75
|
+
<div part="container">
|
|
76
|
+
<div part="content">
|
|
77
|
+
{
|
|
78
|
+
props.links?.length && <div part="columns" data-cols={props.links?.length}>
|
|
79
|
+
<div part="col">
|
|
80
|
+
<div part="col-items">
|
|
81
|
+
{props.links?.map((item, index) => (
|
|
82
|
+
<Button
|
|
83
|
+
key={`${item.label}-${index}`} kind="tertiary" href={item.href}>
|
|
84
|
+
{item.label}
|
|
85
|
+
</Button>
|
|
86
|
+
))}
|
|
87
|
+
</div>
|
|
88
|
+
</div>
|
|
89
|
+
</div>
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
<div part="social-links">
|
|
93
|
+
{props.socials?.map((social, index) => (
|
|
94
|
+
<Button
|
|
95
|
+
key={`${social.href}-${index}`}
|
|
96
|
+
kind="tertiary"
|
|
97
|
+
href={social.href}
|
|
98
|
+
icon={social.logo}
|
|
99
|
+
/>
|
|
100
|
+
))}
|
|
101
|
+
</div>
|
|
102
|
+
</div>
|
|
103
|
+
</div>
|
|
104
|
+
</footer>
|
|
105
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { Footer } from "./Footer";
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { css } from "@linaria/core";
|
|
2
|
+
|
|
3
|
+
export const SearchButton = css`
|
|
4
|
+
@layer defaults {
|
|
5
|
+
background-color: transparent;
|
|
6
|
+
border-radius: var(--xyd-border-radius-large);
|
|
7
|
+
border: 1px solid var(--dark32);
|
|
8
|
+
color: var(--text-primary);
|
|
9
|
+
background: var(--dark16);
|
|
10
|
+
font-size: var(--xyd-font-size-small);
|
|
11
|
+
font-weight: var(--xyd-font-weight-semibold);
|
|
12
|
+
height: 36px;
|
|
13
|
+
justify-content: space-between;
|
|
14
|
+
display: flex;
|
|
15
|
+
align-items: center;
|
|
16
|
+
flex: 1;
|
|
17
|
+
|
|
18
|
+
padding: 0 8px;
|
|
19
|
+
margin: 12px 0 0;
|
|
20
|
+
user-select: none;
|
|
21
|
+
width: 100%;
|
|
22
|
+
transition: border-color .15s ease;
|
|
23
|
+
|
|
24
|
+
max-width: var(--xyd-search-width, 300px);
|
|
25
|
+
margin: 0;
|
|
26
|
+
|
|
27
|
+
cursor: pointer;
|
|
28
|
+
|
|
29
|
+
&[data-fullWidth] {
|
|
30
|
+
max-width: 100%;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
&:hover {
|
|
34
|
+
background: var(--dark16);
|
|
35
|
+
box-shadow: none;
|
|
36
|
+
color: var(--dark48);
|
|
37
|
+
outline: none;
|
|
38
|
+
|
|
39
|
+
box-shadow: none;
|
|
40
|
+
border-color: var(--dark48);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
[part="container"] {
|
|
44
|
+
align-items: center;
|
|
45
|
+
display: flex;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
[part="placeholder"] {
|
|
49
|
+
display: block !important;
|
|
50
|
+
font-size: var(--xyd-font-size-small);
|
|
51
|
+
color: var(--dark48);
|
|
52
|
+
font-weight: var(--xyd-font-weight-normal);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
[part="icon"] {
|
|
56
|
+
stroke-width: 1.4;
|
|
57
|
+
color: var(--dark48) !important;
|
|
58
|
+
height: 15px;
|
|
59
|
+
transition: color .15s var(--cubic-enter);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
[part="keys"] {
|
|
64
|
+
display: flex;
|
|
65
|
+
gap: 4px;
|
|
66
|
+
min-width: auto;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
[part="key"] {
|
|
70
|
+
align-items: center;
|
|
71
|
+
background: var(--dark16);
|
|
72
|
+
border-radius: var(--xyd-border-radius-small);
|
|
73
|
+
box-shadow: none;
|
|
74
|
+
color: var(--dark48);
|
|
75
|
+
display: flex;
|
|
76
|
+
height: 18px;
|
|
77
|
+
line-height: 18px;
|
|
78
|
+
justify-content: center;
|
|
79
|
+
font-size: 12px;
|
|
80
|
+
letter-spacing: 1px;
|
|
81
|
+
position: relative;
|
|
82
|
+
padding: 0;
|
|
83
|
+
margin: 0;
|
|
84
|
+
border: 0px;
|
|
85
|
+
top: 0;
|
|
86
|
+
width: 20px;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
`
|