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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/header.js CHANGED
@@ -1,3 +1,3 @@
1
1
  /*! For license information please see header.js.LICENSE.txt */
2
- !function(){var e={4184:function(e,t){var n;!function(){"use strict";var r={}.hasOwnProperty;function l(){for(var e=[],t=0;t<arguments.length;t++){var n=arguments[t];if(n){var o=typeof n;if("string"===o||"number"===o)e.push(n);else if(Array.isArray(n)){if(n.length){var i=l.apply(null,n);i&&e.push(i)}}else if("object"===o)if(n.toString===Object.prototype.toString)for(var 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}();
2
+ !function(){var e={4184:function(e,t){var n;!function(){"use strict";var r={}.hasOwnProperty;function l(){for(var e=[],t=0;t<arguments.length;t++){var n=arguments[t];if(n){var o=typeof n;if("string"===o||"number"===o)e.push(n);else if(Array.isArray(n)){if(n.length){var i=l.apply(null,n);i&&e.push(i)}}else if("object"===o)if(n.toString===Object.prototype.toString)for(var a in n)r.call(n,a)&&n[a]&&e.push(a);else e.push(n.toString())}}return e.join(" ")}e.exports?(l.default=l,e.exports=l):void 0===(n=function(){return l}.apply(t,[]))||(e.exports=n)}()},5251:function(e,t,n){"use strict";var r=n(3910),l=60103;if(t.Fragment=60107,"function"==typeof Symbol&&Symbol.for){var o=Symbol.for;l=o("react.element"),t.Fragment=o("react.fragment")}var i=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,a=Object.prototype.hasOwnProperty,u={key:!0,ref:!0,__self:!0,__source:!0};function s(e,t,n){var r,o={},s=null,c=null;for(r in void 0!==n&&(s=""+n),void 0!==t.key&&(s=""+t.key),void 0!==t.ref&&(c=t.ref),t)a.call(t,r)&&!u.hasOwnProperty(r)&&(o[r]=t[r]);if(e&&e.defaultProps)for(r in t=e.defaultProps)void 0===o[r]&&(o[r]=t[r]);return{$$typeof:l,type:e,key:s,ref:c,props:o,_owner:i.current}}t.jsx=s,t.jsxs=s},5893:function(e,t,n){"use strict";e.exports=n(5251)},3910:function(e){"use strict";e.exports=require("react")}},t={};function n(r){var l=t[r];if(void 0!==l)return l.exports;var o=t[r]={exports:{}};return e[r](o,o.exports,n),o.exports}n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,{a:t}),t},n.d=function(e,t){for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var r={};!function(){"use strict";n.r(r),n.d(r,{ANDROID_TITLE:function(){return O},ANDROID_URL:function(){return j},COMMUNITY_TITLE:function(){return S},COMMUNITY_URL:function(){return N},DATA_SCIENCE_TITLE:function(){return T},DATA_SCIENCE_URL:function(){return L},DOCS_TITLE:function(){return w},DOCS_URL:function(){return b},KMM_DOCS_TITLE:function(){return K},KMM_DOCS_URL:function(){return V},KOTLIN_DOCS_TITLE:function(){return F},KOTLIN_DOCS_URL:function(){return B},MULTIPLATFORM_MOBILE_TITLE:function(){return _},MULTIPLATFORM_MOBILE_URL:function(){return g},PLAY_EXAMPLES_TITLE:function(){return H},PLAY_EXAMPLES_URL:function(){return z},PLAY_HANDSON_TITLE:function(){return U},PLAY_HANDSON_URL:function(){return P},PLAY_KOANS_TITLE:function(){return Y},PLAY_KOANS_URL:function(){return D},PLAY_TITLE:function(){return C},PLAY_TITLE_FULL:function(){return M},PLAY_URL:function(){return I},SERVER_SIDE_TITLE:function(){return x},SERVER_SIDE_URL:function(){return E},SOLUTIONS_TITLE:function(){return v},TEACH_TITLE:function(){return R},TEACH_URL:function(){return A},WEB_FRONTEND_TITLE:function(){return k},WEB_FRONTEND_URL:function(){return y},default:function(){return ge},getNavScheme:function(){return q}});var e=n(3910),t=require("@rescui/ui-contexts");var l,o,i;function a(){return a=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},a.apply(this,arguments)}var u=function(t){return e.createElement("svg",a({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 100 24"},t),l||(l=e.createElement("radialGradient",{id:"kotlin-logo-large_svg__a",cx:22.432,cy:3.493,r:21.679,gradientTransform:"translate(-.19 .042) scale(.9998)",gradientUnits:"userSpaceOnUse"},e.createElement("stop",{offset:.003,stopColor:"#e44857"}),e.createElement("stop",{offset:.469,stopColor:"#c711e1"}),e.createElement("stop",{offset:1,stopColor:"#7f52ff"}))),o||(o=e.createElement("path",{fill:"url(#kotlin-logo-large_svg__a)",d:"M22.87 21.68H3.94V2.76h18.93l-9.66 9.32z"})),i||(i=e.createElement("g",{fill:"#fff"},e.createElement("path",{d:"M45.69 2.73h-3.76l-8.18 8.73v-8.7h-3.02v18.92h3.02v-9.17l8.21 9.17h3.89l-8.75-9.79z"}),e.createElement("path",{d:"M55.93 8.44c-1.07-.62-2.28-.93-3.64-.93-1.38 0-2.61.31-3.7.93a6.63 6.63 0 00-2.55 2.57c-.61 1.1-.91 2.35-.91 3.74 0 1.4.3 2.64.91 3.74a6.45 6.45 0 002.53 2.57c1.09.62 2.32.93 3.7.93 1.36 0 2.58-.31 3.66-.93a6.53 6.53 0 002.51-2.57c.6-1.1.9-2.35.9-3.74 0-1.4-.3-2.64-.9-3.74-.6-1.1-1.43-1.95-2.51-2.57zm-.19 8.7c-.33.69-.8 1.23-1.4 1.61-.6.39-1.3.58-2.08.58-.79 0-1.49-.19-2.11-.58-.61-.39-1.09-.93-1.43-1.61-.34-.69-.51-1.48-.51-2.38 0-.9.17-1.7.51-2.39.34-.69.82-1.23 1.43-1.61.61-.39 1.32-.58 2.12-.58.77 0 1.46.19 2.07.58.6.39 1.07.93 1.4 1.61.33.69.49 1.48.49 2.39.01.9-.15 1.69-.49 2.38zm9.75-12.76h-2.92v2.35c0 .37-.09.65-.27.83-.18.18-.46.28-.84.28h-1.43v2.49h2.49v7.45c0 .77.16 1.46.47 2.05.31.59.76 1.05 1.34 1.37.58.32 1.27.49 2.06.49h2.23V19.1h-1.68c-.43 0-.78-.15-1.06-.45-.27-.3-.4-.7-.4-1.2v-7.11h3.22v-2.5h-3.22V4.38zM71.03 2H74v19.68h-2.97zm6.32.03h3v3.05h-3zm0 5.81h2.97v13.84h-2.97zm18.08 2.28a4.694 4.694 0 00-1.77-1.92c-.76-.46-1.65-.69-2.67-.69-1.08 0-2.03.26-2.84.79-.65.42-1.17.98-1.58 1.68l-.02-2.14H83.7v13.84h2.97v-7.74c0-.75.14-1.41.43-1.99.28-.58.68-1.03 1.2-1.35.52-.32 1.12-.48 1.82-.48.62 0 1.16.13 1.6.39.45.26.78.64 1.01 1.12.23.49.34 1.07.34 1.74v8.31h2.97v-8.73c.02-1.07-.2-2.01-.61-2.83z"}))))},s=n(4184),c=n.n(s),d=require("@rescui/typography");const m="https://kotlinlang.org";var p=n(5893);const f=e=>{let{productWebUrl:t,className:n}=e;const r=t?function(e){const t=/v?\d+\.\d+\.\d+$/.exec(e);return t?t[0]:null}(t):null,l=(0,d.useTextStyles)();return(0,p.jsxs)("div",{className:c()("ktl-logo-large-module_container_+5pgf",n,l("rs-text-3",{hardness:"average"})),children:[(0,p.jsx)("a",{className:"ktl-logo-large-module_link_iZIEJ",href:m,"aria-label":"Kotlin Home Page",children:(0,p.jsx)(u,{})}),r&&(0,p.jsx)("a",{className:c()("ktl-logo-large-module_version-tag_fiNIk"),href:t,target:"_blank",children:r})]})};const h="ktl-header-module_logo-hide_uBrPV",v="Solutions",_="Multiplatform Mobile",g="/lp/mobile/",x="Server-side",E="/lp/server-side/",k="Web frontend",y="/docs/js-overview.html",T="Data science",L="/docs/data-science-overview.html",O="Android",j="/docs/android-overview.html",w="Docs",b="/docs/home.html",S="Community",N="/community/",R="Teach",A="/education/",C="Play",M="Playground",I="https://play.kotlinlang.org/",P="".concat(I,"hands-on"),U="Hands-on",z="".concat(I,"byExample"),H="Examples",D="".concat(I,"koans"),Y="Koans",F="Kotlin",B="/docs/home.html",K="KMM",V="/docs/mobile/home.html",W=[{title:v,url:null,items:[{title:_,url:g},{title:x,url:E},{title:k,url:y},{title:T,url:L},{title:O,url:j}]},{title:w,url:B},{title:S,url:N},{title:R,url:A},{title:C,url:null,items:[{title:M,url:I},{title:U,url:P},{title:H,url:z},{title:Y,url:D}]}];function q(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:(e,t)=>e===t,t=arguments.length>1?arguments[1]:void 0,n=arguments.length>2?arguments[2]:void 0;return W.map((r=>{var l;let{title:o,url:i,items:a}=r;i&&t&&(i=G(i,t,!!n));const u={title:o,url:i};let s=e(i,t);return u.items=null!==(l=null==a?void 0:a.map((r=>{let{title:l,url:o}=r;o&&t&&(o=G(o,t,!!n));let i=e(o,t);return i&&(s=i),{title:l,url:o,isActive:i}})))&&void 0!==l?l:[],u.isActive=s,u}))}function G(e,t,n){return n?e.startsWith(I)?e.replace(I,"/"):"".concat(m).concat(e):e}const Z=e=>{let{items:t,isExpanded:n,alignRight:r,linkHandler:l}=e;const o=(0,d.useTextStyles)();return(0,p.jsx)("ul",{className:c()("ktl-horizontal-menu-module_dropdown-menu_dVOw-",o("rs-text-2"),{"ktl-horizontal-menu-module_dropdown-menu-expanded_L0RWy":n,"ktl-horizontal-menu-module_dropdown-menu-align-right_HS-oO":r}),children:t.map(((e,t)=>{const n=!e.isActive&&e.url?"a":"span";return(0,p.jsx)("li",{children:(0,p.jsx)(n,{className:c()("ktl-horizontal-menu-module_dropdown-menu-item_wRlcN",{"ktl-horizontal-menu-module_active_azHwP":e.isActive}),...e.url?{href:e.url,onClick:l?t=>e.url&&l(t,e.url):void 0}:{},children:e.title})},t)}))})},J=t=>{var n,r;let{item:l,onMouseEnter:o,onMouseLeave:i,isExpanded:a,isLast:u,linkHandler:s}=t;const m=l.isActive||!l.url?"span":"a",f=(0,d.useTextStyles)();return(0,p.jsxs)("li",{className:"ktl-horizontal-menu-module_menu-item-wrap_dnVf-",onMouseEnter:()=>o(l),onMouseLeave:i,children:[(0,e.createElement)(m,{...l.url?{href:l.url,onClick:s?e=>l.url&&s(e,l.url):void 0}:{},key:l.title,className:c()("ktl-horizontal-menu-module_menu-item_Z+YKZ",f("rs-text-2"),{"ktl-horizontal-menu-module_item-active_+iyf-":l.isActive,"ktl-horizontal-menu-module_expanded_thibK":a&&!(null===(n=l.items)||void 0===n||!n.length)})},l.title),!(null===(r=l.items)||void 0===r||!r.length)&&(0,p.jsx)(Z,{items:l.items,isExpanded:a,alignRight:u,linkHandler:s})]})},$=t=>{let{items:n,theme:r,linkHandler:l}=t;const[o,i]=(0,e.useState)(-1),[a,u]=(0,e.useState)(o);(0,e.useEffect)((()=>{const e=setTimeout((()=>u(o)),-1!==o?200:400);return()=>clearTimeout(e)}),[o]);const s=e=>i(n.findIndex((t=>t===e))),d=()=>i(-1);return(0,p.jsx)("nav",{className:c()("ktl-horizontal-menu-module_nav_xYv4i",{"ktl-horizontal-menu-module_dark-theme_Lp065":"dark"===r}),children:(0,p.jsx)("ul",{className:"ktl-horizontal-menu-module_menu-list_7oi3W",children:n.map(((e,t)=>(0,p.jsx)(J,{item:e,onMouseEnter:s,onMouseLeave:d,isExpanded:t===a,isLast:t===n.length-1,linkHandler:l},t)))})})};var X;function Q(){return Q=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Q.apply(this,arguments)}var ee=function(t){return e.createElement("svg",Q({width:24,height:24,xmlns:"http://www.w3.org/2000/svg"},t),X||(X=e.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M15.847 6.861A6.99 6.99 0 009.587 3a6.997 6.997 0 104.186 12.601l6.106 6.106 1.414-1.414-6.107-6.106a6.99 6.99 0 00.66-7.326zM14.587 10a5 5 0 11-10.001 0 5 5 0 0110 0z",fill:"currentColor"})))};const te=e=>{let{onClick:t,isActive:n}=e;return(0,p.jsx)("button",{type:"button",className:c()("ktl-search-button_button_JUyxv",{"ktl-search-button_active_G-dk1":n}),"aria-label":"Search",onClick:t,children:(0,p.jsx)(ee,{})})};var ne;function re(){return re=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},re.apply(this,arguments)}var le,oe=function(t){return e.createElement("svg",re({width:24,height:24,fill:"none",xmlns:"http://www.w3.org/2000/svg"},t),ne||(ne=e.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M4 5h16v2H4V5zm0 6h16v2H4v-2zm16 6H4v2h16v-2z",fill:"currentColor"})))};function ie(){return ie=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},ie.apply(this,arguments)}var ae=function(t){return e.createElement("svg",ie({width:16,height:16,fill:"none",xmlns:"http://www.w3.org/2000/svg"},t),le||(le=e.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M15.707 1.707L14.293.293 8 6.586 1.707.293.293 1.707 6.586 8 .293 14.293l1.414 1.414L8 9.414l6.293 6.293 1.414-1.414L9.414 8l6.293-6.293z",fill:"currentColor"})))};const ue=e=>{let{onClick:t,isExpanded:n}=e;return(0,p.jsx)("button",{type:"button",className:c()("ktl-menu-button_button_InVin"),"aria-haspopup":"true","aria-label":"Open the navigation",onClick:t,children:n?(0,p.jsx)(ae,{}):(0,p.jsx)(oe,{})})},se=e=>{let{item:t,level:n,linkHandler:r}=e;const l=t.url?"a":"span",o={"--level":n};return(0,p.jsx)(l,{...t.url?{href:t.url,onClick:r?e=>t.url&&r(e,t.url):void 0}:{},className:c()("ktl-menu-popup-module_menu-item_f6wvh",{"ktl-menu-popup-module_menu-item-root_C-hkN":0===n,"ktl-menu-popup-module_active_DrZav":t.isActive,"ktl-menu-popup-module_active-with-child_BDnrW":t.items&&t.items.length}),style:o,children:t.title})},ce=t=>{let{items:n,level:r,linkHandler:l}=t;return(0,p.jsx)(p.Fragment,{children:n.map(((t,n)=>(0,p.jsxs)(e.Fragment,{children:[(0,p.jsx)(se,{item:t,level:r,linkHandler:l}),t.items&&t.items.length>0&&(0,p.jsx)(ce,{items:t.items,level:r+1,linkHandler:l})]},n)))})},de=t=>{let{items:n,isExpanded:r,setExpand:l,headerRef:o,linkHandler:i}=t;const a=(0,d.useTextStyles)(),[u,s]=(0,e.useState)({});(0,e.useLayoutEffect)((()=>{o.current&&s({top:o.current.getBoundingClientRect().bottom})}),[r]);const m=(0,e.useCallback)((()=>{"undefined"!=typeof document&&document.body.classList.toggle("ktl-menu-popup-module_no-scrollable_vFAwD",!r),l(!r)}),[r]);return(0,p.jsxs)(p.Fragment,{children:[(0,p.jsx)(ue,{onClick:m,isExpanded:r}),(0,p.jsx)("nav",{style:u,className:c()("ktl-menu-popup-module_menu-popup_Yqtnq",a("rs-text-2"),{"ktl-menu-popup-module_menu-popup-expanded_FlujR":r}),children:(0,p.jsx)(ce,{items:n,level:0,linkHandler:i})})]})};var me,pe;function fe(){return fe=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},fe.apply(this,arguments)}var he=function(t){return e.createElement("svg",fe({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},t),me||(me=e.createElement("radialGradient",{id:"kotlin-logo-small_svg__a",cx:22.432,cy:3.493,r:21.679,gradientTransform:"translate(-.19 .042) scale(.9998)",gradientUnits:"userSpaceOnUse"},e.createElement("stop",{offset:.003,stopColor:"#e44857"}),e.createElement("stop",{offset:.469,stopColor:"#c711e1"}),e.createElement("stop",{offset:1,stopColor:"#7f52ff"}))),pe||(pe=e.createElement("path",{fill:"url(#kotlin-logo-small_svg__a)",d:"M22.87 21.68H3.94V2.76h18.93l-9.66 9.32z"})))};const ve=e=>{let{homeTitle:t,homeUrl:n,className:r}=e;const l=(0,d.useTextStyles)();return(0,p.jsxs)("div",{className:c()("ktl-logo-small-module_logo-small_7ddNl",r),children:[(0,p.jsx)("a",{href:m,className:"ktl-logo-small-module_icon-wrap_BFVBd",children:(0,p.jsx)(he,{className:"ktl-logo-small-module_icon_JM+yC"})}),(0,p.jsx)("a",{href:n,className:c()("ktl-logo-small-module_link_6gruv",l("rs-h3")),children:t})]})},_e=(0,e.forwardRef)(((n,r)=>{let{productWebUrl:l,hasSearch:o=!1,onSearchClick:i,currentUrl:a,currentTitle:u,className:s,hasBorder:d=!0,dropdownTheme:m="dark",linkHandler:v,isPlayground:_,isUrlActive:g}=n;const[x,E]=(0,e.useState)(!1),k=(0,e.useMemo)((()=>q(g,a,_)),[g,a,_]),y=(0,e.useRef)(null);return(0,e.useImperativeHandle)(r,(()=>y.current)),(0,p.jsx)(t.ThemeProvider,{theme:"dark",children:(0,p.jsxs)("header",{ref:y,className:c()("ktl-header-module_header-menu_E3vzo",s,{"ktl-header-module_with-menu-popup_DcoOT":x,"ktl-header-module_border_smGpe":d}),children:[(0,p.jsx)(f,{productWebUrl:l,className:u&&a&&!x?h:null}),!!u&&!!a&&(0,p.jsx)(ve,{homeTitle:u,homeUrl:a,className:x?h:null}),(0,p.jsx)($,{items:k,theme:m,linkHandler:v}),(0,p.jsx)(te,{onClick:i,isActive:o&&!!i}),(0,p.jsx)(de,{items:k,setExpand:E,isExpanded:x,headerRef:y,linkHandler:v})]})})}));var ge=_e}(),module.exports=r}();
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_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":""}
1
+ {"version":3,"file":"header.js","mappings":"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","sources":["webpack://@jetbrains/kotlin-web-site-ui/./node_modules/classnames/index.js","webpack://@jetbrains/kotlin-web-site-ui/./node_modules/react/cjs/react-jsx-runtime.production.min.js","webpack://@jetbrains/kotlin-web-site-ui/./node_modules/react/jsx-runtime.js","webpack://@jetbrains/kotlin-web-site-ui/external commonjs2 {\"commonjs2\":\"react\",\"commonjs\":\"react\"}","webpack://@jetbrains/kotlin-web-site-ui/webpack/bootstrap","webpack://@jetbrains/kotlin-web-site-ui/webpack/runtime/compat get default export","webpack://@jetbrains/kotlin-web-site-ui/webpack/runtime/define property getters","webpack://@jetbrains/kotlin-web-site-ui/webpack/runtime/hasOwnProperty shorthand","webpack://@jetbrains/kotlin-web-site-ui/webpack/runtime/make namespace object","webpack://@jetbrains/kotlin-web-site-ui/external commonjs2 {\"commonjs\":\"@rescui/ui-contexts\",\"commonjs2\":\"@rescui/ui-contexts\"}","webpack://@jetbrains/kotlin-web-site-ui/./src/components/header/logo-large/kotlin-logo-large.svg","webpack://@jetbrains/kotlin-web-site-ui/external commonjs2 {\"commonjs\":\"@rescui/typography\",\"commonjs2\":\"@rescui/typography\"}","webpack://@jetbrains/kotlin-web-site-ui/./src/consts.ts","webpack://@jetbrains/kotlin-web-site-ui/./src/components/header/logo-large/logo-large.tsx","webpack://@jetbrains/kotlin-web-site-ui/./src/components/header/logo-large/logo-large.module.pcss?d1a2","webpack://@jetbrains/kotlin-web-site-ui/./src/components/header/header.module.pcss?b1da","webpack://@jetbrains/kotlin-web-site-ui/./src/components/header/nav-scheme.ts","webpack://@jetbrains/kotlin-web-site-ui/./src/components/header/horizontal-menu/horizontal-menu.module.pcss?7d3a","webpack://@jetbrains/kotlin-web-site-ui/./src/components/header/horizontal-menu/horizontal-menu.tsx","webpack://@jetbrains/kotlin-web-site-ui/./src/components/header/search-button/search.svg","webpack://@jetbrains/kotlin-web-site-ui/./src/components/header/search-button/search-button.tsx","webpack://@jetbrains/kotlin-web-site-ui/./src/components/header/search-button/search-button.pcss?7314","webpack://@jetbrains/kotlin-web-site-ui/./src/components/header/menu-popup/menu-button/hamburger-icon.svg","webpack://@jetbrains/kotlin-web-site-ui/./src/components/header/menu-popup/menu-button/close-icon.svg","webpack://@jetbrains/kotlin-web-site-ui/./src/components/header/menu-popup/menu-button/menu-button.tsx","webpack://@jetbrains/kotlin-web-site-ui/./src/components/header/menu-popup/menu-button/menu-button.pcss?e10c","webpack://@jetbrains/kotlin-web-site-ui/./src/components/header/menu-popup/menu-popup.tsx","webpack://@jetbrains/kotlin-web-site-ui/./src/components/header/menu-popup/menu-popup.module.pcss?1dec","webpack://@jetbrains/kotlin-web-site-ui/./src/components/header/logo-small/kotlin-logo-small.svg","webpack://@jetbrains/kotlin-web-site-ui/./src/components/header/logo-small/logo-small.module.pcss?0b31","webpack://@jetbrains/kotlin-web-site-ui/./src/components/header/logo-small/logo-small.tsx","webpack://@jetbrains/kotlin-web-site-ui/./src/components/header/header.tsx","webpack://@jetbrains/kotlin-web-site-ui/./src/components/header/index.ts"],"sourcesContent":["/*!\n Copyright (c) 2018 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames() {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tif (arg.length) {\n\t\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\t\tif (inner) {\n\t\t\t\t\t\tclasses.push(inner);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tif (arg.toString === Object.prototype.toString) {\n\t\t\t\t\tfor (var key in arg) {\n\t\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tclasses.push(arg.toString());\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","/** @license React v16.14.0\n * react-jsx-runtime.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var f=require(\"react\"),g=60103;exports.Fragment=60107;if(\"function\"===typeof Symbol&&Symbol.for){var h=Symbol.for;g=h(\"react.element\");exports.Fragment=h(\"react.fragment\")}var m=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,n=Object.prototype.hasOwnProperty,p={key:!0,ref:!0,__self:!0,__source:!0};\nfunction q(c,a,k){var b,d={},e=null,l=null;void 0!==k&&(e=\"\"+k);void 0!==a.key&&(e=\"\"+a.key);void 0!==a.ref&&(l=a.ref);for(b in a)n.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)void 0===d[b]&&(d[b]=a[b]);return{$$typeof:g,type:c,key:e,ref:l,props:d,_owner:m.current}}exports.jsx=q;exports.jsxs=q;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.min.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","module.exports = require(\"react\");","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","var __WEBPACK_NAMESPACE_OBJECT__ = require(\"@rescui/ui-contexts\");","var _radialGradient, _path, _g;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport * as React from \"react\";\n\nfunction SvgKotlinLogoLarge(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 100 24\"\n }, props), _radialGradient || (_radialGradient = /*#__PURE__*/React.createElement(\"radialGradient\", {\n id: \"kotlin-logo-large_svg__a\",\n cx: 22.432,\n cy: 3.493,\n r: 21.679,\n gradientTransform: \"translate(-.19 .042) scale(.9998)\",\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.003,\n stopColor: \"#e44857\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.469,\n stopColor: \"#c711e1\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#7f52ff\"\n }))), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"url(#kotlin-logo-large_svg__a)\",\n d: \"M22.87 21.68H3.94V2.76h18.93l-9.66 9.32z\"\n })), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n fill: \"#fff\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M45.69 2.73h-3.76l-8.18 8.73v-8.7h-3.02v18.92h3.02v-9.17l8.21 9.17h3.89l-8.75-9.79z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M55.93 8.44c-1.07-.62-2.28-.93-3.64-.93-1.38 0-2.61.31-3.7.93a6.63 6.63 0 00-2.55 2.57c-.61 1.1-.91 2.35-.91 3.74 0 1.4.3 2.64.91 3.74a6.45 6.45 0 002.53 2.57c1.09.62 2.32.93 3.7.93 1.36 0 2.58-.31 3.66-.93a6.53 6.53 0 002.51-2.57c.6-1.1.9-2.35.9-3.74 0-1.4-.3-2.64-.9-3.74-.6-1.1-1.43-1.95-2.51-2.57zm-.19 8.7c-.33.69-.8 1.23-1.4 1.61-.6.39-1.3.58-2.08.58-.79 0-1.49-.19-2.11-.58-.61-.39-1.09-.93-1.43-1.61-.34-.69-.51-1.48-.51-2.38 0-.9.17-1.7.51-2.39.34-.69.82-1.23 1.43-1.61.61-.39 1.32-.58 2.12-.58.77 0 1.46.19 2.07.58.6.39 1.07.93 1.4 1.61.33.69.49 1.48.49 2.39.01.9-.15 1.69-.49 2.38zm9.75-12.76h-2.92v2.35c0 .37-.09.65-.27.83-.18.18-.46.28-.84.28h-1.43v2.49h2.49v7.45c0 .77.16 1.46.47 2.05.31.59.76 1.05 1.34 1.37.58.32 1.27.49 2.06.49h2.23V19.1h-1.68c-.43 0-.78-.15-1.06-.45-.27-.3-.4-.7-.4-1.2v-7.11h3.22v-2.5h-3.22V4.38zM71.03 2H74v19.68h-2.97zm6.32.03h3v3.05h-3zm0 5.81h2.97v13.84h-2.97zm18.08 2.28a4.694 4.694 0 00-1.77-1.92c-.76-.46-1.65-.69-2.67-.69-1.08 0-2.03.26-2.84.79-.65.42-1.17.98-1.58 1.68l-.02-2.14H83.7v13.84h2.97v-7.74c0-.75.14-1.41.43-1.99.28-.58.68-1.03 1.2-1.35.52-.32 1.12-.48 1.82-.48.62 0 1.16.13 1.6.39.45.26.78.64 1.01 1.12.23.49.34 1.07.34 1.74v8.31h2.97v-8.73c.02-1.07-.2-2.01-.61-2.83z\"\n }))));\n}\n\nexport default SvgKotlinLogoLarge;","var __WEBPACK_NAMESPACE_OBJECT__ = require(\"@rescui/typography\");","export const KOTLINLANG_URL = 'https://kotlinlang.org';\nexport const PLAYGROUND_URL = 'https://play.kotlinlang.org/';","import React, { FC } from 'react';\nimport * as styles from './logo-large.module.pcss';\nimport KotlinLogoFull from './kotlin-logo-large.svg';\nimport classNames from 'classnames';\nimport { useTextStyles } from '@rescui/typography';\nimport { KOTLINLANG_URL } from 'src/consts';\n\ninterface LogoProps {\n productWebUrl?: string;\n className?: string;\n}\n\nexport const LogoLarge: FC<LogoProps> = ({ productWebUrl, className }) => {\n const version: null | string = productWebUrl\n ? getProductVersion(productWebUrl)\n : null;\n const textCn = useTextStyles();\n\n return (\n <div\n className={classNames(\n styles.container,\n className,\n textCn('rs-text-3', { hardness: 'average' })\n )}\n >\n <a\n className={styles.link}\n href={KOTLINLANG_URL}\n aria-label=\"Kotlin Home Page\"\n >\n <KotlinLogoFull />\n </a>\n {version && (\n <a\n className={classNames(styles.versionTag)}\n href={productWebUrl}\n target=\"_blank\"\n >\n {version}\n </a>\n )}\n </div>\n );\n};\n\nfunction getProductVersion(productWebUrl: string): null | string {\n const match = /v?\\d+\\.\\d+\\.\\d+$/.exec(productWebUrl);\n return match ? match[0] : null;\n}\n","// extracted by mini-css-extract-plugin\nexport const container = \"ktl-logo-large-module_container_+5pgf\";\nexport const link = \"ktl-logo-large-module_link_iZIEJ\";\nexport const versionTag = \"ktl-logo-large-module_version-tag_fiNIk\";","// extracted by mini-css-extract-plugin\nexport const headerMenu = \"ktl-header-module_header-menu_E3vzo\";\nexport const border = \"ktl-header-module_border_smGpe\";\nexport const withMenuPopup = \"ktl-header-module_with-menu-popup_DcoOT\";\nexport const logoHide = \"ktl-header-module_logo-hide_uBrPV\";","import { KOTLINLANG_URL, PLAYGROUND_URL } from 'src/consts';\nimport { IsUrlActive } from 'src/helper/is-url-active';\n\nexport interface MenuItem {\n title: string;\n url: null | string;\n isActive?: boolean;\n items?: MenuItem[];\n}\n\nexport const SOLUTIONS_TITLE = 'Solutions';\nexport const MULTIPLATFORM_MOBILE_TITLE = 'Multiplatform Mobile';\nexport const MULTIPLATFORM_MOBILE_URL = `/lp/mobile/`;\nexport const SERVER_SIDE_TITLE = 'Server-side';\nexport const SERVER_SIDE_URL = `/lp/server-side/`;\nexport const WEB_FRONTEND_TITLE = 'Web frontend';\nexport const WEB_FRONTEND_URL = `/docs/js-overview.html`;\nexport const DATA_SCIENCE_TITLE = 'Data science';\nexport const DATA_SCIENCE_URL = `/docs/data-science-overview.html`;\nexport const ANDROID_TITLE = 'Android';\nexport const ANDROID_URL = `/docs/android-overview.html`;\nexport const DOCS_TITLE = 'Docs';\nexport const DOCS_URL = `/docs/home.html`;\nexport const COMMUNITY_TITLE = 'Community';\nexport const COMMUNITY_URL = `/community/`;\nexport const TEACH_TITLE = 'Teach';\nexport const TEACH_URL = `/education/`;\nexport const PLAY_TITLE = 'Play';\nexport const PLAY_TITLE_FULL = 'Playground';\nexport const PLAY_URL = PLAYGROUND_URL;\nexport const PLAY_HANDSON_URL = `${PLAY_URL}hands-on`;\nexport const PLAY_HANDSON_TITLE = 'Hands-on';\nexport const PLAY_EXAMPLES_URL = `${PLAY_URL}byExample`;\nexport const PLAY_EXAMPLES_TITLE = 'Examples';\nexport const PLAY_KOANS_URL = `${PLAY_URL}koans`;\nexport const PLAY_KOANS_TITLE = 'Koans';\nexport const KOTLIN_DOCS_TITLE = 'Kotlin';\nexport const KOTLIN_DOCS_URL = `/docs/home.html`;\nexport const KMM_DOCS_TITLE = 'KMM';\nexport const KMM_DOCS_URL = `/docs/mobile/home.html`;\n\nconst navScheme: MenuItem[] = [\n {\n title: SOLUTIONS_TITLE,\n url: null,\n items: [\n {\n title: MULTIPLATFORM_MOBILE_TITLE,\n url: MULTIPLATFORM_MOBILE_URL,\n },\n {\n title: SERVER_SIDE_TITLE,\n url: SERVER_SIDE_URL,\n },\n {\n title: WEB_FRONTEND_TITLE,\n url: WEB_FRONTEND_URL,\n },\n {\n title: DATA_SCIENCE_TITLE,\n url: DATA_SCIENCE_URL,\n },\n {\n title: ANDROID_TITLE,\n url: ANDROID_URL,\n },\n ],\n },\n {\n title: DOCS_TITLE,\n url: KOTLIN_DOCS_URL,\n },\n {\n title: COMMUNITY_TITLE,\n url: COMMUNITY_URL,\n },\n {\n title: TEACH_TITLE,\n url: TEACH_URL,\n },\n {\n title: PLAY_TITLE,\n url: null,\n items: [\n {\n title: PLAY_TITLE_FULL,\n url: PLAY_URL,\n },\n {\n title: PLAY_HANDSON_TITLE,\n url: PLAY_HANDSON_URL,\n },\n {\n title: PLAY_EXAMPLES_TITLE,\n url: PLAY_EXAMPLES_URL,\n },\n {\n title: PLAY_KOANS_TITLE,\n url: PLAY_KOANS_URL,\n },\n ],\n },\n];\n\nexport function getNavScheme(\n isUrlActive: IsUrlActive = (url, currentUrl) => url === currentUrl,\n currentUrl?: string,\n isPlayground?: boolean\n): MenuItem[] {\n return navScheme.map(({ title, url, items }) => {\n if (url && currentUrl) {\n url = makeExternalUrl(url, currentUrl, !!isPlayground);\n }\n\n const item: MenuItem = {\n title,\n url,\n };\n let isActive = isUrlActive(url, currentUrl);\n\n item.items =\n items?.map(({ title, url: childUrl }) => {\n if (childUrl && currentUrl) {\n childUrl = makeExternalUrl(childUrl, currentUrl, !!isPlayground);\n }\n\n let childActive = isUrlActive(childUrl, currentUrl);\n\n if (childActive) {\n isActive = childActive;\n }\n\n return {\n title,\n url: childUrl,\n isActive: childActive,\n };\n }) ?? [];\n\n item.isActive = isActive;\n\n return item;\n });\n}\n\nfunction makeExternalUrl(\n url: string,\n currentUrl: string,\n isPlayground: boolean\n): string {\n if (isPlayground) {\n if (url.startsWith(PLAY_URL)) {\n return url.replace(PLAY_URL, '/');\n } else {\n return `${KOTLINLANG_URL}${url}`;\n }\n } else {\n return url;\n }\n}\n","// extracted by mini-css-extract-plugin\nexport const nav = \"ktl-horizontal-menu-module_nav_xYv4i\";\nexport const menuList = \"ktl-horizontal-menu-module_menu-list_7oi3W\";\nexport const menuItemWrap = \"ktl-horizontal-menu-module_menu-item-wrap_dnVf-\";\nexport const menuItem = \"ktl-horizontal-menu-module_menu-item_Z+YKZ\";\nexport const expanded = \"ktl-horizontal-menu-module_expanded_thibK\";\nexport const itemActive = \"ktl-horizontal-menu-module_item-active_+iyf-\";\nexport const dropdownMenu = \"ktl-horizontal-menu-module_dropdown-menu_dVOw-\";\nexport const fadeIn = \"ktl-horizontal-menu-module_fade-in_Q2pCx\";\nexport const darkTheme = \"ktl-horizontal-menu-module_dark-theme_Lp065\";\nexport const dropdownMenuItem = \"ktl-horizontal-menu-module_dropdown-menu-item_wRlcN\";\nexport const active = \"ktl-horizontal-menu-module_active_azHwP\";\nexport const dropdownMenuExpanded = \"ktl-horizontal-menu-module_dropdown-menu-expanded_L0RWy\";\nexport const dropdownMenuAlignRight = \"ktl-horizontal-menu-module_dropdown-menu-align-right_HS-oO\";","import classNames from 'classnames';\nimport React, { FC, useEffect, useState } from 'react';\nimport { Theme } from '@rescui/ui-contexts/lib/parts/theme-context';\nimport * as styles from './horizontal-menu.module.pcss';\nimport { MenuItem } from '../nav-scheme';\nimport { useTextStyles } from '@rescui/typography';\nimport { LinkHandler } from 'src/helper/link-handler';\n\ninterface DropdownMenuProps {\n items: MenuItem[];\n isExpanded: boolean;\n alignRight: boolean;\n linkHandler?: LinkHandler;\n}\n\nconst DropdownMenu: FC<DropdownMenuProps> = ({\n items,\n isExpanded,\n alignRight,\n linkHandler,\n}) => {\n const textCn = useTextStyles();\n\n return (\n <ul\n className={classNames(styles.dropdownMenu, textCn('rs-text-2'), {\n [styles.dropdownMenuExpanded]: isExpanded,\n [styles.dropdownMenuAlignRight]: alignRight,\n })}\n >\n {items.map((item, key) => {\n const Tag = !item.isActive && item.url ? 'a' : 'span';\n\n return (\n <li key={key}>\n <Tag\n className={classNames(styles.dropdownMenuItem, {\n [styles.active]: item.isActive,\n })}\n {...(item.url\n ? {\n href: item.url,\n onClick: linkHandler\n ? (event) => item.url && linkHandler(event, item.url)\n : undefined,\n }\n : {})}\n >\n {item.title}\n </Tag>\n </li>\n );\n })}\n </ul>\n );\n};\n\ninterface HorizontalMenuItemProps {\n item: MenuItem;\n onMouseEnter: (item: MenuItem) => void;\n onMouseLeave: () => void;\n isExpanded: boolean;\n isLast: boolean;\n linkHandler?: LinkHandler;\n}\n\nconst HorizontalMenuItem: FC<HorizontalMenuItemProps> = ({\n item,\n onMouseEnter,\n onMouseLeave,\n isExpanded,\n isLast,\n linkHandler,\n}) => {\n const Tag = item.isActive || !item.url ? 'span' : 'a';\n const textCn = useTextStyles();\n const handleEnter = () => onMouseEnter(item);\n\n return (\n <li\n className={styles.menuItemWrap}\n onMouseEnter={handleEnter}\n onMouseLeave={onMouseLeave}\n >\n <Tag\n {...(item.url\n ? {\n href: item.url,\n onClick: linkHandler\n ? (event) => item.url && linkHandler(event, item.url)\n : undefined,\n }\n : {})}\n key={item.title}\n className={classNames(styles.menuItem, textCn('rs-text-2'), {\n [styles.itemActive]: item.isActive,\n [styles.expanded]: isExpanded && !!item.items?.length,\n })}\n >\n {item.title}\n </Tag>\n {!!item.items?.length && (\n <DropdownMenu\n items={item.items}\n isExpanded={isExpanded}\n alignRight={isLast}\n linkHandler={linkHandler}\n />\n )}\n </li>\n );\n};\n\ninterface HorizontalMenuProps {\n items: MenuItem[];\n theme: Theme;\n linkHandler?: LinkHandler;\n}\n\nexport const HorizontalMenu: FC<HorizontalMenuProps> = ({\n items,\n theme,\n linkHandler,\n}) => {\n const [activeIndex, setActiveIndex] = useState(-1);\n const [debouncedActiveIndex, setDebouncedActiveIndex] = useState(activeIndex);\n\n useEffect(() => {\n const handler = setTimeout(\n () => setDebouncedActiveIndex(activeIndex),\n activeIndex !== -1 ? 200 : 400\n );\n return () => clearTimeout(handler);\n }, [activeIndex]);\n\n const handleEnter = (item: MenuItem) =>\n setActiveIndex(items.findIndex((val) => val === item));\n const handleLeave = () => setActiveIndex(-1);\n\n return (\n <nav\n className={classNames(styles.nav, {\n [styles.darkTheme]: theme === 'dark',\n })}\n >\n <ul className={styles.menuList}>\n {items.map((item, index) => (\n <HorizontalMenuItem\n item={item}\n onMouseEnter={handleEnter}\n onMouseLeave={handleLeave}\n isExpanded={index === debouncedActiveIndex}\n isLast={index === items.length - 1}\n key={index}\n linkHandler={linkHandler}\n />\n ))}\n </ul>\n </nav>\n );\n};\n","var _path;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport * as React from \"react\";\n\nfunction SvgSearch(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M15.847 6.861A6.99 6.99 0 009.587 3a6.997 6.997 0 104.186 12.601l6.106 6.106 1.414-1.414-6.107-6.106a6.99 6.99 0 00.66-7.326zM14.587 10a5 5 0 11-10.001 0 5 5 0 0110 0z\",\n fill: \"currentColor\"\n })));\n}\n\nexport default SvgSearch;","import React, { FC } from 'react';\nimport * as styles from './search-button.pcss';\nimport classNames from 'classnames';\nimport SearchIcon from './search.svg';\n\ninterface SearchButtonProps {\n onClick?: () => void;\n isActive: boolean;\n}\nexport const SearchButton: FC<SearchButtonProps> = ({ onClick, isActive }) => {\n return (\n <button\n type=\"button\"\n className={classNames(styles.button, {\n [styles.active]: isActive,\n })}\n aria-label=\"Search\"\n onClick={onClick}\n >\n <SearchIcon />\n </button>\n );\n};\n","// extracted by mini-css-extract-plugin\nexport const button = \"ktl-search-button_button_JUyxv\";\nexport const active = \"ktl-search-button_active_G-dk1\";","var _path;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport * as React from \"react\";\n\nfunction SvgHamburgerIcon(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M4 5h16v2H4V5zm0 6h16v2H4v-2zm16 6H4v2h16v-2z\",\n fill: \"currentColor\"\n })));\n}\n\nexport default SvgHamburgerIcon;","var _path;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport * as React from \"react\";\n\nfunction SvgCloseIcon(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 16,\n height: 16,\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M15.707 1.707L14.293.293 8 6.586 1.707.293.293 1.707 6.586 8 .293 14.293l1.414 1.414L8 9.414l6.293 6.293 1.414-1.414L9.414 8l6.293-6.293z\",\n fill: \"currentColor\"\n })));\n}\n\nexport default SvgCloseIcon;","import React, { FC } from 'react';\nimport * as styles from './menu-button.pcss';\nimport classNames from 'classnames';\nimport HamburgerIcon from './hamburger-icon.svg';\nimport CloseIcon from './close-icon.svg';\n\ninterface MenuButtonProps {\n onClick: () => void;\n isExpanded: boolean;\n}\n\nexport const MenuButton: FC<MenuButtonProps> = ({ onClick, isExpanded }) => {\n return (\n <button\n type=\"button\"\n className={classNames(styles.button)}\n aria-haspopup=\"true\"\n aria-label=\"Open the navigation\"\n onClick={onClick}\n >\n {isExpanded ? <CloseIcon /> : <HamburgerIcon />}\n </button>\n );\n};\n","// extracted by mini-css-extract-plugin\nexport const button = \"ktl-menu-button_button_InVin\";","import React, {\n CSSProperties,\n FC,\n Fragment,\n useCallback,\n useLayoutEffect,\n useState,\n} from 'react';\nimport * as styles from './menu-popup.module.pcss';\nimport { MenuItem } from '../nav-scheme';\nimport classNames from 'classnames';\nimport { MenuButton } from './menu-button/menu-button';\nimport { useTextStyles } from '@rescui/typography';\nimport { LinkHandler } from 'src/helper/link-handler';\n\ninterface MenuItemProps {\n item: MenuItem;\n level: number;\n linkHandler?: LinkHandler;\n}\n\ninterface MenuItemStyle extends CSSProperties {\n '--level': number;\n}\n\nconst MenuListItem: FC<MenuItemProps> = ({ item, level, linkHandler }) => {\n const Tag = item.url ? 'a' : 'span';\n const style: MenuItemStyle = {\n '--level': level,\n };\n\n return (\n <Tag\n {...(item.url\n ? {\n href: item.url,\n onClick: linkHandler\n ? (event) => item.url && linkHandler(event, item.url)\n : undefined,\n }\n : {})}\n className={classNames(styles.menuItem, {\n [styles.menuItemRoot]: level === 0,\n [styles.active]: item.isActive,\n [styles.activeWithChild]: item.items && item.items.length,\n })}\n style={style}\n >\n {item.title}\n </Tag>\n );\n};\n\ninterface MenuListProps {\n items: MenuItem[];\n level: number;\n linkHandler?: LinkHandler;\n}\n\nconst MenuList: FC<MenuListProps> = ({ items, level, linkHandler }) => {\n return (\n <>\n {items.map((item, i) => (\n <Fragment key={i}>\n <MenuListItem item={item} level={level} linkHandler={linkHandler} />\n {item.items && item.items.length > 0 && (\n <MenuList items={item.items} level={level + 1} linkHandler={linkHandler} />\n )}\n </Fragment>\n ))}\n </>\n );\n};\n\ninterface MenuPopupProps {\n items: MenuItem[];\n isExpanded: boolean;\n setExpand: React.Dispatch<React.SetStateAction<boolean>>;\n headerRef: React.RefObject<HTMLElement>;\n linkHandler?: LinkHandler;\n}\n\ninterface NavStyles {\n top?: number;\n}\n\nexport const MenuPopup: FC<MenuPopupProps> = ({\n items,\n isExpanded,\n setExpand,\n headerRef,\n linkHandler,\n}) => {\n const textCn = useTextStyles();\n const [navStyle, setNavStyle] = useState<NavStyles>({});\n\n useLayoutEffect(() => {\n if (headerRef.current) {\n setNavStyle({ top: headerRef.current.getBoundingClientRect().bottom });\n }\n }, [isExpanded]);\n\n const handleClick = useCallback(() => {\n if (typeof document !== `undefined`) {\n document.body.classList.toggle(styles.noScrollable, !isExpanded);\n }\n setExpand(!isExpanded);\n }, [isExpanded]);\n\n return (\n <>\n <MenuButton onClick={handleClick} isExpanded={isExpanded} />\n\n <nav\n style={navStyle}\n className={classNames(styles.menuPopup, textCn('rs-text-2'), {\n [styles.menuPopupExpanded]: isExpanded,\n })}\n >\n <MenuList items={items} level={0} linkHandler={linkHandler} />\n </nav>\n </>\n );\n};\n","// extracted by mini-css-extract-plugin\nexport const menuPopup = \"ktl-menu-popup-module_menu-popup_Yqtnq\";\nexport const menuItem = \"ktl-menu-popup-module_menu-item_f6wvh\";\nexport const active = \"ktl-menu-popup-module_active_DrZav\";\nexport const activeWithChild = \"ktl-menu-popup-module_active-with-child_BDnrW\";\nexport const menuItemRoot = \"ktl-menu-popup-module_menu-item-root_C-hkN\";\nexport const menuPopupExpanded = \"ktl-menu-popup-module_menu-popup-expanded_FlujR\";\nexport const noScrollable = \"ktl-menu-popup-module_no-scrollable_vFAwD\";","var _radialGradient, _path;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport * as React from \"react\";\n\nfunction SvgKotlinLogoSmall(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\"\n }, props), _radialGradient || (_radialGradient = /*#__PURE__*/React.createElement(\"radialGradient\", {\n id: \"kotlin-logo-small_svg__a\",\n cx: 22.432,\n cy: 3.493,\n r: 21.679,\n gradientTransform: \"translate(-.19 .042) scale(.9998)\",\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.003,\n stopColor: \"#e44857\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.469,\n stopColor: \"#c711e1\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#7f52ff\"\n }))), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"url(#kotlin-logo-small_svg__a)\",\n d: \"M22.87 21.68H3.94V2.76h18.93l-9.66 9.32z\"\n })));\n}\n\nexport default SvgKotlinLogoSmall;","// extracted by mini-css-extract-plugin\nexport const logoSmall = \"ktl-logo-small-module_logo-small_7ddNl\";\nexport const link = \"ktl-logo-small-module_link_6gruv\";\nexport const iconWrap = \"ktl-logo-small-module_icon-wrap_BFVBd\";\nexport const icon = \"ktl-logo-small-module_icon_JM+yC\";","import React, { FC } from 'react';\nimport KotlinLogoSmall from './kotlin-logo-small.svg';\nimport * as styles from './logo-small.module.pcss';\nimport classNames from 'classnames';\nimport { useTextStyles } from '@rescui/typography';\nimport { KOTLINLANG_URL } from 'src/consts';\n\ninterface LogoSmallProps {\n homeUrl: string;\n homeTitle: string;\n className?: string;\n}\n\nexport const LogoSmall: FC<LogoSmallProps> = ({\n homeTitle,\n homeUrl,\n className,\n}) => {\n const textCn = useTextStyles();\n\n return (\n <div className={classNames(styles.logoSmall, className)}>\n <a href={KOTLINLANG_URL} className={styles.iconWrap}>\n <KotlinLogoSmall className={styles.icon} />\n </a>\n <a href={homeUrl} className={classNames(styles.link, textCn('rs-h3'))}>\n {homeTitle}\n </a>\n </div>\n );\n};\n","import React, {\n FC,\n ForwardedRef,\n forwardRef,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport { ThemeProvider } from '@rescui/ui-contexts';\nimport { Theme } from '@rescui/ui-contexts/lib/parts/theme-context';\nimport { LogoLarge } from './logo-large/logo-large';\nimport * as styles from './header.module.pcss';\nimport { getNavScheme } from './nav-scheme';\nimport { HorizontalMenu } from './horizontal-menu/horizontal-menu';\nimport { SearchButton } from './search-button/search-button';\nimport { MenuPopup } from './menu-popup/menu-popup';\nimport { LogoSmall } from './logo-small/logo-small';\nimport classNames from 'classnames';\nimport { LinkHandler } from 'src/helper/link-handler';\nimport { IsUrlActive } from 'src/helper/is-url-active';\n\nexport interface HeaderProps {\n currentUrl?: string;\n currentTitle?: string;\n productWebUrl?: string;\n hasSearch?: boolean;\n onSearchClick?: () => void;\n className?: string;\n hasBorder?: boolean;\n dropdownTheme?: Theme;\n linkHandler?: LinkHandler;\n isPlayground?: boolean;\n isUrlActive?: IsUrlActive;\n}\n\nexport const Header: FC<HeaderProps> = forwardRef(\n (\n {\n productWebUrl,\n hasSearch = false,\n onSearchClick,\n currentUrl,\n currentTitle,\n className,\n hasBorder = true,\n dropdownTheme = 'dark',\n linkHandler,\n isPlayground,\n isUrlActive,\n },\n forwardedRef?: ForwardedRef<null | HTMLElement>\n ) => {\n const [menuPopupExpanded, setMenuPopupExpanded] = useState(false);\n const items = useMemo(\n () => getNavScheme(isUrlActive, currentUrl, isPlayground),\n [isUrlActive, currentUrl, isPlayground]\n );\n const headerRef = useRef<null | HTMLElement>(null);\n useImperativeHandle<null | HTMLElement, null | HTMLElement>(\n forwardedRef,\n () => headerRef.current\n );\n\n return (\n <ThemeProvider theme={'dark'}>\n <header\n ref={headerRef}\n className={classNames(styles.headerMenu, className, {\n [styles.withMenuPopup]: menuPopupExpanded,\n [styles.border]: hasBorder,\n })}\n >\n <LogoLarge\n productWebUrl={productWebUrl}\n className={\n !!currentTitle && !!currentUrl && !menuPopupExpanded\n ? styles.logoHide\n : null\n }\n />\n {!!currentTitle && !!currentUrl && (\n <LogoSmall\n homeTitle={currentTitle}\n homeUrl={currentUrl}\n className={menuPopupExpanded ? styles.logoHide : null}\n />\n )}\n\n <HorizontalMenu\n items={items}\n theme={dropdownTheme}\n linkHandler={linkHandler}\n />\n\n {\n <SearchButton\n onClick={onSearchClick}\n isActive={hasSearch && !!onSearchClick}\n />\n }\n\n <MenuPopup\n items={items}\n setExpand={setMenuPopupExpanded}\n isExpanded={menuPopupExpanded}\n headerRef={headerRef}\n linkHandler={linkHandler}\n />\n </header>\n </ThemeProvider>\n );\n }\n);\n","import { Header } from './header';\nexport default Header;\n\nexport * from './nav-scheme';\n"],"names":["hasOwn","hasOwnProperty","classNames","classes","i","arguments","length","arg","argType","push","Array","isArray","inner","apply","toString","Object","prototype","key","call","join","module","exports","default","f","g","Fragment","Symbol","for","h","m","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","ReactCurrentOwner","n","p","ref","__self","__source","q","c","a","k","b","d","e","l","defaultProps","$$typeof","type","props","_owner","current","jsx","jsxs","require","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","__webpack_modules__","getter","__esModule","definition","o","defineProperty","enumerable","get","obj","prop","r","toStringTag","value","_radialGradient","_path","_g","_extends","assign","target","source","this","xmlns","viewBox","id","cx","cy","gradientTransform","gradientUnits","offset","stopColor","fill","KOTLINLANG_URL","LogoLarge","productWebUrl","className","version","match","exec","getProductVersion","textCn","useTextStyles","hardness","href","logoHide","SOLUTIONS_TITLE","MULTIPLATFORM_MOBILE_TITLE","MULTIPLATFORM_MOBILE_URL","SERVER_SIDE_TITLE","SERVER_SIDE_URL","WEB_FRONTEND_TITLE","WEB_FRONTEND_URL","DATA_SCIENCE_TITLE","DATA_SCIENCE_URL","ANDROID_TITLE","ANDROID_URL","DOCS_TITLE","DOCS_URL","COMMUNITY_TITLE","COMMUNITY_URL","TEACH_TITLE","TEACH_URL","PLAY_TITLE","PLAY_TITLE_FULL","PLAY_URL","PLAY_HANDSON_URL","PLAY_HANDSON_TITLE","PLAY_EXAMPLES_URL","PLAY_EXAMPLES_TITLE","PLAY_KOANS_URL","PLAY_KOANS_TITLE","KOTLIN_DOCS_TITLE","KOTLIN_DOCS_URL","KMM_DOCS_TITLE","KMM_DOCS_URL","navScheme","title","url","items","getNavScheme","isUrlActive","currentUrl","isPlayground","map","makeExternalUrl","item","isActive","childUrl","childActive","startsWith","replace","DropdownMenu","isExpanded","alignRight","linkHandler","Tag","onClick","event","HorizontalMenuItem","onMouseEnter","onMouseLeave","isLast","HorizontalMenu","theme","activeIndex","setActiveIndex","useState","debouncedActiveIndex","setDebouncedActiveIndex","useEffect","handler","setTimeout","clearTimeout","handleEnter","findIndex","val","handleLeave","index","width","height","fillRule","clipRule","SearchButton","MenuButton","MenuListItem","level","style","MenuList","MenuPopup","setExpand","headerRef","navStyle","setNavStyle","useLayoutEffect","top","getBoundingClientRect","bottom","handleClick","useCallback","document","body","classList","toggle","LogoSmall","homeTitle","homeUrl","Header","forwardRef","forwardedRef","hasSearch","onSearchClick","currentTitle","hasBorder","dropdownTheme","menuPopupExpanded","setMenuPopupExpanded","useMemo","useRef","useImperativeHandle","ThemeProvider","styles"],"sourceRoot":""}
@@ -1 +1 @@
1
- {"version":3,"file":"topMenu.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/external commonjs2 {\"commonjs\":\"@rescui/typography\",\"commonjs2\":\"@rescui/typography\"}","webpack://@jetbrains/kotlin-web-site-ui/./src/components/top-menu/horizontal-menu/horizontal-menu.tsx","webpack://@jetbrains/kotlin-web-site-ui/./src/components/top-menu/horizontal-menu/horizontal-menu.module.pcss?cd97","webpack://@jetbrains/kotlin-web-site-ui/external commonjs2 {\"commonjs2\":\"react-dom\",\"commonjs\":\"react-dom\"}","webpack://@jetbrains/kotlin-web-site-ui/./src/components/top-menu/dropdown-menu/arrow-dropdown-icon.svg","webpack://@jetbrains/kotlin-web-site-ui/./src/components/top-menu/dropdown-menu/dropdown-menu.tsx","webpack://@jetbrains/kotlin-web-site-ui/./src/components/top-menu/dropdown-menu/dropdown-menu.module.pcss?2bdf","webpack://@jetbrains/kotlin-web-site-ui/./src/components/top-menu/index.ts","webpack://@jetbrains/kotlin-web-site-ui/./src/components/top-menu/top-menu.tsx","webpack://@jetbrains/kotlin-web-site-ui/./src/components/top-menu/top-menu.module.pcss?c786"],"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 __WEBPACK_NAMESPACE_OBJECT__ = require(\"@rescui/typography\");","import React, { FC, useCallback } from 'react';\nimport classNames from 'classnames';\nimport * as styles from './horizontal-menu.module.pcss';\nimport { LinkHandler, TopMenuItem } from '../top-menu';\nimport { useTextStyles } from '@rescui/typography';\n\ninterface HorizontalMenuItemProps {\n item: TopMenuItem;\n isActive: boolean;\n linkHandler: LinkHandler;\n isExternal?: boolean;\n}\n\nconst HorizontalMenuItem: FC<HorizontalMenuItemProps> = ({\n item,\n isActive,\n linkHandler,\n}) => {\n const textCn = useTextStyles();\n const handleLink = useCallback((event) => linkHandler(event, item.url), [\n item,\n ]);\n\n return isActive ? (\n <span key={item.url} className={styles.itemActive}>\n {item.title}\n </span>\n ) : (\n <a\n href={item.url}\n key={item.url}\n className={classNames(\n styles.item,\n textCn('rs-link', {\n hardness: 'average',\n mode: 'nude',\n })\n )}\n onClick={handleLink}\n target={item.isExternal ? '_blank' : undefined}\n >\n {item.title}\n </a>\n );\n};\n\ninterface HorizontalMenuProps {\n items: TopMenuItem[];\n activeIndex: number;\n linkHandler: LinkHandler;\n}\n\nexport const HorizontalMenu: FC<HorizontalMenuProps> = ({\n items,\n activeIndex,\n linkHandler,\n}) => {\n const textCn = useTextStyles();\n\n return (\n <nav className={classNames(styles.horizontalMenu, textCn('rs-text-2'))}>\n {items.map((item, index) => (\n <HorizontalMenuItem\n key={item.url}\n isActive={index === activeIndex}\n item={item}\n linkHandler={linkHandler}\n />\n ))}\n </nav>\n );\n};\n","// extracted by mini-css-extract-plugin\nexport const horizontalMenu = \"ktl-horizontal-menu-module_horizontal-menu_+69oF\";\nexport const item = \"ktl-horizontal-menu-module_item_cVqGK\";\nexport const itemActive = \"ktl-horizontal-menu-module_item-active_UdEV9\";","var __WEBPACK_NAMESPACE_OBJECT__ = require(\"react-dom\");","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 SvgArrowDropdownIcon(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 12 6\",\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: \"M6 6l5.25-6H.75L6 6z\",\n fill: \"currentColor\"\n })));\n}\n\nexport default SvgArrowDropdownIcon;","import React, { FC, useState } from 'react';\nimport ReactDOM from 'react-dom';\nimport classNames from 'classnames';\nimport * as styles from './dropdown-menu.module.pcss';\nimport { TopMenuItem, TopMenuProps } from '../top-menu';\nimport { useTextStyles } from '@rescui/typography';\nimport ArrowDropdownIcon from './arrow-dropdown-icon.svg';\nimport { useTheme } from '@rescui/ui-contexts';\n\nexport const DropdownMenu: FC<TopMenuProps> = ({\n homeUrl,\n title,\n mobileTitle = 'Overview',\n items,\n activeIndex,\n linkHandler,\n mobileOverview= true,\n}) => {\n const theme = useTheme();\n const textCn = useTextStyles();\n const [portalRoot, setPortalRoot] = React.useState<null | HTMLElement>(null);\n\n React.useEffect(() => {\n if (typeof document !== `undefined`) {\n setPortalRoot(document.body);\n }\n }, []);\n\n let _items: TopMenuItem[] = (mobileOverview ? [\n {\n title: mobileTitle,\n url: homeUrl,\n },\n ] : []).concat(items);\n const _activeIndex = mobileOverview ? activeIndex + 1 : activeIndex;\n const activeItem = _items[_activeIndex];\n\n const [isExpanded, setIsExpanded] = useState(false);\n\n const handleClick = () => setIsExpanded(!isExpanded);\n\n return (\n <>\n <div\n className={classNames(styles.dropdownMenu, {\n [styles.dropdownMenuExpanded]: isExpanded,\n })}\n onClick={handleClick}\n >\n <button\n className={classNames(styles.button, textCn('rs-text-2'))}\n aria-haspopup=\"true\"\n >\n <span>{activeItem.title}</span>\n <ArrowDropdownIcon className={styles.icon} />\n </button>\n <nav\n className={classNames(styles.dropdownList, {\n [styles.dropdownListDarkTheme]: theme === 'dark',\n })}\n >\n {_items.map((item, index) => (\n <a\n key={item.url}\n href={item.url}\n className={classNames(styles.dropdownItem, textCn('rs-text-2'), {\n [styles.dropdownItemActive]: index === _activeIndex,\n })}\n onClick={(event) => linkHandler?.(event, item.url)}\n target={item.isExternal ? '_blank' : undefined}\n >\n {item.title}\n </a>\n ))}\n </nav>\n </div>\n {!!portalRoot &&\n ReactDOM.createPortal(\n <div\n className={classNames(styles.overlay, {\n [styles.overlayVisible]: isExpanded,\n })}\n onClick={handleClick}\n />,\n portalRoot\n )}\n </>\n );\n};\n","// extracted by mini-css-extract-plugin\nexport const dropdownMenu = \"ktl-dropdown-menu-module_dropdown-menu_ATySd\";\nexport const button = \"ktl-dropdown-menu-module_button_jpeWY\";\nexport const icon = \"ktl-dropdown-menu-module_icon_Gji3K\";\nexport const dropdownList = \"ktl-dropdown-menu-module_dropdown-list_KhZ+W\";\nexport const fadein = \"ktl-dropdown-menu-module_fadein_Bi4oK\";\nexport const dropdownItem = \"ktl-dropdown-menu-module_dropdown-item_eDMDc\";\nexport const dropdownItemActive = \"ktl-dropdown-menu-module_dropdown-item-active_xFQCy\";\nexport const overlay = \"ktl-dropdown-menu-module_overlay_amD9X\";\nexport const overlayVisible = \"ktl-dropdown-menu-module_overlay-visible_VPKnR\";\nexport const dropdownMenuExpanded = \"ktl-dropdown-menu-module_dropdown-menu-expanded_e8NhY\";\nexport const dropdownListDarkTheme = \"ktl-dropdown-menu-module_dropdown-list-dark-theme_t7aA6\";","import { TopMenu } from './top-menu';\nexport default TopMenu;\n","import React, { FC, ForwardedRef, MouseEvent } from 'react';\nimport { useTheme } from '@rescui/ui-contexts';\nimport classNames from 'classnames';\nimport * as styles from './top-menu.module.pcss';\nimport { useTextStyles } from '@rescui/typography';\nimport { HorizontalMenu } from './horizontal-menu/horizontal-menu';\nimport { DropdownMenu } from './dropdown-menu/dropdown-menu';\n\nexport type LinkHandler = (\n event: MouseEvent<HTMLAnchorElement>,\n url: string\n) => void;\n\nexport interface TopMenuProps {\n homeUrl: string;\n title: string;\n mobileTitle?: string;\n activeIndex: number;\n items: TopMenuItem[];\n linkHandler?: LinkHandler;\n className?: string;\n forwardedRef?: ForwardedRef<HTMLDivElement>;\n mobileOverview?: boolean;\n}\n\nexport interface TopMenuItem {\n title: string;\n url: string;\n isExternal?: boolean;\n}\n\nexport const TopMenu: FC<TopMenuProps> = ({\n homeUrl,\n title,\n mobileTitle,\n activeIndex,\n items,\n linkHandler = () => {},\n className,\n children,\n forwardedRef,\n mobileOverview ,\n}) => {\n const theme = useTheme();\n const textCn = useTextStyles();\n\n return (\n <div\n className={classNames(styles.topMenu, className, {\n [styles.topMenuDarkTheme]: theme === 'dark',\n })}\n ref={forwardedRef}\n >\n <a\n href={homeUrl}\n className={classNames(styles.logo, textCn('rs-h3'))}\n onClick={(event) => linkHandler(event, homeUrl)}\n >\n {title}\n </a>\n\n <DropdownMenu\n items={items}\n activeIndex={activeIndex}\n linkHandler={linkHandler}\n title={title}\n mobileTitle={mobileTitle}\n homeUrl={homeUrl}\n mobileOverview={mobileOverview}\n />\n\n <HorizontalMenu\n items={items}\n activeIndex={activeIndex}\n linkHandler={linkHandler}\n />\n\n {children}\n </div>\n );\n};\n","// extracted by mini-css-extract-plugin\nexport const topMenu = \"ktl-top-menu-module_top-menu_Rjem1\";\nexport const topMenuDarkTheme = \"ktl-top-menu-module_top-menu-dark-theme_2Q+2W\";\nexport const logo = \"ktl-top-menu-module_logo_NvS8U\";"],"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","HorizontalMenuItem","item","isActive","linkHandler","textCn","useTextStyles","handleLink","useCallback","event","url","className","title","href","hardness","mode","onClick","target","isExternal","HorizontalMenu","items","activeIndex","map","index","_path","_extends","assign","source","this","viewBox","fill","xmlns","fillRule","clipRule","DropdownMenu","homeUrl","mobileTitle","mobileOverview","theme","useTheme","portalRoot","setPortalRoot","React","document","body","_items","concat","_activeIndex","activeItem","isExpanded","setIsExpanded","useState","handleClick","ReactDOM","children","forwardedRef"],"sourceRoot":""}
1
+ {"version":3,"file":"topMenu.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/external commonjs2 {\"commonjs\":\"@rescui/typography\",\"commonjs2\":\"@rescui/typography\"}","webpack://@jetbrains/kotlin-web-site-ui/./src/components/top-menu/horizontal-menu/horizontal-menu.tsx","webpack://@jetbrains/kotlin-web-site-ui/./src/components/top-menu/horizontal-menu/horizontal-menu.module.pcss?cd97","webpack://@jetbrains/kotlin-web-site-ui/external commonjs2 {\"commonjs2\":\"react-dom\",\"commonjs\":\"react-dom\"}","webpack://@jetbrains/kotlin-web-site-ui/./src/components/top-menu/dropdown-menu/arrow-dropdown-icon.svg","webpack://@jetbrains/kotlin-web-site-ui/./src/components/top-menu/dropdown-menu/dropdown-menu.tsx","webpack://@jetbrains/kotlin-web-site-ui/./src/components/top-menu/dropdown-menu/dropdown-menu.module.pcss?2bdf","webpack://@jetbrains/kotlin-web-site-ui/./src/components/top-menu/index.ts","webpack://@jetbrains/kotlin-web-site-ui/./src/components/top-menu/top-menu.tsx","webpack://@jetbrains/kotlin-web-site-ui/./src/components/top-menu/top-menu.module.pcss?c786"],"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 __WEBPACK_NAMESPACE_OBJECT__ = require(\"@rescui/typography\");","import React, { FC, useCallback } from 'react';\nimport classNames from 'classnames';\nimport * as styles from './horizontal-menu.module.pcss';\nimport { TopMenuItem } from '../top-menu';\nimport { useTextStyles } from '@rescui/typography';\nimport { LinkHandler } from 'src/helper/link-handler';\n\ninterface HorizontalMenuItemProps {\n item: TopMenuItem;\n isActive: boolean;\n linkHandler: LinkHandler;\n isExternal?: boolean;\n}\n\nconst HorizontalMenuItem: FC<HorizontalMenuItemProps> = ({\n item,\n isActive,\n linkHandler,\n}) => {\n const textCn = useTextStyles();\n const handleLink = useCallback((event) => linkHandler(event, item.url), [\n item,\n ]);\n\n return isActive ? (\n <span key={item.url} className={styles.itemActive}>\n {item.title}\n </span>\n ) : (\n <a\n href={item.url}\n key={item.url}\n className={classNames(\n styles.item,\n textCn('rs-link', {\n hardness: 'average',\n mode: 'nude',\n })\n )}\n onClick={handleLink}\n target={item.isExternal ? '_blank' : undefined}\n >\n {item.title}\n </a>\n );\n};\n\ninterface HorizontalMenuProps {\n items: TopMenuItem[];\n activeIndex: number;\n linkHandler: LinkHandler;\n}\n\nexport const HorizontalMenu: FC<HorizontalMenuProps> = ({\n items,\n activeIndex,\n linkHandler,\n}) => {\n const textCn = useTextStyles();\n\n return (\n <nav className={classNames(styles.horizontalMenu, textCn('rs-text-2'))}>\n {items.map((item, index) => (\n <HorizontalMenuItem\n key={item.url}\n isActive={index === activeIndex}\n item={item}\n linkHandler={linkHandler}\n />\n ))}\n </nav>\n );\n};\n","// extracted by mini-css-extract-plugin\nexport const horizontalMenu = \"ktl-horizontal-menu-module_horizontal-menu_+69oF\";\nexport const item = \"ktl-horizontal-menu-module_item_cVqGK\";\nexport const itemActive = \"ktl-horizontal-menu-module_item-active_UdEV9\";","var __WEBPACK_NAMESPACE_OBJECT__ = require(\"react-dom\");","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 SvgArrowDropdownIcon(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 12 6\",\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: \"M6 6l5.25-6H.75L6 6z\",\n fill: \"currentColor\"\n })));\n}\n\nexport default SvgArrowDropdownIcon;","import React, { FC, useState } from 'react';\nimport ReactDOM from 'react-dom';\nimport classNames from 'classnames';\nimport * as styles from './dropdown-menu.module.pcss';\nimport { TopMenuItem, TopMenuProps } from '../top-menu';\nimport { useTextStyles } from '@rescui/typography';\nimport ArrowDropdownIcon from './arrow-dropdown-icon.svg';\nimport { useTheme } from '@rescui/ui-contexts';\n\nexport const DropdownMenu: FC<TopMenuProps> = ({\n homeUrl,\n title,\n mobileTitle = 'Overview',\n items,\n activeIndex,\n linkHandler,\n mobileOverview= true,\n}) => {\n const theme = useTheme();\n const textCn = useTextStyles();\n const [portalRoot, setPortalRoot] = React.useState<null | HTMLElement>(null);\n\n React.useEffect(() => {\n if (typeof document !== `undefined`) {\n setPortalRoot(document.body);\n }\n }, []);\n\n let _items: TopMenuItem[] = (mobileOverview ? [\n {\n title: mobileTitle,\n url: homeUrl,\n },\n ] : []).concat(items);\n const _activeIndex = mobileOverview ? activeIndex + 1 : activeIndex;\n const activeItem = _items[_activeIndex];\n\n const [isExpanded, setIsExpanded] = useState(false);\n\n const handleClick = () => setIsExpanded(!isExpanded);\n\n return (\n <>\n <div\n className={classNames(styles.dropdownMenu, {\n [styles.dropdownMenuExpanded]: isExpanded,\n })}\n onClick={handleClick}\n >\n <button\n className={classNames(styles.button, textCn('rs-text-2'))}\n aria-haspopup=\"true\"\n >\n <span>{activeItem.title}</span>\n <ArrowDropdownIcon className={styles.icon} />\n </button>\n <nav\n className={classNames(styles.dropdownList, {\n [styles.dropdownListDarkTheme]: theme === 'dark',\n })}\n >\n {_items.map((item, index) => (\n <a\n key={item.url}\n href={item.url}\n className={classNames(styles.dropdownItem, textCn('rs-text-2'), {\n [styles.dropdownItemActive]: index === _activeIndex,\n })}\n onClick={(event) => linkHandler?.(event, item.url)}\n target={item.isExternal ? '_blank' : undefined}\n >\n {item.title}\n </a>\n ))}\n </nav>\n </div>\n {!!portalRoot &&\n ReactDOM.createPortal(\n <div\n className={classNames(styles.overlay, {\n [styles.overlayVisible]: isExpanded,\n })}\n onClick={handleClick}\n />,\n portalRoot\n )}\n </>\n );\n};\n","// extracted by mini-css-extract-plugin\nexport const dropdownMenu = \"ktl-dropdown-menu-module_dropdown-menu_ATySd\";\nexport const button = \"ktl-dropdown-menu-module_button_jpeWY\";\nexport const icon = \"ktl-dropdown-menu-module_icon_Gji3K\";\nexport const dropdownList = \"ktl-dropdown-menu-module_dropdown-list_KhZ+W\";\nexport const fadein = \"ktl-dropdown-menu-module_fadein_Bi4oK\";\nexport const dropdownItem = \"ktl-dropdown-menu-module_dropdown-item_eDMDc\";\nexport const dropdownItemActive = \"ktl-dropdown-menu-module_dropdown-item-active_xFQCy\";\nexport const overlay = \"ktl-dropdown-menu-module_overlay_amD9X\";\nexport const overlayVisible = \"ktl-dropdown-menu-module_overlay-visible_VPKnR\";\nexport const dropdownMenuExpanded = \"ktl-dropdown-menu-module_dropdown-menu-expanded_e8NhY\";\nexport const dropdownListDarkTheme = \"ktl-dropdown-menu-module_dropdown-list-dark-theme_t7aA6\";","import { TopMenu } from './top-menu';\nexport default TopMenu;\n","import React, { FC, ForwardedRef } from 'react';\nimport { useTheme } from '@rescui/ui-contexts';\nimport classNames from 'classnames';\nimport * as styles from './top-menu.module.pcss';\nimport { useTextStyles } from '@rescui/typography';\nimport { HorizontalMenu } from './horizontal-menu/horizontal-menu';\nimport { DropdownMenu } from './dropdown-menu/dropdown-menu';\nimport { LinkHandler } from 'src/helper/link-handler';\n\nexport interface TopMenuProps {\n homeUrl: string;\n title: string;\n mobileTitle?: string;\n activeIndex: number;\n items: TopMenuItem[];\n linkHandler?: LinkHandler;\n className?: string;\n forwardedRef?: ForwardedRef<HTMLDivElement>;\n mobileOverview?: boolean;\n}\n\nexport interface TopMenuItem {\n title: string;\n url: string;\n isExternal?: boolean;\n}\n\nexport const TopMenu: FC<TopMenuProps> = ({\n homeUrl,\n title,\n mobileTitle,\n activeIndex,\n items,\n linkHandler = () => {},\n className,\n children,\n forwardedRef,\n mobileOverview\n}) => {\n const theme = useTheme();\n const textCn = useTextStyles();\n\n return (\n <div\n className={classNames(styles.topMenu, className, {\n [styles.topMenuDarkTheme]: theme === 'dark',\n })}\n ref={forwardedRef}\n >\n <a\n href={homeUrl}\n className={classNames(styles.logo, textCn('rs-h3'))}\n onClick={(event) => linkHandler(event, homeUrl)}\n >\n {title}\n </a>\n\n <DropdownMenu\n items={items}\n activeIndex={activeIndex}\n linkHandler={linkHandler}\n title={title}\n mobileTitle={mobileTitle}\n homeUrl={homeUrl}\n mobileOverview={mobileOverview}\n />\n\n <HorizontalMenu\n items={items}\n activeIndex={activeIndex}\n linkHandler={linkHandler}\n />\n\n {children}\n </div>\n );\n};\n","// extracted by mini-css-extract-plugin\nexport const topMenu = \"ktl-top-menu-module_top-menu_Rjem1\";\nexport const topMenuDarkTheme = \"ktl-top-menu-module_top-menu-dark-theme_2Q+2W\";\nexport const logo = \"ktl-top-menu-module_logo_NvS8U\";"],"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","HorizontalMenuItem","item","isActive","linkHandler","textCn","useTextStyles","handleLink","useCallback","event","url","className","title","href","hardness","mode","onClick","target","isExternal","HorizontalMenu","items","activeIndex","map","index","_path","_extends","assign","source","this","viewBox","fill","xmlns","fillRule","clipRule","DropdownMenu","homeUrl","mobileTitle","mobileOverview","theme","useTheme","portalRoot","setPortalRoot","React","document","body","_items","concat","_activeIndex","activeItem","isExpanded","setIsExpanded","useState","handleClick","ReactDOM","children","forwardedRef"],"sourceRoot":""}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@jetbrains/kotlin-web-site-ui",
3
3
  "description": "UI components for Kotlin web sites development",
4
- "version": "2.9.0-alpha.0",
4
+ "version": "2.9.0-alpha.1",
5
5
  "license": "Apache-2.0",
6
6
  "author": "JetBrains",
7
7
  "files": [