@jetbrains/kotlin-web-site-ui 2.9.0-alpha.1 → 2.9.0-alpha.2
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/dist/header.css +1 -1
- package/dist/header.css.map +1 -1
- package/dist/header.js +1 -1
- package/dist/header.js.map +1 -1
- package/package.json +4 -2
package/dist/header.css
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
@-webkit-keyframes ktl-horizontal-menu-module_fade-in_Q2pCx{0%{opacity:0}to{opacity:1}}@keyframes ktl-horizontal-menu-module_fade-in_Q2pCx{0%{opacity:0}to{opacity:1}}.ktl-logo-large-module_container_\+5pgf{flex-grow:1;display:flex;align-items:flex-start}.ktl-logo-large-module_link_iZIEJ{display:block;width:100px;height:24px;text-decoration:none;margin-left:-4px;cursor:pointer}.ktl-logo-large-module_version-tag_fiNIk{line-height:16px;text-decoration:none;color:rgba(255,255,255,.75)}.ktl-logo-large-module_version-tag_fiNIk:hover{color:#fff}:root{--ktl-light-grey:#f4f4f4;--ktl-dark-100:rgba(39, 40, 44, 1);--ktl-dark-bg-hard:rgba(27, 27, 27, 1);--ktl-icon-color-dark:rgba(39, 40, 44, 0.75);--ktl-color-white-light:rgba(255, 255, 255, 0.75);--ktl-transition-xfast:100ms;--ktl-transition-fast:300ms;--ktl-color-primary-light-theme:#7f52ff;--ktl-color-dark-40:rgba(39, 40, 44, 0.4);--ktl-light-text-hard:rgba(39, 40, 44, 1);--ktl-light-dark-20:rgba(39, 40, 44, 0.2);--ktl-overlay-z-index:900;--ktl-top-menu-z-index:905;--ktl-header-z-index:906;--ktl-header-height-mobile:48px}.ktl-header-module_header-menu_E3vzo{position:relative;padding:0 32px;background:var(--ktl-dark-100);display:flex;align-items:center;height:64px;justify-content:space-between;z-index:var(--ktl-header-z-index)}.ktl-header-module_border_smGpe{box-shadow:inset 0 -1px rgba(255,255,255,.2)}@media (max-width:640px){.ktl-header-module_header-menu_E3vzo{padding:0 16px;height:var(--ktl-header-height-mobile)}.ktl-header-module_header-menu_E3vzo:not(.ktl-header-module_with-menu-popup_DcoOT){box-shadow:none}.ktl-header-module_logo-hide_uBrPV{display:none!important}}.ktl-horizontal-menu-module_nav_xYv4i{display:block}.ktl-horizontal-menu-module_menu-list_7oi3W{display:grid;grid-auto-flow:column;gap:32px;list-style:none;margin:0;padding:0}.ktl-horizontal-menu-module_menu-item-wrap_dnVf-{position:relative}.ktl-horizontal-menu-module_menu-item_Z\+YKZ{display:block;line-height:60px!important;color:rgba(255,255,255,.75);border-top:2px solid transparent;border-bottom:2px solid transparent;text-decoration:none;cursor:pointer}.ktl-horizontal-menu-module_menu-item_Z\+YKZ.ktl-horizontal-menu-module_expanded_thibK,.ktl-horizontal-menu-module_menu-item_Z\+YKZ:hover{color:#fff;border-bottom-color:rgba(255,255,255,.4);text-decoration:none}.ktl-horizontal-menu-module_menu-item_Z\+YKZ.ktl-horizontal-menu-module_item-active_\+iyf-{color:#fff;border-bottom-color:inherit}.ktl-horizontal-menu-module_dropdown-menu_dVOw-{display:none;position:absolute;top:100%;min-width:260px;margin:8px 0 0;list-style:none;padding:8px 0;white-space:nowrap;background:#fff;border:1px solid rgba(39,40,44,.7);-webkit-animation:ktl-horizontal-menu-module_fade-in_Q2pCx ease-out var(--ktl-transition-fast) forwards;animation:ktl-horizontal-menu-module_fade-in_Q2pCx ease-out var(--ktl-transition-fast) forwards}.ktl-horizontal-menu-module_dark-theme_Lp065 .ktl-horizontal-menu-module_dropdown-menu_dVOw-{background:var(--ktl-dark-100);border-color:rgba(255,255,255,.2)}.ktl-horizontal-menu-module_dark-theme_Lp065 .ktl-horizontal-menu-module_dropdown-menu_dVOw- .ktl-horizontal-menu-module_dropdown-menu-item_wRlcN{color:var(--ktl-color-white-light)}.ktl-horizontal-menu-module_dark-theme_Lp065 .ktl-horizontal-menu-module_dropdown-menu_dVOw- .ktl-horizontal-menu-module_dropdown-menu-item_wRlcN:hover{color:#fff;background:rgba(255,255,255,.1)}.ktl-horizontal-menu-module_dark-theme_Lp065 .ktl-horizontal-menu-module_dropdown-menu_dVOw- .ktl-horizontal-menu-module_dropdown-menu-item_wRlcN.ktl-horizontal-menu-module_active_azHwP{color:var(--ktl-dark-100);background:#fff}.ktl-horizontal-menu-module_dropdown-menu-expanded_L0RWy{display:block}.ktl-horizontal-menu-module_dropdown-menu-align-right_HS-oO{right:0}.ktl-horizontal-menu-module_dropdown-menu-item_wRlcN{display:block;text-decoration:none;padding:8px 16px;color:var(--ktl-dark-100);transition:color var(--ktl-transition-fast),background var(--ktl-transition-fast)}.ktl-horizontal-menu-module_dropdown-menu-item_wRlcN:hover{color:var(--ktl-dark-100);background:rgba(39,40,44,.1);text-decoration:none}.ktl-horizontal-menu-module_dropdown-menu-item_wRlcN.ktl-horizontal-menu-module_active_azHwP{color:#fff;background:var(--ktl-dark-100);cursor:default}@media (max-width:640px){.ktl-horizontal-menu-module_nav_xYv4i{display:none}}.ktl-search-button_button_JUyxv{display:flex;visibility:hidden;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0 transparent;outline:0 transparent;cursor:pointer;background:0 0;padding:0;margin:0 0 0 32px;width:24px;height:24px;align-items:center;justify-content:center;transition:color var(--ktl-transition-xfast),background-color var(--ktl-transition-xfast);color:var(--ktl-color-white-light)}.ktl-search-button_button_JUyxv.ktl-search-button_active_G-dk1{visibility:visible}.ktl-search-button_button_JUyxv :focus,.ktl-search-button_button_JUyxv:hover{color:#fff}@media (max-width:640px){.ktl-search-button_button_JUyxv{display:none;margin:0 16px 0 0}.ktl-search-button_button_JUyxv.ktl-search-button_active_G-dk1{display:flex}}.ktl-menu-popup-module_menu-popup_Yqtnq{display:none;padding:8px 0;background:var(--ktl-dark-100);position:fixed;top:var(--ktl-header-height-mobile);bottom:0;left:0;right:0;overflow:auto;z-index:var(--ktl-top-menu-z-index)}.ktl-menu-popup-module_menu-item_f6wvh{--level:0;display:flex;align-items:center;font-size:16px;line-height:24px;font-weight:400;color:rgba(255,255,255,.75);text-decoration:none;padding:8px 16px 8px calc(16px + (var(--level)*24px));transition:color var(--ktl-transition-xfast),background-color var(--ktl-transition-xfast)}.ktl-menu-popup-module_menu-item_f6wvh:hover{color:#fff;background:rgba(255,255,255,.1);text-decoration:none}.ktl-menu-popup-module_menu-item_f6wvh.ktl-menu-popup-module_active_DrZav{color:var(--ktl-light-text-hard);background:#fff;cursor:default;text-decoration:none}.ktl-menu-popup-module_menu-item_f6wvh.ktl-menu-popup-module_active-with-child_BDnrW{background:0 0;color:#fff}.ktl-menu-popup-module_menu-item-root_C-hkN{font-size:20px;line-height:32px;font-weight:600}@media (max-width:640px){.ktl-menu-popup-module_menu-popup-expanded_FlujR{display:block}
|
|
1
|
+
@-webkit-keyframes ktl-horizontal-menu-module_fade-in_Q2pCx{0%{opacity:0}to{opacity:1}}@keyframes ktl-horizontal-menu-module_fade-in_Q2pCx{0%{opacity:0}to{opacity:1}}.ktl-logo-large-module_container_\+5pgf{flex-grow:1;display:flex;align-items:flex-start}.ktl-logo-large-module_link_iZIEJ{display:block;width:100px;height:24px;text-decoration:none;margin-left:-4px;cursor:pointer}.ktl-logo-large-module_version-tag_fiNIk{line-height:16px;text-decoration:none;color:rgba(255,255,255,.75)}.ktl-logo-large-module_version-tag_fiNIk:hover{color:#fff}:root{--ktl-light-grey:#f4f4f4;--ktl-dark-100:rgba(39, 40, 44, 1);--ktl-dark-bg-hard:rgba(27, 27, 27, 1);--ktl-icon-color-dark:rgba(39, 40, 44, 0.75);--ktl-color-white-light:rgba(255, 255, 255, 0.75);--ktl-transition-xfast:100ms;--ktl-transition-fast:300ms;--ktl-color-primary-light-theme:#7f52ff;--ktl-color-dark-40:rgba(39, 40, 44, 0.4);--ktl-light-text-hard:rgba(39, 40, 44, 1);--ktl-light-dark-20:rgba(39, 40, 44, 0.2);--ktl-overlay-z-index:900;--ktl-top-menu-z-index:905;--ktl-header-z-index:906;--ktl-header-height-mobile:48px}.ktl-header-module_header-menu_E3vzo{position:relative;padding:0 32px;background:var(--ktl-dark-100);display:flex;align-items:center;height:64px;justify-content:space-between;z-index:var(--ktl-header-z-index)}.ktl-header-module_border_smGpe{box-shadow:inset 0 -1px rgba(255,255,255,.2)}@media (max-width:640px){.ktl-header-module_header-menu_E3vzo{padding:0 16px;height:var(--ktl-header-height-mobile)}.ktl-header-module_header-menu_E3vzo:not(.ktl-header-module_with-menu-popup_DcoOT){box-shadow:none}.ktl-header-module_logo-hide_uBrPV{display:none!important}}.ktl-horizontal-menu-module_nav_xYv4i{display:block}.ktl-horizontal-menu-module_menu-list_7oi3W{display:grid;grid-auto-flow:column;gap:32px;list-style:none;margin:0;padding:0}.ktl-horizontal-menu-module_menu-item-wrap_dnVf-{position:relative}.ktl-horizontal-menu-module_menu-item_Z\+YKZ{display:block;line-height:60px!important;color:rgba(255,255,255,.75);border-top:2px solid transparent;border-bottom:2px solid transparent;text-decoration:none;cursor:pointer}.ktl-horizontal-menu-module_menu-item_Z\+YKZ.ktl-horizontal-menu-module_expanded_thibK,.ktl-horizontal-menu-module_menu-item_Z\+YKZ:hover{color:#fff;border-bottom-color:rgba(255,255,255,.4);text-decoration:none}.ktl-horizontal-menu-module_menu-item_Z\+YKZ.ktl-horizontal-menu-module_item-active_\+iyf-{color:#fff;border-bottom-color:inherit}.ktl-horizontal-menu-module_dropdown-menu_dVOw-{display:none;position:absolute;top:100%;min-width:260px;margin:8px 0 0;list-style:none;padding:8px 0;white-space:nowrap;background:#fff;border:1px solid rgba(39,40,44,.7);-webkit-animation:ktl-horizontal-menu-module_fade-in_Q2pCx ease-out var(--ktl-transition-fast) forwards;animation:ktl-horizontal-menu-module_fade-in_Q2pCx ease-out var(--ktl-transition-fast) forwards}.ktl-horizontal-menu-module_dark-theme_Lp065 .ktl-horizontal-menu-module_dropdown-menu_dVOw-{background:var(--ktl-dark-100);border-color:rgba(255,255,255,.2)}.ktl-horizontal-menu-module_dark-theme_Lp065 .ktl-horizontal-menu-module_dropdown-menu_dVOw- .ktl-horizontal-menu-module_dropdown-menu-item_wRlcN{color:var(--ktl-color-white-light)}.ktl-horizontal-menu-module_dark-theme_Lp065 .ktl-horizontal-menu-module_dropdown-menu_dVOw- .ktl-horizontal-menu-module_dropdown-menu-item_wRlcN:hover{color:#fff;background:rgba(255,255,255,.1)}.ktl-horizontal-menu-module_dark-theme_Lp065 .ktl-horizontal-menu-module_dropdown-menu_dVOw- .ktl-horizontal-menu-module_dropdown-menu-item_wRlcN.ktl-horizontal-menu-module_active_azHwP{color:var(--ktl-dark-100);background:#fff}.ktl-horizontal-menu-module_dropdown-menu-expanded_L0RWy{display:block}.ktl-horizontal-menu-module_dropdown-menu-align-right_HS-oO{right:0}.ktl-horizontal-menu-module_dropdown-menu-item_wRlcN{display:block;text-decoration:none;padding:8px 16px;color:var(--ktl-dark-100);transition:color var(--ktl-transition-fast),background var(--ktl-transition-fast)}.ktl-horizontal-menu-module_dropdown-menu-item_wRlcN:hover{color:var(--ktl-dark-100);background:rgba(39,40,44,.1);text-decoration:none}.ktl-horizontal-menu-module_dropdown-menu-item_wRlcN.ktl-horizontal-menu-module_active_azHwP{color:#fff;background:var(--ktl-dark-100);cursor:default}@media (max-width:640px){.ktl-horizontal-menu-module_nav_xYv4i{display:none}}.ktl-search-button_button_JUyxv{display:flex;visibility:hidden;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0 transparent;outline:0 transparent;cursor:pointer;background:0 0;padding:0;margin:0 0 0 32px;width:24px;height:24px;align-items:center;justify-content:center;transition:color var(--ktl-transition-xfast),background-color var(--ktl-transition-xfast);color:var(--ktl-color-white-light)}.ktl-search-button_button_JUyxv.ktl-search-button_active_G-dk1{visibility:visible}.ktl-search-button_button_JUyxv :focus,.ktl-search-button_button_JUyxv:hover{color:#fff}@media (max-width:640px){.ktl-search-button_button_JUyxv{display:none;margin:0 16px 0 0}.ktl-search-button_button_JUyxv.ktl-search-button_active_G-dk1{display:flex}}.ktl-menu-popup-module_menu-popup_Yqtnq{display:none;padding:8px 0;background:var(--ktl-dark-100);position:fixed;top:var(--ktl-header-height-mobile);bottom:0;left:0;right:0;overflow:auto;z-index:var(--ktl-top-menu-z-index)}.ktl-menu-popup-module_menu-item_f6wvh{--level:0;display:flex;align-items:center;font-size:16px;line-height:24px;font-weight:400;color:rgba(255,255,255,.75);text-decoration:none;padding:8px 16px 8px calc(16px + (var(--level)*24px));transition:color var(--ktl-transition-xfast),background-color var(--ktl-transition-xfast)}.ktl-menu-popup-module_menu-item_f6wvh:hover{color:#fff;background:rgba(255,255,255,.1);text-decoration:none}.ktl-menu-popup-module_menu-item_f6wvh.ktl-menu-popup-module_active_DrZav{color:var(--ktl-light-text-hard);background:#fff;cursor:default;text-decoration:none}.ktl-menu-popup-module_menu-item_f6wvh.ktl-menu-popup-module_active-with-child_BDnrW{background:0 0;color:#fff}.ktl-menu-popup-module_menu-item-root_C-hkN{font-size:20px;line-height:32px;font-weight:600}@media (max-width:640px){.ktl-menu-popup-module_menu-popup-expanded_FlujR{display:block}}.ktl-menu-button_button_InVin{display:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0 transparent;outline:0 transparent;cursor:pointer;background:0 0;padding:0;margin:0;width:24px;height:24px;align-items:center;justify-content:center;transition:color var(--ktl-transition-xfast),background-color var(--ktl-transition-xfast);color:var(--ktl-color-white-light)}.ktl-menu-button_button_InVin :focus,.ktl-menu-button_button_InVin:hover{color:#fff}@media (max-width:640px){.ktl-menu-button_button_InVin{display:flex}}.ktl-logo-small-module_logo-small_7ddNl{display:none}.ktl-logo-small-module_link_6gruv{color:#fff;text-decoration:none}.ktl-logo-small-module_icon-wrap_BFVBd{text-decoration:none;display:flex;align-items:center;justify-items:center;height:100%;margin-right:16px;padding-right:16px;border-right:1px solid rgba(255,255,255,.2)}.ktl-logo-small-module_icon_JM\+yC{width:24px;height:24px;margin-left:-4px}@media (max-width:640px){.ktl-logo-small-module_logo-small_7ddNl{flex-grow:1;display:flex;align-items:center;height:100%}}
|
|
2
2
|
/*# sourceMappingURL=header.css.map*/
|
package/dist/header.css.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["webpack://@jetbrains/kotlin-web-site-ui/./src/components/header/horizontal-menu/horizontal-menu.module.pcss","webpack://@jetbrains/kotlin-web-site-ui/./src/components/header/logo-large/logo-large.module.pcss","webpack://@jetbrains/kotlin-web-site-ui/./src/vars.pcss","webpack://@jetbrains/kotlin-web-site-ui/./src/components/header/header.module.pcss","webpack://@jetbrains/kotlin-web-site-ui/header.css","webpack://@jetbrains/kotlin-web-site-ui/./src/components/header/search-button/search-button.pcss","webpack://@jetbrains/kotlin-web-site-ui/./src/components/header/menu-popup/menu-popup.module.pcss","webpack://@jetbrains/kotlin-web-site-ui/./src/components/header/menu-popup/menu-button/menu-button.pcss","webpack://@jetbrains/kotlin-web-site-ui/./src/components/header/logo-small/logo-small.module.pcss"],"names":[],"mappings":"4DA8GE,E,CACE,S,CAGF,E,CACE,W,oDALF,E,CACE,S,CAGF,E,CACE,WCnHJ,uC,CACE,W,CACA,Y,CACA,sB,CAGF,iC,CACE,a,CACA,W,CACA,W,CACA,oB,CACA,gB,CACA,c,CAGF,wC,CACE,gB,CACA,oB,CACA,2B,CAEA,8C,CACE,U,CCrBJ,K,CACE,wB,CACA,kC,CACA,sC,CACA,4C,CACA,iD,CACA,4B,CACA,2B,CACA,uC,CACA,yC,CACA,yC,CACA,yC,CACA,yB,CACA,0B,CACA,wB,CACA,+B,CCbF,oC,CACE,iB,CACA,c,CACA,8B,CACA,Y,CACA,kB,CACA,W,CACA,6B,CACA,iC,CAGF,+B,CACE,4C,CAGF,yBACE,oC,CACE,c,CACA,sC,CAGF,kF,CACE,e,CAGF,kC,CACE,wBH1BJ,qC,CACE,a,CAGF,2C,CACE,Y,CACA,qB,CACA,Q,CACA,e,CACA,Q,CACA,S,CAGF,gD,CACE,iB,CAGF,4C,CACE,a,CACA,0B,CACA,2B,CACA,gC,CACA,mC,CACA,oB,CACA,c,CI0EA,sF,CJxEA,kD,CAEE,U,CACA,wC,CACA,oB,CAGF,0F,CACE,U,CACA,2B,CAIJ,+C,CACE,Y,CACA,iB,CACA,Q,CACA,e,CACA,c,CACA,e,CACA,a,CACA,kB,CACA,e,CACA,kC,CACA,uG,CAAA,+F,CAGF,4F,CACE,8B,CACA,iC,CAEA,iJ,CACE,kC,CAEA,uJ,CACE,U,CACA,+B,CAGF,yL,CACE,yB,CACA,e,CAKN,wD,CACE,a,CAGF,2D,CACE,O,CAGF,oD,CACE,a,CACA,oB,CACA,gB,CACA,yB,CACA,iF,CAGA,0D,CACE,yB,CACA,4B,CACA,oB,CAGF,4F,CACE,U,CACA,8B,CACA,c,CAIJ,yBACE,qC,CACE,cKvGJ,+B,CACE,Y,CACA,iB,CACA,uB,CAAA,oB,CAAA,e,CACA,oB,CACA,qB,CACA,c,CACA,c,CACA,S,CACA,iB,CACA,U,CACA,W,CACA,kB,CACA,sB,CACA,yF,CAEA,kC,CAEA,8D,CACE,kB,CD6MF,sC,CC1MA,qC,CAEE,U,CAIJ,yBACE,+B,CACE,Y,CACA,iB,CAEA,8D,CACE,cClCN,uC,CACE,Y,CACA,a,CACA,8B,CACA,c,CACA,mC,CACA,Q,CACA,M,CACA,O,CACA,a,CACA,mC,CAGF,sC,CACE,S,CACA,Y,CACA,kB,CACA,c,CACA,gB,CACA,e,CACA,2B,CACA,oB,CACA,qD,CACA,yF,CAGA,4C,CACE,U,CACA,+B,CACA,oB,CAGF,yE,CACE,gC,CACA,e,CACA,c,CACA,oB,CAGF,oF,CACE,c,CACA,U,CAIJ,2C,CACE,c,CACA,gB,CACA,e,CAGF,yBACE,gD,CACE,
|
|
1
|
+
{"version":3,"sources":["webpack://@jetbrains/kotlin-web-site-ui/./src/components/header/horizontal-menu/horizontal-menu.module.pcss","webpack://@jetbrains/kotlin-web-site-ui/./src/components/header/logo-large/logo-large.module.pcss","webpack://@jetbrains/kotlin-web-site-ui/./src/vars.pcss","webpack://@jetbrains/kotlin-web-site-ui/./src/components/header/header.module.pcss","webpack://@jetbrains/kotlin-web-site-ui/header.css","webpack://@jetbrains/kotlin-web-site-ui/./src/components/header/search-button/search-button.pcss","webpack://@jetbrains/kotlin-web-site-ui/./src/components/header/menu-popup/menu-popup.module.pcss","webpack://@jetbrains/kotlin-web-site-ui/./src/components/header/menu-popup/menu-button/menu-button.pcss","webpack://@jetbrains/kotlin-web-site-ui/./src/components/header/logo-small/logo-small.module.pcss"],"names":[],"mappings":"4DA8GE,E,CACE,S,CAGF,E,CACE,W,oDALF,E,CACE,S,CAGF,E,CACE,WCnHJ,uC,CACE,W,CACA,Y,CACA,sB,CAGF,iC,CACE,a,CACA,W,CACA,W,CACA,oB,CACA,gB,CACA,c,CAGF,wC,CACE,gB,CACA,oB,CACA,2B,CAEA,8C,CACE,U,CCrBJ,K,CACE,wB,CACA,kC,CACA,sC,CACA,4C,CACA,iD,CACA,4B,CACA,2B,CACA,uC,CACA,yC,CACA,yC,CACA,yC,CACA,yB,CACA,0B,CACA,wB,CACA,+B,CCbF,oC,CACE,iB,CACA,c,CACA,8B,CACA,Y,CACA,kB,CACA,W,CACA,6B,CACA,iC,CAGF,+B,CACE,4C,CAGF,yBACE,oC,CACE,c,CACA,sC,CAGF,kF,CACE,e,CAGF,kC,CACE,wBH1BJ,qC,CACE,a,CAGF,2C,CACE,Y,CACA,qB,CACA,Q,CACA,e,CACA,Q,CACA,S,CAGF,gD,CACE,iB,CAGF,4C,CACE,a,CACA,0B,CACA,2B,CACA,gC,CACA,mC,CACA,oB,CACA,c,CI0EA,sF,CJxEA,kD,CAEE,U,CACA,wC,CACA,oB,CAGF,0F,CACE,U,CACA,2B,CAIJ,+C,CACE,Y,CACA,iB,CACA,Q,CACA,e,CACA,c,CACA,e,CACA,a,CACA,kB,CACA,e,CACA,kC,CACA,uG,CAAA,+F,CAGF,4F,CACE,8B,CACA,iC,CAEA,iJ,CACE,kC,CAEA,uJ,CACE,U,CACA,+B,CAGF,yL,CACE,yB,CACA,e,CAKN,wD,CACE,a,CAGF,2D,CACE,O,CAGF,oD,CACE,a,CACA,oB,CACA,gB,CACA,yB,CACA,iF,CAGA,0D,CACE,yB,CACA,4B,CACA,oB,CAGF,4F,CACE,U,CACA,8B,CACA,c,CAIJ,yBACE,qC,CACE,cKvGJ,+B,CACE,Y,CACA,iB,CACA,uB,CAAA,oB,CAAA,e,CACA,oB,CACA,qB,CACA,c,CACA,c,CACA,S,CACA,iB,CACA,U,CACA,W,CACA,kB,CACA,sB,CACA,yF,CAEA,kC,CAEA,8D,CACE,kB,CD6MF,sC,CC1MA,qC,CAEE,U,CAIJ,yBACE,+B,CACE,Y,CACA,iB,CAEA,8D,CACE,cClCN,uC,CACE,Y,CACA,a,CACA,8B,CACA,c,CACA,mC,CACA,Q,CACA,M,CACA,O,CACA,a,CACA,mC,CAGF,sC,CACE,S,CACA,Y,CACA,kB,CACA,c,CACA,gB,CACA,e,CACA,2B,CACA,oB,CACA,qD,CACA,yF,CAGA,4C,CACE,U,CACA,+B,CACA,oB,CAGF,yE,CACE,gC,CACA,e,CACA,c,CACA,oB,CAGF,oF,CACE,c,CACA,U,CAIJ,2C,CACE,c,CACA,gB,CACA,e,CAGF,yBACE,gD,CACE,eCvDJ,6B,CACE,Y,CACA,uB,CAAA,oB,CAAA,e,CACA,oB,CACA,qB,CACA,c,CACA,c,CACA,S,CACA,Q,CACA,U,CACA,W,CACA,kB,CACA,sB,CACA,yF,CAEA,kC,CHgTA,oC,CG9SA,mC,CAEE,U,CAIJ,yBACE,6B,CACE,cCzBJ,uC,CACE,Y,CAGF,iC,CACE,U,CACA,oB,CAGF,sC,CACE,oB,CACA,Y,CACA,kB,CACA,oB,CACA,W,CACA,iB,CACA,kB,CACA,2C,CAGF,kC,CACE,U,CACA,W,CACA,gB,CAGF,yBACE,uC,CACE,W,CACA,Y,CACA,kB,CACA","file":"header.css","sourcesContent":["@import 'src/vars.pcss';\n\n.nav {\n display: block;\n}\n\n.menu-list {\n display: grid;\n grid-auto-flow: column;\n gap: 32px;\n list-style: none;\n margin: 0;\n padding: 0;\n}\n\n.menu-item-wrap {\n position: relative;\n}\n\n.menu-item {\n display: block;\n line-height: 60px !important;\n color: rgba(255, 255, 255, 0.75);\n border-top: 2px solid transparent;\n border-bottom: 2px solid transparent;\n text-decoration: none;\n cursor: pointer;\n\n &:hover,\n &.expanded {\n color: #ffffff;\n border-bottom-color: rgba(255, 255, 255, 0.4);\n text-decoration: none;\n }\n\n &.item-active {\n color: #ffffff;\n border-bottom-color: inherit;\n }\n}\n\n.dropdown-menu {\n display: none;\n position: absolute;\n top: 100%;\n min-width: 260px;\n margin: 8px 0 0 0;\n list-style: none;\n padding: 8px 0;\n white-space: nowrap;\n background: rgba(255, 255, 255, 1);\n border: 1px solid rgba(39, 40, 44, 0.7);\n animation: fade-in ease-out var(--ktl-transition-fast) forwards;\n}\n\n.dark-theme .dropdown-menu {\n background: var(--ktl-dark-100);\n border-color: rgba(255, 255, 255, 0.2);\n\n .dropdown-menu-item {\n color: var(--ktl-color-white-light);\n\n &:hover {\n color: rgba(255, 255, 255, 1);\n background: rgba(255, 255, 255, 0.1);\n }\n\n &.active {\n color: var(--ktl-dark-100);\n background: rgba(255, 255, 255, 1);\n }\n }\n}\n\n.dropdown-menu-expanded {\n display: block;\n}\n\n.dropdown-menu-align-right {\n right: 0;\n}\n\n.dropdown-menu-item {\n display: block;\n text-decoration: none;\n padding: 8px 16px;\n color: var(--ktl-dark-100);\n transition: color var(--ktl-transition-fast),\n background var(--ktl-transition-fast);\n\n &:hover {\n color: var(--ktl-dark-100);\n background: rgba(39, 40, 44, 0.1);\n text-decoration: none;\n }\n\n &.active {\n color: rgba(255, 255, 255, 1);\n background: var(--ktl-dark-100);\n cursor: default;\n }\n}\n\n@media (max-width: 640px) {\n .nav {\n display: none;\n }\n}\n\n@keyframes fade-in {\n 0% {\n opacity: 0;\n }\n\n 100% {\n opacity: 1;\n }\n}\n",".container {\n flex-grow: 1;\n display: flex;\n align-items: flex-start;\n}\n\n.link {\n display: block;\n width: 100px;\n height: 24px;\n text-decoration: none;\n margin-left: -4px;\n cursor: pointer;\n}\n\n.version-tag {\n line-height: 16px;\n text-decoration: none;\n color: rgba(255, 255, 255, 0.75);\n\n &:hover {\n color: #ffffff;\n }\n}\n",":root {\n --ktl-light-grey: #f4f4f4;\n --ktl-dark-100: rgba(39, 40, 44, 1);\n --ktl-dark-bg-hard: rgba(27, 27, 27, 1);\n --ktl-icon-color-dark: rgba(39, 40, 44, 0.75);\n --ktl-color-white-light: rgba(255, 255, 255, 0.75);\n --ktl-transition-xfast: 100ms;\n --ktl-transition-fast: 300ms;\n --ktl-color-primary-light-theme: #7f52ff;\n --ktl-color-dark-40: rgba(39, 40, 44, 0.4);\n --ktl-light-text-hard: rgba(39, 40, 44, 1);\n --ktl-light-dark-20: rgba(39, 40, 44, 0.2);\n --ktl-overlay-z-index: 900;\n --ktl-top-menu-z-index: 905;\n --ktl-header-z-index: 906;\n --ktl-header-height-mobile: 48px;\n}","@import 'src/vars.pcss';\n\n.header-menu {\n position: relative;\n padding: 0 32px;\n background: var(--ktl-dark-100);\n display: flex;\n align-items: center;\n height: 64px;\n justify-content: space-between;\n z-index: var(--ktl-header-z-index);\n}\n\n.border {\n box-shadow: inset 0 -1px rgba(255, 255, 255, 0.2);\n}\n\n@media (max-width: 640px) {\n .header-menu {\n padding: 0 16px;\n height: var(--ktl-header-height-mobile);\n }\n\n .header-menu:not(.with-menu-popup) {\n box-shadow: none;\n }\n\n .logo-hide {\n display: none !important;\n }\n}\n",null,"@import 'src/vars.pcss';\n\n.button {\n display: flex;\n visibility: hidden;\n appearance: none;\n border: 0 none transparent;\n outline: 0 none transparent;\n cursor: pointer;\n background: none;\n padding: 0;\n margin: 0 0 0 32px;\n width: 24px;\n height: 24px;\n align-items: center;\n justify-content: center;\n transition: color var(--ktl-transition-xfast),\n background-color var(--ktl-transition-xfast);\n color: var(--ktl-color-white-light);\n\n &.active {\n visibility: visible;\n }\n\n &:hover,\n :focus {\n color: #ffffff;\n }\n}\n\n@media (max-width: 640px) {\n .button {\n display: none;\n margin: 0 16px 0 0;\n\n &.active {\n display: flex;\n }\n }\n}\n","@import 'src/vars.pcss';\n\n.menu-popup {\n display: none;\n padding: 8px 0;\n background: var(--ktl-dark-100);\n position: fixed;\n top: var(--ktl-header-height-mobile);\n bottom: 0;\n left: 0;\n right: 0;\n overflow: auto;\n z-index: var(--ktl-top-menu-z-index);\n}\n\n.menu-item {\n --level: 0;\n display: flex;\n align-items: center;\n font-size: 16px;\n line-height: 24px;\n font-weight: 400;\n color: rgba(255, 255, 255, 0.75);\n text-decoration: none;\n padding: 8px 16px 8px calc(16px + (var(--level) * 24px));\n transition: color var(--ktl-transition-xfast),\n background-color var(--ktl-transition-xfast);\n\n &:hover {\n color: rgba(255, 255, 255, 1);\n background: rgba(255, 255, 255, 0.1);\n text-decoration: none;\n }\n\n &.active {\n color: var(--ktl-light-text-hard);\n background: rgba(255, 255, 255, 1);\n cursor: default;\n text-decoration: none;\n }\n\n &.active-with-child {\n background: none;\n color: rgba(255, 255, 255, 1);\n }\n}\n\n.menu-item-root {\n font-size: 20px;\n line-height: 32px;\n font-weight: 600;\n}\n\n@media (max-width: 640px) {\n .menu-popup-expanded {\n display: block;\n }\n}\n",".button {\n display: none;\n appearance: none;\n border: 0 none transparent;\n outline: 0 none transparent;\n cursor: pointer;\n background: none;\n padding: 0;\n margin: 0;\n width: 24px;\n height: 24px;\n align-items: center;\n justify-content: center;\n transition: color var(--ktl-transition-xfast),\n background-color var(--ktl-transition-xfast);\n color: var(--ktl-color-white-light);\n\n &:hover,\n :focus {\n color: #ffffff;\n }\n}\n\n@media (max-width: 640px) {\n .button {\n display: flex;\n }\n}\n",".logo-small {\n display: none;\n}\n\n.link {\n color: rgba(255, 255, 255, 1);\n text-decoration: none;\n}\n\n.icon-wrap {\n text-decoration: none;\n display: flex;\n align-items: center;\n justify-items: center;\n height: 100%;\n margin-right: 16px;\n padding-right: 16px;\n border-right: 1px solid rgba(255, 255, 255, 0.2);\n}\n\n.icon {\n width: 24px;\n height: 24px;\n margin-left: -4px;\n}\n\n@media (max-width: 640px) {\n .logo-small {\n flex-grow: 1;\n display: flex;\n align-items: center;\n height: 100%;\n }\n}\n"],"sourceRoot":""}
|
package/dist/header.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
/*! For license information please see header.js.LICENSE.txt */
|
|
2
|
-
!function(){var e={4184:function(e,t){var n;!function(){"use strict";var r={}.hasOwnProperty;function l(){for(var e=[],t=0;t<arguments.length;t++){var n=arguments[t];if(n){var o=typeof n;if("string"===o||"number"===o)e.push(n);else if(Array.isArray(n)){if(n.length){var i=l.apply(null,n);i&&e.push(i)}}else if("object"===o)if(n.toString===Object.prototype.toString)for(var a in n)r.call(n,a)&&n[a]&&e.push(a);else e.push(n.toString())}}return e.join(" ")}e.exports?(l.default=l,e.exports=l):void 0===(n=function(){return l}.apply(t,[]))||(e.exports=n)}()},5251:function(e,t,n){"use strict";var r=n(3910),l=60103;if(t.Fragment=60107,"function"==typeof Symbol&&Symbol.for){var o=Symbol.for;l=o("react.element"),t.Fragment=o("react.fragment")}var i=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,a=Object.prototype.hasOwnProperty,u={key:!0,ref:!0,__self:!0,__source:!0};function s(e,t,n){var r,o={},s=null,c=null;for(r in void 0!==n&&(s=""+n),void 0!==t.key&&(s=""+t.key),void 0!==t.ref&&(c=t.ref),t)a.call(t,r)&&!u.hasOwnProperty(r)&&(o[r]=t[r]);if(e&&e.defaultProps)for(r in t=e.defaultProps)void 0===o[r]&&(o[r]=t[r]);return{$$typeof:l,type:e,key:s,ref:c,props:o,_owner:i.current}}t.jsx=s,t.jsxs=s},5893:function(e,t,n){"use strict";e.exports=n(5251)},3910:function(e){"use strict";e.exports=require("react")}},t={};function n(r){var l=t[r];if(void 0!==l)return l.exports;var o=t[r]={exports:{}};return e[r](o,o.exports,n),o.exports}n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,{a:t}),t},n.d=function(e,t){for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var r={};!function(){"use strict";n.r(r),n.d(r,{ANDROID_TITLE:function(){return O},ANDROID_URL:function(){return j},COMMUNITY_TITLE:function(){return S},COMMUNITY_URL:function(){return N},DATA_SCIENCE_TITLE:function(){return T},DATA_SCIENCE_URL:function(){return L},DOCS_TITLE:function(){return w},DOCS_URL:function(){return b},KMM_DOCS_TITLE:function(){return K},KMM_DOCS_URL:function(){return V},KOTLIN_DOCS_TITLE:function(){return F},KOTLIN_DOCS_URL:function(){return B},MULTIPLATFORM_MOBILE_TITLE:function(){return _},MULTIPLATFORM_MOBILE_URL:function(){return g},PLAY_EXAMPLES_TITLE:function(){return H},PLAY_EXAMPLES_URL:function(){return z},PLAY_HANDSON_TITLE:function(){return U},PLAY_HANDSON_URL:function(){return P},PLAY_KOANS_TITLE:function(){return Y},PLAY_KOANS_URL:function(){return D},PLAY_TITLE:function(){return C},PLAY_TITLE_FULL:function(){return M},PLAY_URL:function(){return I},SERVER_SIDE_TITLE:function(){return x},SERVER_SIDE_URL:function(){return E},SOLUTIONS_TITLE:function(){return v},TEACH_TITLE:function(){return R},TEACH_URL:function(){return A},WEB_FRONTEND_TITLE:function(){return k},WEB_FRONTEND_URL:function(){return y},default:function(){return ge},getNavScheme:function(){return q}});var e=n(3910),t=require("@rescui/ui-contexts");var l,o,i;function a(){return a=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},a.apply(this,arguments)}var u=function(t){return e.createElement("svg",a({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 100 24"},t),l||(l=e.createElement("radialGradient",{id:"kotlin-logo-large_svg__a",cx:22.432,cy:3.493,r:21.679,gradientTransform:"translate(-.19 .042) scale(.9998)",gradientUnits:"userSpaceOnUse"},e.createElement("stop",{offset:.003,stopColor:"#e44857"}),e.createElement("stop",{offset:.469,stopColor:"#c711e1"}),e.createElement("stop",{offset:1,stopColor:"#7f52ff"}))),o||(o=e.createElement("path",{fill:"url(#kotlin-logo-large_svg__a)",d:"M22.87 21.68H3.94V2.76h18.93l-9.66 9.32z"})),i||(i=e.createElement("g",{fill:"#fff"},e.createElement("path",{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"}),e.createElement("path",{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 00-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 002.53 2.57c1.09.62 2.32.93 3.7.93 1.36 0 2.58-.31 3.66-.93a6.53 6.53 0 002.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 00-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"}))))},s=n(4184),c=n.n(s),d=require("@rescui/typography");const m="https://kotlinlang.org";var p=n(5893);const f=e=>{let{productWebUrl:t,className:n}=e;const r=t?function(e){const t=/v?\d+\.\d+\.\d+$/.exec(e);return t?t[0]:null}(t):null,l=(0,d.useTextStyles)();return(0,p.jsxs)("div",{className:c()("ktl-logo-large-module_container_+5pgf",n,l("rs-text-3",{hardness:"average"})),children:[(0,p.jsx)("a",{className:"ktl-logo-large-module_link_iZIEJ",href:m,"aria-label":"Kotlin Home Page",children:(0,p.jsx)(u,{})}),r&&(0,p.jsx)("a",{className:c()("ktl-logo-large-module_version-tag_fiNIk"),href:t,target:"_blank",children:r})]})};const h="ktl-header-module_logo-hide_uBrPV",v="Solutions",_="Multiplatform Mobile",g="/lp/mobile/",x="Server-side",E="/lp/server-side/",k="Web frontend",y="/docs/js-overview.html",T="Data science",L="/docs/data-science-overview.html",O="Android",j="/docs/android-overview.html",w="Docs",b="/docs/home.html",S="Community",N="/community/",R="Teach",A="/education/",C="Play",M="Playground",I="https://play.kotlinlang.org/",P="".concat(I,"hands-on"),U="Hands-on",z="".concat(I,"byExample"),H="Examples",D="".concat(I,"koans"),Y="Koans",F="Kotlin",B="/docs/home.html",K="KMM",V="/docs/mobile/home.html",W=[{title:v,url:null,items:[{title:_,url:g},{title:x,url:E},{title:k,url:y},{title:T,url:L},{title:O,url:j}]},{title:w,url:B},{title:S,url:N},{title:R,url:A},{title:C,url:null,items:[{title:M,url:I},{title:U,url:P},{title:H,url:z},{title:Y,url:D}]}];function q(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:(e,t)=>e===t,t=arguments.length>1?arguments[1]:void 0,n=arguments.length>2?arguments[2]:void 0;return W.map((r=>{var l;let{title:o,url:i,items:a}=r;i&&t&&(i=G(i,t,!!n));const u={title:o,url:i};let s=e(i,t);return u.items=null!==(l=null==a?void 0:a.map((r=>{let{title:l,url:o}=r;o&&t&&(o=G(o,t,!!n));let i=e(o,t);return i&&(s=i),{title:l,url:o,isActive:i}})))&&void 0!==l?l:[],u.isActive=s,u}))}function G(e,t,n){return n?e.startsWith(I)?e.replace(I,"/"):"".concat(m).concat(e):e}const Z=e=>{let{items:t,isExpanded:n,alignRight:r,linkHandler:l}=e;const o=(0,d.useTextStyles)();return(0,p.jsx)("ul",{className:c()("ktl-horizontal-menu-module_dropdown-menu_dVOw-",o("rs-text-2"),{"ktl-horizontal-menu-module_dropdown-menu-expanded_L0RWy":n,"ktl-horizontal-menu-module_dropdown-menu-align-right_HS-oO":r}),children:t.map(((e,t)=>{const n=!e.isActive&&e.url?"a":"span";return(0,p.jsx)("li",{children:(0,p.jsx)(n,{className:c()("ktl-horizontal-menu-module_dropdown-menu-item_wRlcN",{"ktl-horizontal-menu-module_active_azHwP":e.isActive}),...e.url?{href:e.url,onClick:l?t=>e.url&&l(t,e.url):void 0}:{},children:e.title})},t)}))})},J=t=>{var n,r;let{item:l,onMouseEnter:o,onMouseLeave:i,isExpanded:a,isLast:u,linkHandler:s}=t;const m=l.isActive||!l.url?"span":"a",f=(0,d.useTextStyles)();return(0,p.jsxs)("li",{className:"ktl-horizontal-menu-module_menu-item-wrap_dnVf-",onMouseEnter:()=>o(l),onMouseLeave:i,children:[(0,e.createElement)(m,{...l.url?{href:l.url,onClick:s?e=>l.url&&s(e,l.url):void 0}:{},key:l.title,className:c()("ktl-horizontal-menu-module_menu-item_Z+YKZ",f("rs-text-2"),{"ktl-horizontal-menu-module_item-active_+iyf-":l.isActive,"ktl-horizontal-menu-module_expanded_thibK":a&&!(null===(n=l.items)||void 0===n||!n.length)})},l.title),!(null===(r=l.items)||void 0===r||!r.length)&&(0,p.jsx)(Z,{items:l.items,isExpanded:a,alignRight:u,linkHandler:s})]})},$=t=>{let{items:n,theme:r,linkHandler:l}=t;const[o,i]=(0,e.useState)(-1),[a,u]=(0,e.useState)(o);(0,e.useEffect)((()=>{const e=setTimeout((()=>u(o)),-1!==o?200:400);return()=>clearTimeout(e)}),[o]);const s=e=>i(n.findIndex((t=>t===e))),d=()=>i(-1);return(0,p.jsx)("nav",{className:c()("ktl-horizontal-menu-module_nav_xYv4i",{"ktl-horizontal-menu-module_dark-theme_Lp065":"dark"===r}),children:(0,p.jsx)("ul",{className:"ktl-horizontal-menu-module_menu-list_7oi3W",children:n.map(((e,t)=>(0,p.jsx)(J,{item:e,onMouseEnter:s,onMouseLeave:d,isExpanded:t===a,isLast:t===n.length-1,linkHandler:l},t)))})})};var X;function Q(){return Q=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Q.apply(this,arguments)}var ee=function(t){return e.createElement("svg",Q({width:24,height:24,xmlns:"http://www.w3.org/2000/svg"},t),X||(X=e.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M15.847 6.861A6.99 6.99 0 009.587 3a6.997 6.997 0 104.186 12.601l6.106 6.106 1.414-1.414-6.107-6.106a6.99 6.99 0 00.66-7.326zM14.587 10a5 5 0 11-10.001 0 5 5 0 0110 0z",fill:"currentColor"})))};const te=e=>{let{onClick:t,isActive:n}=e;return(0,p.jsx)("button",{type:"button",className:c()("ktl-search-button_button_JUyxv",{"ktl-search-button_active_G-dk1":n}),"aria-label":"Search",onClick:t,children:(0,p.jsx)(ee,{})})};var ne;function re(){return re=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},re.apply(this,arguments)}var le,oe=function(t){return e.createElement("svg",re({width:24,height:24,fill:"none",xmlns:"http://www.w3.org/2000/svg"},t),ne||(ne=e.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M4 5h16v2H4V5zm0 6h16v2H4v-2zm16 6H4v2h16v-2z",fill:"currentColor"})))};function ie(){return ie=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},ie.apply(this,arguments)}var ae=function(t){return e.createElement("svg",ie({width:16,height:16,fill:"none",xmlns:"http://www.w3.org/2000/svg"},t),le||(le=e.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M15.707 1.707L14.293.293 8 6.586 1.707.293.293 1.707 6.586 8 .293 14.293l1.414 1.414L8 9.414l6.293 6.293 1.414-1.414L9.414 8l6.293-6.293z",fill:"currentColor"})))};const ue=e=>{let{onClick:t,isExpanded:n}=e;return(0,p.jsx)("button",{type:"button",className:c()("ktl-menu-button_button_InVin"),"aria-haspopup":"true","aria-label":"Open the navigation",onClick:t,children:n?(0,p.jsx)(ae,{}):(0,p.jsx)(oe,{})})},se=e=>{let{item:t,level:n,linkHandler:r}=e;const l=t.url?"a":"span",o={"--level":n};return(0,p.jsx)(l,{...t.url?{href:t.url,onClick:r?e=>t.url&&r(e,t.url):void 0}:{},className:c()("ktl-menu-popup-module_menu-item_f6wvh",{"ktl-menu-popup-module_menu-item-root_C-hkN":0===n,"ktl-menu-popup-module_active_DrZav":t.isActive,"ktl-menu-popup-module_active-with-child_BDnrW":t.items&&t.items.length}),style:o,children:t.title})},ce=t=>{let{items:n,level:r,linkHandler:l}=t;return(0,p.jsx)(p.Fragment,{children:n.map(((t,n)=>(0,p.jsxs)(e.Fragment,{children:[(0,p.jsx)(se,{item:t,level:r,linkHandler:l}),t.items&&t.items.length>0&&(0,p.jsx)(ce,{items:t.items,level:r+1,linkHandler:l})]},n)))})},de=t=>{let{items:n,isExpanded:r,setExpand:l,headerRef:o,linkHandler:i}=t;const a=(0,d.useTextStyles)(),[u,s]=(0,e.useState)({});(0,e.useLayoutEffect)((()=>{o.current&&s({top:o.current.getBoundingClientRect().bottom})}),[r]);const m=(0,e.useCallback)((()=>{"undefined"!=typeof document&&document.body.classList.toggle("ktl-menu-popup-module_no-scrollable_vFAwD",!r),l(!r)}),[r]);return(0,p.jsxs)(p.Fragment,{children:[(0,p.jsx)(ue,{onClick:m,isExpanded:r}),(0,p.jsx)("nav",{style:u,className:c()("ktl-menu-popup-module_menu-popup_Yqtnq",a("rs-text-2"),{"ktl-menu-popup-module_menu-popup-expanded_FlujR":r}),children:(0,p.jsx)(ce,{items:n,level:0,linkHandler:i})})]})};var me,pe;function fe(){return fe=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},fe.apply(this,arguments)}var he=function(t){return e.createElement("svg",fe({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},t),me||(me=e.createElement("radialGradient",{id:"kotlin-logo-small_svg__a",cx:22.432,cy:3.493,r:21.679,gradientTransform:"translate(-.19 .042) scale(.9998)",gradientUnits:"userSpaceOnUse"},e.createElement("stop",{offset:.003,stopColor:"#e44857"}),e.createElement("stop",{offset:.469,stopColor:"#c711e1"}),e.createElement("stop",{offset:1,stopColor:"#7f52ff"}))),pe||(pe=e.createElement("path",{fill:"url(#kotlin-logo-small_svg__a)",d:"M22.87 21.68H3.94V2.76h18.93l-9.66 9.32z"})))};const ve=e=>{let{homeTitle:t,homeUrl:n,className:r}=e;const l=(0,d.useTextStyles)();return(0,p.jsxs)("div",{className:c()("ktl-logo-small-module_logo-small_7ddNl",r),children:[(0,p.jsx)("a",{href:m,className:"ktl-logo-small-module_icon-wrap_BFVBd",children:(0,p.jsx)(he,{className:"ktl-logo-small-module_icon_JM+yC"})}),(0,p.jsx)("a",{href:n,className:c()("ktl-logo-small-module_link_6gruv",l("rs-h3")),children:t})]})},_e=(0,e.forwardRef)(((n,r)=>{let{productWebUrl:l,hasSearch:o=!1,onSearchClick:i,currentUrl:a,currentTitle:u,className:s,hasBorder:d=!0,dropdownTheme:m="dark",linkHandler:v,isPlayground:_,isUrlActive:g}=n;const[x,E]=(0,e.useState)(!1),k=(0,e.useMemo)((()=>q(g,a,_)),[g,a,_]),y=(0,e.useRef)(null);return(0,e.useImperativeHandle)(r,(()=>y.current)),(0,p.jsx)(t.ThemeProvider,{theme:"dark",children:(0,p.jsxs)("header",{ref:y,className:c()("ktl-header-module_header-menu_E3vzo",s,{"ktl-header-module_with-menu-popup_DcoOT":x,"ktl-header-module_border_smGpe":d}),children:[(0,p.jsx)(f,{productWebUrl:l,className:u&&a&&!x?h:null}),!!u&&!!a&&(0,p.jsx)(ve,{homeTitle:u,homeUrl:a,className:x?h:null}),(0,p.jsx)($,{items:k,theme:m,linkHandler:v}),(0,p.jsx)(te,{onClick:i,isActive:o&&!!i}),(0,p.jsx)(de,{items:k,setExpand:E,isExpanded:x,headerRef:y,linkHandler:v})]})})}));var ge=_e}(),module.exports=r}();
|
|
2
|
+
!function(){var e={4184:function(e,t){var n;!function(){"use strict";var r={}.hasOwnProperty;function o(){for(var e=[],t=0;t<arguments.length;t++){var n=arguments[t];if(n){var l=typeof n;if("string"===l||"number"===l)e.push(n);else if(Array.isArray(n)){if(n.length){var i=o.apply(null,n);i&&e.push(i)}}else if("object"===l)if(n.toString===Object.prototype.toString)for(var a in n)r.call(n,a)&&n[a]&&e.push(a);else e.push(n.toString())}}return e.join(" ")}e.exports?(o.default=o,e.exports=o):void 0===(n=function(){return o}.apply(t,[]))||(e.exports=n)}()},5251:function(e,t,n){"use strict";var r=n(3910),o=60103;if(t.Fragment=60107,"function"==typeof Symbol&&Symbol.for){var l=Symbol.for;o=l("react.element"),t.Fragment=l("react.fragment")}var i=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,a=Object.prototype.hasOwnProperty,u={key:!0,ref:!0,__self:!0,__source:!0};function s(e,t,n){var r,l={},s=null,c=null;for(r in void 0!==n&&(s=""+n),void 0!==t.key&&(s=""+t.key),void 0!==t.ref&&(c=t.ref),t)a.call(t,r)&&!u.hasOwnProperty(r)&&(l[r]=t[r]);if(e&&e.defaultProps)for(r in t=e.defaultProps)void 0===l[r]&&(l[r]=t[r]);return{$$typeof:o,type:e,key:s,ref:c,props:l,_owner:i.current}}t.jsx=s,t.jsxs=s},5893:function(e,t,n){"use strict";e.exports=n(5251)},3910:function(e){"use strict";e.exports=require("react")}},t={};function n(r){var o=t[r];if(void 0!==o)return o.exports;var l=t[r]={exports:{}};return e[r](l,l.exports,n),l.exports}n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,{a:t}),t},n.d=function(e,t){for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var r={};!function(){"use strict";n.r(r),n.d(r,{ANDROID_TITLE:function(){return L},ANDROID_URL:function(){return b},COMMUNITY_TITLE:function(){return S},COMMUNITY_URL:function(){return N},DATA_SCIENCE_TITLE:function(){return k},DATA_SCIENCE_URL:function(){return T},DOCS_TITLE:function(){return O},DOCS_URL:function(){return j},KMM_DOCS_TITLE:function(){return F},KMM_DOCS_URL:function(){return K},KOTLIN_DOCS_TITLE:function(){return Y},KOTLIN_DOCS_URL:function(){return W},MULTIPLATFORM_MOBILE_TITLE:function(){return _},MULTIPLATFORM_MOBILE_URL:function(){return g},PLAY_EXAMPLES_TITLE:function(){return H},PLAY_EXAMPLES_URL:function(){return z},PLAY_HANDSON_TITLE:function(){return U},PLAY_HANDSON_URL:function(){return P},PLAY_KOANS_TITLE:function(){return B},PLAY_KOANS_URL:function(){return D},PLAY_TITLE:function(){return M},PLAY_TITLE_FULL:function(){return I},PLAY_URL:function(){return C},SERVER_SIDE_TITLE:function(){return E},SERVER_SIDE_URL:function(){return y},SOLUTIONS_TITLE:function(){return p},TEACH_TITLE:function(){return R},TEACH_URL:function(){return A},WEB_FRONTEND_TITLE:function(){return x},WEB_FRONTEND_URL:function(){return w},default:function(){return Ae},getNavScheme:function(){return q}});var e=n(3910),t=require("@rescui/ui-contexts");var o,l,i;function a(){return a=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},a.apply(this,arguments)}var u=function(t){return e.createElement("svg",a({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 100 24"},t),o||(o=e.createElement("radialGradient",{id:"kotlin-logo-large_svg__a",cx:22.432,cy:3.493,r:21.679,gradientTransform:"translate(-.19 .042) scale(.9998)",gradientUnits:"userSpaceOnUse"},e.createElement("stop",{offset:.003,stopColor:"#e44857"}),e.createElement("stop",{offset:.469,stopColor:"#c711e1"}),e.createElement("stop",{offset:1,stopColor:"#7f52ff"}))),l||(l=e.createElement("path",{fill:"url(#kotlin-logo-large_svg__a)",d:"M22.87 21.68H3.94V2.76h18.93l-9.66 9.32z"})),i||(i=e.createElement("g",{fill:"#fff"},e.createElement("path",{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"}),e.createElement("path",{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 00-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 002.53 2.57c1.09.62 2.32.93 3.7.93 1.36 0 2.58-.31 3.66-.93a6.53 6.53 0 002.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 00-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"}))))},s=n(4184),c=n.n(s),d=require("@rescui/typography");const m="https://kotlinlang.org";var f=n(5893);const v=e=>{let{productWebUrl:t,className:n}=e;const r=t?function(e){const t=/v?\d+\.\d+\.\d+$/.exec(e);return t?t[0]:null}(t):null,o=(0,d.useTextStyles)();return(0,f.jsxs)("div",{className:c()("ktl-logo-large-module_container_+5pgf",n,o("rs-text-3",{hardness:"average"})),children:[(0,f.jsx)("a",{className:"ktl-logo-large-module_link_iZIEJ",href:m,"aria-label":"Kotlin Home Page",children:(0,f.jsx)(u,{})}),r&&(0,f.jsx)("a",{className:c()("ktl-logo-large-module_version-tag_fiNIk"),href:t,target:"_blank",children:r})]})};const h="ktl-header-module_logo-hide_uBrPV",p="Solutions",_="Multiplatform Mobile",g="/lp/mobile/",E="Server-side",y="/lp/server-side/",x="Web frontend",w="/docs/js-overview.html",k="Data science",T="/docs/data-science-overview.html",L="Android",b="/docs/android-overview.html",O="Docs",j="/docs/home.html",S="Community",N="/community/",R="Teach",A="/education/",M="Play",I="Playground",C="https://play.kotlinlang.org/",P="".concat(C,"hands-on"),U="Hands-on",z="".concat(C,"byExample"),H="Examples",D="".concat(C,"koans"),B="Koans",Y="Kotlin",W="/docs/home.html",F="KMM",K="/docs/mobile/home.html",V=[{title:p,url:null,items:[{title:_,url:g},{title:E,url:y},{title:x,url:w},{title:k,url:T},{title:L,url:b}]},{title:O,url:W},{title:S,url:N},{title:R,url:A},{title:M,url:null,items:[{title:I,url:C},{title:U,url:P},{title:H,url:z},{title:B,url:D}]}];function q(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:(e,t)=>e===t,t=arguments.length>1?arguments[1]:void 0,n=arguments.length>2?arguments[2]:void 0;return V.map((r=>{var o;let{title:l,url:i,items:a}=r;i&&t&&(i=G(i,t,!!n));const u={title:l,url:i};let s=e(i,t);return u.items=null!==(o=null==a?void 0:a.map((r=>{let{title:o,url:l}=r;l&&t&&(l=G(l,t,!!n));let i=e(l,t);return i&&(s=i),{title:o,url:l,isActive:i}})))&&void 0!==o?o:[],u.isActive=s,u}))}function G(e,t,n){return n?e.startsWith(C)?e.replace(C,"/"):"".concat(m).concat(e):e}const Z=e=>{let{items:t,isExpanded:n,alignRight:r,linkHandler:o}=e;const l=(0,d.useTextStyles)();return(0,f.jsx)("ul",{className:c()("ktl-horizontal-menu-module_dropdown-menu_dVOw-",l("rs-text-2"),{"ktl-horizontal-menu-module_dropdown-menu-expanded_L0RWy":n,"ktl-horizontal-menu-module_dropdown-menu-align-right_HS-oO":r}),children:t.map(((e,t)=>{const n=!e.isActive&&e.url?"a":"span";return(0,f.jsx)("li",{children:(0,f.jsx)(n,{className:c()("ktl-horizontal-menu-module_dropdown-menu-item_wRlcN",{"ktl-horizontal-menu-module_active_azHwP":e.isActive}),...e.url?{href:e.url,onClick:o?t=>e.url&&o(t,e.url):void 0}:{},children:e.title})},t)}))})},J=t=>{var n,r;let{item:o,onMouseEnter:l,onMouseLeave:i,isExpanded:a,isLast:u,linkHandler:s}=t;const m=o.isActive||!o.url?"span":"a",v=(0,d.useTextStyles)();return(0,f.jsxs)("li",{className:"ktl-horizontal-menu-module_menu-item-wrap_dnVf-",onMouseEnter:()=>l(o),onMouseLeave:i,children:[(0,e.createElement)(m,{...o.url?{href:o.url,onClick:s?e=>o.url&&s(e,o.url):void 0}:{},key:o.title,className:c()("ktl-horizontal-menu-module_menu-item_Z+YKZ",v("rs-text-2"),{"ktl-horizontal-menu-module_item-active_+iyf-":o.isActive,"ktl-horizontal-menu-module_expanded_thibK":a&&!(null===(n=o.items)||void 0===n||!n.length)})},o.title),!(null===(r=o.items)||void 0===r||!r.length)&&(0,f.jsx)(Z,{items:o.items,isExpanded:a,alignRight:u,linkHandler:s})]})},$=t=>{let{items:n,theme:r,linkHandler:o}=t;const[l,i]=(0,e.useState)(-1),[a,u]=(0,e.useState)(l);(0,e.useEffect)((()=>{const e=setTimeout((()=>u(l)),-1!==l?200:400);return()=>clearTimeout(e)}),[l]);const s=e=>i(n.findIndex((t=>t===e))),d=()=>i(-1);return(0,f.jsx)("nav",{className:c()("ktl-horizontal-menu-module_nav_xYv4i",{"ktl-horizontal-menu-module_dark-theme_Lp065":"dark"===r}),children:(0,f.jsx)("ul",{className:"ktl-horizontal-menu-module_menu-list_7oi3W",children:n.map(((e,t)=>(0,f.jsx)(J,{item:e,onMouseEnter:s,onMouseLeave:d,isExpanded:t===a,isLast:t===n.length-1,linkHandler:o},t)))})})};var X;function Q(){return Q=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Q.apply(this,arguments)}var ee=function(t){return e.createElement("svg",Q({width:24,height:24,xmlns:"http://www.w3.org/2000/svg"},t),X||(X=e.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M15.847 6.861A6.99 6.99 0 009.587 3a6.997 6.997 0 104.186 12.601l6.106 6.106 1.414-1.414-6.107-6.106a6.99 6.99 0 00.66-7.326zM14.587 10a5 5 0 11-10.001 0 5 5 0 0110 0z",fill:"currentColor"})))};const te=e=>{let{onClick:t,isActive:n}=e;return(0,f.jsx)("button",{type:"button",className:c()("ktl-search-button_button_JUyxv",{"ktl-search-button_active_G-dk1":n}),"aria-label":"Search",onClick:t,children:(0,f.jsx)(ee,{})})};var ne;function re(){return re=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},re.apply(this,arguments)}var oe,le=function(t){return e.createElement("svg",re({width:24,height:24,fill:"none",xmlns:"http://www.w3.org/2000/svg"},t),ne||(ne=e.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M4 5h16v2H4V5zm0 6h16v2H4v-2zm16 6H4v2h16v-2z",fill:"currentColor"})))};function ie(){return ie=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},ie.apply(this,arguments)}var ae=function(t){return e.createElement("svg",ie({width:16,height:16,fill:"none",xmlns:"http://www.w3.org/2000/svg"},t),oe||(oe=e.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M15.707 1.707L14.293.293 8 6.586 1.707.293.293 1.707 6.586 8 .293 14.293l1.414 1.414L8 9.414l6.293 6.293 1.414-1.414L9.414 8l6.293-6.293z",fill:"currentColor"})))};const ue=e=>{let{onClick:t,isExpanded:n}=e;return(0,f.jsx)("button",{type:"button",className:c()("ktl-menu-button_button_InVin"),"aria-haspopup":"true","aria-label":"Open the navigation",onClick:t,children:n?(0,f.jsx)(ae,{}):(0,f.jsx)(le,{})})};function se(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}var ce=!1;if("undefined"!=typeof window){var de={get passive(){ce=!0}};window.addEventListener("testPassive",null,de),window.removeEventListener("testPassive",null,de)}var me="undefined"!=typeof window&&window.navigator&&window.navigator.platform&&(/iP(ad|hone|od)/.test(window.navigator.platform)||"MacIntel"===window.navigator.platform&&window.navigator.maxTouchPoints>1),fe=[],ve=!1,he=-1,pe=void 0,_e=void 0,ge=function(e){return fe.some((function(t){return!(!t.options.allowTouchMove||!t.options.allowTouchMove(e))}))},Ee=function(e){var t=e||window.event;return!!ge(t.target)||(t.touches.length>1||(t.preventDefault&&t.preventDefault(),!1))},ye=function(){setTimeout((function(){void 0!==_e&&(document.body.style.paddingRight=_e,_e=void 0),void 0!==pe&&(document.body.style.overflow=pe,pe=void 0)}))},xe=function(e,t){if(me){if(!e)return void console.error("disableBodyScroll unsuccessful - targetElement must be provided when calling disableBodyScroll on IOS devices.");if(e&&!fe.some((function(t){return t.targetElement===e}))){var n={targetElement:e,options:t||{}};fe=[].concat(se(fe),[n]),e.ontouchstart=function(e){1===e.targetTouches.length&&(he=e.targetTouches[0].clientY)},e.ontouchmove=function(t){1===t.targetTouches.length&&function(e,t){var n=e.targetTouches[0].clientY-he;!ge(e.target)&&(t&&0===t.scrollTop&&n>0||function(e){return!!e&&e.scrollHeight-e.scrollTop<=e.clientHeight}(t)&&n<0?Ee(e):e.stopPropagation())}(t,e)},ve||(document.addEventListener("touchmove",Ee,ce?{passive:!1}:void 0),ve=!0)}}else{!function(e){if(void 0===_e){var t=!!e&&!0===e.reserveScrollBarGap,n=window.innerWidth-document.documentElement.clientWidth;t&&n>0&&(_e=document.body.style.paddingRight,document.body.style.paddingRight=n+"px")}void 0===pe&&(pe=document.body.style.overflow,setTimeout((function(){document.body.style.overflow="hidden"})))}(t);var r={targetElement:e,options:t||{}};fe=[].concat(se(fe),[r])}},we=function(){me?(fe.forEach((function(e){e.targetElement.ontouchstart=null,e.targetElement.ontouchmove=null})),ve&&(document.removeEventListener("touchmove",Ee,ce?{passive:!1}:void 0),ve=!1),fe=[],he=-1):(ye(),fe=[])};const ke=e=>{let{item:t,level:n,linkHandler:r}=e;const o=t.url?"a":"span",l={"--level":n};return(0,f.jsx)(o,{...t.url?{href:t.url,onClick:r?e=>t.url&&r(e,t.url):void 0}:{},className:c()("ktl-menu-popup-module_menu-item_f6wvh",{"ktl-menu-popup-module_menu-item-root_C-hkN":0===n,"ktl-menu-popup-module_active_DrZav":t.isActive,"ktl-menu-popup-module_active-with-child_BDnrW":t.items&&t.items.length}),style:l,children:t.title})},Te=t=>{let{items:n,level:r,linkHandler:o}=t;return(0,f.jsx)(f.Fragment,{children:n.map(((t,n)=>(0,f.jsxs)(e.Fragment,{children:[(0,f.jsx)(ke,{item:t,level:r,linkHandler:o}),t.items&&t.items.length>0&&(0,f.jsx)(Te,{items:t.items,level:r+1,linkHandler:o})]},n)))})},Le=t=>{let{items:n,isExpanded:r,setExpand:o,headerRef:l,linkHandler:i}=t;const a=(0,e.useRef)(null),u=(0,d.useTextStyles)(),[s,m]=(0,e.useState)({});(0,e.useEffect)((()=>{const e=()=>{window.innerWidth>640&&(o(!1),we())};return window.addEventListener("resize",e),()=>{we(),window.removeEventListener("resize",e)}}),[]),(0,e.useLayoutEffect)((()=>{l.current&&m({top:l.current.getBoundingClientRect().bottom})}),[r,l]);const v=(0,e.useCallback)((()=>{a.current&&(r?function(e){if(me){if(!e)return void console.error("enableBodyScroll unsuccessful - targetElement must be provided when calling enableBodyScroll on IOS devices.");e.ontouchstart=null,e.ontouchmove=null,fe=fe.filter((function(t){return t.targetElement!==e})),ve&&0===fe.length&&(document.removeEventListener("touchmove",Ee,ce?{passive:!1}:void 0),ve=!1)}else(fe=fe.filter((function(t){return t.targetElement!==e}))).length||ye()}(a.current):xe(a.current)),o(!r)}),[r,a]);return(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(ue,{onClick:v,isExpanded:r}),(0,f.jsx)("nav",{style:s,ref:a,className:c()("ktl-menu-popup-module_menu-popup_Yqtnq",u("rs-text-2"),{"ktl-menu-popup-module_menu-popup-expanded_FlujR":r}),children:(0,f.jsx)(Te,{items:n,level:0,linkHandler:i})})]})};var be,Oe;function je(){return je=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},je.apply(this,arguments)}var Se=function(t){return e.createElement("svg",je({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},t),be||(be=e.createElement("radialGradient",{id:"kotlin-logo-small_svg__a",cx:22.432,cy:3.493,r:21.679,gradientTransform:"translate(-.19 .042) scale(.9998)",gradientUnits:"userSpaceOnUse"},e.createElement("stop",{offset:.003,stopColor:"#e44857"}),e.createElement("stop",{offset:.469,stopColor:"#c711e1"}),e.createElement("stop",{offset:1,stopColor:"#7f52ff"}))),Oe||(Oe=e.createElement("path",{fill:"url(#kotlin-logo-small_svg__a)",d:"M22.87 21.68H3.94V2.76h18.93l-9.66 9.32z"})))};const Ne=e=>{let{homeTitle:t,homeUrl:n,className:r}=e;const o=(0,d.useTextStyles)();return(0,f.jsxs)("div",{className:c()("ktl-logo-small-module_logo-small_7ddNl",r),children:[(0,f.jsx)("a",{href:m,className:"ktl-logo-small-module_icon-wrap_BFVBd",children:(0,f.jsx)(Se,{className:"ktl-logo-small-module_icon_JM+yC"})}),(0,f.jsx)("a",{href:n,className:c()("ktl-logo-small-module_link_6gruv",o("rs-h3")),children:t})]})},Re=(0,e.forwardRef)(((n,r)=>{let{productWebUrl:o,hasSearch:l=!1,onSearchClick:i,currentUrl:a,currentTitle:u,className:s,hasBorder:d=!0,dropdownTheme:m="dark",linkHandler:p,isPlayground:_,isUrlActive:g}=n;const[E,y]=(0,e.useState)(!1),x=(0,e.useMemo)((()=>q(g,a,_)),[g,a,_]),w=(0,e.useRef)(null);return(0,e.useImperativeHandle)(r,(()=>w.current)),(0,f.jsx)(t.ThemeProvider,{theme:"dark",children:(0,f.jsxs)("header",{ref:w,className:c()("ktl-header-module_header-menu_E3vzo",s,{"ktl-header-module_with-menu-popup_DcoOT":E,"ktl-header-module_border_smGpe":d}),children:[(0,f.jsx)(v,{productWebUrl:o,className:u&&a&&!E?h:null}),!!u&&!!a&&(0,f.jsx)(Ne,{homeTitle:u,homeUrl:a,className:E?h:null}),(0,f.jsx)($,{items:x,theme:m,linkHandler:p}),(0,f.jsx)(te,{onClick:i,isActive:l&&!!i}),(0,f.jsx)(Le,{items:x,setExpand:y,isExpanded:E,headerRef:w,linkHandler:p})]})})}));var Ae=Re}(),module.exports=r}();
|
|
3
3
|
//# sourceMappingURL=header.js.map
|
package/dist/header.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"header.js","mappings":"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","sources":["webpack://@jetbrains/kotlin-web-site-ui/./node_modules/classnames/index.js","webpack://@jetbrains/kotlin-web-site-ui/./node_modules/react/cjs/react-jsx-runtime.production.min.js","webpack://@jetbrains/kotlin-web-site-ui/./node_modules/react/jsx-runtime.js","webpack://@jetbrains/kotlin-web-site-ui/external commonjs2 {\"commonjs2\":\"react\",\"commonjs\":\"react\"}","webpack://@jetbrains/kotlin-web-site-ui/webpack/bootstrap","webpack://@jetbrains/kotlin-web-site-ui/webpack/runtime/compat get default export","webpack://@jetbrains/kotlin-web-site-ui/webpack/runtime/define property getters","webpack://@jetbrains/kotlin-web-site-ui/webpack/runtime/hasOwnProperty shorthand","webpack://@jetbrains/kotlin-web-site-ui/webpack/runtime/make namespace object","webpack://@jetbrains/kotlin-web-site-ui/external commonjs2 {\"commonjs\":\"@rescui/ui-contexts\",\"commonjs2\":\"@rescui/ui-contexts\"}","webpack://@jetbrains/kotlin-web-site-ui/./src/components/header/logo-large/kotlin-logo-large.svg","webpack://@jetbrains/kotlin-web-site-ui/external commonjs2 {\"commonjs\":\"@rescui/typography\",\"commonjs2\":\"@rescui/typography\"}","webpack://@jetbrains/kotlin-web-site-ui/./src/consts.ts","webpack://@jetbrains/kotlin-web-site-ui/./src/components/header/logo-large/logo-large.tsx","webpack://@jetbrains/kotlin-web-site-ui/./src/components/header/logo-large/logo-large.module.pcss?d1a2","webpack://@jetbrains/kotlin-web-site-ui/./src/components/header/header.module.pcss?b1da","webpack://@jetbrains/kotlin-web-site-ui/./src/components/header/nav-scheme.ts","webpack://@jetbrains/kotlin-web-site-ui/./src/components/header/horizontal-menu/horizontal-menu.module.pcss?7d3a","webpack://@jetbrains/kotlin-web-site-ui/./src/components/header/horizontal-menu/horizontal-menu.tsx","webpack://@jetbrains/kotlin-web-site-ui/./src/components/header/search-button/search.svg","webpack://@jetbrains/kotlin-web-site-ui/./src/components/header/search-button/search-button.tsx","webpack://@jetbrains/kotlin-web-site-ui/./src/components/header/search-button/search-button.pcss?7314","webpack://@jetbrains/kotlin-web-site-ui/./src/components/header/menu-popup/menu-button/hamburger-icon.svg","webpack://@jetbrains/kotlin-web-site-ui/./src/components/header/menu-popup/menu-button/close-icon.svg","webpack://@jetbrains/kotlin-web-site-ui/./src/components/header/menu-popup/menu-button/menu-button.tsx","webpack://@jetbrains/kotlin-web-site-ui/./src/components/header/menu-popup/menu-button/menu-button.pcss?e10c","webpack://@jetbrains/kotlin-web-site-ui/./src/components/header/menu-popup/menu-popup.tsx","webpack://@jetbrains/kotlin-web-site-ui/./src/components/header/menu-popup/menu-popup.module.pcss?1dec","webpack://@jetbrains/kotlin-web-site-ui/./src/components/header/logo-small/kotlin-logo-small.svg","webpack://@jetbrains/kotlin-web-site-ui/./src/components/header/logo-small/logo-small.module.pcss?0b31","webpack://@jetbrains/kotlin-web-site-ui/./src/components/header/logo-small/logo-small.tsx","webpack://@jetbrains/kotlin-web-site-ui/./src/components/header/header.tsx","webpack://@jetbrains/kotlin-web-site-ui/./src/components/header/index.ts"],"sourcesContent":["/*!\n Copyright (c) 2018 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames() {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tif (arg.length) {\n\t\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\t\tif (inner) {\n\t\t\t\t\t\tclasses.push(inner);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tif (arg.toString === Object.prototype.toString) {\n\t\t\t\t\tfor (var key in arg) {\n\t\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tclasses.push(arg.toString());\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","/** @license React v16.14.0\n * react-jsx-runtime.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var f=require(\"react\"),g=60103;exports.Fragment=60107;if(\"function\"===typeof Symbol&&Symbol.for){var h=Symbol.for;g=h(\"react.element\");exports.Fragment=h(\"react.fragment\")}var m=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,n=Object.prototype.hasOwnProperty,p={key:!0,ref:!0,__self:!0,__source:!0};\nfunction q(c,a,k){var b,d={},e=null,l=null;void 0!==k&&(e=\"\"+k);void 0!==a.key&&(e=\"\"+a.key);void 0!==a.ref&&(l=a.ref);for(b in a)n.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)void 0===d[b]&&(d[b]=a[b]);return{$$typeof:g,type:c,key:e,ref:l,props:d,_owner:m.current}}exports.jsx=q;exports.jsxs=q;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.min.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","module.exports = require(\"react\");","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","var __WEBPACK_NAMESPACE_OBJECT__ = require(\"@rescui/ui-contexts\");","var _radialGradient, _path, _g;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport * as React from \"react\";\n\nfunction SvgKotlinLogoLarge(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 100 24\"\n }, props), _radialGradient || (_radialGradient = /*#__PURE__*/React.createElement(\"radialGradient\", {\n id: \"kotlin-logo-large_svg__a\",\n cx: 22.432,\n cy: 3.493,\n r: 21.679,\n gradientTransform: \"translate(-.19 .042) scale(.9998)\",\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.003,\n stopColor: \"#e44857\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.469,\n stopColor: \"#c711e1\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#7f52ff\"\n }))), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"url(#kotlin-logo-large_svg__a)\",\n d: \"M22.87 21.68H3.94V2.76h18.93l-9.66 9.32z\"\n })), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n fill: \"#fff\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n 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\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n 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 00-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 002.53 2.57c1.09.62 2.32.93 3.7.93 1.36 0 2.58-.31 3.66-.93a6.53 6.53 0 002.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 00-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\"\n }))));\n}\n\nexport default SvgKotlinLogoLarge;","var __WEBPACK_NAMESPACE_OBJECT__ = require(\"@rescui/typography\");","export const KOTLINLANG_URL = 'https://kotlinlang.org';\nexport const PLAYGROUND_URL = 'https://play.kotlinlang.org/';","import React, { FC } from 'react';\nimport * as styles from './logo-large.module.pcss';\nimport KotlinLogoFull from './kotlin-logo-large.svg';\nimport classNames from 'classnames';\nimport { useTextStyles } from '@rescui/typography';\nimport { KOTLINLANG_URL } from 'src/consts';\n\ninterface LogoProps {\n productWebUrl?: string;\n className?: string;\n}\n\nexport const LogoLarge: FC<LogoProps> = ({ productWebUrl, className }) => {\n const version: null | string = productWebUrl\n ? getProductVersion(productWebUrl)\n : null;\n const textCn = useTextStyles();\n\n return (\n <div\n className={classNames(\n styles.container,\n className,\n textCn('rs-text-3', { hardness: 'average' })\n )}\n >\n <a\n className={styles.link}\n href={KOTLINLANG_URL}\n aria-label=\"Kotlin Home Page\"\n >\n <KotlinLogoFull />\n </a>\n {version && (\n <a\n className={classNames(styles.versionTag)}\n href={productWebUrl}\n target=\"_blank\"\n >\n {version}\n </a>\n )}\n </div>\n );\n};\n\nfunction getProductVersion(productWebUrl: string): null | string {\n const match = /v?\\d+\\.\\d+\\.\\d+$/.exec(productWebUrl);\n return match ? match[0] : null;\n}\n","// extracted by mini-css-extract-plugin\nexport const container = \"ktl-logo-large-module_container_+5pgf\";\nexport const link = \"ktl-logo-large-module_link_iZIEJ\";\nexport const versionTag = \"ktl-logo-large-module_version-tag_fiNIk\";","// extracted by mini-css-extract-plugin\nexport const headerMenu = \"ktl-header-module_header-menu_E3vzo\";\nexport const border = \"ktl-header-module_border_smGpe\";\nexport const withMenuPopup = \"ktl-header-module_with-menu-popup_DcoOT\";\nexport const logoHide = \"ktl-header-module_logo-hide_uBrPV\";","import { KOTLINLANG_URL, PLAYGROUND_URL } from 'src/consts';\nimport { IsUrlActive } from 'src/helper/is-url-active';\n\nexport interface MenuItem {\n title: string;\n url: null | string;\n isActive?: boolean;\n items?: MenuItem[];\n}\n\nexport const SOLUTIONS_TITLE = 'Solutions';\nexport const MULTIPLATFORM_MOBILE_TITLE = 'Multiplatform Mobile';\nexport const MULTIPLATFORM_MOBILE_URL = `/lp/mobile/`;\nexport const SERVER_SIDE_TITLE = 'Server-side';\nexport const SERVER_SIDE_URL = `/lp/server-side/`;\nexport const WEB_FRONTEND_TITLE = 'Web frontend';\nexport const WEB_FRONTEND_URL = `/docs/js-overview.html`;\nexport const DATA_SCIENCE_TITLE = 'Data science';\nexport const DATA_SCIENCE_URL = `/docs/data-science-overview.html`;\nexport const ANDROID_TITLE = 'Android';\nexport const ANDROID_URL = `/docs/android-overview.html`;\nexport const DOCS_TITLE = 'Docs';\nexport const DOCS_URL = `/docs/home.html`;\nexport const COMMUNITY_TITLE = 'Community';\nexport const COMMUNITY_URL = `/community/`;\nexport const TEACH_TITLE = 'Teach';\nexport const TEACH_URL = `/education/`;\nexport const PLAY_TITLE = 'Play';\nexport const PLAY_TITLE_FULL = 'Playground';\nexport const PLAY_URL = PLAYGROUND_URL;\nexport const PLAY_HANDSON_URL = `${PLAY_URL}hands-on`;\nexport const PLAY_HANDSON_TITLE = 'Hands-on';\nexport const PLAY_EXAMPLES_URL = `${PLAY_URL}byExample`;\nexport const PLAY_EXAMPLES_TITLE = 'Examples';\nexport const PLAY_KOANS_URL = `${PLAY_URL}koans`;\nexport const PLAY_KOANS_TITLE = 'Koans';\nexport const KOTLIN_DOCS_TITLE = 'Kotlin';\nexport const KOTLIN_DOCS_URL = `/docs/home.html`;\nexport const KMM_DOCS_TITLE = 'KMM';\nexport const KMM_DOCS_URL = `/docs/mobile/home.html`;\n\nconst navScheme: MenuItem[] = [\n {\n title: SOLUTIONS_TITLE,\n url: null,\n items: [\n {\n title: MULTIPLATFORM_MOBILE_TITLE,\n url: MULTIPLATFORM_MOBILE_URL,\n },\n {\n title: SERVER_SIDE_TITLE,\n url: SERVER_SIDE_URL,\n },\n {\n title: WEB_FRONTEND_TITLE,\n url: WEB_FRONTEND_URL,\n },\n {\n title: DATA_SCIENCE_TITLE,\n url: DATA_SCIENCE_URL,\n },\n {\n title: ANDROID_TITLE,\n url: ANDROID_URL,\n },\n ],\n },\n {\n title: DOCS_TITLE,\n url: KOTLIN_DOCS_URL,\n },\n {\n title: COMMUNITY_TITLE,\n url: COMMUNITY_URL,\n },\n {\n title: TEACH_TITLE,\n url: TEACH_URL,\n },\n {\n title: PLAY_TITLE,\n url: null,\n items: [\n {\n title: PLAY_TITLE_FULL,\n url: PLAY_URL,\n },\n {\n title: PLAY_HANDSON_TITLE,\n url: PLAY_HANDSON_URL,\n },\n {\n title: PLAY_EXAMPLES_TITLE,\n url: PLAY_EXAMPLES_URL,\n },\n {\n title: PLAY_KOANS_TITLE,\n url: PLAY_KOANS_URL,\n },\n ],\n },\n];\n\nexport function getNavScheme(\n isUrlActive: IsUrlActive = (url, currentUrl) => url === currentUrl,\n currentUrl?: string,\n isPlayground?: boolean\n): MenuItem[] {\n return navScheme.map(({ title, url, items }) => {\n if (url && currentUrl) {\n url = makeExternalUrl(url, currentUrl, !!isPlayground);\n }\n\n const item: MenuItem = {\n title,\n url,\n };\n let isActive = isUrlActive(url, currentUrl);\n\n item.items =\n items?.map(({ title, url: childUrl }) => {\n if (childUrl && currentUrl) {\n childUrl = makeExternalUrl(childUrl, currentUrl, !!isPlayground);\n }\n\n let childActive = isUrlActive(childUrl, currentUrl);\n\n if (childActive) {\n isActive = childActive;\n }\n\n return {\n title,\n url: childUrl,\n isActive: childActive,\n };\n }) ?? [];\n\n item.isActive = isActive;\n\n return item;\n });\n}\n\nfunction makeExternalUrl(\n url: string,\n currentUrl: string,\n isPlayground: boolean\n): string {\n if (isPlayground) {\n if (url.startsWith(PLAY_URL)) {\n return url.replace(PLAY_URL, '/');\n } else {\n return `${KOTLINLANG_URL}${url}`;\n }\n } else {\n return url;\n }\n}\n","// extracted by mini-css-extract-plugin\nexport const nav = \"ktl-horizontal-menu-module_nav_xYv4i\";\nexport const menuList = \"ktl-horizontal-menu-module_menu-list_7oi3W\";\nexport const menuItemWrap = \"ktl-horizontal-menu-module_menu-item-wrap_dnVf-\";\nexport const menuItem = \"ktl-horizontal-menu-module_menu-item_Z+YKZ\";\nexport const expanded = \"ktl-horizontal-menu-module_expanded_thibK\";\nexport const itemActive = \"ktl-horizontal-menu-module_item-active_+iyf-\";\nexport const dropdownMenu = \"ktl-horizontal-menu-module_dropdown-menu_dVOw-\";\nexport const fadeIn = \"ktl-horizontal-menu-module_fade-in_Q2pCx\";\nexport const darkTheme = \"ktl-horizontal-menu-module_dark-theme_Lp065\";\nexport const dropdownMenuItem = \"ktl-horizontal-menu-module_dropdown-menu-item_wRlcN\";\nexport const active = \"ktl-horizontal-menu-module_active_azHwP\";\nexport const dropdownMenuExpanded = \"ktl-horizontal-menu-module_dropdown-menu-expanded_L0RWy\";\nexport const dropdownMenuAlignRight = \"ktl-horizontal-menu-module_dropdown-menu-align-right_HS-oO\";","import classNames from 'classnames';\nimport React, { FC, useEffect, useState } from 'react';\nimport { Theme } from '@rescui/ui-contexts/lib/parts/theme-context';\nimport * as styles from './horizontal-menu.module.pcss';\nimport { MenuItem } from '../nav-scheme';\nimport { useTextStyles } from '@rescui/typography';\nimport { LinkHandler } from 'src/helper/link-handler';\n\ninterface DropdownMenuProps {\n items: MenuItem[];\n isExpanded: boolean;\n alignRight: boolean;\n linkHandler?: LinkHandler;\n}\n\nconst DropdownMenu: FC<DropdownMenuProps> = ({\n items,\n isExpanded,\n alignRight,\n linkHandler,\n}) => {\n const textCn = useTextStyles();\n\n return (\n <ul\n className={classNames(styles.dropdownMenu, textCn('rs-text-2'), {\n [styles.dropdownMenuExpanded]: isExpanded,\n [styles.dropdownMenuAlignRight]: alignRight,\n })}\n >\n {items.map((item, key) => {\n const Tag = !item.isActive && item.url ? 'a' : 'span';\n\n return (\n <li key={key}>\n <Tag\n className={classNames(styles.dropdownMenuItem, {\n [styles.active]: item.isActive,\n })}\n {...(item.url\n ? {\n href: item.url,\n onClick: linkHandler\n ? (event) => item.url && linkHandler(event, item.url)\n : undefined,\n }\n : {})}\n >\n {item.title}\n </Tag>\n </li>\n );\n })}\n </ul>\n );\n};\n\ninterface HorizontalMenuItemProps {\n item: MenuItem;\n onMouseEnter: (item: MenuItem) => void;\n onMouseLeave: () => void;\n isExpanded: boolean;\n isLast: boolean;\n linkHandler?: LinkHandler;\n}\n\nconst HorizontalMenuItem: FC<HorizontalMenuItemProps> = ({\n item,\n onMouseEnter,\n onMouseLeave,\n isExpanded,\n isLast,\n linkHandler,\n}) => {\n const Tag = item.isActive || !item.url ? 'span' : 'a';\n const textCn = useTextStyles();\n const handleEnter = () => onMouseEnter(item);\n\n return (\n <li\n className={styles.menuItemWrap}\n onMouseEnter={handleEnter}\n onMouseLeave={onMouseLeave}\n >\n <Tag\n {...(item.url\n ? {\n href: item.url,\n onClick: linkHandler\n ? (event) => item.url && linkHandler(event, item.url)\n : undefined,\n }\n : {})}\n key={item.title}\n className={classNames(styles.menuItem, textCn('rs-text-2'), {\n [styles.itemActive]: item.isActive,\n [styles.expanded]: isExpanded && !!item.items?.length,\n })}\n >\n {item.title}\n </Tag>\n {!!item.items?.length && (\n <DropdownMenu\n items={item.items}\n isExpanded={isExpanded}\n alignRight={isLast}\n linkHandler={linkHandler}\n />\n )}\n </li>\n );\n};\n\ninterface HorizontalMenuProps {\n items: MenuItem[];\n theme: Theme;\n linkHandler?: LinkHandler;\n}\n\nexport const HorizontalMenu: FC<HorizontalMenuProps> = ({\n items,\n theme,\n linkHandler,\n}) => {\n const [activeIndex, setActiveIndex] = useState(-1);\n const [debouncedActiveIndex, setDebouncedActiveIndex] = useState(activeIndex);\n\n useEffect(() => {\n const handler = setTimeout(\n () => setDebouncedActiveIndex(activeIndex),\n activeIndex !== -1 ? 200 : 400\n );\n return () => clearTimeout(handler);\n }, [activeIndex]);\n\n const handleEnter = (item: MenuItem) =>\n setActiveIndex(items.findIndex((val) => val === item));\n const handleLeave = () => setActiveIndex(-1);\n\n return (\n <nav\n className={classNames(styles.nav, {\n [styles.darkTheme]: theme === 'dark',\n })}\n >\n <ul className={styles.menuList}>\n {items.map((item, index) => (\n <HorizontalMenuItem\n item={item}\n onMouseEnter={handleEnter}\n onMouseLeave={handleLeave}\n isExpanded={index === debouncedActiveIndex}\n isLast={index === items.length - 1}\n key={index}\n linkHandler={linkHandler}\n />\n ))}\n </ul>\n </nav>\n );\n};\n","var _path;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport * as React from \"react\";\n\nfunction SvgSearch(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M15.847 6.861A6.99 6.99 0 009.587 3a6.997 6.997 0 104.186 12.601l6.106 6.106 1.414-1.414-6.107-6.106a6.99 6.99 0 00.66-7.326zM14.587 10a5 5 0 11-10.001 0 5 5 0 0110 0z\",\n fill: \"currentColor\"\n })));\n}\n\nexport default SvgSearch;","import React, { FC } from 'react';\nimport * as styles from './search-button.pcss';\nimport classNames from 'classnames';\nimport SearchIcon from './search.svg';\n\ninterface SearchButtonProps {\n onClick?: () => void;\n isActive: boolean;\n}\nexport const SearchButton: FC<SearchButtonProps> = ({ onClick, isActive }) => {\n return (\n <button\n type=\"button\"\n className={classNames(styles.button, {\n [styles.active]: isActive,\n })}\n aria-label=\"Search\"\n onClick={onClick}\n >\n <SearchIcon />\n </button>\n );\n};\n","// extracted by mini-css-extract-plugin\nexport const button = \"ktl-search-button_button_JUyxv\";\nexport const active = \"ktl-search-button_active_G-dk1\";","var _path;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport * as React from \"react\";\n\nfunction SvgHamburgerIcon(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M4 5h16v2H4V5zm0 6h16v2H4v-2zm16 6H4v2h16v-2z\",\n fill: \"currentColor\"\n })));\n}\n\nexport default SvgHamburgerIcon;","var _path;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport * as React from \"react\";\n\nfunction SvgCloseIcon(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 16,\n height: 16,\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M15.707 1.707L14.293.293 8 6.586 1.707.293.293 1.707 6.586 8 .293 14.293l1.414 1.414L8 9.414l6.293 6.293 1.414-1.414L9.414 8l6.293-6.293z\",\n fill: \"currentColor\"\n })));\n}\n\nexport default SvgCloseIcon;","import React, { FC } from 'react';\nimport * as styles from './menu-button.pcss';\nimport classNames from 'classnames';\nimport HamburgerIcon from './hamburger-icon.svg';\nimport CloseIcon from './close-icon.svg';\n\ninterface MenuButtonProps {\n onClick: () => void;\n isExpanded: boolean;\n}\n\nexport const MenuButton: FC<MenuButtonProps> = ({ onClick, isExpanded }) => {\n return (\n <button\n type=\"button\"\n className={classNames(styles.button)}\n aria-haspopup=\"true\"\n aria-label=\"Open the navigation\"\n onClick={onClick}\n >\n {isExpanded ? <CloseIcon /> : <HamburgerIcon />}\n </button>\n );\n};\n","// extracted by mini-css-extract-plugin\nexport const button = \"ktl-menu-button_button_InVin\";","import React, {\n CSSProperties,\n FC,\n Fragment,\n useCallback,\n useLayoutEffect,\n useState,\n} from 'react';\nimport * as styles from './menu-popup.module.pcss';\nimport { MenuItem } from '../nav-scheme';\nimport classNames from 'classnames';\nimport { MenuButton } from './menu-button/menu-button';\nimport { useTextStyles } from '@rescui/typography';\nimport { LinkHandler } from 'src/helper/link-handler';\n\ninterface MenuItemProps {\n item: MenuItem;\n level: number;\n linkHandler?: LinkHandler;\n}\n\ninterface MenuItemStyle extends CSSProperties {\n '--level': number;\n}\n\nconst MenuListItem: FC<MenuItemProps> = ({ item, level, linkHandler }) => {\n const Tag = item.url ? 'a' : 'span';\n const style: MenuItemStyle = {\n '--level': level,\n };\n\n return (\n <Tag\n {...(item.url\n ? {\n href: item.url,\n onClick: linkHandler\n ? (event) => item.url && linkHandler(event, item.url)\n : undefined,\n }\n : {})}\n className={classNames(styles.menuItem, {\n [styles.menuItemRoot]: level === 0,\n [styles.active]: item.isActive,\n [styles.activeWithChild]: item.items && item.items.length,\n })}\n style={style}\n >\n {item.title}\n </Tag>\n );\n};\n\ninterface MenuListProps {\n items: MenuItem[];\n level: number;\n linkHandler?: LinkHandler;\n}\n\nconst MenuList: FC<MenuListProps> = ({ items, level, linkHandler }) => {\n return (\n <>\n {items.map((item, i) => (\n <Fragment key={i}>\n <MenuListItem item={item} level={level} linkHandler={linkHandler} />\n {item.items && item.items.length > 0 && (\n <MenuList items={item.items} level={level + 1} linkHandler={linkHandler} />\n )}\n </Fragment>\n ))}\n </>\n );\n};\n\ninterface MenuPopupProps {\n items: MenuItem[];\n isExpanded: boolean;\n setExpand: React.Dispatch<React.SetStateAction<boolean>>;\n headerRef: React.RefObject<HTMLElement>;\n linkHandler?: LinkHandler;\n}\n\ninterface NavStyles {\n top?: number;\n}\n\nexport const MenuPopup: FC<MenuPopupProps> = ({\n items,\n isExpanded,\n setExpand,\n headerRef,\n linkHandler,\n}) => {\n const textCn = useTextStyles();\n const [navStyle, setNavStyle] = useState<NavStyles>({});\n\n useLayoutEffect(() => {\n if (headerRef.current) {\n setNavStyle({ top: headerRef.current.getBoundingClientRect().bottom });\n }\n }, [isExpanded]);\n\n const handleClick = useCallback(() => {\n if (typeof document !== `undefined`) {\n document.body.classList.toggle(styles.noScrollable, !isExpanded);\n }\n setExpand(!isExpanded);\n }, [isExpanded]);\n\n return (\n <>\n <MenuButton onClick={handleClick} isExpanded={isExpanded} />\n\n <nav\n style={navStyle}\n className={classNames(styles.menuPopup, textCn('rs-text-2'), {\n [styles.menuPopupExpanded]: isExpanded,\n })}\n >\n <MenuList items={items} level={0} linkHandler={linkHandler} />\n </nav>\n </>\n );\n};\n","// extracted by mini-css-extract-plugin\nexport const menuPopup = \"ktl-menu-popup-module_menu-popup_Yqtnq\";\nexport const menuItem = \"ktl-menu-popup-module_menu-item_f6wvh\";\nexport const active = \"ktl-menu-popup-module_active_DrZav\";\nexport const activeWithChild = \"ktl-menu-popup-module_active-with-child_BDnrW\";\nexport const menuItemRoot = \"ktl-menu-popup-module_menu-item-root_C-hkN\";\nexport const menuPopupExpanded = \"ktl-menu-popup-module_menu-popup-expanded_FlujR\";\nexport const noScrollable = \"ktl-menu-popup-module_no-scrollable_vFAwD\";","var _radialGradient, _path;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport * as React from \"react\";\n\nfunction SvgKotlinLogoSmall(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\"\n }, props), _radialGradient || (_radialGradient = /*#__PURE__*/React.createElement(\"radialGradient\", {\n id: \"kotlin-logo-small_svg__a\",\n cx: 22.432,\n cy: 3.493,\n r: 21.679,\n gradientTransform: \"translate(-.19 .042) scale(.9998)\",\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.003,\n stopColor: \"#e44857\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.469,\n stopColor: \"#c711e1\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#7f52ff\"\n }))), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"url(#kotlin-logo-small_svg__a)\",\n d: \"M22.87 21.68H3.94V2.76h18.93l-9.66 9.32z\"\n })));\n}\n\nexport default SvgKotlinLogoSmall;","// extracted by mini-css-extract-plugin\nexport const logoSmall = \"ktl-logo-small-module_logo-small_7ddNl\";\nexport const link = \"ktl-logo-small-module_link_6gruv\";\nexport const iconWrap = \"ktl-logo-small-module_icon-wrap_BFVBd\";\nexport const icon = \"ktl-logo-small-module_icon_JM+yC\";","import React, { FC } from 'react';\nimport KotlinLogoSmall from './kotlin-logo-small.svg';\nimport * as styles from './logo-small.module.pcss';\nimport classNames from 'classnames';\nimport { useTextStyles } from '@rescui/typography';\nimport { KOTLINLANG_URL } from 'src/consts';\n\ninterface LogoSmallProps {\n homeUrl: string;\n homeTitle: string;\n className?: string;\n}\n\nexport const LogoSmall: FC<LogoSmallProps> = ({\n homeTitle,\n homeUrl,\n className,\n}) => {\n const textCn = useTextStyles();\n\n return (\n <div className={classNames(styles.logoSmall, className)}>\n <a href={KOTLINLANG_URL} className={styles.iconWrap}>\n <KotlinLogoSmall className={styles.icon} />\n </a>\n <a href={homeUrl} className={classNames(styles.link, textCn('rs-h3'))}>\n {homeTitle}\n </a>\n </div>\n );\n};\n","import React, {\n FC,\n ForwardedRef,\n forwardRef,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport { ThemeProvider } from '@rescui/ui-contexts';\nimport { Theme } from '@rescui/ui-contexts/lib/parts/theme-context';\nimport { LogoLarge } from './logo-large/logo-large';\nimport * as styles from './header.module.pcss';\nimport { getNavScheme } from './nav-scheme';\nimport { HorizontalMenu } from './horizontal-menu/horizontal-menu';\nimport { SearchButton } from './search-button/search-button';\nimport { MenuPopup } from './menu-popup/menu-popup';\nimport { LogoSmall } from './logo-small/logo-small';\nimport classNames from 'classnames';\nimport { LinkHandler } from 'src/helper/link-handler';\nimport { IsUrlActive } from 'src/helper/is-url-active';\n\nexport interface HeaderProps {\n currentUrl?: string;\n currentTitle?: string;\n productWebUrl?: string;\n hasSearch?: boolean;\n onSearchClick?: () => void;\n className?: string;\n hasBorder?: boolean;\n dropdownTheme?: Theme;\n linkHandler?: LinkHandler;\n isPlayground?: boolean;\n isUrlActive?: IsUrlActive;\n}\n\nexport const Header: FC<HeaderProps> = forwardRef(\n (\n {\n productWebUrl,\n hasSearch = false,\n onSearchClick,\n currentUrl,\n currentTitle,\n className,\n hasBorder = true,\n dropdownTheme = 'dark',\n linkHandler,\n isPlayground,\n isUrlActive,\n },\n forwardedRef?: ForwardedRef<null | HTMLElement>\n ) => {\n const [menuPopupExpanded, setMenuPopupExpanded] = useState(false);\n const items = useMemo(\n () => getNavScheme(isUrlActive, currentUrl, isPlayground),\n [isUrlActive, currentUrl, isPlayground]\n );\n const headerRef = useRef<null | HTMLElement>(null);\n useImperativeHandle<null | HTMLElement, null | HTMLElement>(\n forwardedRef,\n () => headerRef.current\n );\n\n return (\n <ThemeProvider theme={'dark'}>\n <header\n ref={headerRef}\n className={classNames(styles.headerMenu, className, {\n [styles.withMenuPopup]: menuPopupExpanded,\n [styles.border]: hasBorder,\n })}\n >\n <LogoLarge\n productWebUrl={productWebUrl}\n className={\n !!currentTitle && !!currentUrl && !menuPopupExpanded\n ? styles.logoHide\n : null\n }\n />\n {!!currentTitle && !!currentUrl && (\n <LogoSmall\n homeTitle={currentTitle}\n homeUrl={currentUrl}\n className={menuPopupExpanded ? styles.logoHide : null}\n />\n )}\n\n <HorizontalMenu\n items={items}\n theme={dropdownTheme}\n linkHandler={linkHandler}\n />\n\n {\n <SearchButton\n onClick={onSearchClick}\n isActive={hasSearch && !!onSearchClick}\n />\n }\n\n <MenuPopup\n items={items}\n setExpand={setMenuPopupExpanded}\n isExpanded={menuPopupExpanded}\n headerRef={headerRef}\n linkHandler={linkHandler}\n />\n </header>\n </ThemeProvider>\n );\n }\n);\n","import { Header } from './header';\nexport default Header;\n\nexport * from './nav-scheme';\n"],"names":["hasOwn","hasOwnProperty","classNames","classes","i","arguments","length","arg","argType","push","Array","isArray","inner","apply","toString","Object","prototype","key","call","join","module","exports","default","f","g","Fragment","Symbol","for","h","m","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","ReactCurrentOwner","n","p","ref","__self","__source","q","c","a","k","b","d","e","l","defaultProps","$$typeof","type","props","_owner","current","jsx","jsxs","require","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","__webpack_modules__","getter","__esModule","definition","o","defineProperty","enumerable","get","obj","prop","r","toStringTag","value","_radialGradient","_path","_g","_extends","assign","target","source","this","xmlns","viewBox","id","cx","cy","gradientTransform","gradientUnits","offset","stopColor","fill","KOTLINLANG_URL","LogoLarge","productWebUrl","className","version","match","exec","getProductVersion","textCn","useTextStyles","hardness","href","logoHide","SOLUTIONS_TITLE","MULTIPLATFORM_MOBILE_TITLE","MULTIPLATFORM_MOBILE_URL","SERVER_SIDE_TITLE","SERVER_SIDE_URL","WEB_FRONTEND_TITLE","WEB_FRONTEND_URL","DATA_SCIENCE_TITLE","DATA_SCIENCE_URL","ANDROID_TITLE","ANDROID_URL","DOCS_TITLE","DOCS_URL","COMMUNITY_TITLE","COMMUNITY_URL","TEACH_TITLE","TEACH_URL","PLAY_TITLE","PLAY_TITLE_FULL","PLAY_URL","PLAY_HANDSON_URL","PLAY_HANDSON_TITLE","PLAY_EXAMPLES_URL","PLAY_EXAMPLES_TITLE","PLAY_KOANS_URL","PLAY_KOANS_TITLE","KOTLIN_DOCS_TITLE","KOTLIN_DOCS_URL","KMM_DOCS_TITLE","KMM_DOCS_URL","navScheme","title","url","items","getNavScheme","isUrlActive","currentUrl","isPlayground","map","makeExternalUrl","item","isActive","childUrl","childActive","startsWith","replace","DropdownMenu","isExpanded","alignRight","linkHandler","Tag","onClick","event","HorizontalMenuItem","onMouseEnter","onMouseLeave","isLast","HorizontalMenu","theme","activeIndex","setActiveIndex","useState","debouncedActiveIndex","setDebouncedActiveIndex","useEffect","handler","setTimeout","clearTimeout","handleEnter","findIndex","val","handleLeave","index","width","height","fillRule","clipRule","SearchButton","MenuButton","MenuListItem","level","style","MenuList","MenuPopup","setExpand","headerRef","navStyle","setNavStyle","useLayoutEffect","top","getBoundingClientRect","bottom","handleClick","useCallback","document","body","classList","toggle","LogoSmall","homeTitle","homeUrl","Header","forwardRef","forwardedRef","hasSearch","onSearchClick","currentTitle","hasBorder","dropdownTheme","menuPopupExpanded","setMenuPopupExpanded","useMemo","useRef","useImperativeHandle","ThemeProvider","styles"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"header.js","mappings":"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","sources":["webpack://@jetbrains/kotlin-web-site-ui/./node_modules/classnames/index.js","webpack://@jetbrains/kotlin-web-site-ui/./node_modules/react/cjs/react-jsx-runtime.production.min.js","webpack://@jetbrains/kotlin-web-site-ui/./node_modules/react/jsx-runtime.js","webpack://@jetbrains/kotlin-web-site-ui/external commonjs2 {\"commonjs2\":\"react\",\"commonjs\":\"react\"}","webpack://@jetbrains/kotlin-web-site-ui/webpack/bootstrap","webpack://@jetbrains/kotlin-web-site-ui/webpack/runtime/compat get default export","webpack://@jetbrains/kotlin-web-site-ui/webpack/runtime/define property getters","webpack://@jetbrains/kotlin-web-site-ui/webpack/runtime/hasOwnProperty shorthand","webpack://@jetbrains/kotlin-web-site-ui/webpack/runtime/make namespace object","webpack://@jetbrains/kotlin-web-site-ui/external commonjs2 {\"commonjs\":\"@rescui/ui-contexts\",\"commonjs2\":\"@rescui/ui-contexts\"}","webpack://@jetbrains/kotlin-web-site-ui/./src/components/header/logo-large/kotlin-logo-large.svg","webpack://@jetbrains/kotlin-web-site-ui/external commonjs2 {\"commonjs\":\"@rescui/typography\",\"commonjs2\":\"@rescui/typography\"}","webpack://@jetbrains/kotlin-web-site-ui/./src/consts.ts","webpack://@jetbrains/kotlin-web-site-ui/./src/components/header/logo-large/logo-large.tsx","webpack://@jetbrains/kotlin-web-site-ui/./src/components/header/logo-large/logo-large.module.pcss?d1a2","webpack://@jetbrains/kotlin-web-site-ui/./src/components/header/header.module.pcss?b1da","webpack://@jetbrains/kotlin-web-site-ui/./src/components/header/nav-scheme.ts","webpack://@jetbrains/kotlin-web-site-ui/./src/components/header/horizontal-menu/horizontal-menu.module.pcss?7d3a","webpack://@jetbrains/kotlin-web-site-ui/./src/components/header/horizontal-menu/horizontal-menu.tsx","webpack://@jetbrains/kotlin-web-site-ui/./src/components/header/search-button/search.svg","webpack://@jetbrains/kotlin-web-site-ui/./src/components/header/search-button/search-button.tsx","webpack://@jetbrains/kotlin-web-site-ui/./src/components/header/search-button/search-button.pcss?7314","webpack://@jetbrains/kotlin-web-site-ui/./src/components/header/menu-popup/menu-button/hamburger-icon.svg","webpack://@jetbrains/kotlin-web-site-ui/./src/components/header/menu-popup/menu-button/close-icon.svg","webpack://@jetbrains/kotlin-web-site-ui/./src/components/header/menu-popup/menu-button/menu-button.tsx","webpack://@jetbrains/kotlin-web-site-ui/./src/components/header/menu-popup/menu-button/menu-button.pcss?e10c","webpack://@jetbrains/kotlin-web-site-ui/./node_modules/body-scroll-lock/lib/bodyScrollLock.esm.js","webpack://@jetbrains/kotlin-web-site-ui/./src/components/header/menu-popup/menu-popup.tsx","webpack://@jetbrains/kotlin-web-site-ui/./src/components/header/menu-popup/menu-popup.module.pcss?1dec","webpack://@jetbrains/kotlin-web-site-ui/./src/components/header/logo-small/kotlin-logo-small.svg","webpack://@jetbrains/kotlin-web-site-ui/./src/components/header/logo-small/logo-small.module.pcss?0b31","webpack://@jetbrains/kotlin-web-site-ui/./src/components/header/logo-small/logo-small.tsx","webpack://@jetbrains/kotlin-web-site-ui/./src/components/header/header.tsx","webpack://@jetbrains/kotlin-web-site-ui/./src/components/header/index.ts"],"sourcesContent":["/*!\n Copyright (c) 2018 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames() {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tif (arg.length) {\n\t\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\t\tif (inner) {\n\t\t\t\t\t\tclasses.push(inner);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tif (arg.toString === Object.prototype.toString) {\n\t\t\t\t\tfor (var key in arg) {\n\t\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tclasses.push(arg.toString());\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","/** @license React v16.14.0\n * react-jsx-runtime.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var f=require(\"react\"),g=60103;exports.Fragment=60107;if(\"function\"===typeof Symbol&&Symbol.for){var h=Symbol.for;g=h(\"react.element\");exports.Fragment=h(\"react.fragment\")}var m=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,n=Object.prototype.hasOwnProperty,p={key:!0,ref:!0,__self:!0,__source:!0};\nfunction q(c,a,k){var b,d={},e=null,l=null;void 0!==k&&(e=\"\"+k);void 0!==a.key&&(e=\"\"+a.key);void 0!==a.ref&&(l=a.ref);for(b in a)n.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)void 0===d[b]&&(d[b]=a[b]);return{$$typeof:g,type:c,key:e,ref:l,props:d,_owner:m.current}}exports.jsx=q;exports.jsxs=q;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.min.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","module.exports = require(\"react\");","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","var __WEBPACK_NAMESPACE_OBJECT__ = require(\"@rescui/ui-contexts\");","var _radialGradient, _path, _g;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport * as React from \"react\";\n\nfunction SvgKotlinLogoLarge(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 100 24\"\n }, props), _radialGradient || (_radialGradient = /*#__PURE__*/React.createElement(\"radialGradient\", {\n id: \"kotlin-logo-large_svg__a\",\n cx: 22.432,\n cy: 3.493,\n r: 21.679,\n gradientTransform: \"translate(-.19 .042) scale(.9998)\",\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.003,\n stopColor: \"#e44857\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.469,\n stopColor: \"#c711e1\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#7f52ff\"\n }))), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"url(#kotlin-logo-large_svg__a)\",\n d: \"M22.87 21.68H3.94V2.76h18.93l-9.66 9.32z\"\n })), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n fill: \"#fff\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n 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\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n 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 00-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 002.53 2.57c1.09.62 2.32.93 3.7.93 1.36 0 2.58-.31 3.66-.93a6.53 6.53 0 002.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 00-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\"\n }))));\n}\n\nexport default SvgKotlinLogoLarge;","var __WEBPACK_NAMESPACE_OBJECT__ = require(\"@rescui/typography\");","export const KOTLINLANG_URL = 'https://kotlinlang.org';\nexport const PLAYGROUND_URL = 'https://play.kotlinlang.org/';","import React, { FC } from 'react';\nimport * as styles from './logo-large.module.pcss';\nimport KotlinLogoFull from './kotlin-logo-large.svg';\nimport classNames from 'classnames';\nimport { useTextStyles } from '@rescui/typography';\nimport { KOTLINLANG_URL } from 'src/consts';\n\ninterface LogoProps {\n productWebUrl?: string;\n className?: string;\n}\n\nexport const LogoLarge: FC<LogoProps> = ({ productWebUrl, className }) => {\n const version: null | string = productWebUrl\n ? getProductVersion(productWebUrl)\n : null;\n const textCn = useTextStyles();\n\n return (\n <div\n className={classNames(\n styles.container,\n className,\n textCn('rs-text-3', { hardness: 'average' })\n )}\n >\n <a\n className={styles.link}\n href={KOTLINLANG_URL}\n aria-label=\"Kotlin Home Page\"\n >\n <KotlinLogoFull />\n </a>\n {version && (\n <a\n className={classNames(styles.versionTag)}\n href={productWebUrl}\n target=\"_blank\"\n >\n {version}\n </a>\n )}\n </div>\n );\n};\n\nfunction getProductVersion(productWebUrl: string): null | string {\n const match = /v?\\d+\\.\\d+\\.\\d+$/.exec(productWebUrl);\n return match ? match[0] : null;\n}\n","// extracted by mini-css-extract-plugin\nexport const container = \"ktl-logo-large-module_container_+5pgf\";\nexport const link = \"ktl-logo-large-module_link_iZIEJ\";\nexport const versionTag = \"ktl-logo-large-module_version-tag_fiNIk\";","// extracted by mini-css-extract-plugin\nexport const headerMenu = \"ktl-header-module_header-menu_E3vzo\";\nexport const border = \"ktl-header-module_border_smGpe\";\nexport const withMenuPopup = \"ktl-header-module_with-menu-popup_DcoOT\";\nexport const logoHide = \"ktl-header-module_logo-hide_uBrPV\";","import { KOTLINLANG_URL, PLAYGROUND_URL } from 'src/consts';\nimport { IsUrlActive } from 'src/helper/is-url-active';\n\nexport interface MenuItem {\n title: string;\n url: null | string;\n isActive?: boolean;\n items?: MenuItem[];\n}\n\nexport const SOLUTIONS_TITLE = 'Solutions';\nexport const MULTIPLATFORM_MOBILE_TITLE = 'Multiplatform Mobile';\nexport const MULTIPLATFORM_MOBILE_URL = `/lp/mobile/`;\nexport const SERVER_SIDE_TITLE = 'Server-side';\nexport const SERVER_SIDE_URL = `/lp/server-side/`;\nexport const WEB_FRONTEND_TITLE = 'Web frontend';\nexport const WEB_FRONTEND_URL = `/docs/js-overview.html`;\nexport const DATA_SCIENCE_TITLE = 'Data science';\nexport const DATA_SCIENCE_URL = `/docs/data-science-overview.html`;\nexport const ANDROID_TITLE = 'Android';\nexport const ANDROID_URL = `/docs/android-overview.html`;\nexport const DOCS_TITLE = 'Docs';\nexport const DOCS_URL = `/docs/home.html`;\nexport const COMMUNITY_TITLE = 'Community';\nexport const COMMUNITY_URL = `/community/`;\nexport const TEACH_TITLE = 'Teach';\nexport const TEACH_URL = `/education/`;\nexport const PLAY_TITLE = 'Play';\nexport const PLAY_TITLE_FULL = 'Playground';\nexport const PLAY_URL = PLAYGROUND_URL;\nexport const PLAY_HANDSON_URL = `${PLAY_URL}hands-on`;\nexport const PLAY_HANDSON_TITLE = 'Hands-on';\nexport const PLAY_EXAMPLES_URL = `${PLAY_URL}byExample`;\nexport const PLAY_EXAMPLES_TITLE = 'Examples';\nexport const PLAY_KOANS_URL = `${PLAY_URL}koans`;\nexport const PLAY_KOANS_TITLE = 'Koans';\nexport const KOTLIN_DOCS_TITLE = 'Kotlin';\nexport const KOTLIN_DOCS_URL = `/docs/home.html`;\nexport const KMM_DOCS_TITLE = 'KMM';\nexport const KMM_DOCS_URL = `/docs/mobile/home.html`;\n\nconst navScheme: MenuItem[] = [\n {\n title: SOLUTIONS_TITLE,\n url: null,\n items: [\n {\n title: MULTIPLATFORM_MOBILE_TITLE,\n url: MULTIPLATFORM_MOBILE_URL,\n },\n {\n title: SERVER_SIDE_TITLE,\n url: SERVER_SIDE_URL,\n },\n {\n title: WEB_FRONTEND_TITLE,\n url: WEB_FRONTEND_URL,\n },\n {\n title: DATA_SCIENCE_TITLE,\n url: DATA_SCIENCE_URL,\n },\n {\n title: ANDROID_TITLE,\n url: ANDROID_URL,\n },\n ],\n },\n {\n title: DOCS_TITLE,\n url: KOTLIN_DOCS_URL,\n },\n {\n title: COMMUNITY_TITLE,\n url: COMMUNITY_URL,\n },\n {\n title: TEACH_TITLE,\n url: TEACH_URL,\n },\n {\n title: PLAY_TITLE,\n url: null,\n items: [\n {\n title: PLAY_TITLE_FULL,\n url: PLAY_URL,\n },\n {\n title: PLAY_HANDSON_TITLE,\n url: PLAY_HANDSON_URL,\n },\n {\n title: PLAY_EXAMPLES_TITLE,\n url: PLAY_EXAMPLES_URL,\n },\n {\n title: PLAY_KOANS_TITLE,\n url: PLAY_KOANS_URL,\n },\n ],\n },\n];\n\nexport function getNavScheme(\n isUrlActive: IsUrlActive = (url, currentUrl) => url === currentUrl,\n currentUrl?: string,\n isPlayground?: boolean\n): MenuItem[] {\n return navScheme.map(({ title, url, items }) => {\n if (url && currentUrl) {\n url = makeExternalUrl(url, currentUrl, !!isPlayground);\n }\n\n const item: MenuItem = {\n title,\n url,\n };\n let isActive = isUrlActive(url, currentUrl);\n\n item.items =\n items?.map(({ title, url: childUrl }) => {\n if (childUrl && currentUrl) {\n childUrl = makeExternalUrl(childUrl, currentUrl, !!isPlayground);\n }\n\n let childActive = isUrlActive(childUrl, currentUrl);\n\n if (childActive) {\n isActive = childActive;\n }\n\n return {\n title,\n url: childUrl,\n isActive: childActive,\n };\n }) ?? [];\n\n item.isActive = isActive;\n\n return item;\n });\n}\n\nfunction makeExternalUrl(\n url: string,\n currentUrl: string,\n isPlayground: boolean\n): string {\n if (isPlayground) {\n if (url.startsWith(PLAY_URL)) {\n return url.replace(PLAY_URL, '/');\n } else {\n return `${KOTLINLANG_URL}${url}`;\n }\n } else {\n return url;\n }\n}\n","// extracted by mini-css-extract-plugin\nexport const nav = \"ktl-horizontal-menu-module_nav_xYv4i\";\nexport const menuList = \"ktl-horizontal-menu-module_menu-list_7oi3W\";\nexport const menuItemWrap = \"ktl-horizontal-menu-module_menu-item-wrap_dnVf-\";\nexport const menuItem = \"ktl-horizontal-menu-module_menu-item_Z+YKZ\";\nexport const expanded = \"ktl-horizontal-menu-module_expanded_thibK\";\nexport const itemActive = \"ktl-horizontal-menu-module_item-active_+iyf-\";\nexport const dropdownMenu = \"ktl-horizontal-menu-module_dropdown-menu_dVOw-\";\nexport const fadeIn = \"ktl-horizontal-menu-module_fade-in_Q2pCx\";\nexport const darkTheme = \"ktl-horizontal-menu-module_dark-theme_Lp065\";\nexport const dropdownMenuItem = \"ktl-horizontal-menu-module_dropdown-menu-item_wRlcN\";\nexport const active = \"ktl-horizontal-menu-module_active_azHwP\";\nexport const dropdownMenuExpanded = \"ktl-horizontal-menu-module_dropdown-menu-expanded_L0RWy\";\nexport const dropdownMenuAlignRight = \"ktl-horizontal-menu-module_dropdown-menu-align-right_HS-oO\";","import classNames from 'classnames';\nimport React, { FC, useEffect, useState } from 'react';\nimport { Theme } from '@rescui/ui-contexts/lib/parts/theme-context';\nimport * as styles from './horizontal-menu.module.pcss';\nimport { MenuItem } from '../nav-scheme';\nimport { useTextStyles } from '@rescui/typography';\nimport { LinkHandler } from 'src/helper/link-handler';\n\ninterface DropdownMenuProps {\n items: MenuItem[];\n isExpanded: boolean;\n alignRight: boolean;\n linkHandler?: LinkHandler;\n}\n\nconst DropdownMenu: FC<DropdownMenuProps> = ({\n items,\n isExpanded,\n alignRight,\n linkHandler,\n}) => {\n const textCn = useTextStyles();\n\n return (\n <ul\n className={classNames(styles.dropdownMenu, textCn('rs-text-2'), {\n [styles.dropdownMenuExpanded]: isExpanded,\n [styles.dropdownMenuAlignRight]: alignRight,\n })}\n >\n {items.map((item, key) => {\n const Tag = !item.isActive && item.url ? 'a' : 'span';\n\n return (\n <li key={key}>\n <Tag\n className={classNames(styles.dropdownMenuItem, {\n [styles.active]: item.isActive,\n })}\n {...(item.url\n ? {\n href: item.url,\n onClick: linkHandler\n ? (event) => item.url && linkHandler(event, item.url)\n : undefined,\n }\n : {})}\n >\n {item.title}\n </Tag>\n </li>\n );\n })}\n </ul>\n );\n};\n\ninterface HorizontalMenuItemProps {\n item: MenuItem;\n onMouseEnter: (item: MenuItem) => void;\n onMouseLeave: () => void;\n isExpanded: boolean;\n isLast: boolean;\n linkHandler?: LinkHandler;\n}\n\nconst HorizontalMenuItem: FC<HorizontalMenuItemProps> = ({\n item,\n onMouseEnter,\n onMouseLeave,\n isExpanded,\n isLast,\n linkHandler,\n}) => {\n const Tag = item.isActive || !item.url ? 'span' : 'a';\n const textCn = useTextStyles();\n const handleEnter = () => onMouseEnter(item);\n\n return (\n <li\n className={styles.menuItemWrap}\n onMouseEnter={handleEnter}\n onMouseLeave={onMouseLeave}\n >\n <Tag\n {...(item.url\n ? {\n href: item.url,\n onClick: linkHandler\n ? (event) => item.url && linkHandler(event, item.url)\n : undefined,\n }\n : {})}\n key={item.title}\n className={classNames(styles.menuItem, textCn('rs-text-2'), {\n [styles.itemActive]: item.isActive,\n [styles.expanded]: isExpanded && !!item.items?.length,\n })}\n >\n {item.title}\n </Tag>\n {!!item.items?.length && (\n <DropdownMenu\n items={item.items}\n isExpanded={isExpanded}\n alignRight={isLast}\n linkHandler={linkHandler}\n />\n )}\n </li>\n );\n};\n\ninterface HorizontalMenuProps {\n items: MenuItem[];\n theme: Theme;\n linkHandler?: LinkHandler;\n}\n\nexport const HorizontalMenu: FC<HorizontalMenuProps> = ({\n items,\n theme,\n linkHandler,\n}) => {\n const [activeIndex, setActiveIndex] = useState(-1);\n const [debouncedActiveIndex, setDebouncedActiveIndex] = useState(activeIndex);\n\n useEffect(() => {\n const handler = setTimeout(\n () => setDebouncedActiveIndex(activeIndex),\n activeIndex !== -1 ? 200 : 400\n );\n return () => clearTimeout(handler);\n }, [activeIndex]);\n\n const handleEnter = (item: MenuItem) =>\n setActiveIndex(items.findIndex((val) => val === item));\n const handleLeave = () => setActiveIndex(-1);\n\n return (\n <nav\n className={classNames(styles.nav, {\n [styles.darkTheme]: theme === 'dark',\n })}\n >\n <ul className={styles.menuList}>\n {items.map((item, index) => (\n <HorizontalMenuItem\n item={item}\n onMouseEnter={handleEnter}\n onMouseLeave={handleLeave}\n isExpanded={index === debouncedActiveIndex}\n isLast={index === items.length - 1}\n key={index}\n linkHandler={linkHandler}\n />\n ))}\n </ul>\n </nav>\n );\n};\n","var _path;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport * as React from \"react\";\n\nfunction SvgSearch(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M15.847 6.861A6.99 6.99 0 009.587 3a6.997 6.997 0 104.186 12.601l6.106 6.106 1.414-1.414-6.107-6.106a6.99 6.99 0 00.66-7.326zM14.587 10a5 5 0 11-10.001 0 5 5 0 0110 0z\",\n fill: \"currentColor\"\n })));\n}\n\nexport default SvgSearch;","import React, { FC } from 'react';\nimport * as styles from './search-button.pcss';\nimport classNames from 'classnames';\nimport SearchIcon from './search.svg';\n\ninterface SearchButtonProps {\n onClick?: () => void;\n isActive: boolean;\n}\nexport const SearchButton: FC<SearchButtonProps> = ({ onClick, isActive }) => {\n return (\n <button\n type=\"button\"\n className={classNames(styles.button, {\n [styles.active]: isActive,\n })}\n aria-label=\"Search\"\n onClick={onClick}\n >\n <SearchIcon />\n </button>\n );\n};\n","// extracted by mini-css-extract-plugin\nexport const button = \"ktl-search-button_button_JUyxv\";\nexport const active = \"ktl-search-button_active_G-dk1\";","var _path;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport * as React from \"react\";\n\nfunction SvgHamburgerIcon(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M4 5h16v2H4V5zm0 6h16v2H4v-2zm16 6H4v2h16v-2z\",\n fill: \"currentColor\"\n })));\n}\n\nexport default SvgHamburgerIcon;","var _path;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport * as React from \"react\";\n\nfunction SvgCloseIcon(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 16,\n height: 16,\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M15.707 1.707L14.293.293 8 6.586 1.707.293.293 1.707 6.586 8 .293 14.293l1.414 1.414L8 9.414l6.293 6.293 1.414-1.414L9.414 8l6.293-6.293z\",\n fill: \"currentColor\"\n })));\n}\n\nexport default SvgCloseIcon;","import React, { FC } from 'react';\nimport * as styles from './menu-button.pcss';\nimport classNames from 'classnames';\nimport HamburgerIcon from './hamburger-icon.svg';\nimport CloseIcon from './close-icon.svg';\n\ninterface MenuButtonProps {\n onClick: () => void;\n isExpanded: boolean;\n}\n\nexport const MenuButton: FC<MenuButtonProps> = ({ onClick, isExpanded }) => {\n return (\n <button\n type=\"button\"\n className={classNames(styles.button)}\n aria-haspopup=\"true\"\n aria-label=\"Open the navigation\"\n onClick={onClick}\n >\n {isExpanded ? <CloseIcon /> : <HamburgerIcon />}\n </button>\n );\n};\n","// extracted by mini-css-extract-plugin\nexport const button = \"ktl-menu-button_button_InVin\";","function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\n// Older browsers don't support event options, feature detect it.\n\n// Adopted and modified solution from Bohdan Didukh (2017)\n// https://stackoverflow.com/questions/41594997/ios-10-safari-prevent-scrolling-behind-a-fixed-overlay-and-maintain-scroll-posi\n\nvar hasPassiveEvents = false;\nif (typeof window !== 'undefined') {\n var passiveTestOptions = {\n get passive() {\n hasPassiveEvents = true;\n return undefined;\n }\n };\n window.addEventListener('testPassive', null, passiveTestOptions);\n window.removeEventListener('testPassive', null, passiveTestOptions);\n}\n\nvar isIosDevice = typeof window !== 'undefined' && window.navigator && window.navigator.platform && (/iP(ad|hone|od)/.test(window.navigator.platform) || window.navigator.platform === 'MacIntel' && window.navigator.maxTouchPoints > 1);\n\n\nvar locks = [];\nvar documentListenerAdded = false;\nvar initialClientY = -1;\nvar previousBodyOverflowSetting = void 0;\nvar previousBodyPaddingRight = void 0;\n\n// returns true if `el` should be allowed to receive touchmove events.\nvar allowTouchMove = function allowTouchMove(el) {\n return locks.some(function (lock) {\n if (lock.options.allowTouchMove && lock.options.allowTouchMove(el)) {\n return true;\n }\n\n return false;\n });\n};\n\nvar preventDefault = function preventDefault(rawEvent) {\n var e = rawEvent || window.event;\n\n // For the case whereby consumers adds a touchmove event listener to document.\n // Recall that we do document.addEventListener('touchmove', preventDefault, { passive: false })\n // in disableBodyScroll - so if we provide this opportunity to allowTouchMove, then\n // the touchmove event on document will break.\n if (allowTouchMove(e.target)) {\n return true;\n }\n\n // Do not prevent if the event has more than one touch (usually meaning this is a multi touch gesture like pinch to zoom).\n if (e.touches.length > 1) return true;\n\n if (e.preventDefault) e.preventDefault();\n\n return false;\n};\n\nvar setOverflowHidden = function setOverflowHidden(options) {\n // If previousBodyPaddingRight is already set, don't set it again.\n if (previousBodyPaddingRight === undefined) {\n var _reserveScrollBarGap = !!options && options.reserveScrollBarGap === true;\n var scrollBarGap = window.innerWidth - document.documentElement.clientWidth;\n\n if (_reserveScrollBarGap && scrollBarGap > 0) {\n previousBodyPaddingRight = document.body.style.paddingRight;\n document.body.style.paddingRight = scrollBarGap + 'px';\n }\n }\n\n // If previousBodyOverflowSetting is already set, don't set it again.\n if (previousBodyOverflowSetting === undefined) {\n previousBodyOverflowSetting = document.body.style.overflow;\n // Setting overflow on body/documentElement synchronously in Desktop Safari slows down\n // the responsiveness for some reason. Setting within a setTimeout fixes this.\n setTimeout(function () {\n document.body.style.overflow = 'hidden';\n });\n }\n};\n\nvar restoreOverflowSetting = function restoreOverflowSetting() {\n // Setting overflow on body/documentElement synchronously in Desktop Safari slows down\n // the responsiveness for some reason. Setting within a setTimeout fixes this.\n setTimeout(function () {\n if (previousBodyPaddingRight !== undefined) {\n document.body.style.paddingRight = previousBodyPaddingRight;\n\n // Restore previousBodyPaddingRight to undefined so setOverflowHidden knows it\n // can be set again.\n previousBodyPaddingRight = undefined;\n }\n\n if (previousBodyOverflowSetting !== undefined) {\n document.body.style.overflow = previousBodyOverflowSetting;\n\n // Restore previousBodyOverflowSetting to undefined\n // so setOverflowHidden knows it can be set again.\n previousBodyOverflowSetting = undefined;\n }\n });\n};\n\n// https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollHeight#Problems_and_solutions\nvar isTargetElementTotallyScrolled = function isTargetElementTotallyScrolled(targetElement) {\n return targetElement ? targetElement.scrollHeight - targetElement.scrollTop <= targetElement.clientHeight : false;\n};\n\nvar handleScroll = function handleScroll(event, targetElement) {\n var clientY = event.targetTouches[0].clientY - initialClientY;\n\n if (allowTouchMove(event.target)) {\n return false;\n }\n\n if (targetElement && targetElement.scrollTop === 0 && clientY > 0) {\n // element is at the top of its scroll.\n return preventDefault(event);\n }\n\n if (isTargetElementTotallyScrolled(targetElement) && clientY < 0) {\n // element is at the bottom of its scroll.\n return preventDefault(event);\n }\n\n event.stopPropagation();\n return true;\n};\n\nexport var disableBodyScroll = function disableBodyScroll(targetElement, options) {\n if (isIosDevice) {\n // targetElement must be provided, and disableBodyScroll must not have been\n // called on this targetElement before.\n if (!targetElement) {\n // eslint-disable-next-line no-console\n console.error('disableBodyScroll unsuccessful - targetElement must be provided when calling disableBodyScroll on IOS devices.');\n return;\n }\n\n if (targetElement && !locks.some(function (lock) {\n return lock.targetElement === targetElement;\n })) {\n var lock = {\n targetElement: targetElement,\n options: options || {}\n };\n\n locks = [].concat(_toConsumableArray(locks), [lock]);\n\n targetElement.ontouchstart = function (event) {\n if (event.targetTouches.length === 1) {\n // detect single touch.\n initialClientY = event.targetTouches[0].clientY;\n }\n };\n targetElement.ontouchmove = function (event) {\n if (event.targetTouches.length === 1) {\n // detect single touch.\n handleScroll(event, targetElement);\n }\n };\n\n if (!documentListenerAdded) {\n document.addEventListener('touchmove', preventDefault, hasPassiveEvents ? { passive: false } : undefined);\n documentListenerAdded = true;\n }\n }\n } else {\n setOverflowHidden(options);\n var _lock = {\n targetElement: targetElement,\n options: options || {}\n };\n\n locks = [].concat(_toConsumableArray(locks), [_lock]);\n }\n};\n\nexport var clearAllBodyScrollLocks = function clearAllBodyScrollLocks() {\n if (isIosDevice) {\n // Clear all locks ontouchstart/ontouchmove handlers, and the references.\n locks.forEach(function (lock) {\n lock.targetElement.ontouchstart = null;\n lock.targetElement.ontouchmove = null;\n });\n\n if (documentListenerAdded) {\n document.removeEventListener('touchmove', preventDefault, hasPassiveEvents ? { passive: false } : undefined);\n documentListenerAdded = false;\n }\n\n locks = [];\n\n // Reset initial clientY.\n initialClientY = -1;\n } else {\n restoreOverflowSetting();\n locks = [];\n }\n};\n\nexport var enableBodyScroll = function enableBodyScroll(targetElement) {\n if (isIosDevice) {\n if (!targetElement) {\n // eslint-disable-next-line no-console\n console.error('enableBodyScroll unsuccessful - targetElement must be provided when calling enableBodyScroll on IOS devices.');\n return;\n }\n\n targetElement.ontouchstart = null;\n targetElement.ontouchmove = null;\n\n locks = locks.filter(function (lock) {\n return lock.targetElement !== targetElement;\n });\n\n if (documentListenerAdded && locks.length === 0) {\n document.removeEventListener('touchmove', preventDefault, hasPassiveEvents ? { passive: false } : undefined);\n\n documentListenerAdded = false;\n }\n } else {\n locks = locks.filter(function (lock) {\n return lock.targetElement !== targetElement;\n });\n if (!locks.length) {\n restoreOverflowSetting();\n }\n }\n};\n\n","import React, {\n CSSProperties,\n FC,\n Fragment,\n useCallback,\n useEffect,\n useLayoutEffect,\n useRef,\n useState,\n} from 'react';\nimport * as styles from './menu-popup.module.pcss';\nimport { MenuItem } from '../nav-scheme';\nimport classNames from 'classnames';\nimport { MenuButton } from './menu-button/menu-button';\nimport { useTextStyles } from '@rescui/typography';\nimport { LinkHandler } from 'src/helper/link-handler';\nimport {\n disableBodyScroll,\n enableBodyScroll,\n clearAllBodyScrollLocks,\n} from 'body-scroll-lock';\n\ninterface MenuItemProps {\n item: MenuItem;\n level: number;\n linkHandler?: LinkHandler;\n}\n\ninterface MenuItemStyle extends CSSProperties {\n '--level': number;\n}\n\nconst MenuListItem: FC<MenuItemProps> = ({ item, level, linkHandler }) => {\n const Tag = item.url ? 'a' : 'span';\n const style: MenuItemStyle = {\n '--level': level,\n };\n\n return (\n <Tag\n {...(item.url\n ? {\n href: item.url,\n onClick: linkHandler\n ? (event) => item.url && linkHandler(event, item.url)\n : undefined,\n }\n : {})}\n className={classNames(styles.menuItem, {\n [styles.menuItemRoot]: level === 0,\n [styles.active]: item.isActive,\n [styles.activeWithChild]: item.items && item.items.length,\n })}\n style={style}\n >\n {item.title}\n </Tag>\n );\n};\n\ninterface MenuListProps {\n items: MenuItem[];\n level: number;\n linkHandler?: LinkHandler;\n}\n\nconst MenuList: FC<MenuListProps> = ({ items, level, linkHandler }) => {\n return (\n <>\n {items.map((item, i) => (\n <Fragment key={i}>\n <MenuListItem item={item} level={level} linkHandler={linkHandler} />\n {item.items && item.items.length > 0 && (\n <MenuList\n items={item.items}\n level={level + 1}\n linkHandler={linkHandler}\n />\n )}\n </Fragment>\n ))}\n </>\n );\n};\n\ninterface MenuPopupProps {\n items: MenuItem[];\n isExpanded: boolean;\n setExpand: React.Dispatch<React.SetStateAction<boolean>>;\n headerRef: React.RefObject<HTMLElement>;\n linkHandler?: LinkHandler;\n}\n\ninterface NavStyles {\n top?: number;\n}\n\nexport const MenuPopup: FC<MenuPopupProps> = ({\n items,\n isExpanded,\n setExpand,\n headerRef,\n linkHandler,\n}) => {\n const navRef = useRef<null | HTMLElement>(null);\n const textCn = useTextStyles();\n const [navStyle, setNavStyle] = useState<NavStyles>({});\n\n useEffect(() => {\n const onResize = () => {\n if (window.innerWidth > 640) {\n setExpand(false);\n clearAllBodyScrollLocks();\n }\n };\n\n window.addEventListener('resize', onResize);\n\n return () => {\n clearAllBodyScrollLocks();\n window.removeEventListener('resize', onResize);\n };\n }, []);\n\n useLayoutEffect(() => {\n if (headerRef.current) {\n setNavStyle({ top: headerRef.current.getBoundingClientRect().bottom });\n }\n }, [isExpanded, headerRef]);\n\n const handleClick = useCallback(() => {\n if (navRef.current) {\n isExpanded\n ? enableBodyScroll(navRef.current)\n : disableBodyScroll(navRef.current);\n }\n setExpand(!isExpanded);\n }, [isExpanded, navRef]);\n\n return (\n <>\n <MenuButton onClick={handleClick} isExpanded={isExpanded} />\n\n <nav\n style={navStyle}\n ref={navRef}\n className={classNames(styles.menuPopup, textCn('rs-text-2'), {\n [styles.menuPopupExpanded]: isExpanded,\n })}\n >\n <MenuList items={items} level={0} linkHandler={linkHandler} />\n </nav>\n </>\n );\n};\n","// extracted by mini-css-extract-plugin\nexport const menuPopup = \"ktl-menu-popup-module_menu-popup_Yqtnq\";\nexport const menuItem = \"ktl-menu-popup-module_menu-item_f6wvh\";\nexport const active = \"ktl-menu-popup-module_active_DrZav\";\nexport const activeWithChild = \"ktl-menu-popup-module_active-with-child_BDnrW\";\nexport const menuItemRoot = \"ktl-menu-popup-module_menu-item-root_C-hkN\";\nexport const menuPopupExpanded = \"ktl-menu-popup-module_menu-popup-expanded_FlujR\";","var _radialGradient, _path;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport * as React from \"react\";\n\nfunction SvgKotlinLogoSmall(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\"\n }, props), _radialGradient || (_radialGradient = /*#__PURE__*/React.createElement(\"radialGradient\", {\n id: \"kotlin-logo-small_svg__a\",\n cx: 22.432,\n cy: 3.493,\n r: 21.679,\n gradientTransform: \"translate(-.19 .042) scale(.9998)\",\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.003,\n stopColor: \"#e44857\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.469,\n stopColor: \"#c711e1\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#7f52ff\"\n }))), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"url(#kotlin-logo-small_svg__a)\",\n d: \"M22.87 21.68H3.94V2.76h18.93l-9.66 9.32z\"\n })));\n}\n\nexport default SvgKotlinLogoSmall;","// extracted by mini-css-extract-plugin\nexport const logoSmall = \"ktl-logo-small-module_logo-small_7ddNl\";\nexport const link = \"ktl-logo-small-module_link_6gruv\";\nexport const iconWrap = \"ktl-logo-small-module_icon-wrap_BFVBd\";\nexport const icon = \"ktl-logo-small-module_icon_JM+yC\";","import React, { FC } from 'react';\nimport KotlinLogoSmall from './kotlin-logo-small.svg';\nimport * as styles from './logo-small.module.pcss';\nimport classNames from 'classnames';\nimport { useTextStyles } from '@rescui/typography';\nimport { KOTLINLANG_URL } from 'src/consts';\n\ninterface LogoSmallProps {\n homeUrl: string;\n homeTitle: string;\n className?: string;\n}\n\nexport const LogoSmall: FC<LogoSmallProps> = ({\n homeTitle,\n homeUrl,\n className,\n}) => {\n const textCn = useTextStyles();\n\n return (\n <div className={classNames(styles.logoSmall, className)}>\n <a href={KOTLINLANG_URL} className={styles.iconWrap}>\n <KotlinLogoSmall className={styles.icon} />\n </a>\n <a href={homeUrl} className={classNames(styles.link, textCn('rs-h3'))}>\n {homeTitle}\n </a>\n </div>\n );\n};\n","import React, {\n FC,\n ForwardedRef,\n forwardRef,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport { ThemeProvider } from '@rescui/ui-contexts';\nimport { Theme } from '@rescui/ui-contexts/lib/parts/theme-context';\nimport { LogoLarge } from './logo-large/logo-large';\nimport * as styles from './header.module.pcss';\nimport { getNavScheme } from './nav-scheme';\nimport { HorizontalMenu } from './horizontal-menu/horizontal-menu';\nimport { SearchButton } from './search-button/search-button';\nimport { MenuPopup } from './menu-popup/menu-popup';\nimport { LogoSmall } from './logo-small/logo-small';\nimport classNames from 'classnames';\nimport { LinkHandler } from 'src/helper/link-handler';\nimport { IsUrlActive } from 'src/helper/is-url-active';\n\nexport interface HeaderProps {\n currentUrl?: string;\n currentTitle?: string;\n productWebUrl?: string;\n hasSearch?: boolean;\n onSearchClick?: () => void;\n className?: string;\n hasBorder?: boolean;\n dropdownTheme?: Theme;\n linkHandler?: LinkHandler;\n isPlayground?: boolean;\n isUrlActive?: IsUrlActive;\n}\n\nexport const Header: FC<HeaderProps> = forwardRef(\n (\n {\n productWebUrl,\n hasSearch = false,\n onSearchClick,\n currentUrl,\n currentTitle,\n className,\n hasBorder = true,\n dropdownTheme = 'dark',\n linkHandler,\n isPlayground,\n isUrlActive,\n },\n forwardedRef?: ForwardedRef<null | HTMLElement>\n ) => {\n const [menuPopupExpanded, setMenuPopupExpanded] = useState(false);\n const items = useMemo(\n () => getNavScheme(isUrlActive, currentUrl, isPlayground),\n [isUrlActive, currentUrl, isPlayground]\n );\n const headerRef = useRef<null | HTMLElement>(null);\n useImperativeHandle<null | HTMLElement, null | HTMLElement>(\n forwardedRef,\n () => headerRef.current\n );\n\n return (\n <ThemeProvider theme={'dark'}>\n <header\n ref={headerRef}\n className={classNames(styles.headerMenu, className, {\n [styles.withMenuPopup]: menuPopupExpanded,\n [styles.border]: hasBorder,\n })}\n >\n <LogoLarge\n productWebUrl={productWebUrl}\n className={\n !!currentTitle && !!currentUrl && !menuPopupExpanded\n ? styles.logoHide\n : null\n }\n />\n {!!currentTitle && !!currentUrl && (\n <LogoSmall\n homeTitle={currentTitle}\n homeUrl={currentUrl}\n className={menuPopupExpanded ? styles.logoHide : null}\n />\n )}\n\n <HorizontalMenu\n items={items}\n theme={dropdownTheme}\n linkHandler={linkHandler}\n />\n\n {\n <SearchButton\n onClick={onSearchClick}\n isActive={hasSearch && !!onSearchClick}\n />\n }\n\n <MenuPopup\n items={items}\n setExpand={setMenuPopupExpanded}\n isExpanded={menuPopupExpanded}\n headerRef={headerRef}\n linkHandler={linkHandler}\n />\n </header>\n </ThemeProvider>\n );\n }\n);\n","import { Header } from './header';\nexport default Header;\n\nexport * from './nav-scheme';\n"],"names":["hasOwn","hasOwnProperty","classNames","classes","i","arguments","length","arg","argType","push","Array","isArray","inner","apply","toString","Object","prototype","key","call","join","module","exports","default","f","g","Fragment","Symbol","for","h","m","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","ReactCurrentOwner","n","p","ref","__self","__source","q","c","a","k","b","d","e","l","defaultProps","$$typeof","type","props","_owner","current","jsx","jsxs","require","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","__webpack_modules__","getter","__esModule","definition","o","defineProperty","enumerable","get","obj","prop","r","toStringTag","value","_radialGradient","_path","_g","_extends","assign","target","source","this","xmlns","viewBox","id","cx","cy","gradientTransform","gradientUnits","offset","stopColor","fill","KOTLINLANG_URL","LogoLarge","productWebUrl","className","version","match","exec","getProductVersion","textCn","useTextStyles","hardness","href","logoHide","SOLUTIONS_TITLE","MULTIPLATFORM_MOBILE_TITLE","MULTIPLATFORM_MOBILE_URL","SERVER_SIDE_TITLE","SERVER_SIDE_URL","WEB_FRONTEND_TITLE","WEB_FRONTEND_URL","DATA_SCIENCE_TITLE","DATA_SCIENCE_URL","ANDROID_TITLE","ANDROID_URL","DOCS_TITLE","DOCS_URL","COMMUNITY_TITLE","COMMUNITY_URL","TEACH_TITLE","TEACH_URL","PLAY_TITLE","PLAY_TITLE_FULL","PLAY_URL","PLAY_HANDSON_URL","PLAY_HANDSON_TITLE","PLAY_EXAMPLES_URL","PLAY_EXAMPLES_TITLE","PLAY_KOANS_URL","PLAY_KOANS_TITLE","KOTLIN_DOCS_TITLE","KOTLIN_DOCS_URL","KMM_DOCS_TITLE","KMM_DOCS_URL","navScheme","title","url","items","getNavScheme","isUrlActive","currentUrl","isPlayground","map","makeExternalUrl","item","isActive","childUrl","childActive","startsWith","replace","DropdownMenu","isExpanded","alignRight","linkHandler","Tag","onClick","event","HorizontalMenuItem","onMouseEnter","onMouseLeave","isLast","HorizontalMenu","theme","activeIndex","setActiveIndex","useState","debouncedActiveIndex","setDebouncedActiveIndex","useEffect","handler","setTimeout","clearTimeout","handleEnter","findIndex","val","handleLeave","index","width","height","fillRule","clipRule","SearchButton","MenuButton","_toConsumableArray","arr","arr2","from","hasPassiveEvents","window","passiveTestOptions","passive","addEventListener","removeEventListener","isIosDevice","navigator","platform","test","maxTouchPoints","locks","documentListenerAdded","initialClientY","previousBodyOverflowSetting","previousBodyPaddingRight","allowTouchMove","el","some","lock","options","preventDefault","rawEvent","touches","restoreOverflowSetting","document","body","style","paddingRight","overflow","disableBodyScroll","targetElement","console","error","concat","ontouchstart","targetTouches","clientY","ontouchmove","scrollTop","scrollHeight","clientHeight","isTargetElementTotallyScrolled","stopPropagation","handleScroll","_reserveScrollBarGap","reserveScrollBarGap","scrollBarGap","innerWidth","documentElement","clientWidth","setOverflowHidden","_lock","clearAllBodyScrollLocks","forEach","MenuListItem","level","MenuList","MenuPopup","setExpand","headerRef","navRef","useRef","navStyle","setNavStyle","onResize","useLayoutEffect","top","getBoundingClientRect","bottom","handleClick","useCallback","filter","enableBodyScroll","LogoSmall","homeTitle","homeUrl","Header","forwardRef","forwardedRef","hasSearch","onSearchClick","currentTitle","hasBorder","dropdownTheme","menuPopupExpanded","setMenuPopupExpanded","useMemo","useImperativeHandle","ThemeProvider","styles"],"sourceRoot":""}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jetbrains/kotlin-web-site-ui",
|
|
3
3
|
"description": "UI components for Kotlin web sites development",
|
|
4
|
-
"version": "2.9.0-alpha.
|
|
4
|
+
"version": "2.9.0-alpha.2",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"author": "JetBrains",
|
|
7
7
|
"files": [
|
|
@@ -23,11 +23,11 @@
|
|
|
23
23
|
},
|
|
24
24
|
"peerDependencies": {
|
|
25
25
|
"@rescui/checkbox": "^0.1.0",
|
|
26
|
+
"@rescui/icons": "^0.2.0",
|
|
26
27
|
"@rescui/input": "^0.1.2",
|
|
27
28
|
"@rescui/tooltip": "^0.1.2",
|
|
28
29
|
"@rescui/typography": "0.0.1",
|
|
29
30
|
"@rescui/ui-contexts": "0.0.2",
|
|
30
|
-
"@rescui/icons": "^0.2.0",
|
|
31
31
|
"formik": "^2.2.9",
|
|
32
32
|
"react": ">= 16.8.6 < 18",
|
|
33
33
|
"react-dom": ">= 16.8.6 < 18"
|
|
@@ -51,6 +51,7 @@
|
|
|
51
51
|
"@storybook/builder-webpack5": "^6.3.0-alpha.13",
|
|
52
52
|
"@storybook/react": "^6.2.8",
|
|
53
53
|
"@svgr/webpack": "^5.5.0",
|
|
54
|
+
"@types/body-scroll-lock": "^3.1.0",
|
|
54
55
|
"@types/react": "^17.0.0",
|
|
55
56
|
"@types/react-dom": "^17.0.0",
|
|
56
57
|
"@types/react-swipeable-views": "^0.13.1",
|
|
@@ -61,6 +62,7 @@
|
|
|
61
62
|
"babel-loader": "^8.2.2",
|
|
62
63
|
"babel-plugin-module-resolver": "^4.1.0",
|
|
63
64
|
"bem-cn-fast": "^1.0.2",
|
|
65
|
+
"body-scroll-lock": "3.1.3",
|
|
64
66
|
"classnames": "^2.3.1",
|
|
65
67
|
"cookie": "^0.4.1",
|
|
66
68
|
"copy-webpack-plugin": "^8.1.1",
|