@salutejs/plasma-new-hope 0.76.3-canary.1178.8720542914.0 → 0.77.0-canary.1185.8719560164.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (135) hide show
  1. package/cjs/components/Combobox/Combobox.css +2 -2
  2. package/cjs/components/Combobox/ui/ComboboxDivider/ComboboxDivider.css +2 -2
  3. package/cjs/components/Combobox/ui/ComboboxDivider/ComboboxDivider.js +1 -1
  4. package/cjs/components/Combobox/ui/ComboboxFooter/ComboboxFooter.css +2 -2
  5. package/cjs/components/Combobox/ui/ComboboxFooter/ComboboxFooter.js +1 -1
  6. package/cjs/components/Combobox/ui/ComboboxGroup/ComboboxGroup.css +2 -2
  7. package/cjs/components/Combobox/ui/ComboboxGroup/ComboboxGroup.js +1 -1
  8. package/cjs/components/Combobox/ui/ComboboxHeader/ComboboxHeader.css +2 -2
  9. package/cjs/components/Combobox/ui/ComboboxHeader/ComboboxHeader.js +1 -1
  10. package/cjs/components/Combobox/ui/ComboboxItem/ComboboxItem.css +2 -2
  11. package/cjs/components/Combobox/ui/ComboboxItem/ComboboxItem.js +1 -1
  12. package/cjs/components/Combobox/ui/ComboboxItem/ComboboxItem.styles.js +1 -1
  13. package/cjs/components/Dropdown/Dropdown.css +2 -2
  14. package/cjs/components/Dropdown/Dropdown.js +27 -4
  15. package/cjs/components/Dropdown/Dropdown.js.map +1 -1
  16. package/cjs/components/Dropdown/Dropdown.styles.js +1 -1
  17. package/cjs/components/Dropdown/Dropdown.styles.js.map +1 -1
  18. package/cjs/components/Dropdown/{Dropdown.styles_1daxhqh.css → Dropdown.styles_13400l5.css} +1 -1
  19. package/cjs/components/Dropdown/Dropdown.tokens.js +1 -0
  20. package/cjs/components/Dropdown/Dropdown.tokens.js.map +1 -1
  21. package/cjs/components/Dropdown/hooks/useKeyboardNavigation.js +81 -0
  22. package/cjs/components/Dropdown/hooks/useKeyboardNavigation.js.map +1 -0
  23. package/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.js +5 -3
  24. package/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.js.map +1 -1
  25. package/cjs/components/Dropdown/utils/index.js +43 -0
  26. package/cjs/components/Dropdown/utils/index.js.map +1 -1
  27. package/cjs/components/Pagination/Pagination.css +2 -2
  28. package/cjs/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.css +2 -2
  29. package/cjs/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.styles.js +1 -1
  30. package/cjs/components/Select/Select.css +2 -2
  31. package/cjs/components/Select/ui/SelectDivider/SelectDivider.css +2 -2
  32. package/cjs/components/Select/ui/SelectDivider/SelectDivider.js +1 -1
  33. package/cjs/components/Select/ui/SelectFooter/SelectFooter.css +2 -2
  34. package/cjs/components/Select/ui/SelectFooter/SelectFooter.js +1 -1
  35. package/cjs/components/Select/ui/SelectGroup/SelectGroup.css +2 -2
  36. package/cjs/components/Select/ui/SelectGroup/SelectGroup.js +1 -1
  37. package/cjs/components/Select/ui/SelectHeader/SelectHeader.css +2 -2
  38. package/cjs/components/Select/ui/SelectHeader/SelectHeader.js +1 -1
  39. package/cjs/components/Select/ui/SelectItem/SelectItem.css +2 -2
  40. package/cjs/components/Select/ui/SelectItem/SelectItem.js +1 -1
  41. package/cjs/components/Select/ui/SelectItem/SelectItem.styles.js +1 -1
  42. package/cjs/index.css +2 -2
  43. package/cjs/index.js +2 -0
  44. package/cjs/index.js.map +1 -1
  45. package/es/components/Combobox/Combobox.css +2 -2
  46. package/es/components/Combobox/ui/ComboboxDivider/ComboboxDivider.css +2 -2
  47. package/es/components/Combobox/ui/ComboboxDivider/ComboboxDivider.js +1 -1
  48. package/es/components/Combobox/ui/ComboboxFooter/ComboboxFooter.css +2 -2
  49. package/es/components/Combobox/ui/ComboboxFooter/ComboboxFooter.js +1 -1
  50. package/es/components/Combobox/ui/ComboboxGroup/ComboboxGroup.css +2 -2
  51. package/es/components/Combobox/ui/ComboboxGroup/ComboboxGroup.js +1 -1
  52. package/es/components/Combobox/ui/ComboboxHeader/ComboboxHeader.css +2 -2
  53. package/es/components/Combobox/ui/ComboboxHeader/ComboboxHeader.js +1 -1
  54. package/es/components/Combobox/ui/ComboboxItem/ComboboxItem.css +2 -2
  55. package/es/components/Combobox/ui/ComboboxItem/ComboboxItem.js +1 -1
  56. package/es/components/Combobox/ui/ComboboxItem/ComboboxItem.styles.js +1 -1
  57. package/es/components/Dropdown/Dropdown.css +2 -2
  58. package/es/components/Dropdown/Dropdown.js +29 -6
  59. package/es/components/Dropdown/Dropdown.js.map +1 -1
  60. package/es/components/Dropdown/Dropdown.styles.js +1 -1
  61. package/es/components/Dropdown/Dropdown.styles.js.map +1 -1
  62. package/es/components/Dropdown/{Dropdown.styles_1daxhqh.css → Dropdown.styles_13400l5.css} +1 -1
  63. package/es/components/Dropdown/Dropdown.tokens.js +1 -0
  64. package/es/components/Dropdown/Dropdown.tokens.js.map +1 -1
  65. package/es/components/Dropdown/hooks/useKeyboardNavigation.js +76 -0
  66. package/es/components/Dropdown/hooks/useKeyboardNavigation.js.map +1 -0
  67. package/es/components/Dropdown/ui/DropdownItem/DropdownItem.js +5 -3
  68. package/es/components/Dropdown/ui/DropdownItem/DropdownItem.js.map +1 -1
  69. package/es/components/Dropdown/utils/index.js +45 -3
  70. package/es/components/Dropdown/utils/index.js.map +1 -1
  71. package/es/components/Pagination/Pagination.css +2 -2
  72. package/es/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.css +2 -2
  73. package/es/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.styles.js +1 -1
  74. package/es/components/Select/Select.css +2 -2
  75. package/es/components/Select/ui/SelectDivider/SelectDivider.css +2 -2
  76. package/es/components/Select/ui/SelectDivider/SelectDivider.js +1 -1
  77. package/es/components/Select/ui/SelectFooter/SelectFooter.css +2 -2
  78. package/es/components/Select/ui/SelectFooter/SelectFooter.js +1 -1
  79. package/es/components/Select/ui/SelectGroup/SelectGroup.css +2 -2
  80. package/es/components/Select/ui/SelectGroup/SelectGroup.js +1 -1
  81. package/es/components/Select/ui/SelectHeader/SelectHeader.css +2 -2
  82. package/es/components/Select/ui/SelectHeader/SelectHeader.js +1 -1
  83. package/es/components/Select/ui/SelectItem/SelectItem.css +2 -2
  84. package/es/components/Select/ui/SelectItem/SelectItem.js +1 -1
  85. package/es/components/Select/ui/SelectItem/SelectItem.styles.js +1 -1
  86. package/es/index.css +2 -2
  87. package/es/index.js +1 -0
  88. package/es/index.js.map +1 -1
  89. package/package.json +3 -3
  90. package/styled-components/cjs/components/Dropdown/Dropdown.js +28 -6
  91. package/styled-components/cjs/components/Dropdown/Dropdown.styles.js +1 -1
  92. package/styled-components/cjs/components/Dropdown/Dropdown.tokens.js +1 -0
  93. package/styled-components/cjs/components/Dropdown/hooks/useKeyboardNavigation.js +83 -0
  94. package/styled-components/cjs/components/Dropdown/index.js +9 -1
  95. package/styled-components/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.js +5 -3
  96. package/styled-components/cjs/components/Dropdown/utils/index.js +48 -1
  97. package/styled-components/cjs/examples/plasma_b2c/components/Dropdown/Normal/Dropdown.config.js +1 -1
  98. package/styled-components/cjs/examples/plasma_b2c/components/Dropdown/Normal/Dropdown.stories.tsx +27 -7
  99. package/styled-components/cjs/examples/plasma_b2c/components/Dropdown/Tight/Dropdown.config.js +1 -1
  100. package/styled-components/cjs/examples/plasma_b2c/components/Dropdown/Tight/Dropdown.stories.tsx +30 -11
  101. package/styled-components/cjs/examples/plasma_web/components/Dropdown/Normal/Dropdown.config.js +1 -1
  102. package/styled-components/cjs/examples/plasma_web/components/Dropdown/Normal/Dropdown.stories.tsx +28 -9
  103. package/styled-components/cjs/examples/plasma_web/components/Dropdown/Tight/Dropdown.config.js +1 -1
  104. package/styled-components/cjs/examples/plasma_web/components/Dropdown/Tight/Dropdown.stories.tsx +31 -12
  105. package/styled-components/es/components/Dropdown/Dropdown.js +29 -6
  106. package/styled-components/es/components/Dropdown/Dropdown.styles.js +1 -1
  107. package/styled-components/es/components/Dropdown/Dropdown.tokens.js +1 -0
  108. package/styled-components/es/components/Dropdown/hooks/useKeyboardNavigation.js +77 -0
  109. package/styled-components/es/components/Dropdown/index.js +1 -0
  110. package/styled-components/es/components/Dropdown/ui/DropdownItem/DropdownItem.js +5 -3
  111. package/styled-components/es/components/Dropdown/utils/index.js +48 -1
  112. package/styled-components/es/examples/plasma_b2c/components/Dropdown/Normal/Dropdown.config.js +1 -1
  113. package/styled-components/es/examples/plasma_b2c/components/Dropdown/Normal/Dropdown.stories.tsx +27 -7
  114. package/styled-components/es/examples/plasma_b2c/components/Dropdown/Tight/Dropdown.config.js +1 -1
  115. package/styled-components/es/examples/plasma_b2c/components/Dropdown/Tight/Dropdown.stories.tsx +30 -11
  116. package/styled-components/es/examples/plasma_web/components/Dropdown/Normal/Dropdown.config.js +1 -1
  117. package/styled-components/es/examples/plasma_web/components/Dropdown/Normal/Dropdown.stories.tsx +28 -9
  118. package/styled-components/es/examples/plasma_web/components/Dropdown/Tight/Dropdown.config.js +1 -1
  119. package/styled-components/es/examples/plasma_web/components/Dropdown/Tight/Dropdown.stories.tsx +31 -12
  120. package/types/components/Dropdown/Dropdown.d.ts.map +1 -1
  121. package/types/components/Dropdown/Dropdown.tokens.d.ts +1 -0
  122. package/types/components/Dropdown/Dropdown.tokens.d.ts.map +1 -1
  123. package/types/components/Dropdown/Dropdown.types.d.ts +7 -2
  124. package/types/components/Dropdown/Dropdown.types.d.ts.map +1 -1
  125. package/types/components/Dropdown/hooks/useKeyboardNavigation.d.ts +13 -0
  126. package/types/components/Dropdown/hooks/useKeyboardNavigation.d.ts.map +1 -0
  127. package/types/components/Dropdown/index.d.ts +1 -0
  128. package/types/components/Dropdown/index.d.ts.map +1 -1
  129. package/types/components/Dropdown/ui/DropdownItem/DropdownItem.d.ts.map +1 -1
  130. package/types/components/Dropdown/utils/index.d.ts +5 -2
  131. package/types/components/Dropdown/utils/index.d.ts.map +1 -1
  132. package/types/examples/plasma_b2c/components/Dropdown/Normal/Dropdown.config.d.ts.map +1 -1
  133. package/types/examples/plasma_b2c/components/Dropdown/Tight/Dropdown.config.d.ts.map +1 -1
  134. package/types/examples/plasma_web/components/Dropdown/Normal/Dropdown.config.d.ts.map +1 -1
  135. package/types/examples/plasma_web/components/Dropdown/Tight/Dropdown.config.d.ts.map +1 -1
