@jetbrains/kotlin-web-site-ui 2.8.1 → 2.9.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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-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-popup-module_no-scrollable_vFAwD{overflow:hidden}}.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%}}
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-popup-module_no-scrollable_vFAwD{overflow:hidden}}.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*/
@@ -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":"4DA0GE,E,CACE,S,CAGF,E,CACE,W,oDALF,E,CACE,S,CAGF,E,CACE,WC/GJ,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,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,cKnGJ,+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,CDyMF,sC,CCtMA,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,a,CAGF,0C,CACE,iBC3DJ,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-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 .no-scrollable {\n overflow: hidden;\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":""}
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,a,CAGF,0C,CACE,iBC3DJ,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,CHoTA,oC,CGlTA,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 .no-scrollable {\n overflow: hidden;\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 r;!function(){"use strict";var n={}.hasOwnProperty;function l(){for(var e=[],t=0;t<arguments.length;t++){var r=arguments[t];if(r){var o=typeof r;if("string"===o||"number"===o)e.push(r);else if(Array.isArray(r)){if(r.length){var i=l.apply(null,r);i&&e.push(i)}}else if("object"===o)if(r.toString===Object.prototype.toString)for(var a in r)n.call(r,a)&&r[a]&&e.push(a);else e.push(r.toString())}}return e.join(" ")}e.exports?(l.default=l,e.exports=l):void 0===(r=function(){return l}.apply(t,[]))||(e.exports=r)}()},5251:function(e,t,r){"use strict";var n=r(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=n.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,a=Object.prototype.hasOwnProperty,s={key:!0,ref:!0,__self:!0,__source:!0};function u(e,t,r){var n,o={},u=null,c=null;for(n in void 0!==r&&(u=""+r),void 0!==t.key&&(u=""+t.key),void 0!==t.ref&&(c=t.ref),t)a.call(t,n)&&!s.hasOwnProperty(n)&&(o[n]=t[n]);if(e&&e.defaultProps)for(n in t=e.defaultProps)void 0===o[n]&&(o[n]=t[n]);return{$$typeof:l,type:e,key:u,ref:c,props:o,_owner:i.current}}t.jsx=u,t.jsxs=u},5893:function(e,t,r){"use strict";e.exports=r(5251)},3910:function(e){"use strict";e.exports=require("react")}},t={};function r(n){var l=t[n];if(void 0!==l)return l.exports;var o=t[n]={exports:{}};return e[n](o,o.exports,r),o.exports}r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,{a:t}),t},r.d=function(e,t){for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var n={};!function(){"use strict";r.r(n),r.d(n,{ANDROID_TITLE:function(){return w},ANDROID_URL:function(){return b},COMMUNITY_TITLE:function(){return N},COMMUNITY_URL:function(){return R},DATA_SCIENCE_TITLE:function(){return j},DATA_SCIENCE_URL:function(){return O},DOCS_TITLE:function(){return L},DOCS_URL:function(){return S},KMM_DOCS_TITLE:function(){return D},KMM_DOCS_URL:function(){return P},KOTLIN_DOCS_TITLE:function(){return U},KOTLIN_DOCS_URL:function(){return A},MULTIPLATFORM_MOBILE_TITLE:function(){return g},MULTIPLATFORM_MOBILE_URL:function(){return x},PLAY_TITLE:function(){return I},PLAY_URL:function(){return z},SERVER_SIDE_TITLE:function(){return E},SERVER_SIDE_URL:function(){return y},SOLUTIONS_TITLE:function(){return _},TEACH_TITLE:function(){return C},TEACH_URL:function(){return M},WEB_FRONTEND_TITLE:function(){return k},WEB_FRONTEND_URL:function(){return T},default:function(){return me},getNavScheme:function(){return F}});var e=r(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 r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},a.apply(this,arguments)}var s=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"}))))},u=r(4184),c=r.n(u),m=require("@rescui/typography");const d="https://kotlinlang.org",p="https://play.kotlinlang.org/";var f=r(5893);const h=e=>{let{productWebUrl:t,className:r}=e;const n=t?function(e){const t=/v?\d+\.\d+\.\d+$/.exec(e);return t?t[0]:null}(t):null,l=(0,m.useTextStyles)();return(0,f.jsxs)("div",{className:c()("ktl-logo-large-module_container_+5pgf",r,l("rs-text-3",{hardness:"average"})),children:[(0,f.jsx)("a",{className:"ktl-logo-large-module_link_iZIEJ",href:d,"aria-label":"Kotlin Home Page",children:(0,f.jsx)(s,{})}),n&&(0,f.jsx)("a",{className:c()("ktl-logo-large-module_version-tag_fiNIk"),href:t,target:"_blank",children:n})]})};const v="ktl-header-module_logo-hide_uBrPV",_="Solutions",g="Multiplatform Mobile",x="/lp/mobile/",E="Server-side",y="/lp/server-side/",k="Web frontend",T="/docs/js-overview.html",j="Data science",O="/docs/data-science-overview.html",w="Android",b="/docs/android-overview.html",L="Docs",S="/docs/home.html",N="Community",R="/community/",C="Teach",M="/education/",I="Play",z=p,U="Kotlin",A="/docs/home.html",D="KMM",P="/docs/mobile/home.html",B=[{title:_,url:null,items:[{title:g,url:x},{title:E,url:y},{title:k,url:T},{title:j,url:O},{title:w,url:b}]},{title:L,url:A},{title:N,url:R},{title:C,url:M},{title:I,url:p}];function F(e){return B.map((t=>{var r;let{title:n,url:l,items:o}=t;l&&e&&(l=V(l,e));const i={title:n,url:l};let a=l===e;return i.items=null!==(r=null==o?void 0:o.map((t=>{let{title:r,url:n}=t;n&&e&&(n=V(n,e));let l=n===e;return l&&(a=l),{title:r,url:n,isActive:l}})))&&void 0!==r?r:[],i.isActive=a,i}))}function V(e,t){return t===p&&e!==p?"".concat(d).concat(e):e}const H=e=>{let{items:t,isExpanded:r}=e;const n=(0,m.useTextStyles)();return(0,f.jsx)("ul",{className:c()("ktl-horizontal-menu-module_dropdown-menu_dVOw-",n("rs-text-2"),{"ktl-horizontal-menu-module_dropdown-menu-expanded_L0RWy":r}),children:t.map(((e,t)=>{const r=!e.isActive&&e.url?"a":"span";return(0,f.jsx)("li",{children:(0,f.jsx)(r,{className:c()("ktl-horizontal-menu-module_dropdown-menu-item_wRlcN",{"ktl-horizontal-menu-module_active_azHwP":e.isActive}),...e.url?{href:e.url}:{},children:e.title})},t)}))})},W=t=>{var r,n;let{item:l,onMouseEnter:o,onMouseLeave:i,isExpanded:a}=t;const s=l.isActive||!l.url?"span":"a",u=(0,m.useTextStyles)();return(0,f.jsxs)("li",{className:"ktl-horizontal-menu-module_menu-item-wrap_dnVf-",onMouseEnter:()=>o(l),onMouseLeave:i,children:[(0,e.createElement)(s,{...l.url?{href:l.url}:{},key:l.title,className:c()("ktl-horizontal-menu-module_menu-item_Z+YKZ",u("rs-text-2"),{"ktl-horizontal-menu-module_item-active_+iyf-":l.isActive,"ktl-horizontal-menu-module_expanded_thibK":a&&!(null===(r=l.items)||void 0===r||!r.length)})},l.title),!(null===(n=l.items)||void 0===n||!n.length)&&(0,f.jsx)(H,{items:l.items,isExpanded:a})]})},K=t=>{let{items:r,theme:n}=t;const[l,o]=(0,e.useState)(-1),[i,a]=(0,e.useState)(l);(0,e.useEffect)((()=>{const e=setTimeout((()=>a(l)),-1!==l?200:400);return()=>clearTimeout(e)}),[l]);const s=e=>o(r.findIndex((t=>t===e))),u=()=>o(-1);return(0,f.jsx)("nav",{className:c()("ktl-horizontal-menu-module_nav_xYv4i",{"ktl-horizontal-menu-module_dark-theme_Lp065":"dark"===n}),children:(0,f.jsx)("ul",{className:"ktl-horizontal-menu-module_menu-list_7oi3W",children:r.map(((e,t)=>(0,f.jsx)(W,{item:e,onMouseEnter:s,onMouseLeave:u,isExpanded:t===i},t)))})})};var Y;function q(){return q=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},q.apply(this,arguments)}var G=function(t){return e.createElement("svg",q({width:24,height:24,xmlns:"http://www.w3.org/2000/svg"},t),Y||(Y=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 Z=e=>{let{onClick:t,isActive:r}=e;return(0,f.jsx)("button",{type:"button",className:c()("ktl-search-button_button_JUyxv",{"ktl-search-button_active_G-dk1":r}),"aria-label":"Search",onClick:t,children:(0,f.jsx)(G,{})})};var J;function $(){return $=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},$.apply(this,arguments)}var Q,X=function(t){return e.createElement("svg",$({width:24,height:24,fill:"none",xmlns:"http://www.w3.org/2000/svg"},t),J||(J=e.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M4 5h16v2H4V5zm0 6h16v2H4v-2zm16 6H4v2h16v-2z",fill:"currentColor"})))};function ee(){return ee=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},ee.apply(this,arguments)}var te=function(t){return e.createElement("svg",ee({width:16,height:16,fill:"none",xmlns:"http://www.w3.org/2000/svg"},t),Q||(Q=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 re=e=>{let{onClick:t,isExpanded:r}=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:r?(0,f.jsx)(te,{}):(0,f.jsx)(X,{})})},ne=e=>{let{item:t,level:r}=e;const n=t.url?"a":"span",l={"--level":r};return(0,f.jsx)(n,{...t.url?{href:t.url}:{},className:c()("ktl-menu-popup-module_menu-item_f6wvh",{"ktl-menu-popup-module_menu-item-root_C-hkN":0===r,"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})},le=t=>{let{items:r,level:n}=t;return(0,f.jsx)(f.Fragment,{children:r.map(((t,r)=>(0,f.jsxs)(e.Fragment,{children:[(0,f.jsx)(ne,{item:t,level:n}),t.items&&t.items.length>0&&(0,f.jsx)(le,{items:t.items,level:n+1})]},r)))})},oe=t=>{let{items:r,isExpanded:n,setExpand:l,headerRef:o}=t;const i=(0,m.useTextStyles)(),[a,s]=(0,e.useState)({});(0,e.useLayoutEffect)((()=>{o.current&&s({top:o.current.getBoundingClientRect().bottom})}),[n]);const u=(0,e.useCallback)((()=>{"undefined"!=typeof document&&document.body.classList.toggle("ktl-menu-popup-module_no-scrollable_vFAwD",!n),l(!n)}),[n]);return(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(re,{onClick:u,isExpanded:n}),(0,f.jsx)("nav",{style:a,className:c()("ktl-menu-popup-module_menu-popup_Yqtnq",i("rs-text-2"),{"ktl-menu-popup-module_menu-popup-expanded_FlujR":n}),children:(0,f.jsx)(le,{items:r,level:0})})]})};var ie,ae;function se(){return se=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},se.apply(this,arguments)}var ue=function(t){return e.createElement("svg",se({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},t),ie||(ie=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"}))),ae||(ae=e.createElement("path",{fill:"url(#kotlin-logo-small_svg__a)",d:"M22.87 21.68H3.94V2.76h18.93l-9.66 9.32z"})))};const ce=e=>{let{homeTitle:t,homeUrl:r,className:n}=e;const l=(0,m.useTextStyles)();return(0,f.jsxs)("div",{className:c()("ktl-logo-small-module_logo-small_7ddNl",n),children:[(0,f.jsx)("a",{href:d,className:"ktl-logo-small-module_icon-wrap_BFVBd",children:(0,f.jsx)(ue,{className:"ktl-logo-small-module_icon_JM+yC"})}),(0,f.jsx)("a",{href:r,className:c()("ktl-logo-small-module_link_6gruv",l("rs-h3")),children:t})]})};var me=r=>{let{productWebUrl:n,hasSearch:l=!1,onSearchClick:o,currentUrl:i,currentTitle:a,className:s,hasBorder:u=!0,dropdownTheme:m="dark"}=r;const[d,p]=(0,e.useState)(!1),_=F(i),g=(0,e.useRef)(null);return(0,f.jsx)(t.ThemeProvider,{theme:"dark",children:(0,f.jsxs)("header",{ref:g,className:c()("ktl-header-module_header-menu_E3vzo",s,{"ktl-header-module_with-menu-popup_DcoOT":d,"ktl-header-module_border_smGpe":u}),children:[(0,f.jsx)(h,{productWebUrl:n,className:a&&i&&!d?v:null}),!!a&&!!i&&(0,f.jsx)(ce,{homeTitle:a,homeUrl:i,className:d?v:null}),(0,f.jsx)(K,{items:_,theme:m}),(0,f.jsx)(Z,{onClick:o,isActive:l&&!!o}),(0,f.jsx)(oe,{items:_,setExpand:p,isExpanded:d,headerRef:g})]})})}}(),module.exports=n}();
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 u in n)r.call(n,u)&&n[u]&&e.push(u);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,u=Object.prototype.hasOwnProperty,a={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)u.call(t,r)&&!a.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 j},ANDROID_URL:function(){return w},COMMUNITY_TITLE:function(){return N},COMMUNITY_URL:function(){return R},DATA_SCIENCE_TITLE:function(){return k},DATA_SCIENCE_URL:function(){return O},DOCS_TITLE:function(){return b},DOCS_URL:function(){return S},KMM_DOCS_TITLE:function(){return V},KMM_DOCS_URL:function(){return W},KOTLIN_DOCS_TITLE:function(){return B},KOTLIN_DOCS_URL:function(){return K},MULTIPLATFORM_MOBILE_TITLE:function(){return g},MULTIPLATFORM_MOBILE_URL:function(){return x},PLAY_EXAMPLES_TITLE:function(){return H},PLAY_EXAMPLES_URL:function(){return D},PLAY_HANDSON_TITLE:function(){return z},PLAY_HANDSON_URL:function(){return U},PLAY_KOANS_TITLE:function(){return F},PLAY_KOANS_URL:function(){return Y},PLAY_TITLE:function(){return I},PLAY_TITLE_FULL:function(){return C},PLAY_URL:function(){return P},SERVER_SIDE_TITLE:function(){return E},SERVER_SIDE_URL:function(){return y},SOLUTIONS_TITLE:function(){return _},TEACH_TITLE:function(){return A},TEACH_URL:function(){return M},WEB_FRONTEND_TITLE:function(){return T},WEB_FRONTEND_URL:function(){return L},default:function(){return ge},getNavScheme:function(){return G}});var e=n(3910),t=require("@rescui/ui-contexts");var l,o,i;function u(){return u=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},u.apply(this,arguments)}var a=function(t){return e.createElement("svg",u({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),m=require("@rescui/typography");const d="https://kotlinlang.org",p="https://play.kotlinlang.org/";var f=n(5893);const h=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,m.useTextStyles)();return(0,f.jsxs)("div",{className:c()("ktl-logo-large-module_container_+5pgf",n,l("rs-text-3",{hardness:"average"})),children:[(0,f.jsx)("a",{className:"ktl-logo-large-module_link_iZIEJ",href:d,"aria-label":"Kotlin Home Page",children:(0,f.jsx)(a,{})}),r&&(0,f.jsx)("a",{className:c()("ktl-logo-large-module_version-tag_fiNIk"),href:t,target:"_blank",children:r})]})};const v="ktl-header-module_logo-hide_uBrPV",_="Solutions",g="Multiplatform Mobile",x="/lp/mobile/",E="Server-side",y="/lp/server-side/",T="Web frontend",L="/docs/js-overview.html",k="Data science",O="/docs/data-science-overview.html",j="Android",w="/docs/android-overview.html",b="Docs",S="/docs/home.html",N="Community",R="/community/",A="Teach",M="/education/",I="Play",C="Playground",P=p,U="".concat(p,"hands-on/overview"),z="Hands-on",D="".concat(p,"byExample/overview"),H="Examples",Y="".concat(p,"koans/overview"),F="Koans",B="Kotlin",K="/docs/home.html",V="KMM",W="/docs/mobile/home.html",q=[{title:_,url:null,items:[{title:g,url:x},{title:E,url:y},{title:T,url:L},{title:k,url:O},{title:j,url:w}]},{title:b,url:K},{title:N,url:R},{title:A,url:M},{title:I,url:P,items:[{title:C,url:P},{title:z,url:U},{title:H,url:D},{title:F,url:Y}]}];function G(e){return q.map((t=>{var n;let{title:r,url:l,items:o}=t;l&&e&&(l=Z(l,e));const i={title:r,url:l};let u=l===e;return i.items=null!==(n=null==o?void 0:o.map((t=>{let{title:n,url:r}=t;r&&e&&(r=Z(r,e));let l=r===e;return l&&(u=l),{title:n,url:r,isActive:l}})))&&void 0!==n?n:[],i.isActive=u,i}))}function Z(e,t){return t===p&&e!==p?"".concat(d).concat(e):e}const J=e=>{let{items:t,isExpanded:n,alignRight:r}=e;const l=(0,m.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}:{},children:e.title})},t)}))})},$=t=>{var n,r;let{item:l,onMouseEnter:o,onMouseLeave:i,isExpanded:u,isLast:a}=t;const s=l.isActive||!l.url?"span":"a",d=(0,m.useTextStyles)();return(0,f.jsxs)("li",{className:"ktl-horizontal-menu-module_menu-item-wrap_dnVf-",onMouseEnter:()=>o(l),onMouseLeave:i,children:[(0,e.createElement)(s,{...l.url?{href:l.url}:{},key:l.title,className:c()("ktl-horizontal-menu-module_menu-item_Z+YKZ",d("rs-text-2"),{"ktl-horizontal-menu-module_item-active_+iyf-":l.isActive,"ktl-horizontal-menu-module_expanded_thibK":u&&!(null===(n=l.items)||void 0===n||!n.length)})},l.title),!(null===(r=l.items)||void 0===r||!r.length)&&(0,f.jsx)(J,{items:l.items,isExpanded:u,alignRight:a})]})},X=t=>{let{items:n,theme:r}=t;const[l,o]=(0,e.useState)(-1),[i,u]=(0,e.useState)(l);(0,e.useEffect)((()=>{const e=setTimeout((()=>u(l)),-1!==l?200:400);return()=>clearTimeout(e)}),[l]);const a=e=>o(n.findIndex((t=>t===e))),s=()=>o(-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)($,{item:e,onMouseEnter:a,onMouseLeave:s,isExpanded:t===i,isLast:t===n.length-1},t)))})})};var Q;function ee(){return ee=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},ee.apply(this,arguments)}var te=function(t){return e.createElement("svg",ee({width:24,height:24,xmlns:"http://www.w3.org/2000/svg"},t),Q||(Q=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 ne=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)(te,{})})};var re;function le(){return le=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},le.apply(this,arguments)}var oe,ie=function(t){return e.createElement("svg",le({width:24,height:24,fill:"none",xmlns:"http://www.w3.org/2000/svg"},t),re||(re=e.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M4 5h16v2H4V5zm0 6h16v2H4v-2zm16 6H4v2h16v-2z",fill:"currentColor"})))};function ue(){return ue=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},ue.apply(this,arguments)}var ae=function(t){return e.createElement("svg",ue({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 se=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)(ie,{})})},ce=e=>{let{item:t,level:n}=e;const r=t.url?"a":"span",l={"--level":n};return(0,f.jsx)(r,{...t.url?{href:t.url}:{},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})},me=t=>{let{items:n,level:r}=t;return(0,f.jsx)(f.Fragment,{children:n.map(((t,n)=>(0,f.jsxs)(e.Fragment,{children:[(0,f.jsx)(ce,{item:t,level:r}),t.items&&t.items.length>0&&(0,f.jsx)(me,{items:t.items,level:r+1})]},n)))})},de=t=>{let{items:n,isExpanded:r,setExpand:l,headerRef:o}=t;const i=(0,m.useTextStyles)(),[u,a]=(0,e.useState)({});(0,e.useLayoutEffect)((()=>{o.current&&a({top:o.current.getBoundingClientRect().bottom})}),[r]);const s=(0,e.useCallback)((()=>{"undefined"!=typeof document&&document.body.classList.toggle("ktl-menu-popup-module_no-scrollable_vFAwD",!r),l(!r)}),[r]);return(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(se,{onClick:s,isExpanded:r}),(0,f.jsx)("nav",{style:u,className:c()("ktl-menu-popup-module_menu-popup_Yqtnq",i("rs-text-2"),{"ktl-menu-popup-module_menu-popup-expanded_FlujR":r}),children:(0,f.jsx)(me,{items:n,level:0})})]})};var pe,fe;function he(){return he=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},he.apply(this,arguments)}var ve=function(t){return e.createElement("svg",he({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},t),pe||(pe=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"}))),fe||(fe=e.createElement("path",{fill:"url(#kotlin-logo-small_svg__a)",d:"M22.87 21.68H3.94V2.76h18.93l-9.66 9.32z"})))};const _e=e=>{let{homeTitle:t,homeUrl:n,className:r}=e;const l=(0,m.useTextStyles)();return(0,f.jsxs)("div",{className:c()("ktl-logo-small-module_logo-small_7ddNl",r),children:[(0,f.jsx)("a",{href:d,className:"ktl-logo-small-module_icon-wrap_BFVBd",children:(0,f.jsx)(ve,{className:"ktl-logo-small-module_icon_JM+yC"})}),(0,f.jsx)("a",{href:n,className:c()("ktl-logo-small-module_link_6gruv",l("rs-h3")),children:t})]})};var ge=n=>{let{productWebUrl:r,hasSearch:l=!1,onSearchClick:o,currentUrl:i,currentTitle:u,className:a,hasBorder:s=!0,dropdownTheme:m="dark"}=n;const[d,p]=(0,e.useState)(!1),_=G(i),g=(0,e.useRef)(null);return(0,f.jsx)(t.ThemeProvider,{theme:"dark",children:(0,f.jsxs)("header",{ref:g,className:c()("ktl-header-module_header-menu_E3vzo",a,{"ktl-header-module_with-menu-popup_DcoOT":d,"ktl-header-module_border_smGpe":s}),children:[(0,f.jsx)(h,{productWebUrl:r,className:u&&i&&!d?v:null}),!!u&&!!i&&(0,f.jsx)(_e,{homeTitle:u,homeUrl:i,className:d?v:null}),(0,f.jsx)(X,{items:_,theme:m}),(0,f.jsx)(ne,{onClick:o,isActive:l&&!!o}),(0,f.jsx)(de,{items:_,setExpand:p,isExpanded:d,headerRef:g})]})})}}(),module.exports=r}();
3
3
  //# sourceMappingURL=header.js.map
