@jetbrains/kotlin-web-site-ui 3.1.0 → 4.0.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (151) hide show
  1. package/out/blocks/formik-wrapper/index.css +8 -0
  2. package/out/blocks/formik-wrapper/index.js +4 -0
  3. package/out/blocks/formik-wrapper/input.js +38 -0
  4. package/out/blocks/formik-wrapper/privacy-checkbox.js +52 -0
  5. package/out/blocks/formik-wrapper/privacy-notice.js +49 -0
  6. package/out/blocks/formik-wrapper/privacy-notice.module.pcss.js +6 -0
  7. package/out/blocks/formik-wrapper/submit-button.js +21 -0
  8. package/out/components/cta-block/cta-block.js +45 -0
  9. package/out/components/cta-block/cta-block.module.pcss.js +8 -0
  10. package/out/components/cta-block/index.css +36 -0
  11. package/out/components/cta-block/index.js +3 -0
  12. package/out/components/footer/footer.js +73 -0
  13. package/out/components/footer/footer.module.pcss.js +13 -0
  14. package/out/components/footer/index.css +242 -0
  15. package/out/components/footer/index.js +3 -0
  16. package/out/components/footer/logo/jetbrains-logo.svg.js +38 -0
  17. package/out/components/footer/logo/logo.js +14 -0
  18. package/out/components/footer/logo/logo.module.pcss.js +4 -0
  19. package/out/components/footer/nav/nav-data.js +30 -0
  20. package/out/components/footer/nav/nav-item.js +31 -0
  21. package/out/components/footer/nav/nav-item.module.pcss.js +5 -0
  22. package/out/components/footer/nav/nav-list.js +18 -0
  23. package/out/components/footer/nav/nav-list.module.pcss.js +4 -0
  24. package/out/components/footer/social-list/social-data.js +38 -0
  25. package/out/components/footer/social-list/social-item/social-item.js +23 -0
  26. package/out/components/footer/social-list/social-item/social-item.module.pcss.js +5 -0
  27. package/out/components/footer/social-list/social-list.js +14 -0
  28. package/out/components/footer/social-list/social-list.module.pcss.js +4 -0
  29. package/out/components/footer/social-list/svg/github-logo.svg.js +35 -0
  30. package/out/components/footer/social-list/svg/reddit-logo.svg.js +33 -0
  31. package/out/components/footer/social-list/svg/slack-logo.svg.js +33 -0
  32. package/out/components/footer/social-list/svg/stackoverflow-logo.svg.js +36 -0
  33. package/out/components/footer/social-list/svg/twitter-logo.svg.js +33 -0
  34. package/out/components/footer/social-list/svg/youtube-logo.svg.js +35 -0
  35. package/out/components/grid/index.css +1081 -0
  36. package/out/components/grid/index.js +1 -0
  37. package/out/components/header/consts.js +3 -0
  38. package/out/components/header/header.js +68 -0
  39. package/out/components/header/header.module.pcss.js +6 -0
  40. package/out/components/header/horizontal-menu/horizontal-menu.js +110 -0
  41. package/out/components/header/horizontal-menu/horizontal-menu.module.pcss.js +16 -0
  42. package/out/components/header/index.css +402 -0
  43. package/out/components/header/index.js +4 -0
  44. package/out/components/header/logo-large/kotlin-logo-large.svg.js +53 -0
  45. package/out/components/header/logo-large/logo-large.js +40 -0
  46. package/out/components/header/logo-large/logo-large.module.pcss.js +6 -0
  47. package/out/components/header/logo-small/kotlin-logo-small.svg.js +47 -0
  48. package/out/components/header/logo-small/logo-small.js +33 -0
  49. package/out/components/header/logo-small/logo-small.module.pcss.js +7 -0
  50. package/out/components/header/menu-popup/menu-button/close-icon.svg.js +35 -0
  51. package/out/components/header/menu-popup/menu-button/hamburger-icon.svg.js +35 -0
  52. package/out/components/header/menu-popup/menu-button/menu-button.js +22 -0
  53. package/out/components/header/menu-popup/menu-button/menu-button.pcss.js +2 -0
  54. package/out/components/header/menu-popup/menu-popup.js +104 -0
  55. package/out/components/header/menu-popup/menu-popup.module.pcss.js +9 -0
  56. package/out/components/header/nav-scheme.js +135 -0
  57. package/out/components/header/search-button/search-button.js +22 -0
  58. package/out/components/header/search-button/search-button.module.pcss.js +5 -0
  59. package/out/components/header/search-button/search.svg.js +34 -0
  60. package/out/components/popup/index.css +35 -0
  61. package/out/components/popup/index.js +3 -0
  62. package/out/components/popup/popup.js +61 -0
  63. package/out/components/popup/popup.module.pcss.js +6 -0
  64. package/out/components/quotes-slider/index.css +86 -0
  65. package/out/components/quotes-slider/index.js +3 -0
  66. package/out/components/quotes-slider/quites-slider.js +100 -0
  67. package/out/components/quotes-slider/quote.svg.js +33 -0
  68. package/out/components/quotes-slider/quotes-slider.module.pcss.js +13 -0
  69. package/out/components/quotes-slider/slider-arrow.svg.js +33 -0
  70. package/out/components/top-menu/dropdown-menu/arrow-dropdown-icon.svg.js +34 -0
  71. package/out/components/top-menu/dropdown-menu/dropdown-menu.js +81 -0
  72. package/out/components/top-menu/dropdown-menu/dropdown-menu.module.pcss.js +14 -0
  73. package/out/components/top-menu/horizontal-menu/horizontal-menu.js +48 -0
  74. package/out/components/top-menu/horizontal-menu/horizontal-menu.module.pcss.js +6 -0
  75. package/out/components/top-menu/index.css +224 -0
  76. package/out/components/top-menu/index.js +3 -0
  77. package/out/components/top-menu/top-menu.js +51 -0
  78. package/out/components/top-menu/top-menu.module.pcss.js +6 -0
  79. package/out/components/typography/create-text-cn.js +26 -0
  80. package/out/components/typography/hooks.js +6 -0
  81. package/out/components/typography/index.css +176 -0
  82. package/out/components/typography/index.js +3 -0
  83. package/out/components/youtube-player/index.css +119 -0
  84. package/out/components/youtube-player/index.js +3 -0
  85. package/out/components/youtube-player/loading_24.svg.js +31 -0
  86. package/out/components/youtube-player/play_24.svg.js +31 -0
  87. package/out/components/youtube-player/utils.js +28 -0
  88. package/out/components/youtube-player/youtube-player.js +152 -0
  89. package/out/components/youtube-player/youtube-player.module.pcss.js +16 -0
  90. package/out/packages/data-services/index.js +9 -0
  91. package/out/packages/data-services/marketo-submiter.js +62 -0
  92. package/out/packages/data-services/privacy-consent-ids.json.js +5 -0
  93. package/out/packages/data-services/privacy-consent-service.js +44 -0
  94. package/out/packages/data-services/urls.js +4 -0
  95. package/{dist → out}/svg/kotlin_64.svg +0 -0
  96. package/package.json +18 -2
  97. package/dist/ctaBlock.css +0 -2
  98. package/dist/ctaBlock.css.map +0 -1
  99. package/dist/ctaBlock.js +0 -3
  100. package/dist/ctaBlock.js.LICENSE.txt +0 -8
  101. package/dist/ctaBlock.js.map +0 -1
  102. package/dist/dataServices.js +0 -3
  103. package/dist/dataServices.js.LICENSE.txt +0 -17
  104. package/dist/dataServices.js.map +0 -1
  105. package/dist/footer.css +0 -2
  106. package/dist/footer.css.map +0 -1
  107. package/dist/footer.js +0 -3
  108. package/dist/footer.js.LICENSE.txt +0 -14
  109. package/dist/footer.js.map +0 -1
  110. package/dist/formikWrappers.css +0 -2
  111. package/dist/formikWrappers.css.map +0 -1
  112. package/dist/formikWrappers.js +0 -3
  113. package/dist/formikWrappers.js.LICENSE.txt +0 -14
  114. package/dist/formikWrappers.js.map +0 -1
  115. package/dist/grid.css +0 -2
  116. package/dist/grid.css.map +0 -1
  117. package/dist/grid.js +0 -2
  118. package/dist/grid.js.map +0 -1
  119. package/dist/header.css +0 -2
  120. package/dist/header.css.map +0 -1
  121. package/dist/header.js +0 -3
  122. package/dist/header.js.LICENSE.txt +0 -14
  123. package/dist/header.js.map +0 -1
  124. package/dist/popup.css +0 -2
  125. package/dist/popup.css.map +0 -1
  126. package/dist/popup.js +0 -3
  127. package/dist/popup.js.LICENSE.txt +0 -26
  128. package/dist/popup.js.map +0 -1
  129. package/dist/quotesSlider.css +0 -2
  130. package/dist/quotesSlider.css.map +0 -1
  131. package/dist/quotesSlider.js +0 -3
  132. package/dist/quotesSlider.js.LICENSE.txt +0 -14
  133. package/dist/quotesSlider.js.map +0 -1
  134. package/dist/svg/loading_24.svg +0 -1
  135. package/dist/svg/play_24.svg +0 -1
  136. package/dist/svg/quote.svg +0 -3
  137. package/dist/svg/slider-arrow.svg +0 -3
  138. package/dist/topMenu.css +0 -2
  139. package/dist/topMenu.css.map +0 -1
  140. package/dist/topMenu.js +0 -3
  141. package/dist/topMenu.js.LICENSE.txt +0 -14
  142. package/dist/topMenu.js.map +0 -1
  143. package/dist/typography.css +0 -2
  144. package/dist/typography.css.map +0 -1
  145. package/dist/typography.js +0 -2
  146. package/dist/typography.js.map +0 -1
  147. package/dist/youtubePlayer.css +0 -2
  148. package/dist/youtubePlayer.css.map +0 -1
  149. package/dist/youtubePlayer.js +0 -3
  150. package/dist/youtubePlayer.js.LICENSE.txt +0 -14
  151. package/dist/youtubePlayer.js.map +0 -1