@@ -1,11 +1,11 @@
1
1
  import 'react';
2
2
  import '@salutejs/plasma-core';
3
+ import '../../../../utils/react.js';
3
4
  import '@linaria/react';
4
5
  import '@linaria/core';
5
6
  import 'focus-visible';
6
7
  import 'react-dom';
7
8
  import 'react-popper';
8
- import '../../../../utils/react.js';
9
9
  import { dropdownGroupRoot } from '../../../Dropdown/ui/DropdownGroup/DropdownGroup.js';
10
10
  import { base as base$1 } from './variations/_view/base.js';
11
11
  import { base as base$2 } from './variations/_size/base.js';
@@ -3,8 +3,8 @@
3
3
  .Popover_styles_rmr9za_s1pd4d8a__0bafa6fb{width:var(--plasma-popover-arrow-mask-width);height:var(--plasma-popover-arrow-mask-height);}.Popover_styles_rmr9za_s1pd4d8a__0bafa6fb::before{position:absolute;width:var(--plasma-popover-arrow-mask-width);height:var(--plasma-popover-arrow-mask-height);-webkit-mask-image:var(--plasma-popover-arrow-mask-image);mask-image:var(--plasma-popover-arrow-mask-image);background:var(--plasma-popover-arrow-background);content:'';-webkit-transform:rotate(0deg);-ms-transform:rotate(0deg);transform:rotate(0deg);}
4
4
  .Popover_styles_rmr9za_s16xlixz__0bafa6fb{position:absolute;z-index:var(--s16xlixz-0);}.Popover_styles_rmr9za_s16xlixz__0bafa6fb[data-popper-placement^='top'] > .Popover_styles_rmr9za_popoverArrow__0bafa6fb{bottom:calc(0px - var(--plasma-popover-arrow-height));}.Popover_styles_rmr9za_s16xlixz__0bafa6fb[data-popper-placement^='bottom'] > .Popover_styles_rmr9za_popoverArrow__0bafa6fb{top:calc(0px - var(--plasma-popover-arrow-height));}.Popover_styles_rmr9za_s16xlixz__0bafa6fb[data-popper-placement^='bottom'] > .Popover_styles_rmr9za_popoverArrow__0bafa6fb::before{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg);}.Popover_styles_rmr9za_s16xlixz__0bafa6fb[data-popper-placement^='left'] > .Popover_styles_rmr9za_popoverArrow__0bafa6fb{right:calc(0px - var(--plasma-popover-arrow-height));}.Popover_styles_rmr9za_s16xlixz__0bafa6fb[data-popper-placement^='left'] > .Popover_styles_rmr9za_popoverArrow__0bafa6fb::before{-webkit-transform:rotate(-90deg);-ms-transform:rotate(-90deg);transform:rotate(-90deg);}.Popover_styles_rmr9za_s16xlixz__0bafa6fb[data-popper-placement^='right'] > .Popover_styles_rmr9za_popoverArrow__0bafa6fb{left:calc(0px - var(--plasma-popover-arrow-height));}.Popover_styles_rmr9za_s16xlixz__0bafa6fb[data-popper-placement^='right'] > .Popover_styles_rmr9za_popoverArrow__0bafa6fb::before{-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg);}.Popover_styles_rmr9za_s16xlixz__0bafa6fb[data-popper-placement^='top-start'] > .Popover_styles_rmr9za_popoverArrow__0bafa6fb{bottom:calc(0px - var(--plasma-popover-arrow-height));left:var(--plasma-popover-arrow-edge-margin) !important;-webkit-transform:unset !important;-ms-transform:unset !important;transform:unset !important;}.Popover_styles_rmr9za_s16xlixz__0bafa6fb[data-popper-placement^='top-end'] > .Popover_styles_rmr9za_popoverArrow__0bafa6fb{bottom:calc(0px - var(--plasma-popover-arrow-height));left:unset !important;right:var(--plasma-popover-arrow-edge-margin) !important;-webkit-transform:unset !important;-ms-transform:unset !important;transform:unset !important;}.Popover_styles_rmr9za_s16xlixz__0bafa6fb[data-popper-placement^='bottom-start'] > .Popover_styles_rmr9za_popoverArrow__0bafa6fb{top:calc(0px - var(--plasma-popover-arrow-height));left:var(--plasma-popover-arrow-edge-margin) !important;-webkit-transform:unset !important;-ms-transform:unset !important;transform:unset !important;}.Popover_styles_rmr9za_s16xlixz__0bafa6fb[data-popper-placement^='bottom-start'] > .Popover_styles_rmr9za_popoverArrow__0bafa6fb::before{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg);}.Popover_styles_rmr9za_s16xlixz__0bafa6fb[data-popper-placement^='bottom-end'] > .Popover_styles_rmr9za_popoverArrow__0bafa6fb{top:calc(0px - var(--plasma-popover-arrow-height));left:unset !important;right:var(--plasma-popover-arrow-edge-margin) !important;-webkit-transform:unset !important;-ms-transform:unset !important;transform:unset !important;}.Popover_styles_rmr9za_s16xlixz__0bafa6fb[data-popper-placement^='bottom-end'] > .Popover_styles_rmr9za_popoverArrow__0bafa6fb::before{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg);}.Popover_styles_rmr9za_s16xlixz__0bafa6fb[data-popper-placement^='left-start'] > .Popover_styles_rmr9za_popoverArrow__0bafa6fb,.Popover_styles_rmr9za_s16xlixz__0bafa6fb[data-popper-placement^='right-start'] > .Popover_styles_rmr9za_popoverArrow__0bafa6fb{top:var(--plasma-popover-arrow-edge-margin) !important;-webkit-transform:unset !important;-ms-transform:unset !important;transform:unset !important;}.Popover_styles_rmr9za_s16xlixz__0bafa6fb[data-popper-placement^='left-end'] > .Popover_styles_rmr9za_popoverArrow__0bafa6fb,.Popover_styles_rmr9za_s16xlixz__0bafa6fb[data-popper-placement^='right-end'] > .Popover_styles_rmr9za_popoverArrow__0bafa6fb{top:unset !important;bottom:var(--plasma-popover-arrow-edge-margin) !important;-webkit-transform:unset !important;-ms-transform:unset !important;transform:unset !important;}
5
5
 
6
- .Dropdown_styles_1daxhqh_sn7uamp__488e0a19 .Dropdown_styles_1daxhqh_popoverTarget__488e0a19{display:block;}
7
- .Dropdown_styles_1daxhqh_sjr7fmv__488e0a19{box-sizing:border-box;background:var(--plasma-dropdown-background);box-shadow:var(--plasma-dropdown-box-shadow);border-radius:var(--plasma-dropdown-border-radius);width:var(--plasma-dropdown-width);height:var(--plasma-dropdown-height);padding:var(--plasma-dropdown-padding-top) var(--plasma-dropdown-padding-right) var(--plasma-dropdown-padding-bottom) var(--plasma-dropdown-padding-left);}
6
+ .Dropdown_styles_13400l5_sn7uamp__84327758 .Dropdown_styles_13400l5_popoverWrapper__84327758,.Dropdown_styles_13400l5_sn7uamp__84327758 .Dropdown_styles_13400l5_popoverTarget__84327758{display:block;}
7
+ .Dropdown_styles_13400l5_sjr7fmv__84327758{box-sizing:border-box;background:var(--plasma-dropdown-background);box-shadow:var(--plasma-dropdown-box-shadow);border-radius:var(--plasma-dropdown-border-radius);width:var(--plasma-dropdown-width);height:var(--plasma-dropdown-height);padding:var(--plasma-dropdown-padding-top) var(--plasma-dropdown-padding-right) var(--plasma-dropdown-padding-bottom) var(--plasma-dropdown-padding-left);}
8
8
 
9
9
  .DropdownDivider_styles_v3xor1_s1brpi5d__3a791565{background:var(--plasma-dropdown-divider-color);width:var(--plasma-dropdown-divider-width);height:var(--plasma-dropdown-divider-height);margin:var(--plasma-dropdown-divider-margin-top) var(--plasma-dropdown-divider-margin-right) var(--plasma-dropdown-divider-margin-bottom) var(--plasma-dropdown-divider-margin-left);}
10
10
 
@@ -1,11 +1,11 @@
1
1
  import 'react';
2
2
  import '@salutejs/plasma-core';
3
+ import '../../../../utils/react.js';
3
4
  import '@linaria/react';
4
5
  import '@linaria/core';
5
6
  import 'focus-visible';
6
7
  import 'react-dom';
7
8
  import 'react-popper';
8
- import '../../../../utils/react.js';
9
9
  import { dropdownHeaderRoot } from '../../../Dropdown/ui/DropdownHeader/DropdownHeader.js';
10
10
  import { base as base$1 } from './variations/_view/base.js';
11
11
  import { base as base$2 } from './variations/_size/base.js';
@@ -3,8 +3,8 @@
3
3
  .Popover_styles_rmr9za_s1pd4d8a__0bafa6fb{width:var(--plasma-popover-arrow-mask-width);height:var(--plasma-popover-arrow-mask-height);}.Popover_styles_rmr9za_s1pd4d8a__0bafa6fb::before{position:absolute;width:var(--plasma-popover-arrow-mask-width);height:var(--plasma-popover-arrow-mask-height);-webkit-mask-image:var(--plasma-popover-arrow-mask-image);mask-image:var(--plasma-popover-arrow-mask-image);background:var(--plasma-popover-arrow-background);content:'';-webkit-transform:rotate(0deg);-ms-transform:rotate(0deg);transform:rotate(0deg);}
4
4
  .Popover_styles_rmr9za_s16xlixz__0bafa6fb{position:absolute;z-index:var(--s16xlixz-0);}.Popover_styles_rmr9za_s16xlixz__0bafa6fb[data-popper-placement^='top'] > .Popover_styles_rmr9za_popoverArrow__0bafa6fb{bottom:calc(0px - var(--plasma-popover-arrow-height));}.Popover_styles_rmr9za_s16xlixz__0bafa6fb[data-popper-placement^='bottom'] > .Popover_styles_rmr9za_popoverArrow__0bafa6fb{top:calc(0px - var(--plasma-popover-arrow-height));}.Popover_styles_rmr9za_s16xlixz__0bafa6fb[data-popper-placement^='bottom'] > .Popover_styles_rmr9za_popoverArrow__0bafa6fb::before{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg);}.Popover_styles_rmr9za_s16xlixz__0bafa6fb[data-popper-placement^='left'] > .Popover_styles_rmr9za_popoverArrow__0bafa6fb{right:calc(0px - var(--plasma-popover-arrow-height));}.Popover_styles_rmr9za_s16xlixz__0bafa6fb[data-popper-placement^='left'] > .Popover_styles_rmr9za_popoverArrow__0bafa6fb::before{-webkit-transform:rotate(-90deg);-ms-transform:rotate(-90deg);transform:rotate(-90deg);}.Popover_styles_rmr9za_s16xlixz__0bafa6fb[data-popper-placement^='right'] > .Popover_styles_rmr9za_popoverArrow__0bafa6fb{left:calc(0px - var(--plasma-popover-arrow-height));}.Popover_styles_rmr9za_s16xlixz__0bafa6fb[data-popper-placement^='right'] > .Popover_styles_rmr9za_popoverArrow__0bafa6fb::before{-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg);}.Popover_styles_rmr9za_s16xlixz__0bafa6fb[data-popper-placement^='top-start'] > .Popover_styles_rmr9za_popoverArrow__0bafa6fb{bottom:calc(0px - var(--plasma-popover-arrow-height));left:var(--plasma-popover-arrow-edge-margin) !important;-webkit-transform:unset !important;-ms-transform:unset !important;transform:unset !important;}.Popover_styles_rmr9za_s16xlixz__0bafa6fb[data-popper-placement^='top-end'] > .Popover_styles_rmr9za_popoverArrow__0bafa6fb{bottom:calc(0px - var(--plasma-popover-arrow-height));left:unset !important;right:var(--plasma-popover-arrow-edge-margin) !important;-webkit-transform:unset !important;-ms-transform:unset !important;transform:unset !important;}.Popover_styles_rmr9za_s16xlixz__0bafa6fb[data-popper-placement^='bottom-start'] > .Popover_styles_rmr9za_popoverArrow__0bafa6fb{top:calc(0px - var(--plasma-popover-arrow-height));left:var(--plasma-popover-arrow-edge-margin) !important;-webkit-transform:unset !important;-ms-transform:unset !important;transform:unset !important;}.Popover_styles_rmr9za_s16xlixz__0bafa6fb[data-popper-placement^='bottom-start'] > .Popover_styles_rmr9za_popoverArrow__0bafa6fb::before{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg);}.Popover_styles_rmr9za_s16xlixz__0bafa6fb[data-popper-placement^='bottom-end'] > .Popover_styles_rmr9za_popoverArrow__0bafa6fb{top:calc(0px - var(--plasma-popover-arrow-height));left:unset !important;right:var(--plasma-popover-arrow-edge-margin) !important;-webkit-transform:unset !important;-ms-transform:unset !important;transform:unset !important;}.Popover_styles_rmr9za_s16xlixz__0bafa6fb[data-popper-placement^='bottom-end'] > .Popover_styles_rmr9za_popoverArrow__0bafa6fb::before{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg);}.Popover_styles_rmr9za_s16xlixz__0bafa6fb[data-popper-placement^='left-start'] > .Popover_styles_rmr9za_popoverArrow__0bafa6fb,.Popover_styles_rmr9za_s16xlixz__0bafa6fb[data-popper-placement^='right-start'] > .Popover_styles_rmr9za_popoverArrow__0bafa6fb{top:var(--plasma-popover-arrow-edge-margin) !important;-webkit-transform:unset !important;-ms-transform:unset !important;transform:unset !important;}.Popover_styles_rmr9za_s16xlixz__0bafa6fb[data-popper-placement^='left-end'] > .Popover_styles_rmr9za_popoverArrow__0bafa6fb,.Popover_styles_rmr9za_s16xlixz__0bafa6fb[data-popper-placement^='right-end'] > .Popover_styles_rmr9za_popoverArrow__0bafa6fb{top:unset !important;bottom:var(--plasma-popover-arrow-edge-margin) !important;-webkit-transform:unset !important;-ms-transform:unset !important;transform:unset !important;}
