@antv/dumi-theme-antv 0.2.2 → 0.3.0-beta.1
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/LICENSE +21 -0
- package/README.md +32 -33
- package/dist/builtins/Playground/index.d.ts +24 -0
- package/{es/builtins/Example.js → dist/builtins/Playground/index.js} +40 -33
- package/dist/builtins/Playground/index.module.less +15 -0
- package/dist/context.d.ts +5 -0
- package/dist/context.js +2 -0
- package/dist/layouts/DocLayout.d.ts +7 -0
- package/dist/layouts/DocLayout.js +38 -0
- package/dist/layouts/entry/API.d.ts +10 -0
- package/dist/layouts/entry/API.js +12 -0
- package/dist/layouts/entry/Index.d.ts +7 -0
- package/dist/layouts/entry/Index.js +71 -0
- package/dist/layouts/entry/Manual.d.ts +8 -0
- package/dist/layouts/entry/Manual.js +14 -0
- package/dist/locales/en.json +98 -0
- package/dist/locales/zh.json +98 -0
- package/dist/pages/404.d.ts +6 -0
- package/dist/pages/404.js +14 -0
- package/dist/pages/Example/index.d.ts +6 -0
- package/dist/pages/Example/index.js +139 -0
- package/dist/pages/Example/index.module.less +40 -0
- package/dist/pages/Examples/components/Accouncement/index.d.ts +6 -0
- package/dist/pages/Examples/components/Accouncement/index.js +60 -0
- package/dist/pages/Examples/components/Accouncement/index.module.less +9 -0
- package/dist/pages/Examples/components/Article/index.d.ts +2 -0
- package/dist/pages/Examples/components/Article/index.js +8 -0
- package/dist/pages/Examples/components/Article/index.module.less +2 -0
- package/dist/pages/Examples/components/ExampleTopicMenu/components/LeftMenu/index.d.ts +10 -0
- package/dist/pages/Examples/components/ExampleTopicMenu/components/LeftMenu/index.js +74 -0
- package/dist/pages/Examples/components/ExampleTopicMenu/index.d.ts +9 -0
- package/{es/builtins/Table.js → dist/pages/Examples/components/ExampleTopicMenu/index.js} +47 -41
- package/dist/pages/Examples/components/GalleryPageContent/DemoCard/index.d.ts +10 -0
- package/dist/pages/Examples/components/GalleryPageContent/DemoCard/index.js +33 -0
- package/dist/pages/Examples/components/GalleryPageContent/index.d.ts +10 -0
- package/dist/pages/Examples/components/GalleryPageContent/index.js +81 -0
- package/dist/pages/Examples/index.d.ts +8 -0
- package/dist/pages/Examples/index.js +75 -0
- package/dist/pages/Examples/index.module.less +605 -0
- package/dist/pages/Examples/types.d.ts +33 -0
- package/dist/pages/Examples/types.js +1 -0
- package/dist/plugin/examples.d.ts +7 -0
- package/dist/plugin/examples.js +83 -0
- package/dist/plugin/index.d.ts +3 -0
- package/dist/plugin/index.js +103 -0
- package/dist/slots/404.d.ts +2 -0
- package/{es/antv/404/index.js → dist/slots/404.js} +4 -9
- package/{es/antv/Cases/Cases.d.ts → dist/slots/Cases/index.d.ts} +4 -4
- package/{es/antv/Cases/Cases.js → dist/slots/Cases/index.js} +25 -25
- package/{src/antv/Cases/Cases.module.less → dist/slots/Cases/index.module.less} +36 -5
- package/dist/slots/CodeEditor/Toolbar.d.ts +67 -0
- package/dist/slots/CodeEditor/Toolbar.js +152 -0
- package/dist/slots/CodeEditor/Toolbar.module.less +81 -0
- package/dist/slots/CodeEditor/index.d.ts +58 -0
- package/dist/slots/CodeEditor/index.js +200 -0
- package/dist/slots/CodeEditor/index.module.less +11 -0
- package/dist/slots/CodeEditor/utils.d.ts +42 -0
- package/dist/slots/CodeEditor/utils.js +157 -0
- package/dist/slots/CodePreview/CodeHeader.d.ts +19 -0
- package/dist/slots/CodePreview/CodeHeader.js +32 -0
- package/dist/slots/CodePreview/CodeHeader.module.less +0 -0
- package/dist/slots/CodePreview/index.d.ts +17 -0
- package/dist/slots/CodePreview/index.js +29 -0
- package/dist/slots/CodePreview/index.module.less +42 -0
- package/dist/slots/CodeRunner/index.d.ts +14 -0
- package/dist/slots/CodeRunner/index.js +76 -0
- package/dist/slots/CodeRunner/index.module.less +0 -0
- package/dist/slots/CodeRunner/utils.d.ts +10 -0
- package/dist/slots/CodeRunner/utils.js +36 -0
- package/dist/slots/Companies/index.d.ts +13 -0
- package/dist/slots/Companies/index.js +49 -0
- package/dist/slots/Companies/index.module.less +82 -0
- package/dist/slots/Detail/News.d.ts +9 -0
- package/{es/antv/Banner/Notification.js → dist/slots/Detail/News.js} +8 -11
- package/{src/antv/Banner/Notification.module.less → dist/slots/Detail/News.module.less} +15 -3
- package/dist/slots/Detail/index.d.ts +26 -0
- package/dist/slots/Detail/index.js +124 -0
- package/{src/antv/Banner/Banner.module.less → dist/slots/Detail/index.module.less} +42 -74
- package/dist/slots/ExampleSider/index.d.ts +55 -0
- package/dist/slots/ExampleSider/index.js +218 -0
- package/dist/slots/ExampleSider/index.module.less +141 -0
- package/{es/antv → dist/slots}/Features/FeatureCard.d.ts +1 -1
- package/{es/antv → dist/slots}/Features/FeatureCard.js +6 -6
- package/{src/antv → dist/slots}/Features/FeatureCard.module.less +8 -1
- package/{es/antv → dist/slots}/Features/index.d.ts +2 -2
- package/{es/antv → dist/slots}/Features/index.js +17 -25
- package/{src/antv/Features/Features.module.less → dist/slots/Features/index.module.less} +34 -3
- package/dist/slots/Footer/index.d.ts +18 -0
- package/dist/slots/Footer/index.js +187 -0
- package/dist/slots/Footer/index.module.less +85 -0
- package/dist/slots/Header/Logo.d.ts +7 -0
- package/{es/antv → dist/slots}/Header/Logo.js +6 -2
- package/dist/slots/Header/LogoWhite.d.ts +7 -0
- package/dist/slots/Header/LogoWhite.js +19 -0
- package/dist/slots/Header/Navs.d.ts +17 -0
- package/dist/slots/Header/Navs.js +46 -0
- package/dist/slots/Header/Products/NavigatorBanner.d.ts +10 -0
- package/dist/slots/Header/Products/NavigatorBanner.js +34 -0
- package/dist/slots/Header/Products/NavigatorBanner.module.less +39 -0
- package/{es/antv → dist/slots/Header}/Products/Product.d.ts +3 -3
- package/{es/antv → dist/slots/Header}/Products/Product.js +11 -16
- package/{src/antv → dist/slots/Header}/Products/Product.module.less +10 -8
- package/{es/antv → dist/slots/Header}/Products/getProducts.d.ts +2 -7
- package/dist/slots/Header/Products/getProducts.js +67 -0
- package/dist/slots/Header/Products/index.d.ts +9 -0
- package/{es/antv → dist/slots/Header}/Products/index.js +15 -22
- package/dist/slots/Header/Search.d.ts +12 -0
- package/dist/slots/Header/Search.js +90 -0
- package/dist/slots/Header/Search.module.less +39 -0
- package/dist/slots/Header/index.d.ts +66 -0
- package/dist/slots/Header/index.js +379 -0
- package/dist/slots/Header/index.module.less +382 -0
- package/dist/slots/Header/utils.d.ts +1 -0
- package/dist/slots/Header/utils.js +26 -0
- package/dist/slots/Loading/index.d.ts +2 -0
- package/dist/slots/Loading/index.js +65 -0
- package/dist/slots/Loading/index.module.less +12 -0
- package/dist/slots/Loading.d.ts +5 -0
- package/dist/slots/Loading.js +8 -0
- package/dist/slots/ManualContent/NavigatorBanner.d.ts +9 -0
- package/dist/slots/ManualContent/NavigatorBanner.js +36 -0
- package/dist/slots/ManualContent/NavigatorBanner.module.less +39 -0
- package/dist/slots/ManualContent/ReadingTime.d.ts +3 -0
- package/dist/slots/ManualContent/ReadingTime.js +10 -0
- package/dist/slots/ManualContent/index.d.ts +9 -0
- package/dist/slots/ManualContent/index.js +321 -0
- package/dist/slots/ManualContent/index.module.less +656 -0
- package/dist/slots/TOC.d.ts +5 -0
- package/dist/slots/TOC.js +6 -0
- package/dist/slots/_.less +83 -0
- package/dist/slots/global.d.ts +1 -0
- package/dist/slots/global.js +7 -0
- package/dist/slots/hooks.d.ts +16 -0
- package/{es/antv → dist/slots}/hooks.js +60 -37
- package/dist/slots/utils.d.ts +20 -0
- package/dist/slots/utils.js +154 -0
- package/dist/types.d.ts +3 -0
- package/dist/types.js +1 -0
- package/dist/typings.d.ts +137 -0
- package/package.json +108 -47
- package/es/antv/404/index.d.ts +0 -2
- package/es/antv/Banner/Banner.module.less +0 -412
- package/es/antv/Banner/Notification.d.ts +0 -10
- package/es/antv/Banner/Notification.module.less +0 -108
- package/es/antv/Banner/index.d.ts +0 -25
- package/es/antv/Banner/index.js +0 -104
- package/es/antv/Cases/Cases.module.less +0 -203
- package/es/antv/Features/FeatureCard.module.less +0 -51
- package/es/antv/Features/Features.module.less +0 -169
- package/es/antv/Footer/Footer.module.less +0 -36
- package/es/antv/Footer/index.d.ts +0 -12
- package/es/antv/Footer/index.js +0 -237
- package/es/antv/Header/Logo.d.ts +0 -4
- package/es/antv/Products/Product.module.less +0 -146
- package/es/antv/Products/getNewProducts.d.ts +0 -24
- package/es/antv/Products/getNewProducts.js +0 -35
- package/es/antv/Products/getProducts.js +0 -460
- package/es/antv/Products/index.d.ts +0 -9
- package/es/antv/hooks.d.ts +0 -14
- package/es/antv/mixins.less +0 -21
- package/es/antv/utils.d.ts +0 -5
- package/es/antv/utils.js +0 -49
- package/es/builtins/API.d.ts +0 -3
- package/es/builtins/API.js +0 -37
- package/es/builtins/Alert.d.ts +0 -3
- package/es/builtins/Alert.js +0 -7
- package/es/builtins/Alert.less +0 -62
- package/es/builtins/Badge.d.ts +0 -3
- package/es/builtins/Badge.js +0 -7
- package/es/builtins/Badge.less +0 -31
- package/es/builtins/Example.d.ts +0 -5
- package/es/builtins/Example.less +0 -47
- package/es/builtins/Previewer.d.ts +0 -39
- package/es/builtins/Previewer.js +0 -225
- package/es/builtins/Previewer.less +0 -406
- package/es/builtins/SourceCode.d.ts +0 -10
- package/es/builtins/SourceCode.js +0 -70
- package/es/builtins/SourceCode.less +0 -103
- package/es/builtins/Table.d.ts +0 -4
- package/es/builtins/Table.less +0 -43
- package/es/builtins/Tree.d.ts +0 -4
- package/es/builtins/Tree.js +0 -213
- package/es/builtins/Tree.less +0 -159
- package/es/components/Dark.d.ts +0 -9
- package/es/components/Dark.js +0 -125
- package/es/components/Dark.less +0 -121
- package/es/components/LocaleSelect.d.ts +0 -6
- package/es/components/LocaleSelect.js +0 -53
- package/es/components/LocaleSelect.less +0 -59
- package/es/components/Navbar.d.ts +0 -10
- package/es/components/Navbar.js +0 -155
- package/es/components/Navbar.less +0 -180
- package/es/components/SearchBar.d.ts +0 -4
- package/es/components/SearchBar.js +0 -81
- package/es/components/SearchBar.less +0 -165
- package/es/components/SideMenu.d.ts +0 -10
- package/es/components/SideMenu.js +0 -99
- package/es/components/SideMenu.less +0 -379
- package/es/components/SlugList.d.ts +0 -7
- package/es/components/SlugList.js +0 -38
- package/es/components/SlugList.less +0 -18
- package/es/declaration.d.ts +0 -1
- package/es/layout.d.ts +0 -5
- package/es/layout.js +0 -276
- package/es/style/layout.less +0 -402
- package/es/style/markdown.less +0 -240
- package/es/style/variables.less +0 -37
- package/src/antv/404/index.tsx +0 -25
- package/src/antv/Banner/Notification.tsx +0 -45
- package/src/antv/Banner/index.tsx +0 -139
- package/src/antv/Cases/Cases.tsx +0 -116
- package/src/antv/Features/FeatureCard.tsx +0 -24
- package/src/antv/Features/index.tsx +0 -86
- package/src/antv/Footer/Footer.module.less +0 -36
- package/src/antv/Footer/index.tsx +0 -272
- package/src/antv/Header/Logo.tsx +0 -85
- package/src/antv/Products/Product.tsx +0 -80
- package/src/antv/Products/getNewProducts.tsx +0 -53
- package/src/antv/Products/getProducts.tsx +0 -626
- package/src/antv/Products/index.tsx +0 -70
- package/src/antv/hooks.ts +0 -87
- package/src/antv/mixins.less +0 -21
- package/src/antv/utils.ts +0 -44
- package/src/builtins/API.tsx +0 -57
- package/src/builtins/Alert.less +0 -62
- package/src/builtins/Alert.tsx +0 -4
- package/src/builtins/Badge.less +0 -31
- package/src/builtins/Badge.tsx +0 -4
- package/src/builtins/Example.less +0 -47
- package/src/builtins/Example.tsx +0 -34
- package/src/builtins/Previewer.less +0 -406
- package/src/builtins/Previewer.tsx +0 -264
- package/src/builtins/SourceCode.less +0 -103
- package/src/builtins/SourceCode.tsx +0 -55
- package/src/builtins/Table.less +0 -43
- package/src/builtins/Table.tsx +0 -42
- package/src/builtins/Tree.less +0 -159
- package/src/builtins/Tree.tsx +0 -130
- package/src/components/Dark.less +0 -121
- package/src/components/Dark.tsx +0 -78
- package/src/components/LocaleSelect.less +0 -59
- package/src/components/LocaleSelect.tsx +0 -53
- package/src/components/Navbar.less +0 -180
- package/src/components/Navbar.tsx +0 -152
- package/src/components/SearchBar.less +0 -165
- package/src/components/SearchBar.tsx +0 -68
- package/src/components/SideMenu.less +0 -379
- package/src/components/SideMenu.tsx +0 -148
- package/src/components/SlugList.less +0 -18
- package/src/components/SlugList.tsx +0 -20
- package/src/declaration.d.ts +0 -1
- package/src/layout.tsx +0 -225
- package/src/style/layout.less +0 -402
- package/src/style/markdown.less +0 -240
- package/src/style/variables.less +0 -37
- package/src/test/SearchBar.test.ts +0 -32
- package/src/test/Table.test.tsx +0 -41
- package/src/test/index.test.tsx +0 -377
package/src/components/Dark.tsx
DELETED
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
import type { FC } from 'react';
|
|
2
|
-
import React from 'react';
|
|
3
|
-
import { usePrefersColor } from 'dumi/theme';
|
|
4
|
-
import './Dark.less';
|
|
5
|
-
|
|
6
|
-
interface darkProps {
|
|
7
|
-
darkSwitch: boolean;
|
|
8
|
-
isSideMenu: boolean;
|
|
9
|
-
onDarkSwitchClick?: (ev) => void;
|
|
10
|
-
};
|
|
11
|
-
|
|
12
|
-
const Dark: FC<darkProps> = ({ darkSwitch, onDarkSwitchClick, isSideMenu }) => {
|
|
13
|
-
const allState = ['dark', 'light', 'auto'];
|
|
14
|
-
const [color, setColor] = usePrefersColor();
|
|
15
|
-
const prefersColor = color;
|
|
16
|
-
|
|
17
|
-
const sunSvg = <svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4026" width="22" height="22"><path d="M915.2 476.16h-43.968c-24.704 0-44.736 16-44.736 35.84s20.032 35.904 44.736 35.904H915.2c24.768 0 44.8-16.064 44.8-35.904s-20.032-35.84-44.8-35.84zM512 265.6c-136.704 0-246.464 109.824-246.464 246.4 0 136.704 109.76 246.464 246.464 246.464S758.4 648.704 758.4 512c0-136.576-109.696-246.4-246.4-246.4z m0 425.6c-99.008 0-179.2-80.128-179.2-179.2 0-98.944 80.192-179.2 179.2-179.2S691.2 413.056 691.2 512c0 99.072-80.192 179.2-179.2 179.2zM197.44 512c0-19.84-19.136-35.84-43.904-35.84H108.8c-24.768 0-44.8 16-44.8 35.84s20.032 35.904 44.8 35.904h44.736c24.768 0 43.904-16.064 43.904-35.904zM512 198.464c19.776 0 35.84-20.032 35.84-44.8v-44.8C547.84 84.032 531.84 64 512 64s-35.904 20.032-35.904 44.8v44.8c0 24.768 16.128 44.864 35.904 44.864z m0 627.136c-19.776 0-35.904 20.032-35.904 44.8v44.736C476.096 940.032 492.16 960 512 960s35.84-20.032 35.84-44.8v-44.736c0-24.768-16.064-44.864-35.84-44.864z m329.92-592.832c17.472-17.536 20.288-43.072 6.4-57.024-14.016-14.016-39.488-11.2-57.024 6.336-4.736 4.864-26.496 26.496-31.36 31.36-17.472 17.472-20.288 43.008-6.336 57.024 13.952 14.016 39.488 11.2 57.024-6.336 4.8-4.864 26.496-26.56 31.296-31.36zM213.376 759.936c-4.864 4.8-26.56 26.624-31.36 31.36-17.472 17.472-20.288 42.944-6.4 56.96 14.016 13.952 39.552 11.2 57.024-6.336 4.8-4.736 26.56-26.496 31.36-31.36 17.472-17.472 20.288-43.008 6.336-56.96-14.016-13.952-39.552-11.072-56.96 6.336z m19.328-577.92c-17.536-17.536-43.008-20.352-57.024-6.336-14.08 14.016-11.136 39.488 6.336 57.024 4.864 4.864 26.496 26.56 31.36 31.424 17.536 17.408 43.008 20.288 56.96 6.336 14.016-14.016 11.264-39.488-6.336-57.024-4.736-4.864-26.496-26.56-31.296-31.424z m527.168 628.608c4.864 4.864 26.624 26.624 31.36 31.424 17.536 17.408 43.072 20.224 57.088 6.336 13.952-14.016 11.072-39.552-6.4-57.024-4.864-4.8-26.56-26.496-31.36-31.36-17.472-17.408-43.072-20.288-57.024-6.336-13.952 14.016-11.008 39.488 6.336 56.96z" p-id="4027"></path></svg>;
|
|
18
|
-
const moonSvg = <svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3854" width="22" height="22"><path d="M991.816611 674.909091a69.166545 69.166545 0 0 0-51.665455-23.272727 70.795636 70.795636 0 0 0-27.438545 5.585454A415.674182 415.674182 0 0 1 754.993338 698.181818c-209.594182 0-393.472-184.785455-393.472-395.636363 0-52.363636 38.539636-119.621818 69.515637-173.614546 4.887273-8.610909 9.634909-16.756364 14.103272-24.901818A69.818182 69.818182 0 0 0 384.631156 0a70.842182 70.842182 0 0 0-27.438545 5.585455C161.678429 90.298182 14.362065 307.898182 14.362065 512c0 282.298182 238.824727 512 532.38691 512a522.286545 522.286545 0 0 0 453.957818-268.334545A69.818182 69.818182 0 0 0 991.816611 674.909091zM546.679156 954.181818c-248.785455 0-462.941091-192-462.941091-442.181818 0-186.647273 140.637091-372.829091 300.939637-442.181818-36.817455 65.629091-92.578909 151.970909-92.578909 232.727273 0 250.181818 214.109091 465.454545 462.917818 465.454545a488.331636 488.331636 0 0 0 185.181091-46.545455 453.003636 453.003636 0 0 1-393.565091 232.727273z m103.656728-669.323636l-14.266182 83.781818a34.909091 34.909091 0 0 0 50.362182 36.770909l74.775272-39.563636 74.752 39.563636a36.142545 36.142545 0 0 0 16.174546 3.956364 34.909091 34.909091 0 0 0 34.210909-40.727273l-14.289455-83.781818 60.509091-59.345455a35.025455 35.025455 0 0 0-19.223272-59.578182l-83.61891-12.101818-37.376-76.101818a34.56 34.56 0 0 0-62.254545 0l-37.376 76.101818-83.618909 12.101818a34.909091 34.909091 0 0 0-19.246546 59.578182z m70.423272-64.698182a34.280727 34.280727 0 0 0 26.135273-19.083636l14.312727-29.090909 14.336 29.090909a34.257455 34.257455 0 0 0 26.135273 19.083636l32.046546 4.887273-23.272728 22.574545a35.234909 35.234909 0 0 0-10.007272 30.952727l5.46909 32.116364-28.625454-15.127273a34.490182 34.490182 0 0 0-32.302546 0l-28.695272 15.127273 5.469091-32.116364a35.141818 35.141818 0 0 0-9.984-30.952727l-23.272728-22.574545z" p-id="3855"></path></svg>;
|
|
19
|
-
const autoSvg = <svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="11002" width="22" height="22"><path d="M127.658667 492.885333c0-51.882667 10.24-101.717333 30.378666-149.162666s47.786667-88.064 81.92-122.538667 75.093333-61.781333 122.538667-81.92 96.938667-30.378667 149.162667-30.378667 101.717333 10.24 149.162666 30.378667 88.405333 47.786667 122.88 81.92 61.781333 75.093333 81.92 122.538667 30.378667 96.938667 30.378667 149.162666-10.24 101.717333-30.378667 149.162667-47.786667 88.405333-81.92 122.88-75.093333 61.781333-122.88 81.92-97.28 30.378667-149.162666 30.378667-101.717333-10.24-149.162667-30.378667-88.064-47.786667-122.538667-81.92-61.781333-75.093333-81.92-122.88-30.378667-96.938667-30.378666-149.162667z m329.045333 0c0 130.048 13.994667 244.394667 41.984 343.381334h12.970667c46.762667 0 91.136-9.216 133.461333-27.306667s78.848-42.666667 109.568-73.386667 54.954667-67.242667 73.386667-109.568 27.306667-86.698667 27.306666-133.461333c0-46.421333-9.216-90.794667-27.306666-133.12s-42.666667-78.848-73.386667-109.568-67.242667-54.954667-109.568-73.386667-86.698667-27.306667-133.461333-27.306666h-11.605334c-28.672 123.562667-43.349333 237.909333-43.349333 343.722666z" p-id="11003"></path></svg>;
|
|
20
|
-
|
|
21
|
-
const list = allState.filter(state => state !== prefersColor);
|
|
22
|
-
|
|
23
|
-
const changeColor = (ev, toColor) => {
|
|
24
|
-
if (!isSideMenu && onDarkSwitchClick) {
|
|
25
|
-
onDarkSwitchClick(ev);
|
|
26
|
-
}
|
|
27
|
-
if (toColor === prefersColor) return;
|
|
28
|
-
setColor(toColor);
|
|
29
|
-
};
|
|
30
|
-
|
|
31
|
-
const getSvg = (baseColor) => {
|
|
32
|
-
switch (baseColor) {
|
|
33
|
-
case 'dark':
|
|
34
|
-
return (
|
|
35
|
-
<button key="dumi-dark-btn-moon" title="Dark theme" onClick={ev => changeColor(ev, baseColor)} className={`__dumi-default-dark-moon ${baseColor === prefersColor ? '__dumi-default-dark-switch-active' : ''}`}>
|
|
36
|
-
{moonSvg}
|
|
37
|
-
</button>
|
|
38
|
-
);
|
|
39
|
-
case 'light':
|
|
40
|
-
return (
|
|
41
|
-
<button key="dumi-dark-btn-sun" title="Light theme" onClick={ev => changeColor(ev, baseColor)} className={`__dumi-default-dark-sun ${baseColor === prefersColor ? '__dumi-default-dark-switch-active' : ''}`}>
|
|
42
|
-
{sunSvg}
|
|
43
|
-
</button>
|
|
44
|
-
);
|
|
45
|
-
case 'auto':
|
|
46
|
-
return (
|
|
47
|
-
<button key="dumi-dark-btn-auto" title="Default to system" onClick={ev => changeColor(ev, baseColor)} className={`__dumi-default-dark-auto ${baseColor === prefersColor ? '__dumi-default-dark-switch-active' : ''}`}>
|
|
48
|
-
{autoSvg}
|
|
49
|
-
</button>
|
|
50
|
-
)
|
|
51
|
-
default:
|
|
52
|
-
}
|
|
53
|
-
};
|
|
54
|
-
|
|
55
|
-
return (
|
|
56
|
-
<div className="__dumi-default-dark">
|
|
57
|
-
<div
|
|
58
|
-
className={`__dumi-default-dark-switch ${!isSideMenu && darkSwitch ? "__dumi-default-dark-switch-open" : ""}`}>
|
|
59
|
-
{isSideMenu ? (
|
|
60
|
-
allState.map(item => (
|
|
61
|
-
getSvg(item)
|
|
62
|
-
))
|
|
63
|
-
) : getSvg(prefersColor)}
|
|
64
|
-
</div>
|
|
65
|
-
{!isSideMenu && darkSwitch && (
|
|
66
|
-
<div className="__dumi-default-dark-switch-list">
|
|
67
|
-
{
|
|
68
|
-
list.map(item => (
|
|
69
|
-
getSvg(item)
|
|
70
|
-
))
|
|
71
|
-
}
|
|
72
|
-
</div>
|
|
73
|
-
)}
|
|
74
|
-
</div>
|
|
75
|
-
)
|
|
76
|
-
};
|
|
77
|
-
|
|
78
|
-
export default Dark;
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
@import (reference) '../style/variables.less';
|
|
2
|
-
|
|
3
|
-
.@{prefix}-locale-select {
|
|
4
|
-
position: relative;
|
|
5
|
-
display: inline-block;
|
|
6
|
-
border: 1px solid @c-btn-border;
|
|
7
|
-
border-radius: 14px;
|
|
8
|
-
transition: background 0.2s;
|
|
9
|
-
|
|
10
|
-
[data-prefers-color=dark] & {
|
|
11
|
-
border: 1px solid @c-btn-border-dark;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
@media @mobile {
|
|
15
|
-
margin-top: 6px;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
&:hover {
|
|
19
|
-
background-color: #fafafa;
|
|
20
|
-
[data-prefers-color=dark] & {
|
|
21
|
-
background-color: rgba(255, 255, 255, 0.1);
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
&:not([data-locale-count='1']):not([data-locale-count='2'])::after {
|
|
26
|
-
content: '';
|
|
27
|
-
position: absolute;
|
|
28
|
-
top: 50%;
|
|
29
|
-
right: 10px;
|
|
30
|
-
margin-top: -3px;
|
|
31
|
-
width: 0;
|
|
32
|
-
height: 0;
|
|
33
|
-
border: 4px solid transparent;
|
|
34
|
-
border-top: 6px solid #7b7f8d;
|
|
35
|
-
pointer-events: none;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
a,
|
|
39
|
-
span,
|
|
40
|
-
select {
|
|
41
|
-
padding: 0 24px 0 16px;
|
|
42
|
-
height: 28px;
|
|
43
|
-
text-align: center;
|
|
44
|
-
text-decoration: none;
|
|
45
|
-
line-height: 28px;
|
|
46
|
-
appearance: none;
|
|
47
|
-
border: 0;
|
|
48
|
-
font-size: 16px;
|
|
49
|
-
color: #7b7f8d;
|
|
50
|
-
background: transparent;
|
|
51
|
-
outline: none;
|
|
52
|
-
cursor: pointer;
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
a,
|
|
56
|
-
span {
|
|
57
|
-
padding-right: 16px;
|
|
58
|
-
}
|
|
59
|
-
}
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
import type { FC } from 'react';
|
|
2
|
-
import React, { useContext } from 'react';
|
|
3
|
-
// @ts-ignore
|
|
4
|
-
import { history } from 'dumi';
|
|
5
|
-
import { context, Link } from 'dumi/theme';
|
|
6
|
-
import './LocaleSelect.less';
|
|
7
|
-
|
|
8
|
-
const LocaleSelect: FC<{ location: any }> = ({ location }) => {
|
|
9
|
-
const {
|
|
10
|
-
base,
|
|
11
|
-
locale,
|
|
12
|
-
config: { locales },
|
|
13
|
-
} = useContext(context);
|
|
14
|
-
const firstDiffLocale = locales.find(({ name }) => name !== locale);
|
|
15
|
-
|
|
16
|
-
function getLocaleTogglePath(target: string) {
|
|
17
|
-
const baseWithoutLocale = base.replace(`/${locale}`, '');
|
|
18
|
-
const pathnameWithoutLocale = location.pathname.replace(new RegExp(`^${base}(/|$)`), `${baseWithoutLocale}$1`) || '/';
|
|
19
|
-
|
|
20
|
-
// append locale prefix to path if it is not the default locale
|
|
21
|
-
if (target !== locales[0].name) {
|
|
22
|
-
// compatiable with integrate route prefix /~docs
|
|
23
|
-
const routePrefix = `${baseWithoutLocale}/${target}`.replace(/\/\//, '/');
|
|
24
|
-
const pathnameWithoutBase = location.pathname.replace(
|
|
25
|
-
// to avoid stripped the first /
|
|
26
|
-
base.replace(/^\/$/, '//'),
|
|
27
|
-
'',
|
|
28
|
-
);
|
|
29
|
-
|
|
30
|
-
return `${routePrefix}${pathnameWithoutBase}`.replace(/\/$/, '');
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
return pathnameWithoutLocale;
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
return firstDiffLocale ? (
|
|
37
|
-
<div className="__dumi-default-locale-select" data-locale-count={locales.length}>
|
|
38
|
-
{locales.length > 2 ? (
|
|
39
|
-
<select value={locale} onChange={ev => history.push(getLocaleTogglePath(ev.target.value))}>
|
|
40
|
-
{locales.map(localeItem => (
|
|
41
|
-
<option value={localeItem.name} key={localeItem.name}>
|
|
42
|
-
{localeItem.label}
|
|
43
|
-
</option>
|
|
44
|
-
))}
|
|
45
|
-
</select>
|
|
46
|
-
) : (
|
|
47
|
-
<Link to={getLocaleTogglePath(firstDiffLocale.name)}>{firstDiffLocale.label}</Link>
|
|
48
|
-
)}
|
|
49
|
-
</div>
|
|
50
|
-
) : null;
|
|
51
|
-
};
|
|
52
|
-
|
|
53
|
-
export default LocaleSelect;
|
|
@@ -1,180 +0,0 @@
|
|
|
1
|
-
@import (reference) "../style/variables.less";
|
|
2
|
-
|
|
3
|
-
.@{prefix}-navbar {
|
|
4
|
-
position: fixed;
|
|
5
|
-
z-index: 101;
|
|
6
|
-
top: 0;
|
|
7
|
-
left: 0;
|
|
8
|
-
right: 0;
|
|
9
|
-
display: none;
|
|
10
|
-
align-items: center;
|
|
11
|
-
justify-content: space-between;
|
|
12
|
-
padding: 0 58px;
|
|
13
|
-
height: @s-nav-height;
|
|
14
|
-
white-space: nowrap;
|
|
15
|
-
background: #fff;
|
|
16
|
-
box-shadow: 0 8px 24px -2px rgba(0, 0, 0, 0.05);
|
|
17
|
-
|
|
18
|
-
@media @mobile {
|
|
19
|
-
display: flex;
|
|
20
|
-
justify-content: center;
|
|
21
|
-
height: @s-mobile-nav-height;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
&-toggle {
|
|
25
|
-
position: absolute;
|
|
26
|
-
top: 14px;
|
|
27
|
-
left: 16px;
|
|
28
|
-
display: none;
|
|
29
|
-
width: 22px;
|
|
30
|
-
height: 22px;
|
|
31
|
-
border: 0;
|
|
32
|
-
outline: none;
|
|
33
|
-
background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFgAAAA4CAYAAAB5YT9uAAAAAXNSR0IArs4c6QAAASVJREFUeAHt3DuOwjAUBVAHscWZjaSkAIqU2QjskV80QwpsF3ArdGiw3hW3OGnQM2Iof6/dfr7+n71/LjAdx+HRsvm8SkNPAHBPJ5ABDiD2KgD3dAIZ4ABirwJwTyeQAQ4g9ioA93QC2fbZsSm/z7MDAQIECBAgQIAAAQIECBAgQIAAAQKvAsvV8mO8O8yn19jkXYHpMC7byXVdeS0/75b5XFvAwr1tE0kARxjbJYDbNpEEcISxXQK4bRNJAEcY2yWA2zaRZP0ePJRzpFEJAQIECBAgQIAAAQIECBAgQIAAgW8VWK/tj7Nb5eBTnvbjsp1c15WX4ncRQeB7lb8zyHrW29xo1F1iU8AxynoR4LpLbAo4RlkvAlx3iU0BxyjrRYDrLrHpDVSAEEPXScHTAAAAAElFTkSuQmCC")
|
|
34
|
-
no-repeat center / contain;
|
|
35
|
-
|
|
36
|
-
@media @mobile {
|
|
37
|
-
display: block;
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
&-logo {
|
|
42
|
-
display: inline-block;
|
|
43
|
-
height: 40px;
|
|
44
|
-
color: #080e29;
|
|
45
|
-
font-weight: 500;
|
|
46
|
-
text-decoration: none;
|
|
47
|
-
font-size: 24px;
|
|
48
|
-
line-height: 40px;
|
|
49
|
-
|
|
50
|
-
&:not([data-plaintext]) {
|
|
51
|
-
padding-left: 56px;
|
|
52
|
-
background: url(@img-logo) no-repeat 0 / contain;
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
&:active,
|
|
56
|
-
&:hover {
|
|
57
|
-
color: #080e29;
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
@media @mobile {
|
|
61
|
-
height: 28px;
|
|
62
|
-
line-height: 28px;
|
|
63
|
-
|
|
64
|
-
&:not([data-plaintext]) {
|
|
65
|
-
padding-left: 36px;
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
nav {
|
|
71
|
-
> span {
|
|
72
|
-
position: relative;
|
|
73
|
-
margin-left: 40px;
|
|
74
|
-
display: inline-block;
|
|
75
|
-
height: @s-nav-height;
|
|
76
|
-
cursor: pointer;
|
|
77
|
-
font-size: 14px;
|
|
78
|
-
line-height: @s-nav-height;
|
|
79
|
-
text-decoration: none;
|
|
80
|
-
letter-spacing: 0;
|
|
81
|
-
|
|
82
|
-
> a {
|
|
83
|
-
color: #4d5164;
|
|
84
|
-
text-decoration: none;
|
|
85
|
-
|
|
86
|
-
&:hover,
|
|
87
|
-
&.active {
|
|
88
|
-
color: @c-primary;
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
&::before {
|
|
92
|
-
content: "";
|
|
93
|
-
position: absolute;
|
|
94
|
-
top: 0;
|
|
95
|
-
bottom: 0;
|
|
96
|
-
right: -18px;
|
|
97
|
-
left: -18px;
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
&.active::after {
|
|
101
|
-
content: "";
|
|
102
|
-
position: absolute;
|
|
103
|
-
bottom: 0;
|
|
104
|
-
left: -2px;
|
|
105
|
-
right: -2px;
|
|
106
|
-
height: 2px;
|
|
107
|
-
background-color: @c-primary;
|
|
108
|
-
border-radius: 1px;
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
+ *:not(a) {
|
|
113
|
-
margin-left: 40px;
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
// second nav
|
|
117
|
-
> ul {
|
|
118
|
-
list-style: none;
|
|
119
|
-
position: absolute;
|
|
120
|
-
top: 100%;
|
|
121
|
-
left: 50%;
|
|
122
|
-
margin: 0;
|
|
123
|
-
min-width: 100px;
|
|
124
|
-
padding: 8px 18px;
|
|
125
|
-
line-height: 2;
|
|
126
|
-
background-color: #fff;
|
|
127
|
-
box-shadow: 0 8px 24px -2px rgba(0, 0, 0, 0.08);
|
|
128
|
-
transform: translate(-50%);
|
|
129
|
-
transform-origin: top;
|
|
130
|
-
border-radius: 1px;
|
|
131
|
-
transition: all 0.2s;
|
|
132
|
-
|
|
133
|
-
a {
|
|
134
|
-
position: relative;
|
|
135
|
-
display: block;
|
|
136
|
-
color: @c-text;
|
|
137
|
-
|
|
138
|
-
&:hover,
|
|
139
|
-
&.active {
|
|
140
|
-
color: @c-primary;
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
&:not(:hover) > ul {
|
|
146
|
-
visibility: hidden;
|
|
147
|
-
pointer-events: none;
|
|
148
|
-
transform: translate(-50%) scaleY(0.9);
|
|
149
|
-
opacity: 0;
|
|
150
|
-
}
|
|
151
|
-
}
|
|
152
|
-
|
|
153
|
-
.@{prefix}-search + .@{prefix}-locale-select {
|
|
154
|
-
margin-left: 40px;
|
|
155
|
-
}
|
|
156
|
-
|
|
157
|
-
@media @mobile {
|
|
158
|
-
> a,
|
|
159
|
-
> span,
|
|
160
|
-
> div {
|
|
161
|
-
display: none;
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
}
|
|
165
|
-
|
|
166
|
-
&[data-mode="site"] {
|
|
167
|
-
display: flex;
|
|
168
|
-
}
|
|
169
|
-
|
|
170
|
-
.arrow {
|
|
171
|
-
width: 14px;
|
|
172
|
-
margin-left: 2px;
|
|
173
|
-
position: relative;
|
|
174
|
-
top: -2px;
|
|
175
|
-
transition: all 0.3s;
|
|
176
|
-
&.open {
|
|
177
|
-
transform: rotate(180deg);
|
|
178
|
-
}
|
|
179
|
-
}
|
|
180
|
-
}
|
|
@@ -1,152 +0,0 @@
|
|
|
1
|
-
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
|
-
/* eslint-disable jsx-a11y/control-has-associated-label */
|
|
3
|
-
import { context, Link, NavLink } from 'dumi/theme';
|
|
4
|
-
import type { FC, MouseEvent } from 'react';
|
|
5
|
-
import React, { useContext } from 'react';
|
|
6
|
-
import { useMedia } from 'react-use';
|
|
7
|
-
import Logo from '../antv/Header/Logo';
|
|
8
|
-
import Products from '../antv/Products';
|
|
9
|
-
import LocaleSelect from './LocaleSelect';
|
|
10
|
-
import './Navbar.less';
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
interface INavbarProps {
|
|
15
|
-
location: any;
|
|
16
|
-
navPrefix?: React.ReactNode;
|
|
17
|
-
onMobileMenuClick: (ev: MouseEvent<HTMLButtonElement>) => void;
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
const Navbar: FC<INavbarProps> = ({ onMobileMenuClick, navPrefix, location }) => {
|
|
21
|
-
const {
|
|
22
|
-
base,
|
|
23
|
-
config: { mode, title, logo },
|
|
24
|
-
nav: navItems,
|
|
25
|
-
//@ts-ignore
|
|
26
|
-
} = useContext(context);
|
|
27
|
-
|
|
28
|
-
const isWide = useMedia('(min-width: 767.99px)', true);
|
|
29
|
-
|
|
30
|
-
const [productMenuVisible, setProductMenuVisible] = React.useState(false);
|
|
31
|
-
let productMenuHovering = false;
|
|
32
|
-
const onProductMouseEnter = (e: React.MouseEvent) => {
|
|
33
|
-
productMenuHovering = true;
|
|
34
|
-
e.persist();
|
|
35
|
-
setTimeout(() => {
|
|
36
|
-
// eslint-disable-next-line no-undef
|
|
37
|
-
if (e.target instanceof Element && e.target.matches(':hover')) {
|
|
38
|
-
setProductMenuVisible(true);
|
|
39
|
-
}
|
|
40
|
-
}, 200);
|
|
41
|
-
};
|
|
42
|
-
const onProductMouseLeave = (e: React.MouseEvent) => {
|
|
43
|
-
e.persist();
|
|
44
|
-
productMenuHovering = false;
|
|
45
|
-
setTimeout(() => {
|
|
46
|
-
if (productMenuHovering) {
|
|
47
|
-
return;
|
|
48
|
-
}
|
|
49
|
-
setProductMenuVisible(false);
|
|
50
|
-
}, 200);
|
|
51
|
-
};
|
|
52
|
-
const onToggleProductMenuVisible = () => {
|
|
53
|
-
setProductMenuVisible(!productMenuVisible);
|
|
54
|
-
};
|
|
55
|
-
|
|
56
|
-
const productItemProps = isWide
|
|
57
|
-
? {
|
|
58
|
-
onMouseEnter: onProductMouseEnter,
|
|
59
|
-
onMouseLeave: onProductMouseLeave,
|
|
60
|
-
}
|
|
61
|
-
: {
|
|
62
|
-
onClick: onToggleProductMenuVisible,
|
|
63
|
-
};
|
|
64
|
-
|
|
65
|
-
return (
|
|
66
|
-
<div className="__dumi-default-navbar" data-mode={mode}>
|
|
67
|
-
{/* menu toogle button (only for mobile) */}
|
|
68
|
-
<button className="__dumi-default-navbar-toggle" onClick={onMobileMenuClick} />
|
|
69
|
-
{/* logo & title */}
|
|
70
|
-
<div
|
|
71
|
-
className="__dumi-default-navbar-logo"
|
|
72
|
-
style={{
|
|
73
|
-
background: 'none',
|
|
74
|
-
height: '28px',
|
|
75
|
-
lineHeight: '28px',
|
|
76
|
-
paddingLeft: '0px',
|
|
77
|
-
}}
|
|
78
|
-
>
|
|
79
|
-
<a href={'https://antv.vision/'}>
|
|
80
|
-
<Logo style={{ height: '28px', lineHeight: '28px' }} />
|
|
81
|
-
</a>
|
|
82
|
-
<span
|
|
83
|
-
style={{
|
|
84
|
-
fontSize: '16px',
|
|
85
|
-
width: '1px',
|
|
86
|
-
height: '24px',
|
|
87
|
-
backgroundColor: '#ccc',
|
|
88
|
-
display: ' inline-block',
|
|
89
|
-
margin: '0 20px',
|
|
90
|
-
}}
|
|
91
|
-
/>
|
|
92
|
-
<Link to={base}>
|
|
93
|
-
<span style={{ fontSize: '16px', color: '#0d1a26', display: 'inline-block', verticalAlign: 'top' }}>
|
|
94
|
-
{title}
|
|
95
|
-
</span>
|
|
96
|
-
</Link>
|
|
97
|
-
|
|
98
|
-
</div>
|
|
99
|
-
|
|
100
|
-
<nav>
|
|
101
|
-
{navPrefix}
|
|
102
|
-
{/* nav */}
|
|
103
|
-
{navItems.map(nav => {
|
|
104
|
-
const child = Boolean(nav.children?.length) && (
|
|
105
|
-
<ul>
|
|
106
|
-
{nav.children.map(item => (
|
|
107
|
-
<li key={item.path}>
|
|
108
|
-
<NavLink to={item.path}>{item.title}</NavLink>
|
|
109
|
-
</li>
|
|
110
|
-
))}
|
|
111
|
-
</ul>
|
|
112
|
-
);
|
|
113
|
-
|
|
114
|
-
return (
|
|
115
|
-
<span key={nav.title || nav.path}>
|
|
116
|
-
{nav.path ? (
|
|
117
|
-
<NavLink to={nav.path} key={nav.path}>
|
|
118
|
-
{nav.title}
|
|
119
|
-
</NavLink>
|
|
120
|
-
) : (
|
|
121
|
-
nav.title
|
|
122
|
-
)}
|
|
123
|
-
{child}
|
|
124
|
-
</span>
|
|
125
|
-
);
|
|
126
|
-
})}
|
|
127
|
-
<span {...productItemProps}>
|
|
128
|
-
所有产品
|
|
129
|
-
<img
|
|
130
|
-
src="https://gw.alipayobjects.com/zos/antfincdn/FLrTNDvlna/antv.png"
|
|
131
|
-
alt="antv logo arrow"
|
|
132
|
-
className={`arrow ${productMenuVisible && 'open'}`}
|
|
133
|
-
/>
|
|
134
|
-
<div
|
|
135
|
-
style={{
|
|
136
|
-
position: 'fixed',
|
|
137
|
-
top: ' 0px',
|
|
138
|
-
left: '0px',
|
|
139
|
-
width: ' 100%',
|
|
140
|
-
right: '0px',
|
|
141
|
-
}}
|
|
142
|
-
>
|
|
143
|
-
<Products show={productMenuVisible} rootDomain="ant.vison" language="zh" />
|
|
144
|
-
</div>
|
|
145
|
-
</span>
|
|
146
|
-
<LocaleSelect location={location} />
|
|
147
|
-
</nav>
|
|
148
|
-
</div>
|
|
149
|
-
);
|
|
150
|
-
};
|
|
151
|
-
|
|
152
|
-
export default Navbar;
|
|
@@ -1,165 +0,0 @@
|
|
|
1
|
-
@import (reference) '../style/variables.less';
|
|
2
|
-
|
|
3
|
-
.@{prefix}-search {
|
|
4
|
-
margin-left: 20px;
|
|
5
|
-
position: relative;
|
|
6
|
-
display: inline-block;
|
|
7
|
-
|
|
8
|
-
&-input {
|
|
9
|
-
width: 200px;
|
|
10
|
-
height: 32px;
|
|
11
|
-
padding: 0 38px 0 14px;
|
|
12
|
-
color: @c-heading;
|
|
13
|
-
font-size: 14px;
|
|
14
|
-
border: 0;
|
|
15
|
-
outline: none;
|
|
16
|
-
transition: all 0.2s;
|
|
17
|
-
border-radius: 16px;
|
|
18
|
-
background: url('data:image/png;base64,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')
|
|
19
|
-
#f5f6f7 no-repeat right 14px center / 16px;
|
|
20
|
-
appearance: none;
|
|
21
|
-
|
|
22
|
-
[data-prefers-color=dark] & {
|
|
23
|
-
color: @c-secondary-dark;
|
|
24
|
-
background: url('data:image/png;base64,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')
|
|
25
|
-
#ffffff1f no-repeat right 14px center / 16px;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
&:focus {
|
|
29
|
-
box-shadow: 0 0 0 1px fade(@c-primary, 20%) inset;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
&:not(:focus) + ul:not(:hover) {
|
|
33
|
-
visibility: hidden;
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
> ul {
|
|
38
|
-
list-style: none;
|
|
39
|
-
position: absolute;
|
|
40
|
-
top: 100%;
|
|
41
|
-
left: 0;
|
|
42
|
-
z-index: 10;
|
|
43
|
-
margin: 8px 0 0;
|
|
44
|
-
min-width: 280px;
|
|
45
|
-
max-width: 400px;
|
|
46
|
-
max-height: 230px;
|
|
47
|
-
padding: 6px 0;
|
|
48
|
-
background-color: #fff;
|
|
49
|
-
border: 1px solid @c-border;
|
|
50
|
-
border-radius: 1px;
|
|
51
|
-
box-shadow: 0 2px 20px 0 rgba(0, 0, 0, 0.05);
|
|
52
|
-
box-sizing: border-box;
|
|
53
|
-
overflow-y: auto;
|
|
54
|
-
|
|
55
|
-
[data-prefers-color=dark] & {
|
|
56
|
-
border: none;
|
|
57
|
-
background-color: @c-bg-dark;
|
|
58
|
-
box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.48), 0 6px 16px 0 rgba(0, 0, 0, 0.32), 0 9px 28px 8px rgba(0, 0, 0, 0.2);
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
&:empty {
|
|
62
|
-
display: none;
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
li {
|
|
66
|
-
font-size: 15px;
|
|
67
|
-
|
|
68
|
-
a {
|
|
69
|
-
display: block;
|
|
70
|
-
padding: 6px 20px;
|
|
71
|
-
color: @c-secondary;
|
|
72
|
-
text-decoration: none;
|
|
73
|
-
line-height: 1.5715;
|
|
74
|
-
transition: background-color 0.3s;
|
|
75
|
-
white-space: nowrap;
|
|
76
|
-
overflow: hidden;
|
|
77
|
-
text-overflow: ellipsis;
|
|
78
|
-
|
|
79
|
-
[data-prefers-color=dark] & {
|
|
80
|
-
color: @c-secondary-dark;
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
&:hover {
|
|
84
|
-
color: @c-primary;
|
|
85
|
-
background-color: @c-light-bg;
|
|
86
|
-
|
|
87
|
-
[data-prefers-color=dark] & {
|
|
88
|
-
color: @c-primary-dark;
|
|
89
|
-
background-color: @c-light-bg-dark;
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
span:first-child:not(.@{prefix}-search-highlight) {
|
|
95
|
-
position: relative;
|
|
96
|
-
display: inline-block;
|
|
97
|
-
max-width: 50%;
|
|
98
|
-
padding-right: 26px;
|
|
99
|
-
vertical-align: bottom;
|
|
100
|
-
overflow: hidden;
|
|
101
|
-
text-overflow: ellipsis;
|
|
102
|
-
opacity: 0.8;
|
|
103
|
-
|
|
104
|
-
&::after {
|
|
105
|
-
content: '>';
|
|
106
|
-
position: absolute;
|
|
107
|
-
top: 50%;
|
|
108
|
-
right: 6px;
|
|
109
|
-
opacity: 0.6;
|
|
110
|
-
transform: translateY(-54%);
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
&-empty {
|
|
117
|
-
margin: 6px 0;
|
|
118
|
-
opacity: 0.6;
|
|
119
|
-
fill: @c-text;
|
|
120
|
-
[data-prefers-color=dark] & {
|
|
121
|
-
fill: @c-text-dark;
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
&-highlight {
|
|
126
|
-
padding: 2px 0;
|
|
127
|
-
color: #736b2d;
|
|
128
|
-
vertical-align: bottom;
|
|
129
|
-
background: #fff9cb;
|
|
130
|
-
|
|
131
|
-
[data-prefers-color=dark] & {
|
|
132
|
-
color: @c-text;
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
@media only screen and (max-width: 1024px) {
|
|
137
|
-
margin-right: -14px;
|
|
138
|
-
|
|
139
|
-
> input:not(:focus) {
|
|
140
|
-
color: transparent;
|
|
141
|
-
width: 32px;
|
|
142
|
-
padding-right: 0;
|
|
143
|
-
box-shadow: none;
|
|
144
|
-
cursor: pointer;
|
|
145
|
-
background-position: right 8px center;
|
|
146
|
-
|
|
147
|
-
+ ul {
|
|
148
|
-
transition: 0.1s visibility;
|
|
149
|
-
visibility: hidden;
|
|
150
|
-
}
|
|
151
|
-
}
|
|
152
|
-
}
|
|
153
|
-
|
|
154
|
-
@media @mobile {
|
|
155
|
-
position: absolute;
|
|
156
|
-
top: 9px;
|
|
157
|
-
right: 24px;
|
|
158
|
-
display: block !important;
|
|
159
|
-
|
|
160
|
-
> ul {
|
|
161
|
-
right: 0;
|
|
162
|
-
left: auto;
|
|
163
|
-
}
|
|
164
|
-
}
|
|
165
|
-
}
|