@@ -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/index.ts","webpack://@jetbrains/kotlin-web-site-ui/./src/components/header/header.tsx"],"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';\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_URL = PLAYGROUND_URL;\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: PLAY_URL,\n },\n];\n\nexport function getNavScheme(currentUrl?: string): MenuItem[] {\n return navScheme.map(({ title, url, items }) => {\n if (url && currentUrl) {\n url = makeExternalUrl(url, currentUrl);\n }\n\n const item: MenuItem = {\n title,\n url,\n };\n let isActive = url === currentUrl;\n\n item.items =\n items?.map(({ title, url: childUrl }) => {\n if (childUrl && currentUrl) {\n childUrl = makeExternalUrl(childUrl, currentUrl);\n }\n\n let childActive = 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(url: string, currentUrl: string): string {\n return currentUrl === PLAYGROUND_URL && url !== PLAYGROUND_URL\n ? `${KOTLINLANG_URL}${url}`\n : url;\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\";","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';\n\ninterface DropdownMenuProps {\n items: MenuItem[];\n isExpanded: boolean;\n}\n\nconst DropdownMenu: FC<DropdownMenuProps> = ({ items, isExpanded }) => {\n const textCn = useTextStyles();\n\n return (\n <ul\n className={classNames(styles.dropdownMenu, textCn('rs-text-2'), {\n [styles.dropdownMenuExpanded]: isExpanded,\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 }\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}\n\nconst HorizontalMenuItem: FC<HorizontalMenuItemProps> = ({\n item,\n onMouseEnter,\n onMouseLeave,\n isExpanded,\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 ? { href: item.url } : {})}\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 items={item.items} isExpanded={isExpanded} />\n )}\n </li>\n );\n};\n\ninterface HorizontalMenuProps {\n items: MenuItem[];\n theme: Theme;\n}\n\nexport const HorizontalMenu: FC<HorizontalMenuProps> = ({ items, theme }) => {\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 key={index}\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';\n\ninterface MenuItemProps {\n item: MenuItem;\n level: number;\n}\n\ninterface MenuItemStyle extends CSSProperties {\n '--level': number;\n}\n\nconst MenuListItem: FC<MenuItemProps> = ({ item, level }) => {\n const Tag = item.url ? 'a' : 'span';\n const style: MenuItemStyle = {\n '--level': level,\n };\n\n return (\n <Tag\n {...(item.url\n ? { href: item.url }\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}\n\nconst MenuList: FC<MenuListProps> = ({ items, level }) => {\n return (\n <>\n {items.map((item, i) => (\n <Fragment key={i}>\n <MenuListItem item={item} level={level} />\n {item.items && item.items.length > 0 && (\n <MenuList items={item.items} level={level + 1} />\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}\n\ninterface NavStyles {\n top?: number;\n}\n\nexport const MenuPopup: FC<MenuPopupProps> = ({\n items,\n isExpanded,\n setExpand,\n headerRef,\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} />\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 { Header } from './header';\nexport default Header;\n\nexport * from './nav-scheme';\n","import React, { FC, useRef, useState } 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';\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}\n\nexport const Header: FC<HeaderProps> = ({\n productWebUrl,\n hasSearch = false,\n onSearchClick,\n currentUrl,\n currentTitle,\n className,\n hasBorder = true,\n dropdownTheme = 'dark',\n}) => {\n const [menuPopupExpanded, setMenuPopupExpanded] = useState(false);\n const items = getNavScheme(currentUrl);\n const headerRef = useRef<HTMLElement>(null);\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 items={items} theme={dropdownTheme} />\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 />\n </header>\n </ThemeProvider>\n );\n};\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","PLAYGROUND_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_URL","KOTLIN_DOCS_TITLE","KOTLIN_DOCS_URL","KMM_DOCS_TITLE","KMM_DOCS_URL","navScheme","title","url","items","getNavScheme","currentUrl","map","makeExternalUrl","item","isActive","childUrl","childActive","DropdownMenu","isExpanded","Tag","HorizontalMenuItem","onMouseEnter","onMouseLeave","HorizontalMenu","theme","activeIndex","setActiveIndex","useState","debouncedActiveIndex","setDebouncedActiveIndex","useEffect","handler","setTimeout","clearTimeout","handleEnter","findIndex","val","handleLeave","index","width","height","fillRule","clipRule","SearchButton","onClick","MenuButton","MenuListItem","level","style","MenuList","MenuPopup","setExpand","headerRef","navStyle","setNavStyle","useLayoutEffect","top","getBoundingClientRect","bottom","handleClick","useCallback","document","body","classList","toggle","LogoSmall","homeTitle","homeUrl","hasSearch","onSearchClick","currentTitle","hasBorder","dropdownTheme","menuPopupExpanded","setMenuPopupExpanded","useRef","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/./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/index.ts","webpack://@jetbrains/kotlin-web-site-ui/./src/components/header/header.tsx"],"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';\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 = `${PLAYGROUND_URL}hands-on/overview`;\nexport const PLAY_HANDSON_TITLE = 'Hands-on'\nexport const PLAY_EXAMPLES_URL = `${PLAYGROUND_URL}byExample/overview`;\nexport const PLAY_EXAMPLES_TITLE = 'Examples';\nexport const PLAY_KOANS_URL = `${PLAYGROUND_URL}koans/overview`;\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: PLAY_URL,\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(currentUrl?: string): MenuItem[] {\n return navScheme.map(({ title, url, items }) => {\n if (url && currentUrl) {\n url = makeExternalUrl(url, currentUrl);\n }\n\n const item: MenuItem = {\n title,\n url,\n };\n let isActive = url === currentUrl;\n\n item.items =\n items?.map(({ title, url: childUrl }) => {\n if (childUrl && currentUrl) {\n childUrl = makeExternalUrl(childUrl, currentUrl);\n }\n\n let childActive = 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(url: string, currentUrl: string): string {\n return currentUrl === PLAYGROUND_URL && url !== PLAYGROUND_URL\n ? `${KOTLINLANG_URL}${url}`\n : url;\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';\n\ninterface DropdownMenuProps {\n items: MenuItem[];\n isExpanded: boolean;\n alignRight: boolean;\n}\n\nconst DropdownMenu: FC<DropdownMenuProps> = ({ items, isExpanded, alignRight }) => {\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 }\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}\n\nconst HorizontalMenuItem: FC<HorizontalMenuItemProps> = ({\n item,\n onMouseEnter,\n onMouseLeave,\n isExpanded,\n isLast\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 ? { href: item.url } : {})}\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 items={item.items} isExpanded={isExpanded} alignRight={isLast}/>\n )}\n </li>\n );\n};\n\ninterface HorizontalMenuProps {\n items: MenuItem[];\n theme: Theme;\n}\n\nexport const HorizontalMenu: FC<HorizontalMenuProps> = ({ items, theme }) => {\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 />\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';\n\ninterface MenuItemProps {\n item: MenuItem;\n level: number;\n}\n\ninterface MenuItemStyle extends CSSProperties {\n '--level': number;\n}\n\nconst MenuListItem: FC<MenuItemProps> = ({ item, level }) => {\n const Tag = item.url ? 'a' : 'span';\n const style: MenuItemStyle = {\n '--level': level,\n };\n\n return (\n <Tag\n {...(item.url\n ? { href: item.url }\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}\n\nconst MenuList: FC<MenuListProps> = ({ items, level }) => {\n return (\n <>\n {items.map((item, i) => (\n <Fragment key={i}>\n <MenuListItem item={item} level={level} />\n {item.items && item.items.length > 0 && (\n <MenuList items={item.items} level={level + 1} />\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}\n\ninterface NavStyles {\n top?: number;\n}\n\nexport const MenuPopup: FC<MenuPopupProps> = ({\n items,\n isExpanded,\n setExpand,\n headerRef,\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} />\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 { Header } from './header';\nexport default Header;\n\nexport * from './nav-scheme';\n","import React, { FC, useRef, useState } 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';\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}\n\nexport const Header: FC<HeaderProps> = ({\n productWebUrl,\n hasSearch = false,\n onSearchClick,\n currentUrl,\n currentTitle,\n className,\n hasBorder = true,\n dropdownTheme = 'dark',\n}) => {\n const [menuPopupExpanded, setMenuPopupExpanded] = useState(false);\n const items = getNavScheme(currentUrl);\n const headerRef = useRef<HTMLElement>(null);\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 items={items} theme={dropdownTheme} />\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 />\n </header>\n </ThemeProvider>\n );\n};\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","PLAYGROUND_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","currentUrl","map","makeExternalUrl","item","isActive","childUrl","childActive","DropdownMenu","isExpanded","alignRight","Tag","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","onClick","MenuButton","MenuListItem","level","style","MenuList","MenuPopup","setExpand","headerRef","navStyle","setNavStyle","useLayoutEffect","top","getBoundingClientRect","bottom","handleClick","useCallback","document","body","classList","toggle","LogoSmall","homeTitle","homeUrl","hasSearch","onSearchClick","currentTitle","hasBorder","dropdownTheme","menuPopupExpanded","setMenuPopupExpanded","useRef","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.8.1",
4
+ "version": "2.9.0-alpha.0",
5
5
  "license": "Apache-2.0",
6
6
  "author": "JetBrains",
7
7
  "files": [