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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (77) hide show
  1. package/out/blocks/formik-wrapper/input.js +3 -3
  2. package/out/blocks/formik-wrapper/privacy-checkbox.js +17 -21
  3. package/out/blocks/formik-wrapper/privacy-notice.js +19 -28
  4. package/out/blocks/formik-wrapper/submit-button.js +3 -3
  5. package/out/components/cta-block/cta-block.js +17 -33
  6. package/out/components/footer/footer.js +30 -48
  7. package/out/components/footer/logo/logo.js +3 -5
  8. package/out/components/footer/nav/nav-item.js +11 -15
  9. package/out/components/footer/nav/nav-list.js +8 -11
  10. package/out/components/footer/social-list/social-item/social-item.js +3 -5
  11. package/out/components/footer/social-list/social-list.js +6 -7
  12. package/out/components/header/{consts.js → components/header/consts.js} +0 -0
  13. package/out/components/header/components/header/full-search/chapters/chapters.js +56 -0
  14. package/out/components/header/components/header/full-search/chapters/chapters.module.pcss.js +11 -0
  15. package/out/components/header/components/header/full-search/empty/empty.js +22 -0
  16. package/out/components/header/components/header/full-search/empty/empty.module.pcss.js +6 -0
  17. package/out/components/header/components/header/full-search/empty/full-search-empty.svg.js +1539 -0
  18. package/out/components/header/components/header/full-search/full-search.js +70 -0
  19. package/out/components/header/components/header/full-search/full-search.module.pcss.js +9 -0
  20. package/out/components/header/components/header/full-search/hit-list/hit-list.js +44 -0
  21. package/out/components/header/components/header/full-search/hit-list/hit-list.module.pcss.js +5 -0
  22. package/out/components/header/components/header/full-search/loading/loading.js +11 -0
  23. package/out/components/header/components/header/full-search/loading/loading.module.pcss.js +4 -0
  24. package/out/components/header/components/header/full-search/result/get-extended-hits.js +55 -0
  25. package/out/components/header/components/header/full-search/results-list/results-list.js +25 -0
  26. package/out/components/header/components/header/header.js +105 -0
  27. package/out/components/header/{header.module.pcss.js → components/header/header.module.pcss.js} +0 -0
  28. package/out/components/header/components/header/horizontal-menu/horizontal-menu.js +100 -0
  29. package/out/components/header/{horizontal-menu → components/header/horizontal-menu}/horizontal-menu.module.pcss.js +0 -0
  30. package/out/components/header/{index.js → components/header/index.js} +0 -0
  31. package/out/components/header/{logo-large → components/header/logo-large}/kotlin-logo-large.svg.js +0 -0
  32. package/out/components/header/{logo-large → components/header/logo-large}/logo-large.js +11 -17
  33. package/out/components/header/{logo-large → components/header/logo-large}/logo-large.module.pcss.js +0 -0
  34. package/out/components/header/{logo-small → components/header/logo-small}/kotlin-logo-small.svg.js +0 -0
  35. package/out/components/header/components/header/logo-small/logo-small.js +27 -0
  36. package/out/components/header/{logo-small → components/header/logo-small}/logo-small.module.pcss.js +0 -0
  37. package/out/components/header/{menu-popup → components/header/menu-popup}/menu-button/close-icon.svg.js +0 -0
  38. package/out/components/header/{menu-popup → components/header/menu-popup}/menu-button/hamburger-icon.svg.js +0 -0
  39. package/out/components/header/{menu-popup → components/header/menu-popup}/menu-button/menu-button.js +3 -5
  40. package/out/components/header/{menu-popup → components/header/menu-popup}/menu-button/menu-button.module.pcss.js +0 -0
  41. package/out/components/header/{menu-popup → components/header/menu-popup}/menu-popup.js +28 -37
  42. package/out/components/header/{menu-popup → components/header/menu-popup}/menu-popup.module.pcss.js +0 -0
  43. package/out/components/header/{nav-scheme.js → components/header/nav-scheme.js} +0 -0
  44. package/out/components/header/components/header/quick-search/empty/empty.js +16 -0
  45. package/out/components/header/components/header/quick-search/empty/empty.module.pcss.js +4 -0
  46. package/out/components/header/components/header/quick-search/list/list.js +31 -0
  47. package/out/components/header/components/header/quick-search/list/list.module.pcss.js +6 -0
  48. package/out/components/header/components/header/quick-search/loading/loading.js +14 -0
  49. package/out/components/header/components/header/quick-search/loading/loading.module.pcss.js +4 -0
  50. package/out/components/header/components/header/quick-search/quick-search.js +41 -0
  51. package/out/components/header/components/header/quick-search/quick-search.module.pcss.js +4 -0
  52. package/out/components/header/components/header/quick-search/result/result.js +30 -0
  53. package/out/components/header/components/header/quick-search/result/result.module.pcss.js +6 -0
  54. package/out/components/header/components/header/search-box/search-box.js +69 -0
  55. package/out/components/header/components/header/search-box/search-box.module.pcss.js +4 -0
  56. package/out/components/header/{search-button → components/header/search-button}/search-button.js +6 -6
  57. package/out/components/header/{search-button → components/header/search-button}/search-button.module.pcss.js +0 -0
  58. package/out/components/header/{search-button → components/header/search-button}/search.svg.js +0 -0
  59. package/out/components/header/components/header/search-wrapper/init-search.js +60 -0
  60. package/out/components/header/components/header/search-wrapper/search-const.js +13 -0
  61. package/out/components/header/components/header/search-wrapper/search-context.js +18 -0
  62. package/out/components/header/components/header/search-wrapper/search-with-algolia.js +58 -0
  63. package/out/components/header/components/header/search-wrapper/search-wrapper.js +40 -0
  64. package/out/components/header/components/header/search-wrapper/use-search.js +85 -0
  65. package/out/components/header/helper/is-macos.js +5 -0
  66. package/out/components/header/helper/key-codes.js +3 -0
  67. package/out/components/header/index.css +253 -0
  68. package/out/components/popup/popup.js +34 -40
  69. package/out/components/quotes-slider/quites-slider.js +33 -63
  70. package/out/components/top-menu/dropdown-menu/dropdown-menu.js +28 -40
  71. package/out/components/top-menu/horizontal-menu/horizontal-menu.js +13 -17
  72. package/out/components/top-menu/top-menu.js +19 -23
  73. package/out/components/youtube-player/youtube-player.js +24 -31
  74. package/package.json +13 -8
  75. package/out/components/header/header.js +0 -68
  76. package/out/components/header/horizontal-menu/horizontal-menu.js +0 -110
  77. package/out/components/header/logo-small/logo-small.js +0 -33