@@ -0,0 +1 @@
1
+ import './index.css';
@@ -0,0 +1,3 @@
1
+ const KOTLINLANG_URL = 'https://kotlinlang.org';
2
+ const PLAYGROUND_URL = 'https://play.kotlinlang.org/';
3
+ export { KOTLINLANG_URL, PLAYGROUND_URL };
@@ -0,0 +1,68 @@
1
+ import { jsx, jsxs } from 'react/jsx-runtime';
2
+ import { forwardRef, useState, useMemo, useRef, useImperativeHandle, useLayoutEffect } from 'react';
3
+ import { ThemeProvider } from '@rescui/ui-contexts';
4
+ import useResizeObserver from '@react-hook/resize-observer';
5
+ import { LogoLarge } from './logo-large/logo-large.js';
6
+ import styles from './header.module.pcss.js';
7
+ import { getNavScheme } from './nav-scheme.js';
8
+ import { HorizontalMenu } from './horizontal-menu/horizontal-menu.js';
9
+ import { SearchButton } from './search-button/search-button.js';
10
+ import { MenuPopup } from './menu-popup/menu-popup.js';
11
+ import { LogoSmall } from './logo-small/logo-small.js';
12
+ import classNames from 'classnames';
13
+ const MENU_POPUP_BREAKPOINT = 640;
14
+ const Header = forwardRef(({
15
+ productWebUrl,
16
+ hasSearch = false,
17
+ onSearchClick,
18
+ currentUrl,
19
+ currentTitle,
20
+ className,
21
+ hasBorder = true,
22
+ dropdownTheme = 'dark',
23
+ linkHandler,
24
+ isPlayground,
25
+ isUrlActive
26
+ }, forwardedRef) => {
27
+ const [menuPopupExpanded, setMenuPopupExpanded] = useState(false);
28
+ const [isMenuPopupVisible, setIsMenuPopupVisible] = useState(false);
29
+ const items = useMemo(() => getNavScheme(isUrlActive, currentUrl, isPlayground), [isUrlActive, currentUrl, isPlayground]);
30
+ const headerRef = useRef(null);
31
+ useImperativeHandle(forwardedRef, () => headerRef.current);
32
+ useLayoutEffect(() => {
33
+ setIsMenuPopupVisible((headerRef.current?.getBoundingClientRect?.().width ?? 0) <= MENU_POPUP_BREAKPOINT);
34
+ }, [headerRef]);
35
+ useResizeObserver(headerRef, entry => setIsMenuPopupVisible(entry.contentRect.width <= MENU_POPUP_BREAKPOINT));
36
+ return jsx(ThemeProvider, Object.assign({
37
+ theme: 'dark'
38
+ }, {
39
+ children: jsxs("header", Object.assign({
40
+ ref: headerRef,
41
+ className: classNames(styles.headerMenu, className, {
42
+ [styles.withMenuPopup]: menuPopupExpanded,
43
+ [styles.border]: hasBorder
44
+ })
45
+ }, {
46
+ children: [isMenuPopupVisible && currentTitle && currentUrl && !menuPopupExpanded ? jsx(LogoSmall, {
47
+ homeTitle: currentTitle,
48
+ homeUrl: currentUrl
49
+ }, void 0) : jsx(LogoLarge, {
50
+ productWebUrl: productWebUrl
51
+ }, void 0), !isMenuPopupVisible && jsx(HorizontalMenu, {
52
+ items: items,
53
+ theme: dropdownTheme,
54
+ linkHandler: linkHandler
55
+ }, void 0), jsx(SearchButton, {
56
+ onClick: onSearchClick,
57
+ isActive: hasSearch && !!onSearchClick
58
+ }, void 0), isMenuPopupVisible && jsx(MenuPopup, {
59
+ items: items,
60
+ setExpand: setMenuPopupExpanded,
61
+ isExpanded: menuPopupExpanded,
62
+ headerRef: headerRef,
63
+ linkHandler: linkHandler
64
+ }, void 0)]
65
+ }), void 0)
66
+ }), void 0);
67
+ });
68
+ export { Header };
@@ -0,0 +1,6 @@
1
+ var styles = {
2
+ "headerMenu": "ktl-header-module_header-menu_wh71L",
3
+ "border": "ktl-header-module_border_paN11",
4
+ "withMenuPopup": "ktl-header-module_with-menu-popup_Bcffw"
5
+ };
6
+ export { styles as default };
@@ -0,0 +1,110 @@
1
+ import { useState, useEffect, createElement } from 'react';
2
+ import { jsx, jsxs } from 'react/jsx-runtime';
3
+ import classNames from 'classnames';
4
+ import styles from './horizontal-menu.module.pcss.js';
5
+ import { useTextStyles } from '@rescui/typography';
6
+
7
+ const DropdownMenu = ({
8
+ items,
9
+ isExpanded,
10
+ alignRight,
11
+ linkHandler
12
+ }) => {
13
+ const textCn = useTextStyles();
14
+ return jsx("ul", Object.assign({
15
+ className: classNames(styles.dropdownMenu, textCn('rs-text-2'), {
16
+ [styles.dropdownMenuExpanded]: isExpanded,
17
+ [styles.dropdownMenuAlignRight]: alignRight
18
+ })
19
+ }, {
20
+ children: items.map((item, key) => {
21
+ const Tag = !item.isActive && item.url ? 'a' : 'span';
22
+ return jsx("li", {
23
+ children: jsx(Tag, Object.assign({
24
+ className: classNames(styles.dropdownMenuItem, {
25
+ [styles.active]: item.isActive
26
+ })
27
+ }, item.url ? {
28
+ href: item.url,
29
+ onClick: linkHandler ? event => item.url && linkHandler(event, item.url) : undefined
30
+ } : {}, {
31
+ children: item.title
32
+ }), void 0)
33
+ }, key);
34
+ })
35
+ }), void 0);
36
+ };
37
+
38
+ const HorizontalMenuItem = ({
39
+ item,
40
+ onMouseEnter,
41
+ onMouseLeave,
42
+ isExpanded,
43
+ isLast,
44
+ linkHandler
45
+ }) => {
46
+ const Tag = item.isActive || !item.url ? 'span' : 'a';
47
+ const textCn = useTextStyles();
48
+
49
+ const handleEnter = () => onMouseEnter(item);
50
+
51
+ return jsxs("li", Object.assign({
52
+ className: styles.menuItemWrap,
53
+ onMouseEnter: handleEnter,
54
+ onMouseLeave: onMouseLeave
55
+ }, {
56
+ children: [createElement(Tag, Object.assign({}, item.url ? {
57
+ href: item.url,
58
+ onClick: linkHandler ? event => item.url && linkHandler(event, item.url) : undefined
59
+ } : {}, {
60
+ key: item.title,
61
+ className: classNames(styles.menuItem, textCn('rs-text-2'), {
62
+ [styles.itemActive]: item.isActive,
63
+ [styles.expanded]: isExpanded && !!item.items?.length
64
+ })
65
+ }), item.title), !!item.items?.length && jsx(DropdownMenu, {
66
+ items: item.items,
67
+ isExpanded: isExpanded,
68
+ alignRight: isLast,
69
+ linkHandler: linkHandler
70
+ }, void 0)]
71
+ }), void 0);
72
+ };
73
+
74
+ const HorizontalMenu = ({
75
+ items,
76
+ theme,
77
+ linkHandler
78
+ }) => {
79
+ const [activeIndex, setActiveIndex] = useState(-1);
80
+ const [debouncedActiveIndex, setDebouncedActiveIndex] = useState(activeIndex);
81
+ useEffect(() => {
82
+ const handler = setTimeout(() => setDebouncedActiveIndex(activeIndex), activeIndex !== -1 ? 200 : 400);
83
+ return () => clearTimeout(handler);
84
+ }, [activeIndex]);
85
+
86
+ const handleEnter = item => setActiveIndex(items.findIndex(val => val === item));
87
+
88
+ const handleLeave = () => setActiveIndex(-1);
89
+
90
+ return jsx("nav", Object.assign({
91
+ className: classNames(styles.nav, {
92
+ [styles.darkTheme]: theme === 'dark'
93
+ })
94
+ }, {
95
+ children: jsx("ul", Object.assign({
96
+ className: styles.menuList
97
+ }, {
98
+ children: items.map((item, index) => jsx(HorizontalMenuItem, {
99
+ item: item,
100
+ onMouseEnter: handleEnter,
101
+ onMouseLeave: handleLeave,
102
+ isExpanded: index === debouncedActiveIndex,
103
+ isLast: index === items.length - 1,
104
+ linkHandler: linkHandler
105
+ }, index))
106
+ }), void 0)
107
+ }), void 0);
108
+ };
109
+
110
+ export { HorizontalMenu };
@@ -0,0 +1,16 @@
1
+ var styles = {
2
+ "nav": "ktl-horizontal-menu-module_nav_gbA7M",
3
+ "menuList": "ktl-horizontal-menu-module_menu-list_TJnOF",
4
+ "menuItemWrap": "ktl-horizontal-menu-module_menu-item-wrap_j6zB-",
5
+ "menuItem": "ktl-horizontal-menu-module_menu-item_CXDEW",
6
+ "expanded": "ktl-horizontal-menu-module_expanded_3GFPc",
7
+ "itemActive": "ktl-horizontal-menu-module_item-active_Zca2K",
8
+ "dropdownMenu": "ktl-horizontal-menu-module_dropdown-menu_jwdWI",
9
+ "fadeIn": "ktl-horizontal-menu-module_fade-in_FGwhC",
10
+ "darkTheme": "ktl-horizontal-menu-module_dark-theme_gfxx6",
11
+ "dropdownMenuItem": "ktl-horizontal-menu-module_dropdown-menu-item_9gjwH",
12
+ "active": "ktl-horizontal-menu-module_active_m5fs-",
13
+ "dropdownMenuExpanded": "ktl-horizontal-menu-module_dropdown-menu-expanded_eX8Jy",
14
+ "dropdownMenuAlignRight": "ktl-horizontal-menu-module_dropdown-menu-align-right_YeB-9"
15
+ };
16
+ export { styles as default };
@@ -0,0 +1,402 @@
1
+ .ktl-logo-large-module_container_35w4p {
2
+ flex-grow: 1;
3
+ display: flex;
4
+ align-items: flex-start;
5
+ }
6
+
7
+ .ktl-logo-large-module_link_AOGas {
8
+ display: block;
9
+ width: 100px;
10
+ height: 24px;
11
+ text-decoration: none;
12
+ margin-left: -4px;
13
+ cursor: pointer;
14
+ }
15
+
16
+ .ktl-logo-large-module_version-tag_k12Hw {
17
+ line-height: 16px;
18
+ text-decoration: none;
19
+ color: rgba(255, 255, 255, 0.75);
20
+ }
21
+
22
+ .ktl-logo-large-module_version-tag_k12Hw:hover {
23
+ color: #ffffff;
24
+ }
25
+
26
+ :root {
27
+ --ktl-light-grey: #f4f4f4;
28
+ --ktl-dark-100: rgba(39, 40, 44, 1);
29
+ --ktl-dark-bg-hard: rgba(27, 27, 27, 1);
30
+ --ktl-icon-color-dark: rgba(39, 40, 44, 0.75);
31
+ --ktl-color-white-light: rgba(255, 255, 255, 0.75);
32
+ --ktl-transition-xfast: 100ms;
33
+ --ktl-transition-fast: 300ms;
34
+ --ktl-color-primary-light-theme: #7f52ff;
35
+ --ktl-color-dark-40: rgba(39, 40, 44, 0.4);
36
+ --ktl-light-text-hard: rgba(39, 40, 44, 1);
37
+ --ktl-light-dark-20: rgba(39, 40, 44, 0.2);
38
+ --ktl-overlay-z-index: 900;
39
+ --ktl-top-menu-z-index: 905;
40
+ --ktl-header-z-index: 906;
41
+ --ktl-header-height-mobile: 48px;
42
+ --ktl-font-family-inter: Inter, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Droid Sans', 'Helvetica Neue', Arial, sans-serif;
43
+ --rs-font-family-ui: var(--ktl-font-family-inter);
44
+ }
45
+
46
+ .ktl-header-module_header-menu_wh71L {
47
+ position: relative;
48
+ padding: 0 32px;
49
+ background: var(--ktl-dark-100);
50
+ display: flex;
51
+ align-items: center;
52
+ height: 64px;
53
+ justify-content: space-between;
54
+ z-index: var(--ktl-header-z-index);
55
+ }
56
+
57
+ .ktl-header-module_border_paN11 {
58
+ box-shadow: inset 0 -1px rgba(255, 255, 255, 0.2);
59
+ }
60
+
61
+ @media (max-width: 640px) {
62
+ .ktl-header-module_header-menu_wh71L {
63
+ padding: 0 16px;
64
+ height: var(--ktl-header-height-mobile);
65
+ }
66
+
67
+ .ktl-header-module_header-menu_wh71L:not(.ktl-header-module_with-menu-popup_Bcffw) {
68
+ box-shadow: none;
69
+ }
70
+ }
71
+
72
+ :root {
73
+ --ktl-light-grey: #f4f4f4;
74
+ --ktl-dark-100: rgba(39, 40, 44, 1);
75
+ --ktl-dark-bg-hard: rgba(27, 27, 27, 1);
76
+ --ktl-icon-color-dark: rgba(39, 40, 44, 0.75);
77
+ --ktl-color-white-light: rgba(255, 255, 255, 0.75);
78
+ --ktl-transition-xfast: 100ms;
79
+ --ktl-transition-fast: 300ms;
80
+ --ktl-color-primary-light-theme: #7f52ff;
81
+ --ktl-color-dark-40: rgba(39, 40, 44, 0.4);
82
+ --ktl-light-text-hard: rgba(39, 40, 44, 1);
83
+ --ktl-light-dark-20: rgba(39, 40, 44, 0.2);
84
+ --ktl-overlay-z-index: 900;
85
+ --ktl-top-menu-z-index: 905;
86
+ --ktl-header-z-index: 906;
87
+ --ktl-header-height-mobile: 48px;
88
+ --ktl-font-family-inter: Inter, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Droid Sans', 'Helvetica Neue', Arial, sans-serif;
89
+ --rs-font-family-ui: var(--ktl-font-family-inter);
90
+ }
91
+
92
+ .ktl-horizontal-menu-module_nav_gbA7M {
93
+ display: block;
94
+ }
95
+
96
+ .ktl-horizontal-menu-module_menu-list_TJnOF {
97
+ display: grid;
98
+ grid-auto-flow: column;
99
+ gap: 32px;
100
+ list-style: none;
101
+ margin: 0;
102
+ padding: 0;
103
+ }
104
+
105
+ .ktl-horizontal-menu-module_menu-item-wrap_j6zB- {
106
+ position: relative;
107
+ }
108
+
109
+ .ktl-horizontal-menu-module_menu-item_CXDEW {
110
+ display: block;
111
+ line-height: 60px !important;
112
+ color: rgba(255, 255, 255, 0.75);
113
+ border-top: 2px solid transparent;
114
+ border-bottom: 2px solid transparent;
115
+ text-decoration: none;
116
+ cursor: pointer;
117
+ }
118
+
119
+ .ktl-horizontal-menu-module_menu-item_CXDEW:hover,
120
+ .ktl-horizontal-menu-module_menu-item_CXDEW.ktl-horizontal-menu-module_expanded_3GFPc {
121
+ color: #ffffff;
122
+ border-bottom-color: rgba(255, 255, 255, 0.4);
123
+ text-decoration: none;
124
+ }
125
+
126
+ .ktl-horizontal-menu-module_menu-item_CXDEW.ktl-horizontal-menu-module_item-active_Zca2K {
127
+ color: #ffffff;
128
+ border-bottom-color: inherit;
129
+ }
130
+
131
+ .ktl-horizontal-menu-module_dropdown-menu_jwdWI {
132
+ display: none;
133
+ position: absolute;
134
+ top: 100%;
135
+ min-width: 260px;
136
+ margin: 8px 0 0 0;
137
+ list-style: none;
138
+ padding: 8px 0;
139
+ white-space: nowrap;
140
+ background: rgba(255, 255, 255, 1);
141
+ border: 1px solid rgba(39, 40, 44, 0.7);
142
+ -webkit-animation: ktl-horizontal-menu-module_fade-in_FGwhC ease-out var(--ktl-transition-fast) forwards;
143
+ animation: ktl-horizontal-menu-module_fade-in_FGwhC ease-out var(--ktl-transition-fast) forwards;
144
+ }
145
+
146
+ .ktl-horizontal-menu-module_dark-theme_gfxx6 .ktl-horizontal-menu-module_dropdown-menu_jwdWI {
147
+ background: var(--ktl-dark-100);
148
+ border-color: rgba(255, 255, 255, 0.2);
149
+ }
150
+
151
+ .ktl-horizontal-menu-module_dark-theme_gfxx6 .ktl-horizontal-menu-module_dropdown-menu_jwdWI .ktl-horizontal-menu-module_dropdown-menu-item_9gjwH {
152
+ color: var(--ktl-color-white-light);
153
+ }
154
+
155
+ .ktl-horizontal-menu-module_dark-theme_gfxx6 .ktl-horizontal-menu-module_dropdown-menu_jwdWI .ktl-horizontal-menu-module_dropdown-menu-item_9gjwH:hover {
156
+ color: rgba(255, 255, 255, 1);
157
+ background: rgba(255, 255, 255, 0.1);
158
+ }
159
+
160
+ .ktl-horizontal-menu-module_dark-theme_gfxx6 .ktl-horizontal-menu-module_dropdown-menu_jwdWI .ktl-horizontal-menu-module_dropdown-menu-item_9gjwH.ktl-horizontal-menu-module_active_m5fs- {
161
+ color: var(--ktl-dark-100);
162
+ background: rgba(255, 255, 255, 1);
163
+ }
164
+
165
+ .ktl-horizontal-menu-module_dropdown-menu-expanded_eX8Jy {
166
+ display: block;
167
+ }
168
+
169
+ .ktl-horizontal-menu-module_dropdown-menu-align-right_YeB-9 {
170
+ right: 0;
171
+ }
172
+
173
+ .ktl-horizontal-menu-module_dropdown-menu-item_9gjwH {
174
+ display: block;
175
+ text-decoration: none;
176
+ padding: 8px 16px;
177
+ color: var(--ktl-dark-100);
178
+ transition: color var(--ktl-transition-fast),
179
+ background var(--ktl-transition-fast);
180
+ }
181
+
182
+ .ktl-horizontal-menu-module_dropdown-menu-item_9gjwH:hover {
183
+ color: var(--ktl-dark-100);
184
+ background: rgba(39, 40, 44, 0.1);
185
+ text-decoration: none;
186
+ }
187
+
188
+ .ktl-horizontal-menu-module_dropdown-menu-item_9gjwH.ktl-horizontal-menu-module_active_m5fs- {
189
+ color: rgba(255, 255, 255, 1);
190
+ background: var(--ktl-dark-100);
191
+ cursor: default;
192
+ }
193
+
194
+ @-webkit-keyframes ktl-horizontal-menu-module_fade-in_FGwhC {
195
+ 0% {
196
+ opacity: 0;
197
+ }
198
+
199
+ 100% {
200
+ opacity: 1;
201
+ }
202
+ }
203
+
204
+ @keyframes ktl-horizontal-menu-module_fade-in_FGwhC {
205
+ 0% {
206
+ opacity: 0;
207
+ }
208
+
209
+ 100% {
210
+ opacity: 1;
211
+ }
212
+ }
213
+
214
+ :root {
215
+ --ktl-light-grey: #f4f4f4;
216
+ --ktl-dark-100: rgba(39, 40, 44, 1);
217
+ --ktl-dark-bg-hard: rgba(27, 27, 27, 1);
218
+ --ktl-icon-color-dark: rgba(39, 40, 44, 0.75);
219
+ --ktl-color-white-light: rgba(255, 255, 255, 0.75);
220
+ --ktl-transition-xfast: 100ms;
221
+ --ktl-transition-fast: 300ms;
222
+ --ktl-color-primary-light-theme: #7f52ff;
223
+ --ktl-color-dark-40: rgba(39, 40, 44, 0.4);
224
+ --ktl-light-text-hard: rgba(39, 40, 44, 1);
225
+ --ktl-light-dark-20: rgba(39, 40, 44, 0.2);
226
+ --ktl-overlay-z-index: 900;
227
+ --ktl-top-menu-z-index: 905;
228
+ --ktl-header-z-index: 906;
229
+ --ktl-header-height-mobile: 48px;
230
+ --ktl-font-family-inter: Inter, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Droid Sans', 'Helvetica Neue', Arial, sans-serif;
231
+ --rs-font-family-ui: var(--ktl-font-family-inter);
232
+ }
233
+
234
+ .ktl-search-button-module_button_YHJPv {
235
+ display: flex;
236
+ visibility: hidden;
237
+ -webkit-appearance: none;
238
+ -moz-appearance: none;
239
+ appearance: none;
240
+ border: 0 none transparent;
241
+ outline: 0 none transparent;
242
+ cursor: pointer;
243
+ background: none;
244
+ padding: 0;
245
+ margin: 0 0 0 32px;
246
+ width: 24px;
247
+ height: 24px;
248
+ align-items: center;
249
+ justify-content: center;
250
+ transition: color var(--ktl-transition-xfast),
251
+ background-color var(--ktl-transition-xfast);
252
+ color: var(--ktl-color-white-light);
253
+ }
254
+
255
+ .ktl-search-button-module_button_YHJPv.ktl-search-button-module_active_lUmdh {
256
+ visibility: visible;
257
+ }
258
+
259
+ .ktl-search-button-module_button_YHJPv:hover,
260
+ .ktl-search-button-module_button_YHJPv :focus {
261
+ color: #ffffff;
262
+ }
263
+
264
+ @media (max-width: 640px) {
265
+ .ktl-search-button-module_button_YHJPv {
266
+ display: none;
267
+ margin: 0 16px 0 0;
268
+ }
269
+
270
+ .ktl-search-button-module_button_YHJPv.ktl-search-button-module_active_lUmdh {
271
+ display: flex;
272
+ }
273
+ }
274
+
275
+ :root {
276
+ --ktl-light-grey: #f4f4f4;
277
+ --ktl-dark-100: rgba(39, 40, 44, 1);
278
+ --ktl-dark-bg-hard: rgba(27, 27, 27, 1);
279
+ --ktl-icon-color-dark: rgba(39, 40, 44, 0.75);
280
+ --ktl-color-white-light: rgba(255, 255, 255, 0.75);
281
+ --ktl-transition-xfast: 100ms;
282
+ --ktl-transition-fast: 300ms;
283
+ --ktl-color-primary-light-theme: #7f52ff;
284
+ --ktl-color-dark-40: rgba(39, 40, 44, 0.4);
285
+ --ktl-light-text-hard: rgba(39, 40, 44, 1);
286
+ --ktl-light-dark-20: rgba(39, 40, 44, 0.2);
287
+ --ktl-overlay-z-index: 900;
288
+ --ktl-top-menu-z-index: 905;
289
+ --ktl-header-z-index: 906;
290
+ --ktl-header-height-mobile: 48px;
291
+ --ktl-font-family-inter: Inter, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Droid Sans', 'Helvetica Neue', Arial, sans-serif;
292
+ --rs-font-family-ui: var(--ktl-font-family-inter);
293
+ }
294
+
295
+ .ktl-menu-popup-module_menu-popup_Q68IE {
296
+ display: none;
297
+ padding: 8px 0;
298
+ background: var(--ktl-dark-100);
299
+ position: fixed;
300
+ top: var(--ktl-header-height-mobile);
301
+ bottom: 0;
302
+ left: 0;
303
+ right: 0;
304
+ overflow: auto;
305
+ z-index: var(--ktl-top-menu-z-index);
306
+ }
307
+
308
+ .ktl-menu-popup-module_menu-item_fPvF- {
309
+ --level: 0;
310
+ display: flex;
311
+ align-items: center;
312
+ font-size: 16px;
313
+ line-height: 24px;
314
+ font-weight: 400;
315
+ color: rgba(255, 255, 255, 0.75);
316
+ text-decoration: none;
317
+ padding: 8px 16px 8px calc(16px + (var(--level) * 24px));
318
+ transition: color var(--ktl-transition-xfast),
319
+ background-color var(--ktl-transition-xfast);
320
+ }
321
+
322
+ .ktl-menu-popup-module_menu-item_fPvF-:hover {
323
+ color: rgba(255, 255, 255, 1);
324
+ background: rgba(255, 255, 255, 0.1);
325
+ text-decoration: none;
326
+ }
327
+
328
+ .ktl-menu-popup-module_menu-item_fPvF-.ktl-menu-popup-module_active_iqTAj {
329
+ color: var(--ktl-light-text-hard);
330
+ background: rgba(255, 255, 255, 1);
331
+ cursor: default;
332
+ text-decoration: none;
333
+ }
334
+
335
+ .ktl-menu-popup-module_menu-item_fPvF-.ktl-menu-popup-module_active-with-child_tAzCG {
336
+ background: none;
337
+ color: rgba(255, 255, 255, 1);
338
+ }
339
+
340
+ .ktl-menu-popup-module_menu-item-root_gA9d2 {
341
+ font-size: 20px;
342
+ line-height: 32px;
343
+ font-weight: 600;
344
+ }
345
+
346
+ .ktl-menu-popup-module_menu-popup-expanded_ggrp9 {
347
+ display: block;
348
+ }
349
+
350
+ .button {
351
+ display: flex;
352
+ -webkit-appearance: none;
353
+ -moz-appearance: none;
354
+ appearance: none;
355
+ border: 0 none transparent;
356
+ outline: 0 none transparent;
357
+ cursor: pointer;
358
+ background: none;
359
+ padding: 0;
360
+ margin: 0;
361
+ width: 24px;
362
+ height: 24px;
363
+ align-items: center;
364
+ justify-content: center;
365
+ transition: color var(--ktl-transition-xfast),
366
+ background-color var(--ktl-transition-xfast);
367
+ color: var(--ktl-color-white-light);
368
+ }
369
+
370
+ .button:hover,
371
+ .button :focus {
372
+ color: #ffffff;
373
+ }
374
+
375
+ .ktl-logo-small-module_logo-small_iGY12 {
376
+ flex-grow: 1;
377
+ display: flex;
378
+ align-items: center;
379
+ height: 100%;
380
+ }
381
+
382
+ .ktl-logo-small-module_link_SKXAa {
383
+ color: rgba(255, 255, 255, 1);
384
+ text-decoration: none;
385
+ }
386
+
387
+ .ktl-logo-small-module_icon-wrap_6hRnO {
388
+ text-decoration: none;
389
+ display: flex;
390
+ align-items: center;
391
+ justify-items: center;
392
+ height: 100%;
393
+ margin-right: 16px;
394
+ padding-right: 16px;
395
+ border-right: 1px solid rgba(255, 255, 255, 0.2);
396
+ }
397
+
398
+ .ktl-logo-small-module_icon_NyEog {
399
+ width: 24px;
400
+ height: 24px;
401
+ margin-left: -4px;
402
+ }
@@ -0,0 +1,4 @@
1
+ import './index.css';
2
+ import { Header } from './header.js';
3
+ export { Header as default } from './header.js';
4
+ export { ANDROID_TITLE, ANDROID_URL, COMMUNITY_TITLE, COMMUNITY_URL, DATA_SCIENCE_TITLE, DATA_SCIENCE_URL, DOCS_TITLE, DOCS_URL, KMM_DOCS_TITLE, KMM_DOCS_URL, KOTLIN_DOCS_TITLE, KOTLIN_DOCS_URL, MULTIPLATFORM_MOBILE_TITLE, MULTIPLATFORM_MOBILE_URL, MULTIPLATFORM_OTHERS_TITLE, MULTIPLATFORM_OTHERS_URL, PLAY_EXAMPLES_TITLE, PLAY_EXAMPLES_URL, PLAY_HANDSON_TITLE, PLAY_HANDSON_URL, PLAY_KOANS_TITLE, PLAY_KOANS_URL, PLAY_TITLE, PLAY_TITLE_FULL, PLAY_URL, SERVER_SIDE_TITLE, SERVER_SIDE_URL, SOLUTIONS_TITLE, TEACH_TITLE, TEACH_URL, WEB_FRONTEND_TITLE, WEB_FRONTEND_URL, getNavScheme } from './nav-scheme.js';
@@ -0,0 +1,53 @@
1
+ import * as React from 'react';
2
+
3
+ var _radialGradient, _path, _g;
4
+
5
+ function _extends() {
6
+ _extends = Object.assign || function (target) {
7
+ for (var i = 1; i < arguments.length; i++) {
8
+ var source = arguments[i];
9
+
10
+ for (var key in source) {
11
+ if (Object.prototype.hasOwnProperty.call(source, key)) {
12
+ target[key] = source[key];
13
+ }
14
+ }
15
+ }
16
+
17
+ return target;
18
+ };
19
+
20
+ return _extends.apply(this, arguments);
21
+ }
22
+
23
+ const SvgKotlinLogoLarge = props => /*#__PURE__*/React.createElement("svg", _extends({
24
+ xmlns: "http://www.w3.org/2000/svg",
25
+ viewBox: "0 0 100 24"
26
+ }, props), _radialGradient || (_radialGradient = /*#__PURE__*/React.createElement("radialGradient", {
27
+ id: "kotlin-logo-large_svg__a",
28
+ cx: 22.432,
29
+ cy: 3.493,
30
+ r: 21.679,
31
+ gradientTransform: "translate(-.19 .042) scale(.9998)",
32
+ gradientUnits: "userSpaceOnUse"
33
+ }, /*#__PURE__*/React.createElement("stop", {
34
+ offset: 0.003,
35
+ stopColor: "#e44857"
36
+ }), /*#__PURE__*/React.createElement("stop", {
37
+ offset: 0.469,
38
+ stopColor: "#c711e1"
39
+ }), /*#__PURE__*/React.createElement("stop", {
40
+ offset: 1,
41
+ stopColor: "#7f52ff"
42
+ }))), _path || (_path = /*#__PURE__*/React.createElement("path", {
43
+ fill: "url(#kotlin-logo-large_svg__a)",
44
+ d: "M22.87 21.68H3.94V2.76h18.93l-9.66 9.32z"
45
+ })), _g || (_g = /*#__PURE__*/React.createElement("g", {
46
+ fill: "#fff"
47
+ }, /*#__PURE__*/React.createElement("path", {
48
+ d: "M45.69 2.73h-3.76l-8.18 8.73v-8.7h-3.02v18.92h3.02v-9.17l8.21 9.17h3.89l-8.75-9.79z"
49
+ }), /*#__PURE__*/React.createElement("path", {
50
+ d: "M55.93 8.44c-1.07-.62-2.28-.93-3.64-.93-1.38 0-2.61.31-3.7.93a6.63 6.63 0 0 0-2.55 2.57c-.61 1.1-.91 2.35-.91 3.74 0 1.4.3 2.64.91 3.74a6.45 6.45 0 0 0 2.53 2.57c1.09.62 2.32.93 3.7.93 1.36 0 2.58-.31 3.66-.93a6.53 6.53 0 0 0 2.51-2.57c.6-1.1.9-2.35.9-3.74 0-1.4-.3-2.64-.9-3.74-.6-1.1-1.43-1.95-2.51-2.57zm-.19 8.7c-.33.69-.8 1.23-1.4 1.61-.6.39-1.3.58-2.08.58-.79 0-1.49-.19-2.11-.58-.61-.39-1.09-.93-1.43-1.61-.34-.69-.51-1.48-.51-2.38 0-.9.17-1.7.51-2.39.34-.69.82-1.23 1.43-1.61.61-.39 1.32-.58 2.12-.58.77 0 1.46.19 2.07.58.6.39 1.07.93 1.4 1.61.33.69.49 1.48.49 2.39.01.9-.15 1.69-.49 2.38zm9.75-12.76h-2.92v2.35c0 .37-.09.65-.27.83-.18.18-.46.28-.84.28h-1.43v2.49h2.49v7.45c0 .77.16 1.46.47 2.05.31.59.76 1.05 1.34 1.37.58.32 1.27.49 2.06.49h2.23V19.1h-1.68c-.43 0-.78-.15-1.06-.45-.27-.3-.4-.7-.4-1.2v-7.11h3.22v-2.5h-3.22V4.38zM71.03 2H74v19.68h-2.97zm6.32.03h3v3.05h-3zm0 5.81h2.97v13.84h-2.97zm18.08 2.28a4.694 4.694 0 0 0-1.77-1.92c-.76-.46-1.65-.69-2.67-.69-1.08 0-2.03.26-2.84.79-.65.42-1.17.98-1.58 1.68l-.02-2.14H83.7v13.84h2.97v-7.74c0-.75.14-1.41.43-1.99.28-.58.68-1.03 1.2-1.35.52-.32 1.12-.48 1.82-.48.62 0 1.16.13 1.6.39.45.26.78.64 1.01 1.12.23.49.34 1.07.34 1.74v8.31h2.97v-8.73c.02-1.07-.2-2.01-.61-2.83z"
51
+ }))));
52
+
53
+ export { SvgKotlinLogoLarge as default };