@apify/docs-theme 1.0.180 → 1.0.182

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@apify/docs-theme",
3
- "version": "1.0.180",
3
+ "version": "1.0.182",
4
4
  "description": "",
5
5
  "main": "./src/index.js",
6
6
  "files": [
@@ -20,7 +20,7 @@
20
20
  },
21
21
  "dependencies": {
22
22
  "@apify/docs-search-modal": "^1.2.2",
23
- "@docusaurus/theme-common": "3.7.0",
23
+ "@docusaurus/theme-common": "^3.7.0",
24
24
  "@stackql/docusaurus-plugin-hubspot": "^1.1.0",
25
25
  "algoliasearch": "^5.19.0",
26
26
  "algoliasearch-helper": "^3.22.6",
package/src/config.js CHANGED
@@ -137,13 +137,6 @@ const themeConfig = {
137
137
  },
138
138
  ],
139
139
  },
140
- {
141
- href: 'https://github.com/apify',
142
- label: 'GitHub',
143
- title: 'Apify on GitHub',
144
- position: 'right',
145
- className: 'icon',
146
- },
147
140
  {
148
141
  href: 'https://discord.com/invite/jyEM2PRvMU',
149
142
  label: 'Discord',
@@ -256,6 +249,10 @@ const themeConfig = {
256
249
  label: 'GitHub',
257
250
  href: 'https://github.com/apify',
258
251
  },
252
+ {
253
+ href: 'https://discord.com/invite/jyEM2PRvMU',
254
+ label: 'Discord',
255
+ },
259
256
  {
260
257
  label: 'Trust Center',
261
258
  href: 'https://trust.apify.com',
@@ -274,9 +271,15 @@ const themeConfig = {
274
271
  appId: 'N8EOCSBQGH',
275
272
  apiKey: 'e97714a64e2b4b8b8fe0b01cd8592870', // search only (public) API key
276
273
  indexName: 'apify_sdk_v2',
274
+ placeholder: 'Search documentation',
277
275
  algoliaOptions: {
278
276
  facetFilters: ['version:VERSION'],
279
277
  },
278
+ translations: {
279
+ button: {
280
+ buttonText: 'Search documentation…',
281
+ },
282
+ },
280
283
  },
281
284
  hubspot: {
282
285
  accountId: '19497222',
@@ -1,5 +1,6 @@
1
1
  import { useThemeConfig } from '@docusaurus/theme-common';
2
2
  import LinkItem from '@theme/Footer/LinkItem';
3
+ import ColorModeToggle from '@theme/Navbar/ColorModeToggle';
3
4
  import clsx from 'clsx';
4
5
  import React from 'react';
5
6
 
@@ -8,7 +9,7 @@ import styles from './index.module.css';
8
9
  function FooterLinksColumn({ column }) {
9
10
  return (
10
11
  <>
11
- <div className={styles.footerTitle}>{column.title}</div>
12
+ <div className={styles.title}>{column.title}</div>
12
13
  <ul className={clsx(styles.footerItem, 'clean-list')}>
13
14
  {column.items.map((item, i) => (
14
15
  <li key={i} className="footer__item">
@@ -28,8 +29,8 @@ function Footer() {
28
29
  const { links, style } = footer;
29
30
  return (
30
31
  <footer className={clsx(styles.footer, style)}>
31
- <div className="container padding-horiz--lg">
32
- <div className="row" style={{ justifyContent: 'space-between' }}>
32
+ <div className={styles.container}>
33
+ <div className={clsx('row', styles.top)}>
33
34
  { links.map((column, i) => (
34
35
  <div key={i} className={`col col--2`}>
35
36
  <FooterLinksColumn {...{ column }} />
@@ -37,12 +38,15 @@ function Footer() {
37
38
  ))
38
39
  }
39
40
  </div>
40
- <div className="row padding-vert--md padding-top--lg">
41
- <div className="col padding-vert--md col--6">
41
+ <div className={clsx('row', styles.bottom)}>
42
+ <div className="col col--6">
42
43
  <a href="https://apify.com" target={'_blank'} rel={'dofollow noreferrer'}>
43
- <span className={styles.footerLogo}></span>
44
+ <span className={styles.logo}></span>
44
45
  </a>
45
46
  </div>
47
+ <div className="col col--6">
48
+ <ColorModeToggle className={styles.toggle} />
49
+ </div>
46
50
  </div>
47
51
  </div>
48
52
  </footer>
@@ -1,5 +1,14 @@
1
1
  .footer {
2
- padding-top: 64px;
2
+ padding: 4rem 1.6rem 8rem;
3
+ border-top: 1px solid var(--color-neutral-separator-subtle);
4
+ }
5
+
6
+ .container {
7
+ max-width: calc(var(--max-layout-width) - var(--ifm-spacing-horizontal) * 2);
8
+ width: 100%;
9
+ margin: 0 auto;
10
+ display: flex;
11
+ flex-direction: column;
3
12
  }
4
13
 
5
14
  .builtBy {
@@ -33,20 +42,31 @@
33
42
  fill: #6f7490;
34
43
  }
35
44
 
36
- .footerTitle {
37
- font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI',
38
- 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans',
39
- 'Helvetica Neue', sans-serif;
40
- font-weight: 600;
41
- font-size: 16px;
42
- line-height: 20px;
43
- letter-spacing: 0.1em;
44
- text-transform: uppercase;
45
- color: #8d92af;
46
- margin-bottom: 20px;
45
+ .title {
46
+ font-size: 1.6rem;
47
+ font-weight: 700;
48
+ line-height: 2.4rem;
49
+ margin-bottom: 1.6rem;
50
+ }
51
+
52
+ .top {
53
+ justify-content: space-between;
54
+ }
55
+
56
+ .bottom {
57
+ padding-top: 8rem;
58
+
59
+ :global(.col) {
60
+ display: flex;
61
+ align-items: center;
62
+ }
63
+ }
64
+
65
+ .toggle {
66
+ margin-left: auto;
47
67
  }
48
68
 
49
- .footerLogo {
69
+ .logo {
50
70
  display: inline-block;
51
71
  width: 90px;
52
72
  height: 24px;
@@ -54,8 +74,47 @@
54
74
  background-repeat: no-repeat;
55
75
  }
56
76
 
57
- html[data-theme='dark'] .footerLogo {
77
+ html[data-theme='dark'] .logo {
58
78
  background-image: url('/img/footer-apify-logo-white.svg');
59
79
  }
60
80
 
81
+ @media (max-width: 996px) {
82
+ .footer {
83
+ padding: 3.2rem 1.6rem;
84
+ }
85
+
86
+ .container {
87
+ flex-direction: column-reverse;
88
+ }
89
+
90
+ .bottom {
91
+ padding-top: 0;
92
+ gap: 1.6rem;
93
+
94
+ :global(.col) {
95
+ justify-content: center;
96
+ }
97
+ }
98
+
99
+ .toggle {
100
+ margin-left: unset;
101
+ }
102
+
103
+ .top {
104
+ padding: 3.2rem 0;
105
+ gap: 3.2rem;
106
+ text-align: center;
107
+ }
108
+
109
+ .top::before {
110
+ width: 100%;
111
+ height: 1px;
112
+ margin: 0 -1.6rem;
113
+ padding: 0 1.6rem;
114
+ content: '';
115
+ display: block;
116
+ background-color: var(--color-neutral-separator-subtle);
117
+ }
118
+ }
119
+
61
120
  /** dummy comment just to trigger theme publishing 3 */
@@ -12,7 +12,7 @@ export default function LayoutWrapper(props) {
12
12
 
13
13
  return (
14
14
  <div style={{
15
- '--ifm-navbar-height': subNavbar && !currentPath.startsWith('api/v2') ? '123px' : '68px',
15
+ '--ifm-navbar-height': subNavbar && !currentPath.startsWith('api/v2') ? '126px' : '68px',
16
16
  margin: 0,
17
17
  padding: 0,
18
18
  boxSizing: 'border-box',
@@ -0,0 +1,7 @@
1
+ import styles from './styles.module.css';
2
+
3
+ export default function NavbarCTA() {
4
+ return (
5
+ <a href="https://console.apify.com" className={styles.getStarted}>Get started</a>
6
+ );
7
+ }
@@ -0,0 +1,59 @@
1
+ .getStarted {
2
+ height: 4rem;
3
+ padding: 0.8rem 1.6rem !important;
4
+ background-color: var(--color-primary-black-action);
5
+ border-radius: 2rem;
6
+ color: var(--color-neutral-text-on-primary);
7
+ font-size: 1.6rem;
8
+ font-weight: 500;
9
+ line-height: 2.4rem;
10
+ border: none;
11
+ box-shadow: none;
12
+ outline: none;
13
+ box-sizing: border-box;
14
+ cursor: pointer;
15
+ display: block;
16
+ position: relative;
17
+ text-align: center;
18
+ transition: all var(--ifm-transition-fast) var(--ifm-transition-timing-default);
19
+
20
+ &::before {
21
+ content: '';
22
+ position: absolute;
23
+ top: 0;
24
+ right: 0;
25
+ bottom: 0;
26
+ left: 0;
27
+ background: var(--button-gradient);
28
+ opacity: 0.4;
29
+ border-radius: inherit;
30
+ transition: all var(--ifm-transition-fast) var(--ifm-transition-timing-default);
31
+ }
32
+
33
+ &:hover {
34
+ background-color: var(--color-primary-black-action-hover);
35
+ color: var(--color-neutral-text-on-primary);
36
+
37
+ &::before {
38
+ opacity: 1;
39
+ }
40
+ }
41
+ }
42
+
43
+ :global(.navbar-sidebar) .getStarted {
44
+ display: none;
45
+ }
46
+
47
+ @media (max-width: 768px) {
48
+ .getStarted {
49
+ width: 100%;
50
+ }
51
+
52
+ :global(.navbar__inner) .getStarted {
53
+ display: none;
54
+ }
55
+
56
+ :global(.navbar-sidebar) .getStarted {
57
+ display: block;
58
+ }
59
+ }
@@ -4,7 +4,6 @@ import {
4
4
  splitNavbarItems,
5
5
  } from '@docusaurus/theme-common/internal';
6
6
  import { usePluginData } from '@docusaurus/useGlobalData';
7
- import NavbarColorModeToggle from '@theme/Navbar/ColorModeToggle';
8
7
  import NavbarLogo from '@theme/Navbar/Logo';
9
8
  import NavbarMobileSidebarToggle from '@theme/Navbar/MobileSidebar/Toggle';
10
9
  import NavbarSearch from '@theme/Navbar/Search';
@@ -12,7 +11,7 @@ import NavbarItem from '@theme/NavbarItem';
12
11
  import React from 'react';
13
12
 
14
13
  import SearchBar from '../../SearchBar';
15
- import styles from './styles.module.css';
14
+ import NavbarCTA from '../CTA';
16
15
 
17
16
  function NavbarItems({ items }) {
18
17
  return (
@@ -72,6 +71,7 @@ export default function NavbarContent() {
72
71
  const { navbar: { items } } = useThemeConfig();
73
72
  const [leftItems, rightItems] = splitNavbarItems(items);
74
73
  const searchBarItem = items.find((item) => item.type === 'search');
74
+
75
75
  return (
76
76
  <div
77
77
  style={{
@@ -85,20 +85,20 @@ export default function NavbarContent() {
85
85
  <NavbarContentLayout
86
86
  left={
87
87
  <>
88
- <NavbarMobileSidebarToggle />
89
88
  <NavbarLogo />
90
89
  <NavbarItems items={leftItems} />
91
90
  </>
92
91
  }
93
92
  right={
94
93
  <>
95
- <NavbarColorModeToggle className={styles.colorModeToggle} />
96
94
  <NavbarItems items={rightItems} />
97
95
  {!searchBarItem && (
98
96
  <NavbarSearch>
99
97
  <SearchBar />
100
98
  </NavbarSearch>
101
99
  )}
100
+ <NavbarCTA />
101
+ <NavbarMobileSidebarToggle />
102
102
  </>
103
103
  }
104
104
  />
@@ -0,0 +1,46 @@
1
+ import { useNavbarMobileSidebar, useThemeConfig } from '@docusaurus/theme-common/internal';
2
+ import IconClose from '@theme/Icon/Close';
3
+ import NavbarLogo from '@theme/Navbar/Logo';
4
+ import NavbarSearch from '@theme/Navbar/Search';
5
+ import React from 'react';
6
+
7
+ import SearchBar from '../../../SearchBar';
8
+ import NavbarCTA from '../../CTA';
9
+
10
+ export default function NavbarMobileSidebarHeader() {
11
+ const mobileSidebar = useNavbarMobileSidebar();
12
+
13
+ const { navbar: { items } } = useThemeConfig();
14
+ const searchBarItem = items.find((item) => item.type === 'search');
15
+
16
+ function onSearchClick(event) {
17
+ event.preventDefault();
18
+ mobileSidebar.toggle();
19
+ }
20
+
21
+ return (
22
+ <>
23
+ <div className="navbar-sidebar__brand">
24
+ <NavbarLogo />
25
+ <button
26
+ type="button"
27
+ className="clean-btn navbar-sidebar__close"
28
+ onClick={mobileSidebar.toggle}
29
+ aria-label="Close navigation bar"
30
+ >
31
+ <IconClose />
32
+ </button>
33
+ </div>
34
+ <div className="navbar-sidebar__actions">
35
+ <div className="navbar-sidebar__actions__container">
36
+ <NavbarCTA />
37
+ {!searchBarItem && (
38
+ <NavbarSearch>
39
+ <SearchBar onClick={onSearchClick} />
40
+ </NavbarSearch>
41
+ )}
42
+ </div>
43
+ </div>
44
+ </>
45
+ );
46
+ }
@@ -1,3 +1,4 @@
1
+ // eslint-disable-next-line simple-import-sort/imports
1
2
  import BrowserOnly from '@docusaurus/BrowserOnly';
2
3
  import RouterLink from '@docusaurus/Link';
3
4
  import { useHistory, useLocation } from '@docusaurus/router';
@@ -6,6 +7,10 @@ import React, { useCallback } from 'react';
6
7
 
7
8
  import { ApifySearch } from '@apify/docs-search-modal';
8
9
 
10
+ // needs to be imported as the last thing, so that it can override the default styles
11
+ // TODO: update simple-import-sort to allow importing css as last.
12
+ import './styles.css';
13
+
9
14
  /**
10
15
  * Tests whether the given href is pointing to the current docusaurus instance (so we can use the router link).
11
16
  */
@@ -35,7 +40,7 @@ export function Link(props) {
35
40
  return <a {...props}>{props.children}</a>;
36
41
  }
37
42
 
38
- export default function SearchBar() {
43
+ export default function SearchBar({ onClick }) {
39
44
  const { siteConfig } = useDocusaurusContext();
40
45
  const location = useLocation();
41
46
  const history = useHistory();
@@ -57,13 +62,17 @@ export default function SearchBar() {
57
62
 
58
63
  return (
59
64
  <BrowserOnly>
60
- {() => <ApifySearch
61
- algoliaAppId={siteConfig.themeConfig.algolia.appId}
62
- algoliaIndexName='apify_sdk_v2'
63
- algoliaKey={siteConfig.themeConfig.algolia.apiKey}
64
- filters={`version:${getVersion()}`}
65
- navigate={navigate}
66
- />}
65
+ {() => (
66
+ <div onClick={onClick}>
67
+ <ApifySearch
68
+ algoliaAppId={siteConfig.themeConfig.algolia.appId}
69
+ algoliaIndexName='apify_sdk_v2'
70
+ algoliaKey={siteConfig.themeConfig.algolia.apiKey}
71
+ filters={`version:${getVersion()}`}
72
+ navigate={navigate}
73
+ />
74
+ </div>
75
+ )}
67
76
  </BrowserOnly>
68
77
  );
69
78
  }
@@ -4,9 +4,101 @@
4
4
  }
5
5
 
6
6
  .DocSearch-Button {
7
+ height: 4rem;
7
8
  margin: 0;
8
- transition: all var(--ifm-transition-fast)
9
- var(--ifm-transition-timing-default);
9
+ padding: 0.8rem 1.2rem;
10
+ background-color: var(--color-Neutral_BackgroundMuted);
11
+ border: 1px solid var(--color-neutral-field-border);
12
+ border-radius: 6px;
13
+ color: var(--color-neutral-text-placeholder);
14
+ /* Annoying, but needed */
15
+ /* https://stackoverflow.com/questions/26140050/why-is-font-family-not-inherited-in-button-tags-automatically/26140154 */
16
+ font-family: inherit;
17
+ font-weight: 400;
18
+ display: flex;
19
+ align-items: center;
20
+ gap: 2rem;
21
+ transition: background-color var(--ifm-transition-fast) var(--ifm-transition-timing-default),
22
+ color var(--ifm-transition-fast) var(--ifm-transition-timing-default);
23
+ }
24
+
25
+ .navbar-sidebar .DocSearch-Button {
26
+ display: none;
27
+ }
28
+
29
+ @media (max-width: 768px) {
30
+ .DocSearch-Button {
31
+ width: 100%;
32
+ }
33
+
34
+ .navbar__inner .DocSearch-Button {
35
+ display: none;
36
+ }
37
+
38
+ .navbar-sidebar .DocSearch-Button {
39
+ display: flex;
40
+ }
41
+
42
+ .navbar-sidebar .DocSearch-Button-Placeholder {
43
+ display: block;
44
+ }
45
+
46
+ .navbar-sidebar .DocSearch-Button-Keys {
47
+ display: flex;
48
+ }
49
+ }
50
+
51
+ .DocSearch-Button:hover {
52
+ box-shadow: none;
53
+ background-color: var(--color-Neutral_BackgroundMuted);
54
+ color: var(--color-neutral-icon);
55
+ }
56
+
57
+ .DocSearch-Search-Icon {
58
+ display: none;
59
+ }
60
+
61
+ .DocSearch-Button-Placeholder {
62
+ color: inherit;
63
+ font-size: 1.4rem;
64
+ line-height: 2.4rem;
65
+ padding: 0;
66
+ transition: color var(--ifm-transition-fast) var(--ifm-transition-timing-default);
67
+ }
68
+
69
+ .DocSearch-Button-Keys {
70
+ width: 3rem;
71
+ min-width: unset;
72
+ height: 2rem;
73
+ background-color: var(--color-neutral-background-subtle);
74
+ border: 1px solid var(--color-neutral-border);
75
+ border-radius: 4px;
76
+ display: flex;
77
+ align-items: center;
78
+ justify-content: center;
79
+ gap: 0.2rem;
80
+ }
81
+
82
+ .DocSearch-Button-Key {
83
+ top: unset;
84
+ width: unset;
85
+ min-width: 0.8rem;
86
+ height: unset;
87
+ margin: unset;
88
+ padding: unset;
89
+ background: unset;
90
+ border-radius: unset;
91
+ box-shadow: unset;
92
+ color: var(--color-neutral-text-subtle);
93
+ font-size: 1.2rem;
94
+ font-weight: 500;
95
+ }
96
+
97
+ .DocSearch-Button-Key:first-child {
98
+ width: 1.2rem;
99
+ height: 1.2rem;
100
+ font-size: 1.6rem;
101
+ line-height: 1.2rem;
10
102
  }
11
103
 
12
104
  .DocSearch-Container {
@@ -117,6 +117,7 @@ function SearchPageContent() {
117
117
  const {
118
118
  algolia: { appId, apiKey, indexName },
119
119
  } = useAlgoliaThemeConfig();
120
+ const titleFormatter = useTitleFormatter();
120
121
  const documentsFoundPlural = useDocumentsFoundPlural();
121
122
  const docsSearchVersionsHelpers = useDocsSearchVersionsHelpers();
122
123
  const [searchQuery, setSearchQuery] = useSearchQueryString();
@@ -295,7 +296,7 @@ function SearchPageContent() {
295
296
  return (
296
297
  <Layout>
297
298
  <Head>
298
- <title>{useTitleFormatter(getTitle())}</title>
299
+ <title>{titleFormatter.format(getTitle())}</title>
299
300
  {/*
300
301
  We should not index search pages
301
302
  See https://github.com/facebook/docusaurus/pull/3233
@@ -14,8 +14,6 @@ html[data-theme='dark'] {
14
14
  --ifm-heading-color: #f2f3fb;
15
15
  --ifm-navbar-link-color: #f2f3fb;
16
16
 
17
- /* TODO set this conditionally to 123px when there is second level nav */
18
- --ifm-navbar-height: 68px;
19
17
  --ifm-line-height-base: 1.65;
20
18
 
21
19
  --ifm-code-background: var(--ifm-pre-background) !important;
@@ -80,6 +78,9 @@ html[data-theme='dark'] {
80
78
  --color-primary-action: #5990ff;
81
79
  --color-primary-action-hover: #80a9ff;
82
80
  --color-primary-action-active: #3970d7;
81
+ --color-primary-black-action: #ffffff;
82
+ --color-primary-black-action-hover: #d1d5e4;
83
+ --color-primary-black-action-active: #f3f4fa;
83
84
  --color-primary-field-border-active: #3970d7;
84
85
  --color-primary-chip-background: #1a3a78;
85
86
  --color-primary-chip-background-hover: #194594;
@@ -120,6 +121,7 @@ html[data-theme='dark'] {
120
121
  --color-danger-chip-background: #672523;
121
122
  --color-danger-chip-background-hover: #812420;
122
123
  --color-danger-chip-text: #fe9e8a;
124
+ --button-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.3) 0%, rgba(255, 255, 255, 0) 100%);
123
125
  }
124
126
 
125
127
  :root {
@@ -133,6 +135,7 @@ html[data-theme='dark'] {
133
135
  --ifm-font-weight-semibold: 600;
134
136
  --ifm-font-color-base: #242736;
135
137
 
138
+ --ifm-navbar-sidebar-width: 100vw;
136
139
  --ifm-navbar-item-padding-horizontal: 28px;
137
140
  --ifm-navbar-link-color: #41465d;
138
141
  --ifm-navbar-shadow: none;
@@ -160,6 +163,7 @@ html[data-theme='dark'] {
160
163
  --ifm-footer-background-color: #272c3d;
161
164
  --ifm-footer-title-color: #60626e;
162
165
  --ifm-footer-link-color: #6b6e80;
166
+ --ifm-spacing-horizontal: 2.4rem;
163
167
  --max-layout-width: 1440px;
164
168
 
165
169
  --ifm-code-background: var(--ifm-pre-background);
@@ -236,6 +240,9 @@ html[data-theme='dark'] {
236
240
  --color-primary-action: #1672eb;
237
241
  --color-primary-action-hover: #5290f9;
238
242
  --color-primary-action-active: #1a57da;
243
+ --color-primary-black-action: #272d3e;
244
+ --color-primary-black-action-hover: #2b3143;
245
+ --color-primary-black-action-active: #0a0b0f;
239
246
  --color-primary-field-border-active: #1672eb;
240
247
  --color-primary-chip-background: #e1eaff;
241
248
  --color-primary-chip-background-hover: #d8e2ff;
@@ -276,6 +283,7 @@ html[data-theme='dark'] {
276
283
  --color-danger-chip-background: #ffe3dc;
277
284
  --color-danger-chip-background-hover: #fedad1;
278
285
  --color-danger-chip-text: #bb0401;
286
+ --button-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.3) 0%, rgba(255, 255, 255, 0) 100%);
279
287
  }
280
288
 
281
289
  .markdown h1,
@@ -346,19 +354,51 @@ body {
346
354
  font-weight: 600;
347
355
  }
348
356
 
349
- .navbar__item {
350
- font-weight: 500;
351
- }
352
-
353
357
  .navbar__sub--title > a {
354
358
  font-weight: 600;
355
359
  }
356
360
 
361
+ footer .clean-list {
362
+ margin-bottom: 0;
363
+ }
364
+
365
+ footer .row {
366
+ margin: unset;
367
+ }
368
+
369
+ footer .col {
370
+ padding: unset;
371
+ }
372
+
357
373
  .footer__title {
358
374
  font-size: 20px;
359
375
  font-weight: 600;
360
376
  }
361
377
 
378
+ .footer__item {
379
+ margin-bottom: 1.6rem;
380
+ }
381
+
382
+ .footer__item:last-child {
383
+ margin-bottom: 0;
384
+ }
385
+
386
+ .footer__link-item {
387
+ display: flex;
388
+ align-items: center;
389
+ gap: 0.4rem;
390
+ }
391
+
392
+ @media (max-width: 996px) {
393
+ .footer__link-item {
394
+ margin: 0 auto;
395
+ }
396
+ }
397
+
398
+ .footer__link-item svg[class*=iconExternalLink] {
399
+ margin-left: unset;
400
+ }
401
+
362
402
  .footer__bottom a {
363
403
  opacity: 0.75;
364
404
  }
@@ -367,24 +407,25 @@ body {
367
407
  color: var(--ifm-footer-title-color);
368
408
  }
369
409
 
370
- footer .col {
371
- margin-bottom: 32px;
372
- }
373
-
374
410
  .navbar__title {
375
411
  /* Replaced by SVG */
376
412
  display: none;
377
413
  }
378
414
 
379
415
  .navbar__inner {
380
- /* .container */
381
- padding: 10px var(--ifm-spacing-horizontal);
382
416
  width: 100%;
417
+ height: 68px;
418
+ padding: 0 var(--ifm-spacing-horizontal);
383
419
  background: var(--color-Neutral_Background);
384
420
  }
385
421
 
422
+ .navbar__sub {
423
+ padding: 0.8rem var(--ifm-spacing-horizontal);
424
+ height: 58px;
425
+ }
426
+
386
427
  .navbar__container {
387
- max-width: calc(var(--max-layout-width) - 32px);
428
+ max-width: calc(var(--max-layout-width) - var(--ifm-spacing-horizontal) * 2);
388
429
  display: flex;
389
430
  margin: 0 auto;
390
431
  width: 100%;
@@ -395,43 +436,6 @@ footer .col {
395
436
  display: none;
396
437
  }
397
438
 
398
- .dropdown__link {
399
- font-size: 14px;
400
-
401
- }
402
-
403
- .DocSearch-Button-Placeholder {
404
- font-size: 14px !important;
405
- }
406
-
407
- html .DocSearch-Button {
408
- border-radius: 6px !important;
409
- font-weight: 400 !important;
410
- background: #f9fafd;
411
- border: 1px solid #c1c6dd;
412
-
413
- /* Annoying, but needed */
414
- /* https://stackoverflow.com/questions/26140050/why-is-font-family-not-inherited-in-button-tags-automatically/26140154 */
415
- font-family: inherit;
416
- }
417
-
418
- html .DocSearch-Button .DocSearch-Search-Icon {
419
- color: var(--docsearch-muted-color);
420
- }
421
-
422
- html[data-theme="dark"] .DocSearch-Button {
423
- background: none;
424
- border: 1px solid var(--docsearch-muted-color);
425
- }
426
-
427
- html[data-theme="dark"] .DocSearch-Button .DocSearch-Search-Icon {
428
- color: var(--docsearch-muted-color);
429
- }
430
-
431
- .DocSearch-Button:hover {
432
- box-shadow: none !important;
433
- }
434
-
435
439
  .navbar {
436
440
  padding: 0;
437
441
  /* height: fit-content; */
@@ -520,24 +524,28 @@ aside .icon svg[class*=iconExternalLink] {
520
524
  }
521
525
 
522
526
  .navbar__items {
523
- gap: 6px;
527
+ gap: 0.4rem;
528
+ }
529
+
530
+ .navbar__items--right {
531
+ gap: 1.6rem;
524
532
  }
525
533
 
526
534
  .navbar__item, .menu__link, .navbar__link {
527
- border-radius: 8px;
528
535
  color: var(--color-Neutral_TextMuted);
529
- padding: 4px 8px;
530
- font-size: 14px;
531
- line-height: 24.4px;
536
+ padding: 0;
537
+ font-size: 1.4rem;
538
+ line-height: 2.4rem;
532
539
  transition: all ease-in 0.12s;
533
540
  }
534
541
 
535
542
  .menu__link:hover {
536
- background: var(--color-Neutral_Hover) !important;
543
+ background: var(--color-Neutral_Hover);
544
+ color: unset;
537
545
  }
538
546
 
539
547
  .menu__link--active:hover {
540
- background: var(--color-neutral-overflow) !important;
548
+ background: var(--color-neutral-overflow);
541
549
  }
542
550
 
543
551
  .navbar__link:hover, .navbar__link--active:hover {
@@ -554,12 +562,18 @@ aside .icon svg[class*=iconExternalLink] {
554
562
  display: flex;
555
563
  align-items: center;
556
564
  width: 200px;
557
- padding-right: 8px;
565
+ margin-right: 1.6rem;
566
+ padding-right: 2rem;
558
567
  position: relative;
559
568
  border-right: 1px solid var(--color-Neutral_SeparatorSubtle);
560
569
  justify-content: center;
561
570
  }
562
571
 
572
+ .navbar-sidebar__item {
573
+ width: 100%;
574
+ padding: 1.6rem var(--ifm-spacing-horizontal);
575
+ }
576
+
563
577
  header.hero div[class^=heroButtons] {
564
578
  justify-content: inherit;
565
579
  }
@@ -592,8 +606,8 @@ article .card h2 {
592
606
  margin-top: 0;
593
607
  }
594
608
 
595
- .tsd-kind-icon,
596
609
  .menu__link,
610
+ .tsd-kind-icon,
597
611
  .table-of-contents__link {
598
612
  text-overflow: ellipsis;
599
613
  display: inline-block !important;
@@ -615,13 +629,25 @@ article .card h2 {
615
629
  color: #f2f3fb;
616
630
  }
617
631
 
618
- .menu__caret:before,
619
- .menu__link--sublist:after {
620
- float: right;
632
+ .menu__caret {
633
+ margin-right: 0.8rem;
634
+ padding: 0.6rem;
635
+ }
636
+
637
+ .menu__caret,
638
+ .menu__link--sublist-caret {
639
+ border-radius: 1.2rem;
640
+ }
641
+
642
+ .menu__caret:before {
643
+ width: 1.2rem;
644
+ height: 1.2rem;
621
645
  }
622
646
 
623
647
  .menu__link--sublist-caret:after {
624
- height: 2.5rem;
648
+ width: 2rem;
649
+ height: 2.4rem;
650
+ float: right;
625
651
  }
626
652
 
627
653
  aside button[class*="collapseSidebarButton"] svg {
@@ -632,29 +658,112 @@ aside button[class*="collapseSidebarButton"] svg {
632
658
  height: 20px;
633
659
  }
634
660
 
635
- nav.navbar .dropdown__menu {
661
+ .navbar .dropdown--hoverable::after {
662
+ top: 100%;
663
+ width: 100%;
664
+ height: 0.6rem;
665
+ content: '';
666
+ display: block;
667
+ position: absolute;
668
+ }
669
+
670
+ .navbar .dropdown__menu {
671
+ top: calc(100% + 0.6rem);
636
672
  min-width: 96px;
637
- padding-top: 1rem;
673
+ padding: 0.8rem;
674
+ border: 1px solid var(--color-neutral-border);
675
+ border-radius: 12px;
676
+ box-shadow: none;
638
677
  }
639
678
 
640
- .navbar__logo {
641
- display: none;
642
- width: 176px;
643
- height: 48px;
679
+ .navbar .dropdown__link {
680
+ margin: unset;
681
+ padding: 0.8rem;
682
+ font-size: 1.2rem;
683
+ line-height: 1.6rem;
684
+ border-radius: 0.8rem;
685
+ display: flex;
686
+ align-items: center;
687
+ gap: 0.4rem;
644
688
  }
645
689
 
646
- .navbar-sidebar .navbar__logo {
647
- display: initial;
690
+ .navbar .dropdown__link:hover {
691
+ background: var(--color-Neutral_Hover);
648
692
  }
649
693
 
650
- .navbar-sidebar .toggle_theme-src-theme-ColorModeToggle-styles-module {
651
- display: none;
694
+ .navbar .dropdown__link svg[class*=iconExternalLink] {
695
+ margin-left: unset;
696
+ }
697
+
698
+ .navbar__toggle,
699
+ .navbar-sidebar__close {
700
+ width: 3.6rem;
701
+ height: 3.6rem;
702
+ margin: unset;
703
+ flex-shrink: 0;
704
+ align-items: center;
705
+ justify-content: center;
652
706
  }
653
707
 
654
- .navbar-sidebar div[class*="toggle_apify-docs"] {
708
+ @media (max-width: 996px) {
709
+ .navbar__toggle {
710
+ display: flex;
711
+ }
712
+ }
713
+
714
+ .navbar__toggle svg {
715
+ width: 2rem;
716
+ height: 2rem;
717
+ }
718
+
719
+ .navbar-sidebar__close svg {
720
+ width: 1.6rem;
721
+ height: 1.6rem;
722
+ }
723
+
724
+ .navbar-sidebar {
725
+ width: 100vw;
726
+ }
727
+
728
+ .navbar-sidebar__items {
729
+ height: calc(100vh - 197px);
730
+ }
731
+
732
+ .navbar-sidebar__brand {
733
+ height: 68px;
734
+ padding: 0 var(--ifm-spacing-horizontal);
735
+ display: flex;
736
+ align-items: center;
737
+ gap: 0.8rem;
738
+ }
739
+
740
+ .navbar-sidebar__actions {
741
+ width: 100%;
742
+ padding: 0 var(--ifm-spacing-horizontal);
655
743
  display: none;
656
744
  }
657
745
 
746
+ @media (max-width: 768px) {
747
+ .navbar-sidebar__actions {
748
+ display: block;
749
+ }
750
+ }
751
+
752
+ .navbar-sidebar__actions__container {
753
+ width: 100%;
754
+ padding: 1.6rem 0;
755
+ border-bottom: 1px solid rgb(224, 224, 224);
756
+ display: flex;
757
+ flex-direction: column;
758
+ gap: 1.6rem;
759
+ }
760
+
761
+ .navbar__logo {
762
+ width: 152px;
763
+ height: 28px;
764
+ margin-right: unset;
765
+ }
766
+
658
767
  .navbar__link.subnav {
659
768
  font-size: 12.8px;
660
769
  padding: 5px;
@@ -724,7 +833,6 @@ html .plugin-docs .theme-doc-markdown h3 {
724
833
  display: none;
725
834
  }
726
835
 
727
- .theme-doc-sidebar-menu .menu__link,
728
836
  .theme-doc-toc-desktop .table-of-contents .toc-highlight {
729
837
  height: auto;
730
838
  background: none;
@@ -734,10 +842,6 @@ html .plugin-docs .theme-doc-markdown h3 {
734
842
  margin-top: 0;
735
843
  }
736
844
 
737
- .theme-doc-sidebar-menu .menu__link:hover {
738
- background: inherit;
739
- }
740
-
741
845
  .theme-doc-sidebar-menu .menu__link {
742
846
  font-weight: 400;
743
847
  }
@@ -746,15 +850,6 @@ html .plugin-docs .theme-doc-markdown h3 {
746
850
  font-weight: 700;
747
851
  }
748
852
 
749
- .theme-doc-sidebar-menu .menu__list-item-collapsible {
750
- background: none;
751
- border-radius: 0.8rem;
752
- }
753
-
754
- .theme-doc-sidebar-menu .menu__list-item-collapsible:hover {
755
- background: var(--color-Neutral_Hover);
756
- }
757
-
758
853
  .theme-doc-sidebar-menu .menu__list-item-collapsible--active:hover {
759
854
  background: var(--color-neutral-overflow);
760
855
  }
@@ -785,7 +880,6 @@ html[data-theme='dark'] .theme-doc-toc-desktop .table-of-contents .table-of-cont
785
880
  color: #f2f3fb;
786
881
  }
787
882
 
788
- .theme-doc-sidebar-menu .menu__link:hover,
789
883
  .theme-doc-sidebar-menu .menu__link--active,
790
884
  .theme-doc-toc-desktop .table-of-contents .table-of-contents__link:hover,
791
885
  .theme-doc-toc-desktop .table-of-contents .table-of-contents__link--active {
@@ -819,24 +913,84 @@ div[class*="searchBox"] {
819
913
  position: unset;
820
914
  }
821
915
 
822
- .menu__link.navbar__item {
823
- padding: 4px 8px;
916
+ .navbar__brand {
917
+ margin-right: 2rem;
918
+ }
919
+
920
+ @media (max-width: 996px) {
921
+ .navbar__brand {
922
+ margin-right: auto;
923
+ }
824
924
  }
825
925
 
826
926
  .menu__link, .menu__list-item > .navbar__item {
827
927
  display: flex;
828
928
  }
829
929
 
830
- .theme-doc-sidebar-item-category .menu__list-item-collapsible,
831
- .theme-doc-sidebar-item-link {
832
- display: flex;
833
- align-items: center;
930
+ .menu__list-item > .menu__link,
931
+ .menu__list-item-collapsible,
932
+ .menu__list-item-collapsible > .menu__link,
933
+ .navbar__item.navbar__link,
934
+ .navbar__item > .navbar__link,
935
+ .navbar-sidebar__back {
936
+ padding: 0.8rem 1.2rem;
937
+ border-radius: 2rem;
938
+ font-size: 1.4rem;
939
+ line-height: 2.4rem;
940
+ font-weight: 500;
834
941
  }
835
942
 
836
- @media (min-width: 480px) {
837
- .navbar__logo {
838
- display: initial;
943
+ .navbar__item.navbar__link.icon {
944
+ padding: 0.8rem;
945
+ font-size: 0;
946
+ line-height: 0;
947
+ flex-shrink: 0;
948
+ }
949
+
950
+ @media (max-width: 996px) {
951
+ .navbar__item.navbar__link.icon {
952
+ font-size: 1.4rem;
953
+ line-height: 2.4rem;
954
+ font-weight: 500;
839
955
  }
956
+
957
+ .menu__link.icon::before {
958
+ display: none;
959
+ }
960
+
961
+ .navbar__inner .navbar__item.navbar__link.icon {
962
+ display: none;
963
+ }
964
+ }
965
+
966
+
967
+ .menu__list-item-collapsible {
968
+ padding: unset;
969
+ }
970
+
971
+ .menu__list {
972
+ width: 100%;
973
+ }
974
+
975
+ .menu__list > .menu__list-item {
976
+ margin-top: 0.4rem;
977
+ }
978
+
979
+ .menu__list .menu__list {
980
+ margin-top: unset;
981
+ padding-left: 1.6rem;
982
+ }
983
+
984
+ .navbar-sidebar__back {
985
+ width: 100%;
986
+ margin: unset;
987
+ }
988
+
989
+ .theme-doc-sidebar-item-category
990
+ .theme-doc-sidebar-item-link,
991
+ .menu__list-item-collapsible {
992
+ display: flex;
993
+ align-items: center;
840
994
  }
841
995
 
842
996
  @media (min-width: 997px) {
@@ -849,12 +1003,6 @@ div[class*="searchBox"] {
849
1003
  }
850
1004
  }
851
1005
 
852
- @media (min-width: 1130px) {
853
- .navbar__items {
854
- gap: 20px;
855
- }
856
- }
857
-
858
1006
  /* @media (min-width: 997px) and (max-width: 1250px) {
859
1007
  .navbar__items--right a.icon {
860
1008
  display: none;
@@ -878,11 +1026,6 @@ html .theme-doc-sidebar-container {
878
1026
  border: 0;
879
1027
  }
880
1028
 
881
- html .theme-doc-sidebar-container button {
882
- border: 0;
883
- border-radius: 10px;
884
- }
885
-
886
1029
  html .table-of-contents {
887
1030
  border-left: 0;
888
1031
  }
@@ -1016,15 +1159,6 @@ aside li.section-header > .menu__list {
1016
1159
  padding-left: 0;
1017
1160
  }
1018
1161
 
1019
- .theme-doc-sidebar-menu > li.section-header > ul > li.theme-doc-sidebar-item-category-level-2 > .menu__list-item-collapsible:hover,
1020
- .theme-doc-sidebar-menu > li.section-header > ul > li.theme-doc-sidebar-item-category-level-2 > .menu__list-item-collapsible--active {
1021
- background: inherit !important;
1022
- }
1023
-
1024
- .theme-doc-sidebar-menu > li.section-header > ul > li.theme-doc-sidebar-item-category-level-2 {
1025
- margin-bottom: 1rem;
1026
- }
1027
-
1028
1162
  .beta-chip {
1029
1163
  display: inline-block;
1030
1164
  border: 1px solid #ccc;
@@ -1837,19 +1971,12 @@ iframe[src*="youtube"] {
1837
1971
  --ifm-button-size-multiplier: 1.5;
1838
1972
  }
1839
1973
 
1974
+ div[class^="navbarSearchContainer"] {
1975
+ padding: 0;
1976
+ }
1977
+
1840
1978
  @media (max-width: 996px) {
1841
1979
  div[class^="navbarSearchContainer"] {
1842
1980
  position: static;
1843
1981
  }
1844
-
1845
- div[class^="navbarSearchContainer"] button {
1846
- margin-left: 5px;
1847
- }
1848
- }
1849
-
1850
- @media (max-width: 768px) {
1851
- .DocSearch-Button-Keys,
1852
- .DocSearch-Button-Placeholder {
1853
- display: none !important;
1854
- }
1855
1982
  }
@@ -1,8 +0,0 @@
1
- /*
2
- Hide color mode toggle in small viewports
3
- */
4
- @media (max-width: 996px) {
5
- .colorModeToggle {
6
- display: none;
7
- }
8
- }