@@ -272,6 +272,259 @@
272
272
  }
273
273
  }
274
274
 
275
+ .ktl-result-module_result_EKhUw {
276
+ box-sizing: border-box;
277
+ display: block;
278
+ padding: 16px 32px;
279
+ text-decoration: none;
280
+ }
281
+ .ktl-result-module_result_EKhUw:hover {
282
+ background: rgba(255, 255, 255, 0.1);
283
+ }
284
+ .ktl-result-module_result_EKhUw:focus {
285
+ outline: none;
286
+ background: rgba(255, 255, 255, 0.1);
287
+ }
288
+ .ktl-result-module_result_EKhUw em {
289
+ background-color: rgba(127,82,255,0.3);
290
+ font-style: normal;
291
+ }
292
+
293
+ .ktl-result-module_resultTitle_DSpAT {
294
+ margin-bottom: 6px;
295
+ }
296
+
297
+ .ktl-result-module_text_fWBKG {
298
+ display: -webkit-box;
299
+ -webkit-line-clamp: 2;
300
+ -webkit-box-orient: vertical;
301
+ overflow: hidden;
302
+ }
303
+ .ktl-list-module_results_LlxqY {
304
+ box-sizing: border-box;
305
+ max-height: 305px;
306
+ border: 1px solid rgba(255, 255, 255, 0.2);
307
+ background: #323236;
308
+ color: #fff;
309
+ overflow-y: scroll;
310
+ }
311
+
312
+ .ktl-list-module_topBar_OO0XT {
313
+ display: none;
314
+ }
315
+
316
+ .ktl-list-module_advancedSearch_XNy88 {
317
+ display: inline-block;
318
+ background: transparent;
319
+ border: 0;
320
+ padding: 6px 16px;
321
+ border-radius: 24px;
322
+ cursor: pointer;
323
+ flex-shrink: 0;
324
+ }
325
+
326
+ .ktl-list-module_advancedSearch_XNy88:hover {
327
+ background: rgba(255, 255, 255, .1);
328
+ }
329
+
330
+ .ktl-list-module_advancedSearch_XNy88:focus {
331
+ outline: none;
332
+ box-shadow: rgba(107, 87, 255, 0.8) 0 0 0 4px;
333
+ }
334
+
335
+ @media (min-width: 768px) {
336
+ .ktl-list-module_results_LlxqY {
337
+ max-height: 434px;
338
+ }
339
+ .ktl-list-module_topBar_OO0XT {
340
+ display: flex;
341
+ align-items: center;
342
+ justify-content: space-between;
343
+ padding: 34px 32px 14px 32px;
344
+ }
345
+ }
346
+ .ktl-empty-module_empty_xh1i- {
347
+ box-sizing: border-box;
348
+ border: 1px solid rgba(255, 255, 255, 0.2);
349
+ background: #323236;
350
+ padding: 32px;
351
+ }
352
+ .ktl-loading-module_loading_CtOhW {
353
+ box-sizing: border-box;
354
+ height: 92px;
355
+ border: 1px solid rgba(255, 255, 255, 0.2);
356
+ background: #323236;
357
+ display: flex;
358
+ justify-content: center;
359
+ align-items: center;
360
+ text-align: left;
361
+ }
362
+ .ktl-loading-module_loading_CtOhW > svg {
363
+ fill: #6B57FF;
364
+ }
365
+ .ktl-quick-search-module_wrapper_kkbQQ {
366
+ box-sizing: border-box;
367
+ position: absolute;
368
+ left: 8px;
369
+ right: 8px;
370
+ bottom: -8px;
371
+ transform: translateY(100%);
372
+ }
373
+
374
+ @media (min-width: 768px) {
375
+ .ktl-quick-search-module_wrapper_kkbQQ {
376
+ left: 0;
377
+ right: 0;
378
+ }
379
+ }
380
+ .ktl-full-search-module_fullSearch_MTU8t {
381
+ display: none;
382
+ box-sizing: border-box;
383
+ position: fixed;
384
+ width: 100%;
385
+ height: 100%;
386
+ top: 0;
387
+ left: 0;
388
+ background: #ffffff;
389
+ overflow: scroll;
390
+ }
391
+
392
+ .ktl-full-search-module_closeSearch_5vYDG {
393
+ padding: 0;
394
+ margin: 0;
395
+ border: 0;
396
+ background: none;
397
+ cursor: pointer;
398
+ position: absolute;
399
+ top: 40px;
400
+ right: 40px;
401
+ }
402
+
403
+ .ktl-full-search-module_wrapper_9rxXb {
404
+ max-width: 704px;
405
+ margin: 0 auto;
406
+ }
407
+
408
+ .ktl-full-search-module_header_Wltw0 {
409
+ width: 100%;
410
+ padding-top: 120px;
411
+ padding-bottom: 24px;
412
+ position: sticky;
413
+ top: 0;
414
+ left: 0;
415
+ background: #ffffff;
416
+ z-index: 10;
417
+ }
418
+
419
+ .ktl-full-search-module_switcher_o1RgM {
420
+ margin-top: 14px;
421
+ display: flex;
422
+ justify-content: flex-end;
423
+ }
424
+
425
+ .ktl-full-search-module_results_svcSE {
426
+ margin-top: 14px;
427
+ }
428
+
429
+ @media (min-width: 768px) {
430
+ .ktl-full-search-module_fullSearch_MTU8t {
431
+ display: block;
432
+ }
433
+ }
434
+ .ktl-loading-module_loader_B2IQl {
435
+ margin: 24px 0;
436
+ }
437
+ .ktl-loading-module_loader_B2IQl > svg {
438
+ fill: #6B57FF;
439
+ }
440
+ .ktl-empty-module_wrapper_cNB8Y {
441
+ display: block;
442
+ }
443
+
444
+ .ktl-empty-module_title_p2FMj {
445
+ margin-bottom: 24px;
446
+ }
447
+
448
+ .ktl-empty-module_image_6Xr6L {
449
+ display: flex;
450
+ justify-content: flex-end;
451
+ margin-top: 16px;
452
+ }
453
+ .ktl-chapters-module_chapters_J0wLB {
454
+ border-left: 1px solid var(--ktl-light-dark-20);
455
+ padding-left: 12px;
456
+ margin-top: 24px;
457
+ }
458
+
459
+ .ktl-chapters-module_chapterTitle_b6Rdz {
460
+ border-bottom-color: transparent;
461
+ }
462
+
463
+ .ktl-chapters-module_chapterTitle_b6Rdz em {
464
+ background: rgba(127, 82, 255, 0.2);
465
+ font-style: normal;
466
+ }
467
+
468
+ .ktl-chapters-module_singleChapter_zSmx2:not(:last-child) {
469
+ margin-bottom: 12px;
470
+ }
471
+
472
+ .ktl-chapters-module_headliner_ZBuf9 {
473
+ margin: 0;
474
+ }
475
+
476
+ .ktl-chapters-module_snippet_yROJo {
477
+ margin-top: 8px;
478
+ color: rgba(39, 40, 44, 0.7);
479
+ }
480
+
481
+ .ktl-chapters-module_snippet_yROJo em {
482
+ background: rgba(127, 82, 255, 0.2);
483
+ font-style: normal;
484
+ }
485
+
486
+ .ktl-chapters-module_extraSection_lsZfw {
487
+ display: none;
488
+ }
489
+
490
+ .ktl-chapters-module_visibleSection_wQyvM {
491
+ display: block;
492
+ }
493
+
494
+ .ktl-chapters-module_moreButton_98oqy {
495
+ margin-top: 12px;
496
+ }
497
+ .ktl-hit-list-module_hitList_1MP6m {
498
+ margin: 24px 0;
499
+ }
500
+
501
+ .ktl-hit-list-module_titleLink_rdJ6u {
502
+ border-bottom-color: transparent;
503
+ }
504
+
505
+ .ktl-hit-list-module_titleLink_rdJ6u em {
506
+ background: rgba(127, 82, 255, 0.2);
507
+ font-style: normal;
508
+ }
509
+
510
+ .ktl-search-box-module_searchBox_0SgE9 {
511
+ position: relative;
512
+ width: 408px;
513
+ }
514
+
515
+ @media (max-width: 767px) {
516
+ .ktl-search-box-module_searchBox_0SgE9 {
517
+ background: var(--ktl-dark-100);
518
+ width: auto;
519
+ position: absolute;
520
+ top: 0;
521
+ left: 0;
522
+ right: 0;
523
+ bottom: 0;
524
+ padding: 4px;
525
+ }
526
+ }
527
+
275
528
  :root {
276
529
  --ktl-light-grey: #f4f4f4;
277
530
  --ktl-dark-100: rgba(39, 40, 44, 1);
@@ -1,4 +1,4 @@
1
- import { jsx, jsxs } from 'react/jsx-runtime';
1
+ import React from 'react';
2
2
  import ReactModal from 'react-modal';
3
3
  import { LayeringConsumer, LayeringProvider } from '@rescui/ui-contexts';
4
4
  import { CloseIcon, LoadingIcon } from '@rescui/icons';
@@ -17,45 +17,39 @@ const Popup = ({
17
17
  ariaHideApp = false,
18
18
  ...restProps
19
19
  }) => {
20
- return jsx(LayeringConsumer, {
21
- children: ({
22
- popupZIndex
23
- }) => jsx(LayeringProvider, Object.assign({
24
- baseLayer: "popup"
25
- }, {
26
- children: jsxs(ReactModal, Object.assign({
27
- isOpen: isOpen,
28
- className: styles.popup,
29
- overlayClassName: styles.overlay,
30
- onRequestClose: onRequestClose,
31
- shouldCloseOnOverlayClick: shouldCloseOnOverlayClick,
32
- shouldCloseOnEsc: shouldCloseOnEsc
33
- }, restProps, {
34
- ariaHideApp: ariaHideApp,
35
- style: {
36
- overlay: {
37
- zIndex: popupZIndex
38
- }
39
- }
40
- }, {
41
- children: [!busy && showOuterCloseButton && jsx(Button, {
42
- mode: 'rock',
43
- theme: 'light',
44
- icon: jsx(CloseIcon, {}, void 0),
45
- className: styles.close,
46
- onClick: onRequestClose,
47
- "data-test": "close-button"
48
- }, void 0), busy ? jsx(LoadingIcon, {
49
- size: "l",
50
- theme: "dark",
51
- mode: "rock",
52
- "data-test": "loading-icon"
53
- }, void 0) : children, jsx(RemoveScrollBar, {
54
- gapMode: "margin"
55
- }, void 0)]
56
- }), void 0)
57
- }), void 0)
58
- }, void 0);
20
+ return React.createElement(LayeringConsumer, null, ({
21
+ popupZIndex
22
+ }) => React.createElement(LayeringProvider, {
23
+ baseLayer: "popup"
24
+ }, React.createElement(ReactModal, Object.assign({
25
+ isOpen: isOpen,
26
+ className: styles.popup,
27
+ overlayClassName: styles.overlay,
28
+ onRequestClose: onRequestClose,
29
+ shouldCloseOnOverlayClick: shouldCloseOnOverlayClick,
30
+ shouldCloseOnEsc: shouldCloseOnEsc
31
+ }, restProps, {
32
+ ariaHideApp: ariaHideApp,
33
+ style: {
34
+ overlay: {
35
+ zIndex: popupZIndex
36
+ }
37
+ }
38
+ }), !busy && showOuterCloseButton && React.createElement(Button, {
39
+ mode: 'rock',
40
+ theme: 'light',
41
+ icon: React.createElement(CloseIcon, null),
42
+ className: styles.close,
43
+ onClick: onRequestClose,
44
+ "data-test": "close-button"
45
+ }), busy ? React.createElement(LoadingIcon, {
46
+ size: "l",
47
+ theme: "dark",
48
+ mode: "rock",
49
+ "data-test": "loading-icon"
50
+ }) : children, React.createElement(RemoveScrollBar, {
51
+ gapMode: "margin"
52
+ }))));
59
53
  };
60
54
 
61
55
  export { Popup };
@@ -1,5 +1,4 @@
1
- import { jsx, jsxs } from 'react/jsx-runtime';
2
- import { useState, useCallback } from 'react';
1
+ import React__default, { useState, useCallback } from 'react';
3
2
  import SwipeableViews from 'react-swipeable-views';
4
3
  import cn from 'classnames';
5
4
  import SvgQuote from './quote.svg.js';
@@ -33,68 +32,39 @@ const QuotesSlider = ({
33
32
  [styles.controlActive]: index + 1 < totalSlides
34
33
  });
35
34
  const quoteTextClass = large ? 'ktl-subtitle' : 'ktl-text-1';
36
- return jsx("div", Object.assign({
35
+ return React__default.createElement("div", {
37
36
  className: styles.quotesSlider
38
- }, {
39
- children: jsxs("div", Object.assign({
40
- className: styles.content
41
- }, {
42
- children: [jsx("div", Object.assign({
43
- className: styles.iconContainer
44
- }, {
45
- children: jsx(SvgQuote, {}, void 0)
46
- }), void 0), jsxs("div", {
47
- children: [quotes.length > 1 ? jsx(SwipeableViews, Object.assign({
48
- index: index,
49
- onChangeIndex: handleChangeIndex
50
- }, {
51
- children: quotes.map((quote, i) => jsx("p", Object.assign({
52
- className: quoteTextClass
53
- }, {
54
- children: quote.text
55
- }), i))
56
- }), void 0) : jsx("p", Object.assign({
57
- className: quoteTextClass
58
- }, {
59
- children: quotes[0].text
60
- }), void 0), jsxs("div", Object.assign({
61
- className: styles.nav
62
- }, {
63
- children: [jsx("div", Object.assign({
64
- className: styles.title
65
- }, {
66
- children: jsx("p", Object.assign({
67
- className: "ktl-text-2"
68
- }, {
69
- children: slideTitle
70
- }), void 0)
71
- }), void 0), quotes.length > 1 && jsxs("div", Object.assign({
72
- className: styles.controls
73
- }, {
74
- children: [jsx("div", Object.assign({
75
- className: prevButtonClass,
76
- onClick: handlePrevSlide
77
- }, {
78
- children: jsx(SvgSliderArrow, {}, void 0)
79
- }), void 0), jsx("div", Object.assign({
80
- className: styles.slidesCount
81
- }, {
82
- children: jsxs("p", Object.assign({
83
- className: "ktl-text-2"
84
- }, {
85
- children: [index + 1, "/", totalSlides]
86
- }), void 0)
87
- }), void 0), jsx("div", Object.assign({
88
- className: nextButtonClass,
89
- onClick: handleNextSlide
90
- }, {
91
- children: jsx(SvgSliderArrow, {}, void 0)
92
- }), void 0)]
93
- }), void 0)]
94
- }), void 0)]
95
- }, void 0)]
96
- }), void 0)
97
- }), void 0);
37
+ }, React__default.createElement("div", {
38
+ className: styles.content
39
+ }, React__default.createElement("div", {
40
+ className: styles.iconContainer
41
+ }, React__default.createElement(SvgQuote, null)), React__default.createElement("div", null, quotes.length > 1 ? React__default.createElement(SwipeableViews, {
42
+ index: index,
43
+ onChangeIndex: handleChangeIndex
44
+ }, quotes.map((quote, i) => React__default.createElement("p", {
45
+ className: quoteTextClass,
46
+ key: i
47
+ }, quote.text))) : React__default.createElement("p", {
48
+ className: quoteTextClass
49
+ }, quotes[0].text), React__default.createElement("div", {
50
+ className: styles.nav
51
+ }, React__default.createElement("div", {
52
+ className: styles.title
53
+ }, React__default.createElement("p", {
54
+ className: "ktl-text-2"
55
+ }, slideTitle)), quotes.length > 1 && React__default.createElement("div", {
56
+ className: styles.controls
57
+ }, React__default.createElement("div", {
58
+ className: prevButtonClass,
59
+ onClick: handlePrevSlide
60
+ }, React__default.createElement(SvgSliderArrow, null)), React__default.createElement("div", {
61
+ className: styles.slidesCount
62
+ }, React__default.createElement("p", {
63
+ className: "ktl-text-2"
64
+ }, index + 1, "/", totalSlides)), React__default.createElement("div", {
65
+ className: nextButtonClass,
66
+ onClick: handleNextSlide
67
+ }, React__default.createElement(SvgSliderArrow, null)))))));
98
68
  };