5
5
 
6
- .Dropdown_styles_1daxhqh_sn7uamp__488e0a19 .Dropdown_styles_1daxhqh_popoverTarget__488e0a19{display:block;}
7
- .Dropdown_styles_1daxhqh_sjr7fmv__488e0a19{box-sizing:border-box;background:var(--plasma-dropdown-background);box-shadow:var(--plasma-dropdown-box-shadow);border-radius:var(--plasma-dropdown-border-radius);width:var(--plasma-dropdown-width);height:var(--plasma-dropdown-height);padding:var(--plasma-dropdown-padding-top) var(--plasma-dropdown-padding-right) var(--plasma-dropdown-padding-bottom) var(--plasma-dropdown-padding-left);}
6
+ .Dropdown_styles_13400l5_sn7uamp__84327758 .Dropdown_styles_13400l5_popoverWrapper__84327758,.Dropdown_styles_13400l5_sn7uamp__84327758 .Dropdown_styles_13400l5_popoverTarget__84327758{display:block;}
7
+ .Dropdown_styles_13400l5_sjr7fmv__84327758{box-sizing:border-box;background:var(--plasma-dropdown-background);box-shadow:var(--plasma-dropdown-box-shadow);border-radius:var(--plasma-dropdown-border-radius);width:var(--plasma-dropdown-width);height:var(--plasma-dropdown-height);padding:var(--plasma-dropdown-padding-top) var(--plasma-dropdown-padding-right) var(--plasma-dropdown-padding-bottom) var(--plasma-dropdown-padding-left);}
8
8
 
9
9
  .DropdownDivider_styles_v3xor1_s1brpi5d__3a791565{background:var(--plasma-dropdown-divider-color);width:var(--plasma-dropdown-divider-width);height:var(--plasma-dropdown-divider-height);margin:var(--plasma-dropdown-divider-margin-top) var(--plasma-dropdown-divider-margin-right) var(--plasma-dropdown-divider-margin-bottom) var(--plasma-dropdown-divider-margin-left);}
10
10
 
@@ -1,11 +1,11 @@
1
1
  import 'react';
2
2
  import '@salutejs/plasma-core';
3
+ import '../../../../utils/react.js';
3
4
  import '@linaria/react';
4
5
  import '@linaria/core';
5
6
  import 'focus-visible';
6
7
  import 'react-dom';
7
8
  import 'react-popper';
8
- import '../../../../utils/react.js';
9
9
  import { dropdownItemRoot } from '../../../Dropdown/ui/DropdownItem/DropdownItem.js';
10
10
  import { base as base$1 } from './variations/_view/base.js';
11
11
  import { base as base$2 } from './variations/_size/base.js';
@@ -1,12 +1,12 @@
1
1
  import './ComboboxItem.styles_936wgl.css';
2
2
  import 'react';
3
3
  import '@salutejs/plasma-core';
4
+ import '../../../../utils/react.js';
4
5
  import '@linaria/react';
5
6
  import '@linaria/core';
6
7
  import 'focus-visible';
7
8
  import 'react-dom';
8
9
  import 'react-popper';
9
- import '../../../../utils/react.js';
10
10
 
11
11
  var base = "b1thh7ji";
12
12
 
@@ -3,5 +3,5 @@
3
3
  .Popover_styles_rmr9za_s1pd4d8a__0bafa6fb{width:var(--plasma-popover-arrow-mask-width);height:var(--plasma-popover-arrow-mask-height);}.Popover_styles_rmr9za_s1pd4d8a__0bafa6fb::before{position:absolute;width:var(--plasma-popover-arrow-mask-width);height:var(--plasma-popover-arrow-mask-height);-webkit-mask-image:var(--plasma-popover-arrow-mask-image);mask-image:var(--plasma-popover-arrow-mask-image);background:var(--plasma-popover-arrow-background);content:'';-webkit-transform:rotate(0deg);-ms-transform:rotate(0deg);transform:rotate(0deg);}
4
4
  .Popover_styles_rmr9za_s16xlixz__0bafa6fb{position:absolute;z-index:var(--s16xlixz-0);}.Popover_styles_rmr9za_s16xlixz__0bafa6fb[data-popper-placement^='top'] > .Popover_styles_rmr9za_popoverArrow__0bafa6fb{bottom:calc(0px - var(--plasma-popover-arrow-height));}.Popover_styles_rmr9za_s16xlixz__0bafa6fb[data-popper-placement^='bottom'] > .Popover_styles_rmr9za_popoverArrow__0bafa6fb{top:calc(0px - var(--plasma-popover-arrow-height));}.Popover_styles_rmr9za_s16xlixz__0bafa6fb[data-popper-placement^='bottom'] > .Popover_styles_rmr9za_popoverArrow__0bafa6fb::before{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg);}.Popover_styles_rmr9za_s16xlixz__0bafa6fb[data-popper-placement^='left'] > .Popover_styles_rmr9za_popoverArrow__0bafa6fb{right:calc(0px - var(--plasma-popover-arrow-height));}.Popover_styles_rmr9za_s16xlixz__0bafa6fb[data-popper-placement^='left'] > .Popover_styles_rmr9za_popoverArrow__0bafa6fb::before{-webkit-transform:rotate(-90deg);-ms-transform:rotate(-90deg);transform:rotate(-90deg);}.Popover_styles_rmr9za_s16xlixz__0bafa6fb[data-popper-placement^='right'] > .Popover_styles_rmr9za_popoverArrow__0bafa6fb{left:calc(0px - var(--plasma-popover-arrow-height));}.Popover_styles_rmr9za_s16xlixz__0bafa6fb[data-popper-placement^='right'] > .Popover_styles_rmr9za_popoverArrow__0bafa6fb::before{-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg);}.Popover_styles_rmr9za_s16xlixz__0bafa6fb[data-popper-placement^='top-start'] > .Popover_styles_rmr9za_popoverArrow__0bafa6fb{bottom:calc(0px - var(--plasma-popover-arrow-height));left:var(--plasma-popover-arrow-edge-margin) !important;-webkit-transform:unset !important;-ms-transform:unset !important;transform:unset !important;}.Popover_styles_rmr9za_s16xlixz__0bafa6fb[data-popper-placement^='top-end'] > .Popover_styles_rmr9za_popoverArrow__0bafa6fb{bottom:calc(0px - var(--plasma-popover-arrow-height));left:unset !important;right:var(--plasma-popover-arrow-edge-margin) !important;-webkit-transform:unset !important;-ms-transform:unset !important;transform:unset !important;}.Popover_styles_rmr9za_s16xlixz__0bafa6fb[data-popper-placement^='bottom-start'] > .Popover_styles_rmr9za_popoverArrow__0bafa6fb{top:calc(0px - var(--plasma-popover-arrow-height));left:var(--plasma-popover-arrow-edge-margin) !important;-webkit-transform:unset !important;-ms-transform:unset !important;transform:unset !important;}.Popover_styles_rmr9za_s16xlixz__0bafa6fb[data-popper-placement^='bottom-start'] > .Popover_styles_rmr9za_popoverArrow__0bafa6fb::before{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg);}.Popover_styles_rmr9za_s16xlixz__0bafa6fb[data-popper-placement^='bottom-end'] > .Popover_styles_rmr9za_popoverArrow__0bafa6fb{top:calc(0px - var(--plasma-popover-arrow-height));left:unset !important;right:var(--plasma-popover-arrow-edge-margin) !important;-webkit-transform:unset !important;-ms-transform:unset !important;transform:unset !important;}.Popover_styles_rmr9za_s16xlixz__0bafa6fb[data-popper-placement^='bottom-end'] > .Popover_styles_rmr9za_popoverArrow__0bafa6fb::before{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg);}.Popover_styles_rmr9za_s16xlixz__0bafa6fb[data-popper-placement^='left-start'] > .Popover_styles_rmr9za_popoverArrow__0bafa6fb,.Popover_styles_rmr9za_s16xlixz__0bafa6fb[data-popper-placement^='right-start'] > .Popover_styles_rmr9za_popoverArrow__0bafa6fb{top:var(--plasma-popover-arrow-edge-margin) !important;-webkit-transform:unset !important;-ms-transform:unset !important;transform:unset !important;}.Popover_styles_rmr9za_s16xlixz__0bafa6fb[data-popper-placement^='left-end'] > .Popover_styles_rmr9za_popoverArrow__0bafa6fb,.Popover_styles_rmr9za_s16xlixz__0bafa6fb[data-popper-placement^='right-end'] > .Popover_styles_rmr9za_popoverArrow__0bafa6fb{top:unset !important;bottom:var(--plasma-popover-arrow-edge-margin) !important;-webkit-transform:unset !important;-ms-transform:unset !important;transform:unset !important;}
5
5
 