99
69
 
100
70
  export { QuotesSlider };
@@ -1,4 +1,3 @@
1
- import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
2
1
  import React__default, { useState } from 'react';
3
2
  import ReactDOM from 'react-dom';
4
3
  import classNames from 'classnames';
@@ -37,45 +36,34 @@ const DropdownMenu = ({
37
36
 
38
37
  const handleClick = () => setIsExpanded(!isExpanded);
39
38
 
40
- return jsxs(Fragment, {
41
- children: [jsxs("div", Object.assign({
42
- className: classNames(styles.dropdownMenu, {
43
- [styles.dropdownMenuExpanded]: isExpanded
44
- }),
45
- onClick: handleClick
46
- }, {
47
- children: [jsxs("button", Object.assign({
48
- className: classNames(styles.button, textCn('rs-text-2')),
49
- "aria-haspopup": "true"
50
- }, {
51
- children: [jsx("span", {
52
- children: activeItem.title
53
- }, void 0), jsx(SvgArrowDropdownIcon, {
54
- className: styles.icon
55
- }, void 0)]
56
- }), void 0), jsx("nav", Object.assign({
57
- className: classNames(styles.dropdownList, {
58
- [styles.dropdownListDarkTheme]: theme === 'dark'
59
- })
60
- }, {
61
- children: _items.map((item, index) => jsx("a", Object.assign({
62
- href: item.url,
63
- className: classNames(styles.dropdownItem, textCn('rs-text-2'), {
64
- [styles.dropdownItemActive]: index === _activeIndex
65
- }),
66
- onClick: event => linkHandler?.(event, item.url),
67
- target: item.isExternal ? '_blank' : undefined
68
- }, {
69
- children: item.title
70
- }), item.url))
71
- }), void 0)]
72
- }), void 0), !!portalRoot && ReactDOM.createPortal(jsx("div", {
73
- className: classNames(styles.overlay, {
74
- [styles.overlayVisible]: isExpanded
75
- }),
76
- onClick: handleClick
77
- }, void 0), portalRoot)]
78
- }, void 0);
39
+ return React__default.createElement(React__default.Fragment, null, React__default.createElement("div", {
40
+ className: classNames(styles.dropdownMenu, {
41
+ [styles.dropdownMenuExpanded]: isExpanded
42
+ }),
43
+ onClick: handleClick
44
+ }, React__default.createElement("button", {
45
+ className: classNames(styles.button, textCn('rs-text-2')),
46
+ "aria-haspopup": "true"
47
+ }, React__default.createElement("span", null, activeItem.title), React__default.createElement(SvgArrowDropdownIcon, {
48
+ className: styles.icon
49
+ })), React__default.createElement("nav", {
50
+ className: classNames(styles.dropdownList, {
51
+ [styles.dropdownListDarkTheme]: theme === 'dark'
52
+ })
53
+ }, _items.map((item, index) => React__default.createElement("a", {
54
+ key: item.url,
55
+ href: item.url,
56
+ className: classNames(styles.dropdownItem, textCn('rs-text-2'), {
57
+ [styles.dropdownItemActive]: index === _activeIndex
58
+ }),
59
+ onClick: event => linkHandler?.(event, item.url),
60
+ target: item.isExternal ? '_blank' : undefined
61
+ }, item.title)))), !!portalRoot && ReactDOM.createPortal(React__default.createElement("div", {
62
+ className: classNames(styles.overlay, {
63
+ [styles.overlayVisible]: isExpanded
64
+ }),
65
+ onClick: handleClick
66
+ }), portalRoot));
79
67
  };
80
68
 
81
69
  export { DropdownMenu };
@@ -1,5 +1,4 @@
1
- import { jsx } from 'react/jsx-runtime';
2
- import { useCallback } from 'react';
1
+ import React__default, { useCallback } from 'react';
3
2
  import classNames from 'classnames';
4
3
  import styles from './horizontal-menu.module.pcss.js';
5
4
  import { useTextStyles } from '@rescui/typography';
@@ -11,21 +10,19 @@ const HorizontalMenuItem = ({
11
10
  }) => {
12
11
  const textCn = useTextStyles();
13
12
  const handleLink = useCallback(event => linkHandler(event, item.url), [item]);
14
- return isActive ? jsx("span", Object.assign({
13
+ return isActive ? React__default.createElement("span", {
14
+ key: item.url,
15
15
  className: styles.itemActive
16
- }, {
17
- children: item.title
18
- }), item.url) : jsx("a", Object.assign({
16
+ }, item.title) : React__default.createElement("a", {
19
17
  href: item.url,
18
+ key: item.url,
20
19
  className: classNames(styles.item, textCn('rs-link', {
21
20
  hardness: 'average',
22
21
  mode: 'clear'
23
22
  })),
24
23
  onClick: handleLink,
25
24
  target: item.isExternal ? '_blank' : undefined
26
- }, {
27
- children: item.title
28
- }), item.url);
25
+ }, item.title);
29
26
  };
30
27
 
31
28
  const HorizontalMenu = ({
@@ -34,15 +31,14 @@ const HorizontalMenu = ({
34
31
  linkHandler
35
32
  }) => {
36
33
  const textCn = useTextStyles();
37
- return jsx("nav", Object.assign({
34
+ return React__default.createElement("nav", {
38
35
  className: classNames(styles.horizontalMenu, textCn('rs-text-2'))
39
- }, {
40
- children: items.map((item, index) => jsx(HorizontalMenuItem, {
41
- isActive: index === activeIndex,
42
- item: item,
43
- linkHandler: linkHandler
44
- }, item.url))
45
- }), void 0);
36
+ }, items.map((item, index) => React__default.createElement(HorizontalMenuItem, {
37
+ key: item.url,
38
+ isActive: index === activeIndex,
39
+ item: item,
40
+ linkHandler: linkHandler
41
+ })));
46
42
  };
47
43
 
48
44
  export { HorizontalMenu };
@@ -1,4 +1,4 @@
1
- import { jsxs, jsx } from 'react/jsx-runtime';
1
+ import React__default from 'react';
2
2
  import { useTheme } from '@rescui/ui-contexts';
3
3
  import classNames from 'classnames';
4
4
  import styles from './top-menu.module.pcss.js';
@@ -20,32 +20,28 @@ const TopMenu = ({
20
20
  }) => {
21
21
  const theme = useTheme();
22
22
  const textCn = useTextStyles();
23
- return jsxs("div", Object.assign({
23
+ return React__default.createElement("div", {
24
24
  className: classNames(styles.topMenu, className, {
25
25
  [styles.topMenuDarkTheme]: theme === 'dark'
26
26
  }),
27
27
  ref: forwardedRef
28
- }, {
29
- children: [jsx("a", Object.assign({
30
- href: homeUrl,
31
- className: classNames(styles.logo, textCn('rs-h3')),
32
- onClick: event => linkHandler(event, homeUrl)
33
- }, {
34
- children: title
35
- }), void 0), jsx(DropdownMenu, {
36
- items: items,
37
- activeIndex: activeIndex,
38
- linkHandler: linkHandler,
39
- title: title,
40
- mobileTitle: mobileTitle,
41
- homeUrl: homeUrl,
42
- mobileOverview: mobileOverview
43
- }, void 0), jsx(HorizontalMenu, {
44
- items: items,
45
- activeIndex: activeIndex,
46
- linkHandler: linkHandler
47
- }, void 0), children]
48
- }), void 0);
28
+ }, React__default.createElement("a", {
29
+ href: homeUrl,
30
+ className: classNames(styles.logo, textCn('rs-h3')),
31
+ onClick: event => linkHandler(event, homeUrl)
32
+ }, title), React__default.createElement(DropdownMenu, {
33
+ items: items,
34
+ activeIndex: activeIndex,
35
+ linkHandler: linkHandler,
36
+ title: title,
37
+ mobileTitle: mobileTitle,
38
+ homeUrl: homeUrl,
39
+ mobileOverview: mobileOverview
40
+ }), React__default.createElement(HorizontalMenu, {
41
+ items: items,
42
+ activeIndex: activeIndex,
43
+ linkHandler: linkHandler
44
+ }), children);
49
45
  };
50
46
 
51
47
  export { TopMenu };