6
- .Dropdown_styles_1daxhqh_sn7uamp__488e0a19 .Dropdown_styles_1daxhqh_popoverTarget__488e0a19{display:block;}
7
- .Dropdown_styles_1daxhqh_sjr7fmv__488e0a19{box-sizing:border-box;background:var(--plasma-dropdown-background);box-shadow:var(--plasma-dropdown-box-shadow);border-radius:var(--plasma-dropdown-border-radius);width:var(--plasma-dropdown-width);height:var(--plasma-dropdown-height);padding:var(--plasma-dropdown-padding-top) var(--plasma-dropdown-padding-right) var(--plasma-dropdown-padding-bottom) var(--plasma-dropdown-padding-left);}
6
+ .Dropdown_styles_13400l5_sn7uamp__84327758 .Dropdown_styles_13400l5_popoverWrapper__84327758,.Dropdown_styles_13400l5_sn7uamp__84327758 .Dropdown_styles_13400l5_popoverTarget__84327758{display:block;}
7
+ .Dropdown_styles_13400l5_sjr7fmv__84327758{box-sizing:border-box;background:var(--plasma-dropdown-background);box-shadow:var(--plasma-dropdown-box-shadow);border-radius:var(--plasma-dropdown-border-radius);width:var(--plasma-dropdown-width);height:var(--plasma-dropdown-height);padding:var(--plasma-dropdown-padding-top) var(--plasma-dropdown-padding-right) var(--plasma-dropdown-padding-bottom) var(--plasma-dropdown-padding-left);}
@@ -1,12 +1,16 @@
1
1
  import { objectWithoutProperties as _objectWithoutProperties, extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
2
- import React, { forwardRef, useRef } from 'react';
2
+ import React, { forwardRef, useRef, useMemo, Children } from 'react';
3
3
  import { useUniqId, useForkRef, useFocusTrap } from '@salutejs/plasma-core';
4
+ import { cx } from '../../utils/index.js';
4
5
  import { base } from './variations/_view/base.js';
5
6
  import { base as base$1 } from './variations/_size/base.js';
6
7
  import { StyledPopover, StyledDropdown } from './Dropdown.styles.js';
7
- import { getPlacements } from './utils/index.js';
8
+ import { getChildren, getPlacements } from './utils/index.js';
9
+ import { classes } from './Dropdown.tokens.js';
10
+ import { useKeyNavigation } from './hooks/useKeyboardNavigation.js';
11
+
12
+ var _excluded = ["id", "target", "children", "hasArrow", "view", "size", "frame", "onToggle", "className", "isFocusTrapped", "isOpen", "role", "placement", "trigger", "offset", "preventOverflow", "closeOnOverlayClick", "closeOnEsc"];
8
13
 
9
- var _excluded = ["id", "target", "children", "hasArrow", "role", "view", "size", "frame", "onToggle", "isFocusTrapped", "isOpen", "placement", "trigger", "offset", "preventOverflow", "closeOnOverlayClick", "closeOnEsc"];
10
14
  /**
11
15
  * Выпадающий список без внешнего контроля видимости.
12
16
  */
@@ -16,15 +20,17 @@ var dropdownRoot = function dropdownRoot(Root) {
16
20
  target = _ref.target,
17
21
  children = _ref.children,
18
22
  hasArrow = _ref.hasArrow,
19
- role = _ref.role,
20
23
  view = _ref.view,
21
24
  size = _ref.size,
22
25
  frame = _ref.frame,
23
26
  _onToggle = _ref.onToggle,
27
+ className = _ref.className,
24
28
  _ref$isFocusTrapped = _ref.isFocusTrapped,
25
29
  isFocusTrapped = _ref$isFocusTrapped === void 0 ? true : _ref$isFocusTrapped,
26
30
  _ref$isOpen = _ref.isOpen,
27
31
  isOpen = _ref$isOpen === void 0 ? false : _ref$isOpen,
32
+ _ref$role = _ref.role,
33
+ role = _ref$role === void 0 ? 'listbox' : _ref$role,
28
34
  _ref$placement = _ref.placement,
29
35
  placement = _ref$placement === void 0 ? 'auto' : _ref$placement,
30
36
  _ref$trigger = _ref.trigger,
@@ -42,9 +48,24 @@ var dropdownRoot = function dropdownRoot(Root) {
42
48
  var innerId = id || uniqId;
43
49
  var rootRef = useRef(null);
44
50
  var dropdownRef = useRef(null);
51
+ var itemsRefs = useRef([]);
45
52
  var handleRef = useForkRef(rootRef, outerRootRef);
46
53
  var trapRef = useFocusTrap(isOpen && isFocusTrapped);
47
54
  var dropdownForkRef = useForkRef(dropdownRef, trapRef);
55
+ var _useKeyNavigation = useKeyNavigation({
56
+ itemsRefs: itemsRefs,
57
+ opened: isOpen,
58
+ updateOpened: _onToggle
59
+ }),
60
+ onKeyDownTarget = _useKeyNavigation.onKeyDownTarget;
61
+ var childrenArray = useMemo(function () {
62
+ return Children.toArray(children);
63
+ }, [children]);
64
+ var childrenMemo = useMemo(function () {
65
+ return getChildren(childrenArray, {
66
+ childrenRefs: itemsRefs
67
+ });
68
+ }, [childrenArray, isOpen]);
48
69
  return /*#__PURE__*/React.createElement(StyledPopover, {
49
70
  role: role,
50
71
  isOpen: isOpen,
@@ -63,12 +84,14 @@ var dropdownRoot = function dropdownRoot(Root) {
63
84
  closeOnOverlayClick: closeOnOverlayClick,
64
85
  closeOnEsc: closeOnEsc,
65
86
  isFocusTrapped: isFocusTrapped,
66
- frame: frame
87
+ frame: frame,
88
+ onKeyDown: onKeyDownTarget
67
89
  }, /*#__PURE__*/React.createElement(Root, _extends({
90
+ className: cx(className, classes.dropdownRoot),
68
91
  ref: handleRef,
69
92
  view: view,
70
93
  size: size
71
- }, rest), /*#__PURE__*/React.createElement(StyledDropdown, null, children)));
94
+ }, rest), /*#__PURE__*/React.createElement(StyledDropdown, null, childrenMemo)));
72
95
  });
73
96
  };
74
97
  var dropdownConfig = {
@@ -1 +1 @@
1
- {"version":3,"file":"Dropdown.js","sources":["../../../src/components/Dropdown/Dropdown.tsx"],"sourcesContent":["import React, { forwardRef, useRef } from 'react';\nimport { useFocusTrap, useForkRef, useUniqId } from '@salutejs/plasma-core';\n\nimport { RootProps } from '../../engines';\n\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { StyledDropdown, StyledPopover } from './Dropdown.styles';\nimport { getPlacements } from './utils';\nimport type { DropdownProps } from './Dropdown.types';\n\n/**\n * Выпадающий список без внешнего контроля видимости.\n */\nexport const dropdownRoot = (Root: RootProps<HTMLDivElement, DropdownProps>) =>\n forwardRef<HTMLDivElement, DropdownProps>(\n (\n {\n id,\n target,\n children,\n hasArrow,\n role,\n view,\n size,\n frame,\n onToggle,\n isFocusTrapped = true,\n isOpen = false,\n placement = 'auto',\n trigger = 'click',\n offset = [0, 6],\n preventOverflow = false,\n closeOnOverlayClick = false,\n closeOnEsc = false,\n ...rest\n },\n outerRootRef,\n ) => {\n const uniqId = useUniqId();\n const innerId = id || uniqId;\n\n const rootRef = useRef<HTMLDivElement | null>(null);\n const dropdownRef = useRef<HTMLDivElement | null>(null);\n const handleRef = useForkRef<HTMLDivElement>(rootRef, outerRootRef);\n\n const trapRef = useFocusTrap(isOpen && isFocusTrapped);\n\n const dropdownForkRef = useForkRef<HTMLDivElement>(dropdownRef, trapRef);\n\n return (\n <StyledPopover\n role={role}\n isOpen={isOpen}\n usePortal={false}\n onToggle={(is, event) => onToggle?.(is, event)}\n id={innerId}\n ref={dropdownForkRef}\n target={target}\n offset={offset}\n preventOverflow={preventOverflow}\n hasArrow={hasArrow}\n placement={getPlacements(placement)}\n trigger={trigger}\n closeOnOverlayClick={closeOnOverlayClick}\n closeOnEsc={closeOnEsc}\n isFocusTrapped={isFocusTrapped}\n frame={frame}\n >\n <Root ref={handleRef} view={view} size={size} {...rest}>\n <StyledDropdown>{children}</StyledDropdown>\n </Root>\n </StyledPopover>\n );\n },\n );\n\nexport const dropdownConfig = {\n name: 'Dropdown',\n tag: 'div',\n layout: dropdownRoot,\n base: '',\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n },\n defaults: {\n view: 'default',\n size: 'm',\n },\n};\n"],"names":["dropdownRoot","Root","forwardRef","_ref","outerRootRef","id","target","children","hasArrow","role","view","size","frame","onToggle","_ref$isFocusTrapped","isFocusTrapped","_ref$isOpen","isOpen","_ref$placement","placement","_ref$trigger","trigger","_ref$offset","offset","_ref$preventOverflow","preventOverflow","_ref$closeOnOverlayCl","closeOnOverlayClick","_ref$closeOnEsc","closeOnEsc","rest","_objectWithoutProperties","_excluded","uniqId","useUniqId","innerId","rootRef","useRef","dropdownRef","handleRef","useForkRef","trapRef","useFocusTrap","dropdownForkRef","React","createElement","StyledPopover","usePortal","is","event","ref","getPlacements","_extends","StyledDropdown","dropdownConfig","name","tag","layout","base","variations","css","viewCSS","sizeCSS","defaults"],"mappings":"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"}
1
+ {"version":3,"file":"Dropdown.js","sources":["../../../src/components/Dropdown/Dropdown.tsx"],"sourcesContent":["import React, { Children, forwardRef, useMemo, useRef } from 'react';\nimport { useFocusTrap, useForkRef, useUniqId } from '@salutejs/plasma-core';\n\nimport { RootProps } from '../../engines';\nimport { cx } from '../../utils';\n\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { StyledDropdown, StyledPopover } from './Dropdown.styles';\nimport { getChildren, getPlacements } from './utils';\nimport type { DropdownProps } from './Dropdown.types';\nimport { classes } from './Dropdown.tokens';\nimport { useKeyNavigation } from './hooks/useKeyboardNavigation';\n\n/**\n * Выпадающий список без внешнего контроля видимости.\n */\nexport const dropdownRoot = (Root: RootProps<HTMLDivElement, DropdownProps>) =>\n forwardRef<HTMLDivElement, DropdownProps>(\n (\n {\n id,\n target,\n children,\n hasArrow,\n view,\n size,\n frame,\n onToggle,\n className,\n isFocusTrapped = true,\n isOpen = false,\n role = 'listbox',\n placement = 'auto',\n trigger = 'click',\n offset = [0, 6],\n preventOverflow = false,\n closeOnOverlayClick = false,\n closeOnEsc = false,\n ...rest\n },\n outerRootRef,\n ) => {\n const uniqId = useUniqId();\n const innerId = id || uniqId;\n\n const rootRef = useRef<HTMLDivElement | null>(null);\n const dropdownRef = useRef<HTMLDivElement | null>(null);\n const itemsRefs = useRef<Array<HTMLDivElement>>([]);\n const handleRef = useForkRef<HTMLDivElement>(rootRef, outerRootRef);\n\n const trapRef = useFocusTrap(isOpen && isFocusTrapped);\n\n const dropdownForkRef = useForkRef<HTMLDivElement>(dropdownRef, trapRef);\n\n const { onKeyDownTarget } = useKeyNavigation({\n itemsRefs,\n opened: isOpen,\n updateOpened: onToggle,\n });\n\n const childrenArray = useMemo(() => Children.toArray(children), [children]) as React.ReactElement[];\n\n const childrenMemo = useMemo(() => getChildren(childrenArray, { childrenRefs: itemsRefs }), [\n childrenArray,\n isOpen,\n ]);\n\n return (\n <StyledPopover\n role={role}\n isOpen={isOpen}\n usePortal={false}\n onToggle={(is, event) => onToggle?.(is, event)}\n id={innerId}\n ref={dropdownForkRef}\n target={target}\n offset={offset}\n preventOverflow={preventOverflow}\n hasArrow={hasArrow}\n placement={getPlacements(placement)}\n trigger={trigger}\n closeOnOverlayClick={closeOnOverlayClick}\n closeOnEsc={closeOnEsc}\n isFocusTrapped={isFocusTrapped}\n frame={frame}\n onKeyDown={onKeyDownTarget}\n >\n <Root\n className={cx(className, classes.dropdownRoot)}\n ref={handleRef}\n view={view}\n size={size}\n {...rest}\n >\n <StyledDropdown>{childrenMemo}</StyledDropdown>\n </Root>\n </StyledPopover>\n );\n },\n );\n\nexport const dropdownConfig = {\n name: 'Dropdown',\n tag: 'div',\n layout: dropdownRoot,\n base: '',\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n },\n defaults: {\n view: 'default',\n size: 'm',\n },\n};\n"],"names":["dropdownRoot","Root","forwardRef","_ref","outerRootRef","id","target","children","hasArrow","view","size","frame","onToggle","className","_ref$isFocusTrapped","isFocusTrapped","_ref$isOpen","isOpen","_ref$role","role","_ref$placement","placement","_ref$trigger","trigger","_ref$offset","offset","_ref$preventOverflow","preventOverflow","_ref$closeOnOverlayCl","closeOnOverlayClick","_ref$closeOnEsc","closeOnEsc","rest","_objectWithoutProperties","_excluded","uniqId","useUniqId","innerId","rootRef","useRef","dropdownRef","itemsRefs","handleRef","useForkRef","trapRef","useFocusTrap","dropdownForkRef","_useKeyNavigation","useKeyNavigation","opened","updateOpened","onKeyDownTarget","childrenArray","useMemo","Children","toArray","childrenMemo","getChildren","childrenRefs","React","createElement","StyledPopover","usePortal","is","event","ref","getPlacements","onKeyDown","_extends","cx","classes","StyledDropdown","dropdownConfig","name","tag","layout","base","variations","css","viewCSS","sizeCSS","defaults"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import './Dropdown.styles_1daxhqh.css';
1
+ import './Dropdown.styles_13400l5.css';
2
2
  import { styled } from '@linaria/react';
3
3
  import '@linaria/core';
4
4
  import { component } from '../../engines/common.js';
@@ -1 +1 @@
1
- {"version":3,"file":"Dropdown.styles.js","sources":["../../../src/components/Dropdown/Dropdown.styles.ts"],"sourcesContent":["import { styled } from '@linaria/react';\n\nimport { component } from '../../engines';\nimport { popoverConfig, popoverClasses } from '../Popover';\n\nimport { tokens } from './Dropdown.tokens';\n\n// issue #823\nconst Popover = component(popoverConfig);\n\nexport const StyledPopover = styled(Popover)`\n .${String(popoverClasses.target)} {\n display: block;\n }\n`;\n\nexport const StyledDropdown = styled.div`\n box-sizing: border-box;\n\n background: var(${tokens.background});\n box-shadow: var(${tokens.boxShadow});\n\n border-radius: var(${tokens.borderRadius});\n width: var(${tokens.width});\n height: var(${tokens.height});\n\n padding: var(${tokens.paddingTop}) var(${tokens.paddingRight}) var(${tokens.paddingBottom})\n var(${tokens.paddingLeft});\n`;\n"],"names":["Popover","component","popoverConfig","_exp","StyledPopover","styled","name","class","propsAsIs","StyledDropdown"],"mappings":";;;;;AAOA;AACA,IAAMA,OAAO,gBAAGC,SAAS,CAACC,aAAa,CAAC,CAAA;AAAC,IAAAC,IAAA,GAPvBA,SAOuBA,IAAAA,GAAA;AAAA,EAAA,OAELH,OAAO,CAAA;AAAA,CAAA,CAAA;AAApC,IAAMI,aAAa,gBAAGC,MAAM,CAAAF,IAAA,EAAA,CAAA,CAAA;AAAAG,EAAAA,IAAA,EAAA,eAAA;AAAAC,EAAAA,OAAAA,EAAA,SAAA;AAAAC,EAAAA,SAAA,EAAA,IAAA;AAAA,CAIlC,EAAA;AAEM,IAAMC,cAAc,gBAAGJ,MAAM,CAAA,KAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,gBAAA;AAAAC,EAAAA,OAAAA,EAAA,SAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CAYnC;;;;"}
1
+ {"version":3,"file":"Dropdown.styles.js","sources":["../../../src/components/Dropdown/Dropdown.styles.ts"],"sourcesContent":["import { styled } from '@linaria/react';\n\nimport { component } from '../../engines';\nimport { popoverConfig, popoverClasses } from '../Popover';\n\nimport { tokens } from './Dropdown.tokens';\n\n// issue #823\nconst Popover = component(popoverConfig);\n\nexport const StyledPopover = styled(Popover)`\n .${String(popoverClasses.wrapper)}, .${String(popoverClasses.target)} {\n display: block;\n }\n`;\n\nexport const StyledDropdown = styled.div`\n box-sizing: border-box;\n\n background: var(${tokens.background});\n box-shadow: var(${tokens.boxShadow});\n\n border-radius: var(${tokens.borderRadius});\n width: var(${tokens.width});\n height: var(${tokens.height});\n\n padding: var(${tokens.paddingTop}) var(${tokens.paddingRight}) var(${tokens.paddingBottom})\n var(${tokens.paddingLeft});\n`;\n"],"names":["Popover","component","popoverConfig","_exp","StyledPopover","styled","name","class","propsAsIs","StyledDropdown"],"mappings":";;;;;AAOA;AACA,IAAMA,OAAO,gBAAGC,SAAS,CAACC,aAAa,CAAC,CAAA;AAAC,IAAAC,IAAA,GAPvBA,SAOuBA,IAAAA,GAAA;AAAA,EAAA,OAELH,OAAO,CAAA;AAAA,CAAA,CAAA;AAApC,IAAMI,aAAa,gBAAGC,MAAM,CAAAF,IAAA,EAAA,CAAA,CAAA;AAAAG,EAAAA,IAAA,EAAA,eAAA;AAAAC,EAAAA,OAAAA,EAAA,SAAA;AAAAC,EAAAA,SAAA,EAAA,IAAA;AAAA,CAIlC,EAAA;AAEM,IAAMC,cAAc,gBAAGJ,MAAM,CAAA,KAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,gBAAA;AAAAC,EAAAA,OAAAA,EAAA,SAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CAYnC;;;;"}
@@ -1,2 +1,2 @@
1
- .sn7uamp .popover-target{display:block;}
1
+ .sn7uamp .popover-wrapper,.sn7uamp .popover-target{display:block;}
2
2
  .sjr7fmv{box-sizing:border-box;background:var(--plasma-dropdown-background);box-shadow:var(--plasma-dropdown-box-shadow);border-radius:var(--plasma-dropdown-border-radius);width:var(--plasma-dropdown-width);height:var(--plasma-dropdown-height);padding:var(--plasma-dropdown-padding-top) var(--plasma-dropdown-padding-right) var(--plasma-dropdown-padding-bottom) var(--plasma-dropdown-padding-left);}
@@ -1,4 +1,5 @@
1
1
  var classes = {
2
+ dropdownRoot: 'dropdown-root',
2
3
  dropdownItemIsSelected: 'dropdown-item-is-selected',
3
4
  dropdownItemIsDisabled: 'dropdown-item-is-disabled'
4
5
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Dropdown.tokens.js","sources":["../../../src/components/Dropdown/Dropdown.tokens.ts"],"sourcesContent":["export const classes = {\n dropdownItemIsSelected: 'dropdown-item-is-selected',\n dropdownItemIsDisabled: 'dropdown-item-is-disabled',\n};\n\nexport const tokens = {\n background: '--plasma-dropdown-background',\n boxShadow: '--plasma-dropdown-box-shadow',\n width: '--plasma-dropdown-width',\n height: '--plasma-dropdown-height',\n borderRadius: '--plasma-dropdown-border-radius',\n paddingTop: '--plasma-dropdown-padding-top',\n paddingRight: '--plasma-dropdown-padding-right',\n paddingBottom: '--plasma-dropdown-padding-bottom',\n paddingLeft: '--plasma-dropdown-padding-left',\n\n itemBackground: '--plasma-dropdown-item-background',\n itemColor: '--plasma-dropdown-item-color',\n itemBackgroundHover: '--plasma-dropdown-item-background-hover',\n itemBackgroundSelected: '--plasma-dropdown-item-background-selected',\n itemColorSelected: '--plasma-dropdown-item-color-selected',\n itemBackgroundSelectedHover: '--plasma-dropdown-item-background-selected-hover',\n itemColorSelectedHover: '--plasma-dropdown-item-color-selected-hover',\n itemWidth: '--plasma-dropdown-item-width',\n itemHeight: '--plasma-dropdown-item-height',\n itemBorderRadius: '--plasma-dropdown-item-border-radius',\n itemPaddingTop: '--plasma-dropdown-item-padding-top',\n itemPaddingRight: '--plasma-dropdown-item-padding-right',\n itemPaddingBottom: '--plasma-dropdown-item-padding-bottom',\n itemPaddingLeft: '--plasma-dropdown-item-padding-left',\n itemMarginTop: '--plasma-dropdown-item-margin-top',\n itemMarginRight: '--plasma-dropdown-item-margin-right',\n itemMarginBottom: '--plasma-dropdown-item-margin-bottom',\n itemMarginLeft: '--plasma-dropdown-item-margin-left',\n itemFontFamily: '--plasma-dropdown-item-font-family',\n itemFontSize: '--plasma-dropdown-item-font-size',\n itemFontStyle: '--plasma-dropdown-item-font-style',\n itemFontWeightBold: '--plasma-dropdown-item-letter-spacing',\n itemFontLetterSpacing: '--plasma-dropdown-item-line-height',\n itemFontLineHeight: '--plasma-dropdown-item-font-weight',\n itemContentLeftColor: '--plasma-dropdown-item-content-left-color',\n itemContentRightColor: '--plasma-dropdown-item-content-right-color',\n itemContentLeftWidth: '--plasma-dropdown-item-content-left-width',\n itemContentRightWidth: '--plasma-dropdown-item-content-right-width',\n\n footerBackground: '--plasma-dropdown-footer-background',\n footerWidth: '--plasma-dropdown-footer-width',\n footerHeight: '--plasma-dropdown-footer-height',\n footerPaddingTop: '--plasma-dropdown-footer-padding-top',\n footerPaddingRight: '--plasma-dropdown-footer-padding-right',\n footerPaddingBottom: '--plasma-dropdown-footer-padding-bottom',\n footerPaddingLeft: '--plasma-dropdown-footer-padding-left',\n footerMarginTop: '--plasma-dropdown-footer-margin-top',\n footerMarginRight: '--plasma-dropdown-footer-margin-right',\n footerMarginBottom: '--plasma-dropdown-footer-margin-bottom',\n footerMarginLeft: '--plasma-dropdown-footer-margin-left',\n footerFontFamily: '--plasma-dropdown-footer-font-family',\n footerFontSize: '--plasma-dropdown-footer-font-size',\n footerFontStyle: '--plasma-dropdown-footer-font-style',\n footerFontWeightBold: '--plasma-dropdown-footer-letter-spacing',\n footerFontLetterSpacing: '--plasma-dropdown-footer-line-height',\n footerFontLineHeight: '--plasma-dropdown-footer-font-weight',\n\n headerBackground: '--plasma-dropdown-header-background',\n headerWidth: '--plasma-dropdown-header-width',\n headerHeight: '--plasma-dropdown-header-height',\n headerPaddingTop: '--plasma-dropdown-header-padding-top',\n headerPaddingRight: '--plasma-dropdown-header-padding-right',\n headerPaddingBottom: '--plasma-dropdown-header-padding-bottom',\n headerPaddingLeft: '--plasma-dropdown-header-padding-left',\n headerMarginTop: '--plasma-dropdown-header-margin-top',\n headerMarginRight: '--plasma-dropdown-header-margin-right',\n headerMarginBottom: '--plasma-dropdown-header-margin-bottom',\n headerMarginLeft: '--plasma-dropdown-header-margin-left',\n headerFontFamily: '--plasma-dropdown-header-font-family',\n headerFontSize: '--plasma-dropdown-header-font-size',\n headerFontStyle: '--plasma-dropdown-header-font-style',\n headerFontWeightBold: '--plasma-dropdown-header-letter-spacing',\n headerFontLetterSpacing: '--plasma-dropdown-header-line-height',\n headerFontLineHeight: '--plasma-dropdown-header-font-weight',\n\n dividerColor: '--plasma-dropdown-divider-color',\n dividerWidth: '--plasma-dropdown-divider-width',\n dividerHeight: '--plasma-dropdown-divider-height',\n dividerMarginTop: '--plasma-dropdown-divider-margin-top',\n dividerMarginRight: '--plasma-dropdown-divider-margin-right',\n dividerMarginBottom: '--plasma-dropdown-divider-margin-bottom',\n dividerMarginLeft: '--plasma-dropdown-divider-margin-left',\n\n groupBackground: '--plasma-dropdown-group-background',\n groupWidth: '--plasma-dropdown-group-width',\n groupHeight: '--plasma-dropdown-group-height',\n groupPaddingTop: '--plasma-dropdown-group-padding-top',\n groupPaddingRight: '--plasma-dropdown-group-padding-right',\n groupPaddingBottom: '--plasma-dropdown-group-padding-bottom',\n groupPaddingLeft: '--plasma-dropdown-group-padding-left',\n groupMarginTop: '--plasma-dropdown-group-margin-top',\n groupMarginRight: '--plasma-dropdown-group-margin-right',\n groupMarginBottom: '--plasma-dropdown-group-margin-bottom',\n groupMarginLeft: '--plasma-dropdown-group-margin-left',\n groupLabelColor: '--plasma-dropdown-group-label-color',\n groupLabelFontFamily: '--plasma-dropdown-group-label-font-family',\n groupLabelFontSize: '--plasma-dropdown-group-label-font-size',\n groupLabelFontStyle: '--plasma-dropdown-group-label-font-style',\n groupLabelFontWeight: '--plasma-dropdown-group-label-font-weight',\n groupLabelLetterSpacing: '--plasma-dropdown-group-label-letter-spacing',\n groupLabelLineHeight: '--plasma-dropdown-group-label-line-height',\n groupLabelPaddingTop: '--plasma-dropdown-group-label-padding-top',\n groupLabelPaddingRight: '--plasma-dropdown-group-label-padding-right',\n groupLabelPaddingBottom: '--plasma-dropdown-group-label-padding-bottom',\n groupLabelPaddingLeft: '--plasma-dropdown-group-label-padding-left',\n groupLabelMarginTop: '--plasma-dropdown-group-label-margin-top',\n groupLabelMarginRight: '--plasma-dropdown-group-label-margin-right',\n groupLabelMarginBottom: '--plasma-dropdown-group-label-margin-bottom',\n groupLabelMarginLeft: '--plasma-dropdown-group-label-margin-left',\n\n disabledOpacity: '--plasma-dropdown-disabled-opacity',\n focusColor: '--plasma-dropdown-focus-color',\n};\n"],"names":["classes","dropdownItemIsSelected","dropdownItemIsDisabled","tokens","background","boxShadow","width","height","borderRadius","paddingTop","paddingRight","paddingBottom","paddingLeft","itemBackground","itemColor","itemBackgroundHover","itemBackgroundSelected","itemColorSelected","itemBackgroundSelectedHover","itemColorSelectedHover","itemWidth","itemHeight","itemBorderRadius","itemPaddingTop","itemPaddingRight","itemPaddingBottom","itemPaddingLeft","itemMarginTop","itemMarginRight","itemMarginBottom","itemMarginLeft","itemFontFamily","itemFontSize","itemFontStyle","itemFontWeightBold","itemFontLetterSpacing","itemFontLineHeight","itemContentLeftColor","itemContentRightColor","itemContentLeftWidth","itemContentRightWidth","footerBackground","footerWidth","footerHeight","footerPaddingTop","footerPaddingRight","footerPaddingBottom","footerPaddingLeft","footerMarginTop","footerMarginRight","footerMarginBottom","footerMarginLeft","footerFontFamily","footerFontSize","footerFontStyle","footerFontWeightBold","footerFontLetterSpacing","footerFontLineHeight","headerBackground","headerWidth","headerHeight","headerPaddingTop","headerPaddingRight","headerPaddingBottom","headerPaddingLeft","headerMarginTop","headerMarginRight","headerMarginBottom","headerMarginLeft","headerFontFamily","headerFontSize","headerFontStyle","headerFontWeightBold","headerFontLetterSpacing","headerFontLineHeight","dividerColor","dividerWidth","dividerHeight","dividerMarginTop","dividerMarginRight","dividerMarginBottom","dividerMarginLeft","groupBackground","groupWidth","groupHeight","groupPaddingTop","groupPaddingRight","groupPaddingBottom","groupPaddingLeft","groupMarginTop","groupMarginRight","groupMarginBottom","groupMarginLeft","groupLabelColor","groupLabelFontFamily","groupLabelFontSize","groupLabelFontStyle","groupLabelFontWeight","groupLabelLetterSpacing","groupLabelLineHeight","groupLabelPaddingTop","groupLabelPaddingRight","groupLabelPaddingBottom","groupLabelPaddingLeft","groupLabelMarginTop","groupLabelMarginRight","groupLabelMarginBottom","groupLabelMarginLeft","disabledOpacity","focusColor"],"mappings":"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"}
1
+ {"version":3,"file":"Dropdown.tokens.js","sources":["../../../src/components/Dropdown/Dropdown.tokens.ts"],"sourcesContent":["export const classes = {\n dropdownRoot: 'dropdown-root',\n dropdownItemIsSelected: 'dropdown-item-is-selected',\n dropdownItemIsDisabled: 'dropdown-item-is-disabled',\n};\n\nexport const tokens = {\n background: '--plasma-dropdown-background',\n boxShadow: '--plasma-dropdown-box-shadow',\n width: '--plasma-dropdown-width',\n height: '--plasma-dropdown-height',\n borderRadius: '--plasma-dropdown-border-radius',\n paddingTop: '--plasma-dropdown-padding-top',\n paddingRight: '--plasma-dropdown-padding-right',\n paddingBottom: '--plasma-dropdown-padding-bottom',\n paddingLeft: '--plasma-dropdown-padding-left',\n\n itemBackground: '--plasma-dropdown-item-background',\n itemColor: '--plasma-dropdown-item-color',\n itemBackgroundHover: '--plasma-dropdown-item-background-hover',\n itemBackgroundSelected: '--plasma-dropdown-item-background-selected',\n itemColorSelected: '--plasma-dropdown-item-color-selected',\n itemBackgroundSelectedHover: '--plasma-dropdown-item-background-selected-hover',\n itemColorSelectedHover: '--plasma-dropdown-item-color-selected-hover',\n itemWidth: '--plasma-dropdown-item-width',\n itemHeight: '--plasma-dropdown-item-height',\n itemBorderRadius: '--plasma-dropdown-item-border-radius',\n itemPaddingTop: '--plasma-dropdown-item-padding-top',\n itemPaddingRight: '--plasma-dropdown-item-padding-right',\n itemPaddingBottom: '--plasma-dropdown-item-padding-bottom',\n itemPaddingLeft: '--plasma-dropdown-item-padding-left',\n itemMarginTop: '--plasma-dropdown-item-margin-top',\n itemMarginRight: '--plasma-dropdown-item-margin-right',\n itemMarginBottom: '--plasma-dropdown-item-margin-bottom',\n itemMarginLeft: '--plasma-dropdown-item-margin-left',\n itemFontFamily: '--plasma-dropdown-item-font-family',\n itemFontSize: '--plasma-dropdown-item-font-size',\n itemFontStyle: '--plasma-dropdown-item-font-style',\n itemFontWeightBold: '--plasma-dropdown-item-letter-spacing',\n itemFontLetterSpacing: '--plasma-dropdown-item-line-height',\n itemFontLineHeight: '--plasma-dropdown-item-font-weight',\n itemContentLeftColor: '--plasma-dropdown-item-content-left-color',\n itemContentRightColor: '--plasma-dropdown-item-content-right-color',\n itemContentLeftWidth: '--plasma-dropdown-item-content-left-width',\n itemContentRightWidth: '--plasma-dropdown-item-content-right-width',\n\n footerBackground: '--plasma-dropdown-footer-background',\n footerWidth: '--plasma-dropdown-footer-width',\n footerHeight: '--plasma-dropdown-footer-height',\n footerPaddingTop: '--plasma-dropdown-footer-padding-top',\n footerPaddingRight: '--plasma-dropdown-footer-padding-right',\n footerPaddingBottom: '--plasma-dropdown-footer-padding-bottom',\n footerPaddingLeft: '--plasma-dropdown-footer-padding-left',\n footerMarginTop: '--plasma-dropdown-footer-margin-top',\n footerMarginRight: '--plasma-dropdown-footer-margin-right',\n footerMarginBottom: '--plasma-dropdown-footer-margin-bottom',\n footerMarginLeft: '--plasma-dropdown-footer-margin-left',\n footerFontFamily: '--plasma-dropdown-footer-font-family',\n footerFontSize: '--plasma-dropdown-footer-font-size',\n footerFontStyle: '--plasma-dropdown-footer-font-style',\n footerFontWeightBold: '--plasma-dropdown-footer-letter-spacing',\n footerFontLetterSpacing: '--plasma-dropdown-footer-line-height',\n footerFontLineHeight: '--plasma-dropdown-footer-font-weight',\n\n headerBackground: '--plasma-dropdown-header-background',\n headerWidth: '--plasma-dropdown-header-width',\n headerHeight: '--plasma-dropdown-header-height',\n headerPaddingTop: '--plasma-dropdown-header-padding-top',\n headerPaddingRight: '--plasma-dropdown-header-padding-right',\n headerPaddingBottom: '--plasma-dropdown-header-padding-bottom',\n headerPaddingLeft: '--plasma-dropdown-header-padding-left',\n headerMarginTop: '--plasma-dropdown-header-margin-top',\n headerMarginRight: '--plasma-dropdown-header-margin-right',\n headerMarginBottom: '--plasma-dropdown-header-margin-bottom',\n headerMarginLeft: '--plasma-dropdown-header-margin-left',\n headerFontFamily: '--plasma-dropdown-header-font-family',\n headerFontSize: '--plasma-dropdown-header-font-size',\n headerFontStyle: '--plasma-dropdown-header-font-style',\n headerFontWeightBold: '--plasma-dropdown-header-letter-spacing',\n headerFontLetterSpacing: '--plasma-dropdown-header-line-height',\n headerFontLineHeight: '--plasma-dropdown-header-font-weight',\n\n dividerColor: '--plasma-dropdown-divider-color',\n dividerWidth: '--plasma-dropdown-divider-width',\n dividerHeight: '--plasma-dropdown-divider-height',\n dividerMarginTop: '--plasma-dropdown-divider-margin-top',\n dividerMarginRight: '--plasma-dropdown-divider-margin-right',\n dividerMarginBottom: '--plasma-dropdown-divider-margin-bottom',\n dividerMarginLeft: '--plasma-dropdown-divider-margin-left',\n\n groupBackground: '--plasma-dropdown-group-background',\n groupWidth: '--plasma-dropdown-group-width',\n groupHeight: '--plasma-dropdown-group-height',\n groupPaddingTop: '--plasma-dropdown-group-padding-top',\n groupPaddingRight: '--plasma-dropdown-group-padding-right',\n groupPaddingBottom: '--plasma-dropdown-group-padding-bottom',\n groupPaddingLeft: '--plasma-dropdown-group-padding-left',\n groupMarginTop: '--plasma-dropdown-group-margin-top',\n groupMarginRight: '--plasma-dropdown-group-margin-right',\n groupMarginBottom: '--plasma-dropdown-group-margin-bottom',\n groupMarginLeft: '--plasma-dropdown-group-margin-left',\n groupLabelColor: '--plasma-dropdown-group-label-color',\n groupLabelFontFamily: '--plasma-dropdown-group-label-font-family',\n groupLabelFontSize: '--plasma-dropdown-group-label-font-size',\n groupLabelFontStyle: '--plasma-dropdown-group-label-font-style',\n groupLabelFontWeight: '--plasma-dropdown-group-label-font-weight',\n groupLabelLetterSpacing: '--plasma-dropdown-group-label-letter-spacing',\n groupLabelLineHeight: '--plasma-dropdown-group-label-line-height',\n groupLabelPaddingTop: '--plasma-dropdown-group-label-padding-top',\n groupLabelPaddingRight: '--plasma-dropdown-group-label-padding-right',\n groupLabelPaddingBottom: '--plasma-dropdown-group-label-padding-bottom',\n groupLabelPaddingLeft: '--plasma-dropdown-group-label-padding-left',\n groupLabelMarginTop: '--plasma-dropdown-group-label-margin-top',\n groupLabelMarginRight: '--plasma-dropdown-group-label-margin-right',\n groupLabelMarginBottom: '--plasma-dropdown-group-label-margin-bottom',\n groupLabelMarginLeft: '--plasma-dropdown-group-label-margin-left',\n\n disabledOpacity: '--plasma-dropdown-disabled-opacity',\n focusColor: '--plasma-dropdown-focus-color',\n};\n"],"names":["classes","dropdownRoot","dropdownItemIsSelected","dropdownItemIsDisabled","tokens","background","boxShadow","width","height","borderRadius","paddingTop","paddingRight","paddingBottom","paddingLeft","itemBackground","itemColor","itemBackgroundHover","itemBackgroundSelected","itemColorSelected","itemBackgroundSelectedHover","itemColorSelectedHover","itemWidth","itemHeight","itemBorderRadius","itemPaddingTop","itemPaddingRight","itemPaddingBottom","itemPaddingLeft","itemMarginTop","itemMarginRight","itemMarginBottom","itemMarginLeft","itemFontFamily","itemFontSize","itemFontStyle","itemFontWeightBold","itemFontLetterSpacing","itemFontLineHeight","itemContentLeftColor","itemContentRightColor","itemContentLeftWidth","itemContentRightWidth","footerBackground","footerWidth","footerHeight","footerPaddingTop","footerPaddingRight","footerPaddingBottom","footerPaddingLeft","footerMarginTop","footerMarginRight","footerMarginBottom","footerMarginLeft","footerFontFamily","footerFontSize","footerFontStyle","footerFontWeightBold","footerFontLetterSpacing","footerFontLineHeight","headerBackground","headerWidth","headerHeight","headerPaddingTop","headerPaddingRight","headerPaddingBottom","headerPaddingLeft","headerMarginTop","headerMarginRight","headerMarginBottom","headerMarginLeft","headerFontFamily","headerFontSize","headerFontStyle","headerFontWeightBold","headerFontLetterSpacing","headerFontLineHeight","dividerColor","dividerWidth","dividerHeight","dividerMarginTop","dividerMarginRight","dividerMarginBottom","dividerMarginLeft","groupBackground","groupWidth","groupHeight","groupPaddingTop","groupPaddingRight","groupPaddingBottom","groupPaddingLeft","groupMarginTop","groupMarginRight","groupMarginBottom","groupMarginLeft","groupLabelColor","groupLabelFontFamily","groupLabelFontSize","groupLabelFontStyle","groupLabelFontWeight","groupLabelLetterSpacing","groupLabelLineHeight","groupLabelPaddingTop","groupLabelPaddingRight","groupLabelPaddingBottom","groupLabelPaddingLeft","groupLabelMarginTop","groupLabelMarginRight","groupLabelMarginBottom","groupLabelMarginLeft","disabledOpacity","focusColor"],"mappings":"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"}
@@ -0,0 +1,76 @@
1
+ import { slicedToArray as _slicedToArray } from '../../../_virtual/_rollupPluginBabelHelpers.js';
2
+ import { useState, useEffect, useCallback } from 'react';
3
+
4
+ var Keys = {
5
+ Tab: 'Tab',
6
+ Enter: 'Enter',
7
+ Escape: 'Escape',
8
+ ArrowUp: 'ArrowUp',
9
+ ArrowDown: 'ArrowDown'
10
+ };
11
+ var useKeyNavigation = function useKeyNavigation(_ref) {
12
+ var itemsRefs = _ref.itemsRefs,
13
+ opened = _ref.opened,
14
+ updateOpened = _ref.updateOpened;
15
+ var _useState = useState(0),
16
+ _useState2 = _slicedToArray(_useState, 2),
17
+ selectItemIndex = _useState2[0],
18
+ setSelectItemIndex = _useState2[1];
19
+ useEffect(function () {
20
+ var _itemsRefs$current, _itemsRefs$current$se;
21
+ if (!opened) {
22
+ setSelectItemIndex(0);
23
+ return;
24
+ }
25
+ itemsRefs === null || itemsRefs === void 0 ? void 0 : (_itemsRefs$current = itemsRefs.current) === null || _itemsRefs$current === void 0 ? void 0 : (_itemsRefs$current$se = _itemsRefs$current[selectItemIndex]) === null || _itemsRefs$current$se === void 0 ? void 0 : _itemsRefs$current$se.focus();
26
+ }, [opened]);
27
+ var onKeyDownTarget = useCallback(function (event) {
28
+ var _focusedItem, _focusedItem2;
29
+ event.stopPropagation();
30
+ var code = event.code;
31
+ var itemsRefsCount = itemsRefs.current.length;
32
+ var newOpened = opened;
33
+ var newSelectItemIndex = selectItemIndex;
34
+ var focusedItem = null;
35
+ if (code === Keys.Escape || code === Keys.Tab) {
36
+ newOpened = false;
37
+ newSelectItemIndex = -1;
38
+ updateOpened === null || updateOpened === void 0 ? void 0 : updateOpened(newOpened, event);
39
+ }
40
+ if (code === Keys.ArrowUp) {
41
+ var _itemsRefs$current2;
42
+ newSelectItemIndex = newSelectItemIndex - 1 === -1 ? itemsRefsCount - 1 : newSelectItemIndex - 1;
43
+ focusedItem = itemsRefs === null || itemsRefs === void 0 ? void 0 : (_itemsRefs$current2 = itemsRefs.current) === null || _itemsRefs$current2 === void 0 ? void 0 : _itemsRefs$current2[newSelectItemIndex];
44
+ }
45
+ if (code === Keys.ArrowDown) {
46
+ var _itemsRefs$current3;
47
+ newSelectItemIndex = newSelectItemIndex + 1 === itemsRefsCount ? 0 : newSelectItemIndex + 1;
48
+ focusedItem = itemsRefs === null || itemsRefs === void 0 ? void 0 : (_itemsRefs$current3 = itemsRefs.current) === null || _itemsRefs$current3 === void 0 ? void 0 : _itemsRefs$current3[newSelectItemIndex];
49
+ }
50
+ if (code === Keys.Enter) {
51
+ event.preventDefault();
52
+ var item = itemsRefs.current[newSelectItemIndex];
53
+
54
+ // TODO: #1016
55
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
56
+ // @ts-ignore
57
+ if (item !== null && item !== void 0 && item.ariaDisabled) {
58
+ return;
59
+ }
60
+ item === null || item === void 0 ? void 0 : item.click();
61
+ }
62
+ setSelectItemIndex(newSelectItemIndex);
63
+ (_focusedItem = focusedItem) === null || _focusedItem === void 0 ? void 0 : _focusedItem.focus();
64
+ (_focusedItem2 = focusedItem) === null || _focusedItem2 === void 0 ? void 0 : _focusedItem2.scrollIntoView({
65
+ behavior: 'smooth',
66
+ block: 'center',
67
+ inline: 'center'
68
+ });
69
+ }, [opened, selectItemIndex, updateOpened]);
70
+ return {
71
+ onKeyDownTarget: onKeyDownTarget
72
+ };
73
+ };
74
+
75
+ export { Keys, useKeyNavigation };
76
+ //# sourceMappingURL=useKeyboardNavigation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useKeyboardNavigation.js","sources":["../../../../src/components/Dropdown/hooks/useKeyboardNavigation.ts"],"sourcesContent":["import { KeyboardEvent, useCallback, useEffect, useState } from 'react';\n\nimport type { UseKeyNavigationProps } from '../Dropdown.types';\n\nexport const Keys = {\n Tab: 'Tab',\n Enter: 'Enter',\n Escape: 'Escape',\n ArrowUp: 'ArrowUp',\n ArrowDown: 'ArrowDown',\n};\n\nexport const useKeyNavigation = ({ itemsRefs, opened, updateOpened }: UseKeyNavigationProps) => {\n const [selectItemIndex, setSelectItemIndex] = useState(0);\n\n useEffect(() => {\n if (!opened) {\n setSelectItemIndex(0);\n\n return;\n }\n\n itemsRefs?.current?.[selectItemIndex]?.focus();\n }, [opened]);\n\n const onKeyDownTarget = useCallback(\n (event: KeyboardEvent<HTMLDivElement>) => {\n event.stopPropagation();\n\n const { code } = event;\n\n const itemsRefsCount = itemsRefs.current.length;\n let newOpened = opened;\n let newSelectItemIndex = selectItemIndex;\n let focusedItem: HTMLElement | null = null;\n\n if (code === Keys.Escape || code === Keys.Tab) {\n newOpened = false;\n newSelectItemIndex = -1;\n updateOpened?.(newOpened, event);\n }\n\n if (code === Keys.ArrowUp) {\n newSelectItemIndex = newSelectItemIndex - 1 === -1 ? itemsRefsCount - 1 : newSelectItemIndex - 1;\n focusedItem = itemsRefs?.current?.[newSelectItemIndex];\n }\n\n if (code === Keys.ArrowDown) {\n newSelectItemIndex = newSelectItemIndex + 1 === itemsRefsCount ? 0 : newSelectItemIndex + 1;\n focusedItem = itemsRefs?.current?.[newSelectItemIndex];\n }\n\n if (code === Keys.Enter) {\n event.preventDefault();\n\n const item = itemsRefs.current[newSelectItemIndex] as HTMLElement;\n\n // TODO: #1016\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n if (item?.ariaDisabled) {\n return;\n }\n\n item?.click();\n }\n\n setSelectItemIndex(newSelectItemIndex);\n\n focusedItem?.focus();\n focusedItem?.scrollIntoView({\n behavior: 'smooth',\n block: 'center',\n inline: 'center',\n });\n },\n [opened, selectItemIndex, updateOpened],\n );\n\n return { onKeyDownTarget } as const;\n};\n"],"names":["Keys","Tab","Enter","Escape","ArrowUp","ArrowDown","useKeyNavigation","_ref","itemsRefs","opened","updateOpened","_useState","useState","_useState2","_slicedToArray","selectItemIndex","setSelectItemIndex","useEffect","_itemsRefs$current","_itemsRefs$current$se","current","focus","onKeyDownTarget","useCallback","event","_focusedItem","_focusedItem2","stopPropagation","code","itemsRefsCount","length","newOpened","newSelectItemIndex","focusedItem","_itemsRefs$current2","_itemsRefs$current3","preventDefault","item","ariaDisabled","click","scrollIntoView","behavior","block","inline"],"mappings":"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"}
@@ -8,7 +8,7 @@ import { base as base$1 } from './variations/_view/base.js';
8
8
  import { base as base$2 } from './variations/_size/base.js';
9
9
  import { StyledContentLeft, StyledText, StyledContentRight, base } from './DropdownItem.styles.js';
10
10
 
11
- var _excluded = ["id", "className", "children", "text", "isSelected", "name", "checked", "value", "role", "view", "size", "disabled", "contentLeft", "contentRight", "onSelect", "onClick", "onChange"];
11
+ var _excluded = ["id", "className", "children", "text", "isSelected", "name", "checked", "value", "view", "size", "disabled", "role", "contentLeft", "contentRight", "onSelect", "onClick", "onChange"];
12
12
  /**
13
13
  * Элемент выпадающего списка
14
14
  */
@@ -22,10 +22,11 @@ var dropdownItemRoot = function dropdownItemRoot(Root) {
22
22
  name = _ref.name,
23
23
  checked = _ref.checked,
24
24
  value = _ref.value,
25
- role = _ref.role,
26
25
  view = _ref.view,
27
26
  size = _ref.size,
28
27
  disabled = _ref.disabled,
28
+ _ref$role = _ref.role,
29
+ role = _ref$role === void 0 ? 'option' : _ref$role,
29
30
  ContentLeftComponent = _ref.contentLeft,
30
31
  ContentRightComponent = _ref.contentRight,
31
32
  onSelect = _ref.onSelect,
@@ -59,7 +60,7 @@ var dropdownItemRoot = function dropdownItemRoot(Root) {
59
60
  value: value,
60
61
  checked: checked || isSelected,
61
62
  disabled: disabled,
62
- tabIndex: 0
63
+ tabIndex: -1
63
64
  }, !disabled && {
64
65
  onChange: handleOnChange
65
66
  });
@@ -79,6 +80,7 @@ var dropdownItemRoot = function dropdownItemRoot(Root) {
79
80
  ref: outerRootRef,
80
81
  tabIndex: 0,
81
82
  "aria-disabled": disabled,
83
+ "aria-selected": isSelected,
82
84
  onClick: handleOnClick,
83
85
  "data-value": value
84
86
  }, rest), text ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(StyledContentLeft, null, ContentLeftComponent && ContentLeft), /*#__PURE__*/React.createElement(StyledText, null, text), /*#__PURE__*/React.createElement(StyledContentRight, null, ContentRightComponent && ContentRight)) : children);
@@ -1 +1 @@
1
- {"version":3,"file":"DropdownItem.js","sources":["../../../../../src/components/Dropdown/ui/DropdownItem/DropdownItem.tsx"],"sourcesContent":["import React, { forwardRef, useCallback, useMemo } from 'react';\nimport { safeUseId } from '@salutejs/plasma-core';\n\nimport { RootProps } from '../../../../engines';\nimport { classes } from '../../Dropdown.tokens';\nimport { cx } from '../../../../utils';\nimport { getValidComponent } from '../../utils';\n\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { StyledContentLeft, StyledContentRight, StyledText, base } from './DropdownItem.styles';\nimport type { DropdownItemProps } from './DropdownItem.type';\n\n/**\n * Элемент выпадающего списка\n */\nexport const dropdownItemRoot = (Root: RootProps<HTMLDivElement, DropdownItemProps>) =>\n forwardRef<HTMLDivElement, DropdownItemProps>(\n (\n {\n id,\n className,\n children,\n text,\n isSelected,\n name,\n checked,\n value,\n role,\n view,\n size,\n disabled,\n contentLeft: ContentLeftComponent,\n contentRight: ContentRightComponent,\n onSelect,\n onClick,\n onChange,\n ...rest\n },\n outerRootRef,\n ) => {\n const uniqId = safeUseId();\n const innerId = id || uniqId;\n\n const withDropdownItemIsSelected = checked || isSelected ? classes.dropdownItemIsSelected : undefined;\n const withDropdownItemIsDisabled = disabled ? classes.dropdownItemIsDisabled : undefined;\n\n const handleOnClick = useCallback(\n (event: React.MouseEvent<HTMLDivElement>) => {\n if (disabled) {\n return;\n }\n\n onClick?.(event);\n\n if (onSelect && !ContentLeftComponent) {\n onSelect(value, text);\n }\n },\n [onSelect, disabled],\n );\n\n const handleOnChange = useCallback(\n (event: React.MouseEvent<HTMLInputElement>) => {\n if (disabled) {\n return;\n }\n\n onChange?.(event);\n\n if (onSelect && ContentLeftComponent) {\n onSelect(value, text);\n }\n },\n [onSelect, disabled],\n );\n\n const contentProps = {\n name,\n value,\n checked: checked || isSelected,\n disabled,\n tabIndex: 0,\n ...(!disabled && { onChange: handleOnChange }),\n };\n\n const ContentLeft = useMemo(() => getValidComponent(ContentLeftComponent, contentProps), [\n ContentRightComponent,\n contentProps,\n ]);\n\n const ContentRight = useMemo(() => getValidComponent(ContentRightComponent, contentProps), [\n ContentRightComponent,\n contentProps,\n ]);\n\n return (\n <Root\n className={cx(withDropdownItemIsSelected, withDropdownItemIsDisabled, className)}\n view={view}\n size={size}\n id={innerId}\n isSelected={isSelected}\n role={role}\n ref={outerRootRef}\n tabIndex={0}\n aria-disabled={disabled}\n onClick={handleOnClick}\n data-value={value}\n {...rest}\n >\n {text ? (\n <>\n <StyledContentLeft>{ContentLeftComponent && ContentLeft}</StyledContentLeft>\n <StyledText>{text}</StyledText>\n <StyledContentRight>{ContentRightComponent && ContentRight}</StyledContentRight>\n </>\n ) : (\n children\n )}\n </Root>\n );\n },\n );\n\nexport const dropdownItemConfig = {\n name: 'DropdownItem',\n tag: 'div',\n layout: dropdownItemRoot,\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n },\n defaults: {\n view: 'primary',\n size: 'm',\n },\n};\n"],"names":["dropdownItemRoot","Root","forwardRef","_ref","outerRootRef","id","className","children","text","isSelected","name","checked","value","role","view","size","disabled","ContentLeftComponent","contentLeft","ContentRightComponent","contentRight","onSelect","onClick","onChange","rest","_objectWithoutProperties","_excluded","uniqId","safeUseId","innerId","withDropdownItemIsSelected","classes","dropdownItemIsSelected","undefined","withDropdownItemIsDisabled","dropdownItemIsDisabled","handleOnClick","useCallback","event","handleOnChange","contentProps","_objectSpread","tabIndex","ContentLeft","useMemo","getValidComponent","ContentRight","React","createElement","_extends","cx","ref","Fragment","StyledContentLeft","StyledText","StyledContentRight","dropdownItemConfig","tag","layout","base","variations","css","viewCSS","sizeCSS","defaults"],"mappings":"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"}
1
+ {"version":3,"file":"DropdownItem.js","sources":["../../../../../src/components/Dropdown/ui/DropdownItem/DropdownItem.tsx"],"sourcesContent":["import React, { forwardRef, useCallback, useMemo } from 'react';\nimport { safeUseId } from '@salutejs/plasma-core';\n\nimport { RootProps } from '../../../../engines';\nimport { classes } from '../../Dropdown.tokens';\nimport { cx } from '../../../../utils';\nimport { getValidComponent } from '../../utils';\n\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { StyledContentLeft, StyledContentRight, StyledText, base } from './DropdownItem.styles';\nimport type { DropdownItemProps } from './DropdownItem.type';\n\n/**\n * Элемент выпадающего списка\n */\nexport const dropdownItemRoot = (Root: RootProps<HTMLDivElement, DropdownItemProps>) =>\n forwardRef<HTMLDivElement, DropdownItemProps>(\n (\n {\n id,\n className,\n children,\n text,\n isSelected,\n name,\n checked,\n value,\n view,\n size,\n disabled,\n role = 'option',\n contentLeft: ContentLeftComponent,\n contentRight: ContentRightComponent,\n onSelect,\n onClick,\n onChange,\n ...rest\n },\n outerRootRef,\n ) => {\n const uniqId = safeUseId();\n const innerId = id || uniqId;\n\n const withDropdownItemIsSelected = checked || isSelected ? classes.dropdownItemIsSelected : undefined;\n const withDropdownItemIsDisabled = disabled ? classes.dropdownItemIsDisabled : undefined;\n\n const handleOnClick = useCallback(\n (event: React.MouseEvent<HTMLDivElement>) => {\n if (disabled) {\n return;\n }\n\n onClick?.(event);\n\n if (onSelect && !ContentLeftComponent) {\n onSelect(value, text);\n }\n },\n [onSelect, disabled],\n );\n\n const handleOnChange = useCallback(\n (event: React.MouseEvent<HTMLInputElement>) => {\n if (disabled) {\n return;\n }\n\n onChange?.(event);\n\n if (onSelect && ContentLeftComponent) {\n onSelect(value, text);\n }\n },\n [onSelect, disabled],\n );\n\n const contentProps = {\n name,\n value,\n checked: checked || isSelected,\n disabled,\n tabIndex: -1,\n ...(!disabled && { onChange: handleOnChange }),\n };\n\n const ContentLeft = useMemo(() => getValidComponent(ContentLeftComponent, contentProps), [\n ContentRightComponent,\n contentProps,\n ]);\n\n const ContentRight = useMemo(() => getValidComponent(ContentRightComponent, contentProps), [\n ContentRightComponent,\n contentProps,\n ]);\n\n return (\n <Root\n className={cx(withDropdownItemIsSelected, withDropdownItemIsDisabled, className)}\n view={view}\n size={size}\n id={innerId}\n isSelected={isSelected}\n role={role}\n ref={outerRootRef}\n tabIndex={0}\n aria-disabled={disabled}\n aria-selected={isSelected}\n onClick={handleOnClick}\n data-value={value}\n {...rest}\n >\n {text ? (\n <>\n <StyledContentLeft>{ContentLeftComponent && ContentLeft}</StyledContentLeft>\n <StyledText>{text}</StyledText>\n <StyledContentRight>{ContentRightComponent && ContentRight}</StyledContentRight>\n </>\n ) : (\n children\n )}\n </Root>\n );\n },\n );\n\nexport const dropdownItemConfig = {\n name: 'DropdownItem',\n tag: 'div',\n layout: dropdownItemRoot,\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n },\n defaults: {\n view: 'primary',\n size: 'm',\n },\n};\n"],"names":["dropdownItemRoot","Root","forwardRef","_ref","outerRootRef","id","className","children","text","isSelected","name","checked","value","view","size","disabled","_ref$role","role","ContentLeftComponent","contentLeft","ContentRightComponent","contentRight","onSelect","onClick","onChange","rest","_objectWithoutProperties","_excluded","uniqId","safeUseId","innerId","withDropdownItemIsSelected","classes","dropdownItemIsSelected","undefined","withDropdownItemIsDisabled","dropdownItemIsDisabled","handleOnClick","useCallback","event","handleOnChange","contentProps","_objectSpread","tabIndex","ContentLeft","useMemo","getValidComponent","ContentRight","React","createElement","_extends","cx","ref","Fragment","StyledContentLeft","StyledText","StyledContentRight","dropdownItemConfig","tag","layout","base","variations","css","viewCSS","sizeCSS","defaults"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { typeof as _typeof } from '../../../_virtual/_rollupPluginBabelHelpers.js';
2
- import React, { isValidElement, cloneElement } from 'react';
1
+ import { objectSpread2 as _objectSpread2, typeof as _typeof } from '../../../_virtual/_rollupPluginBabelHelpers.js';
2
+ import React, { isValidElement, cloneElement, Children } from 'react';
3
3
 
4
4
  var getPlacement = function getPlacement(placement) {
5
5
  return "".concat(placement, "-start");
@@ -29,6 +29,48 @@ var getValidComponent = function getValidComponent(element, props) {
29
29
  }
30
30
  return element;
31
31
  };
32
+ var getChildren = function getChildren(children, externalProps) {
33
+ if (externalProps.childrenRefs) {
34
+ externalProps.childrenRefs.current = [];
35
+ }
36
+ var res = Children.map(children || [], function (child) {
37
+ var hasValue = ('value' in (child === null || child === void 0 ? void 0 : child.props));
38
+ var hasTarget = ('target' in (child === null || child === void 0 ? void 0 : child.props));
39
+ if (! /*#__PURE__*/isValidElement(child) || !hasValue && !hasTarget) {
40
+ return child;
41
+ }
42
+ if (hasTarget) {
43
+ var _ref = child === null || child === void 0 ? void 0 : child.props,
44
+ target = _ref.target;
45
+ if (! /*#__PURE__*/isValidElement(target)) {
46
+ return child;
47
+ }
48
+ var targetProps = _objectSpread2(_objectSpread2({}, target === null || target === void 0 ? void 0 : target.props), {}, {
49
+ ref: function ref(element) {
50
+ var _externalProps$childr;
51
+ if (externalProps !== null && externalProps !== void 0 && (_externalProps$childr = externalProps.childrenRefs) !== null && _externalProps$childr !== void 0 && _externalProps$childr.current && element) {
52
+ externalProps.childrenRefs.current.push(element);
53
+ }
54
+ }
55
+ });
56
+ var updatedTarget = /*#__PURE__*/cloneElement(target, targetProps);
57
+ var updatedProps = _objectSpread2(_objectSpread2({}, child === null || child === void 0 ? void 0 : child.props), {}, {
58
+ target: updatedTarget
59
+ });
60
+ return /*#__PURE__*/cloneElement(child, updatedProps);
61
+ }
62
+ var props = _objectSpread2(_objectSpread2({}, child === null || child === void 0 ? void 0 : child.props), {}, {
63
+ ref: function ref(element) {
64
+ var _externalProps$childr2;
65
+ if (externalProps !== null && externalProps !== void 0 && (_externalProps$childr2 = externalProps.childrenRefs) !== null && _externalProps$childr2 !== void 0 && _externalProps$childr2.current && element) {
66
+ externalProps.childrenRefs.current.push(element);
67
+ }
68
+ }
69
+ });
70
+ return /*#__PURE__*/cloneElement(child, props);
71
+ });
72
+ return res;
73
+ };
32
74
 
33
- export { getPlacement, getPlacements, getValidComponent };
75
+ export { getChildren, getPlacement, getPlacements, getValidComponent };
34
76
  //# sourceMappingURL=index.js.map