@salutejs/plasma-new-hope 0.78.0-canary.1201.8969250152.0 → 0.78.0-canary.1201.8985207823.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (138) hide show
  1. package/cjs/components/Combobox/Combobox.css +3 -0
  2. package/cjs/components/Combobox/ui/ComboboxDivider/ComboboxDivider.css +3 -0
  3. package/cjs/components/Combobox/ui/ComboboxFooter/ComboboxFooter.css +3 -0
  4. package/cjs/components/Combobox/ui/ComboboxGroup/ComboboxGroup.css +3 -0
  5. package/cjs/components/Combobox/ui/ComboboxHeader/ComboboxHeader.css +3 -0
  6. package/cjs/components/Dropdown/Dropdown.css +3 -0
  7. package/cjs/components/Dropdown/Dropdown.js +5 -2
  8. package/cjs/components/Dropdown/Dropdown.js.map +1 -1
  9. package/cjs/components/Dropdown/hooks/useHashMaps.js +2 -2
  10. package/cjs/components/Dropdown/hooks/useHashMaps.js.map +1 -1
  11. package/cjs/components/Dropdown/hooks/useKeyboardNavigation.js +185 -162
  12. package/cjs/components/Dropdown/hooks/useKeyboardNavigation.js.map +1 -1
  13. package/cjs/components/Dropdown/ui/DropdownInner/DropdownInner.js +4 -1
  14. package/cjs/components/Dropdown/ui/DropdownInner/DropdownInner.js.map +1 -1
  15. package/cjs/components/Dropdown/ui/DropdownOld/Dropdown.styles.js +29 -0
  16. package/cjs/components/Dropdown/ui/DropdownOld/Dropdown.styles.js.map +1 -0
  17. package/cjs/components/Dropdown/ui/DropdownOld/Dropdown.styles_3w3l45.css +2 -0
  18. package/cjs/components/Dropdown/ui/DropdownOld/DropdownOld.css +7 -0
  19. package/cjs/components/Dropdown/ui/DropdownOld/DropdownOld.js +99 -0
  20. package/cjs/components/Dropdown/ui/DropdownOld/DropdownOld.js.map +1 -0
  21. package/cjs/components/Dropdown/ui/DropdownOld/DropdownOld.tokens.js +115 -0
  22. package/cjs/components/Dropdown/ui/DropdownOld/DropdownOld.tokens.js.map +1 -0
  23. package/cjs/components/Dropdown/ui/DropdownOld/utils/index.js +23 -0
  24. package/cjs/components/Dropdown/ui/DropdownOld/utils/index.js.map +1 -0
  25. package/cjs/components/Dropdown/ui/DropdownOld/variations/_size/base.js +9 -0
  26. package/cjs/components/Dropdown/ui/DropdownOld/variations/_size/base.js.map +1 -0
  27. package/cjs/components/Dropdown/ui/DropdownOld/variations/_size/base_x642ct.css +1 -0
  28. package/cjs/components/Dropdown/ui/DropdownOld/variations/_view/base.js +9 -0
  29. package/cjs/components/Dropdown/ui/DropdownOld/variations/_view/base.js.map +1 -0
  30. package/cjs/components/Dropdown/ui/DropdownOld/variations/_view/base_x642ct.css +1 -0
  31. package/cjs/components/Pagination/Pagination.css +3 -0
  32. package/cjs/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.css +3 -0
  33. package/cjs/components/Select/Select.css +3 -0
  34. package/cjs/components/Select/ui/SelectDivider/SelectDivider.css +3 -0
  35. package/cjs/components/Select/ui/SelectFooter/SelectFooter.css +3 -0
  36. package/cjs/components/Select/ui/SelectGroup/SelectGroup.css +3 -0
  37. package/cjs/components/Select/ui/SelectHeader/SelectHeader.css +3 -0
  38. package/cjs/components/Select/ui/SelectItem/SelectItem.css +3 -0
  39. package/cjs/index.css +3 -0
  40. package/cjs/index.js +5 -0
  41. package/cjs/index.js.map +1 -1
  42. package/es/components/Combobox/Combobox.css +3 -0
  43. package/es/components/Combobox/ui/ComboboxDivider/ComboboxDivider.css +3 -0
  44. package/es/components/Combobox/ui/ComboboxFooter/ComboboxFooter.css +3 -0
  45. package/es/components/Combobox/ui/ComboboxGroup/ComboboxGroup.css +3 -0
  46. package/es/components/Combobox/ui/ComboboxHeader/ComboboxHeader.css +3 -0
  47. package/es/components/Dropdown/Dropdown.css +3 -0
  48. package/es/components/Dropdown/Dropdown.js +5 -2
  49. package/es/components/Dropdown/Dropdown.js.map +1 -1
  50. package/es/components/Dropdown/hooks/useHashMaps.js +2 -2
  51. package/es/components/Dropdown/hooks/useHashMaps.js.map +1 -1
  52. package/es/components/Dropdown/hooks/useKeyboardNavigation.js +185 -162
  53. package/es/components/Dropdown/hooks/useKeyboardNavigation.js.map +1 -1
  54. package/es/components/Dropdown/ui/DropdownInner/DropdownInner.js +4 -1
  55. package/es/components/Dropdown/ui/DropdownInner/DropdownInner.js.map +1 -1
  56. package/es/components/Dropdown/ui/DropdownOld/Dropdown.styles.js +24 -0
  57. package/es/components/Dropdown/ui/DropdownOld/Dropdown.styles.js.map +1 -0
  58. package/es/components/Dropdown/ui/DropdownOld/Dropdown.styles_3w3l45.css +2 -0
  59. package/es/components/Dropdown/ui/DropdownOld/DropdownOld.css +7 -0
  60. package/es/components/Dropdown/ui/DropdownOld/DropdownOld.js +94 -0
  61. package/es/components/Dropdown/ui/DropdownOld/DropdownOld.js.map +1 -0
  62. package/es/components/Dropdown/ui/DropdownOld/DropdownOld.tokens.js +111 -0
  63. package/es/components/Dropdown/ui/DropdownOld/DropdownOld.tokens.js.map +1 -0
  64. package/es/components/Dropdown/ui/DropdownOld/utils/index.js +18 -0
  65. package/es/components/Dropdown/ui/DropdownOld/utils/index.js.map +1 -0
  66. package/es/components/Dropdown/ui/DropdownOld/variations/_size/base.js +5 -0
  67. package/es/components/Dropdown/ui/DropdownOld/variations/_size/base.js.map +1 -0
  68. package/es/components/Dropdown/ui/DropdownOld/variations/_size/base_x642ct.css +1 -0
  69. package/es/components/Dropdown/ui/DropdownOld/variations/_view/base.js +5 -0
  70. package/es/components/Dropdown/ui/DropdownOld/variations/_view/base.js.map +1 -0
  71. package/es/components/Dropdown/ui/DropdownOld/variations/_view/base_x642ct.css +1 -0
  72. package/es/components/Pagination/Pagination.css +3 -0
  73. package/es/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.css +3 -0
  74. package/es/components/Select/Select.css +3 -0
  75. package/es/components/Select/ui/SelectDivider/SelectDivider.css +3 -0
  76. package/es/components/Select/ui/SelectFooter/SelectFooter.css +3 -0
  77. package/es/components/Select/ui/SelectGroup/SelectGroup.css +3 -0
  78. package/es/components/Select/ui/SelectHeader/SelectHeader.css +3 -0
  79. package/es/components/Select/ui/SelectItem/SelectItem.css +3 -0
  80. package/es/index.css +3 -0
  81. package/es/index.js +2 -0
  82. package/es/index.js.map +1 -1
  83. package/package.json +2 -2
  84. package/styled-components/cjs/components/Dropdown/Dropdown.js +2 -2
  85. package/styled-components/cjs/components/Dropdown/hooks/useHashMaps.js +2 -2
  86. package/styled-components/cjs/components/Dropdown/hooks/useKeyboardNavigation.js +189 -162
  87. package/styled-components/cjs/components/Dropdown/ui/DropdownInner/DropdownInner.js +1 -1
  88. package/styled-components/cjs/components/Dropdown/ui/DropdownOld/Dropdown.styles.js +19 -0
  89. package/styled-components/cjs/components/Dropdown/ui/DropdownOld/Dropdown.types.js +5 -0
  90. package/styled-components/cjs/components/Dropdown/ui/DropdownOld/DropdownOld.js +101 -0
  91. package/styled-components/cjs/components/Dropdown/ui/DropdownOld/DropdownOld.tokens.js +118 -0
  92. package/styled-components/cjs/components/Dropdown/ui/DropdownOld/utils/index.js +21 -0
  93. package/styled-components/cjs/components/Dropdown/ui/DropdownOld/variations/_size/base.js +8 -0
  94. package/styled-components/cjs/components/Dropdown/ui/DropdownOld/variations/_size/tokens.json +1 -0
  95. package/styled-components/cjs/components/Dropdown/ui/DropdownOld/variations/_view/base.js +8 -0
  96. package/styled-components/cjs/components/Dropdown/ui/DropdownOld/variations/_view/tokens.json +1 -0
  97. package/styled-components/cjs/components/Dropdown/ui/index.js +21 -1
  98. package/styled-components/cjs/examples/plasma_web/components/Dropdown/Dropdown.config.js +25 -0
  99. package/styled-components/cjs/examples/plasma_web/components/Dropdown/Dropdown.js +11 -0
  100. package/styled-components/cjs/examples/plasma_web/components/Dropdown/Dropdown.stories.tsx +292 -0
  101. package/styled-components/es/components/Dropdown/Dropdown.js +2 -2
  102. package/styled-components/es/components/Dropdown/hooks/useHashMaps.js +2 -2
  103. package/styled-components/es/components/Dropdown/hooks/useKeyboardNavigation.js +189 -162
  104. package/styled-components/es/components/Dropdown/ui/DropdownInner/DropdownInner.js +1 -1
  105. package/styled-components/es/components/Dropdown/ui/DropdownOld/Dropdown.styles.js +13 -0
  106. package/styled-components/es/components/Dropdown/ui/DropdownOld/Dropdown.types.js +1 -0
  107. package/styled-components/es/components/Dropdown/ui/DropdownOld/DropdownOld.js +92 -0
  108. package/styled-components/es/components/Dropdown/ui/DropdownOld/DropdownOld.tokens.js +112 -0
  109. package/styled-components/es/components/Dropdown/ui/DropdownOld/utils/index.js +15 -0
  110. package/styled-components/es/components/Dropdown/ui/DropdownOld/variations/_size/base.js +2 -0
  111. package/styled-components/es/components/Dropdown/ui/DropdownOld/variations/_size/tokens.json +1 -0
  112. package/styled-components/es/components/Dropdown/ui/DropdownOld/variations/_view/base.js +2 -0
  113. package/styled-components/es/components/Dropdown/ui/DropdownOld/variations/_view/tokens.json +1 -0
  114. package/styled-components/es/components/Dropdown/ui/index.js +3 -1
  115. package/styled-components/es/examples/plasma_web/components/Dropdown/Dropdown.config.js +19 -0
  116. package/styled-components/es/examples/plasma_web/components/Dropdown/Dropdown.js +5 -0
  117. package/styled-components/es/examples/plasma_web/components/Dropdown/Dropdown.stories.tsx +292 -0
  118. package/types/components/Dropdown/hooks/useKeyboardNavigation.d.ts.map +1 -1
  119. package/types/components/Dropdown/ui/DropdownOld/Dropdown.styles.d.ts +8 -0
  120. package/types/components/Dropdown/ui/DropdownOld/Dropdown.styles.d.ts.map +1 -0
  121. package/types/components/Dropdown/ui/DropdownOld/Dropdown.types.d.ts +76 -0
  122. package/types/components/Dropdown/ui/DropdownOld/Dropdown.types.d.ts.map +1 -0
  123. package/types/components/Dropdown/ui/DropdownOld/DropdownOld.d.ts +26 -0
  124. package/types/components/Dropdown/ui/DropdownOld/DropdownOld.d.ts.map +1 -0
  125. package/types/components/Dropdown/ui/DropdownOld/DropdownOld.tokens.d.ts +113 -0
  126. package/types/components/Dropdown/ui/DropdownOld/DropdownOld.tokens.d.ts.map +1 -0
  127. package/types/components/Dropdown/ui/DropdownOld/utils/index.d.ts +4 -0
  128. package/types/components/Dropdown/ui/DropdownOld/utils/index.d.ts.map +1 -0
  129. package/types/components/Dropdown/ui/DropdownOld/variations/_size/base.d.ts +2 -0
  130. package/types/components/Dropdown/ui/DropdownOld/variations/_size/base.d.ts.map +1 -0
  131. package/types/components/Dropdown/ui/DropdownOld/variations/_view/base.d.ts +2 -0
  132. package/types/components/Dropdown/ui/DropdownOld/variations/_view/base.d.ts.map +1 -0
  133. package/types/components/Dropdown/ui/index.d.ts +2 -0
  134. package/types/components/Dropdown/ui/index.d.ts.map +1 -1
  135. package/types/examples/plasma_web/components/Dropdown/Dropdown.config.d.ts +18 -0
  136. package/types/examples/plasma_web/components/Dropdown/Dropdown.config.d.ts.map +1 -0
  137. package/types/examples/plasma_web/components/Dropdown/Dropdown.d.ts +13 -0
  138. package/types/examples/plasma_web/components/Dropdown/Dropdown.d.ts.map +1 -0
@@ -75,10 +75,30 @@ Object.defineProperty(exports, "dropdownItemOldRoot", {
75
75
  return _DropdownItemOld.dropdownItemOldRoot;
76
76
  }
77
77
  });
78
+ Object.defineProperty(exports, "dropdownOldConfig", {
79
+ enumerable: true,
80
+ get: function get() {
81
+ return _DropdownOld.dropdownOldConfig;
82
+ }
83
+ });
84
+ Object.defineProperty(exports, "dropdownOldRoot", {
85
+ enumerable: true,
86
+ get: function get() {
87
+ return _DropdownOld.dropdownOldRoot;
88
+ }
89
+ });
90
+ Object.defineProperty(exports, "dropdownOldTokens", {
91
+ enumerable: true,
92
+ get: function get() {
93
+ return _DropdownOld2.tokens;
94
+ }
95
+ });
78
96
  var _DropdownDivider = /*#__PURE__*/require("./DropdownDivider/DropdownDivider");
79
97
  var _DropdownFooter = /*#__PURE__*/require("./DropdownFooter/DropdownFooter");
80
98
  var _DropdownGroup = /*#__PURE__*/require("./DropdownGroup/DropdownGroup");
81
99
  var _DropdownHeader = /*#__PURE__*/require("./DropdownHeader/DropdownHeader");
82
100
  var _DropdownItem = /*#__PURE__*/require("./DropdownItem/DropdownItem");
83
101
  var _DropdownInner = /*#__PURE__*/require("./DropdownInner/DropdownInner");
84
- var _DropdownItemOld = /*#__PURE__*/require("./DropdownItemOld/DropdownItemOld");
102
+ var _DropdownItemOld = /*#__PURE__*/require("./DropdownItemOld/DropdownItemOld");
103
+ var _DropdownOld = /*#__PURE__*/require("./DropdownOld/DropdownOld");
104
+ var _DropdownOld2 = /*#__PURE__*/require("./DropdownOld/DropdownOld.tokens");
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.config = void 0;
7
+ var _styledComponents = /*#__PURE__*/require("styled-components");
8
+ var _Dropdown = /*#__PURE__*/require("../../../../components/Dropdown");
9
+ var config = exports.config = {
10
+ defaults: {
11
+ view: 'default',
12
+ size: 'm'
13
+ },
14
+ variations: {
15
+ size: {
16
+ xs: /*#__PURE__*/(0, _styledComponents.css)(["", ":0.125rem;", ":10rem;", ":0.5rem;", ":0.5625rem;", ":0.5rem;", ":0.5625rem;", ":0.5rem;", ":0.375rem;", ":0.3125rem;", ":0.3125rem;", ":var(--plasma-typo-body-xs-font-family);", ":var(--plasma-typo-body-xs-font-size);", ":var(--plasma-typo-body-xs-font-style);", ":var(--plasma-typo-body-xs-font-weight);", ":var(--plasma-typo-body-xs-letter-spacing);", ":var(--plasma-typo-body-xs-line-height);"], _Dropdown.dropdownTokens.padding, _Dropdown.dropdownTokens.width, _Dropdown.dropdownTokens.borderRadius, _Dropdown.dropdownTokens.itemPaddingTop, _Dropdown.dropdownTokens.itemPaddingRight, _Dropdown.dropdownTokens.itemPaddingBottom, _Dropdown.dropdownTokens.itemPaddingLeft, _Dropdown.dropdownTokens.itemBorderRadius, _Dropdown.dropdownTokens.itemPaddingTopTight, _Dropdown.dropdownTokens.itemPaddingBottomTight, _Dropdown.dropdownTokens.itemFontFamily, _Dropdown.dropdownTokens.itemFontSize, _Dropdown.dropdownTokens.itemFontStyle, _Dropdown.dropdownTokens.itemFontWeightBold, _Dropdown.dropdownTokens.itemFontLetterSpacing, _Dropdown.dropdownTokens.itemFontLineHeight),
17
+ s: /*#__PURE__*/(0, _styledComponents.css)(["", ":0.125rem;", ":12.5rem;", ":0.625rem;", ":0.6875rem;", ":0.75rem;", ":0.6875rem;", ":0.75rem;", ":0.5rem;", ":0.4375rem;", ":0.4375rem;", ":var(--plasma-typo-body-s-font-family);", ":var(--plasma-typo-body-s-font-size);", ":var(--plasma-typo-body-s-font-style);", ":var(--plasma-typo-body-s-font-weight);", ":var(--plasma-typo-body-s-letter-spacing);", ":var(--plasma-typo-body-s-line-height);"], _Dropdown.dropdownTokens.padding, _Dropdown.dropdownTokens.width, _Dropdown.dropdownTokens.borderRadius, _Dropdown.dropdownTokens.itemPaddingTop, _Dropdown.dropdownTokens.itemPaddingRight, _Dropdown.dropdownTokens.itemPaddingBottom, _Dropdown.dropdownTokens.itemPaddingLeft, _Dropdown.dropdownTokens.itemBorderRadius, _Dropdown.dropdownTokens.itemPaddingTopTight, _Dropdown.dropdownTokens.itemPaddingBottomTight, _Dropdown.dropdownTokens.itemFontFamily, _Dropdown.dropdownTokens.itemFontSize, _Dropdown.dropdownTokens.itemFontStyle, _Dropdown.dropdownTokens.itemFontWeightBold, _Dropdown.dropdownTokens.itemFontLetterSpacing, _Dropdown.dropdownTokens.itemFontLineHeight),
18
+ m: /*#__PURE__*/(0, _styledComponents.css)(["", ":0.125rem;", ":15rem;", ":0.75rem;", ":0.875rem;", ":0.875rem;", ":0.875rem;", ":0.875rem;", ":0.625rem;", ":0.625rem;", ":0.625rem;", ":var(--plasma-typo-body-m-font-family);", ":var(--plasma-typo-body-m-font-size);", ":var(--plasma-typo-body-m-font-style);", ":var(--plasma-typo-body-m-font-weight);", ":var(--plasma-typo-body-m-letter-spacing);", ":var(--plasma-typo-body-m-line-height);"], _Dropdown.dropdownTokens.padding, _Dropdown.dropdownTokens.width, _Dropdown.dropdownTokens.borderRadius, _Dropdown.dropdownTokens.itemPaddingTop, _Dropdown.dropdownTokens.itemPaddingRight, _Dropdown.dropdownTokens.itemPaddingBottom, _Dropdown.dropdownTokens.itemPaddingLeft, _Dropdown.dropdownTokens.itemBorderRadius, _Dropdown.dropdownTokens.itemPaddingTopTight, _Dropdown.dropdownTokens.itemPaddingBottomTight, _Dropdown.dropdownTokens.itemFontFamily, _Dropdown.dropdownTokens.itemFontSize, _Dropdown.dropdownTokens.itemFontStyle, _Dropdown.dropdownTokens.itemFontWeightBold, _Dropdown.dropdownTokens.itemFontLetterSpacing, _Dropdown.dropdownTokens.itemFontLineHeight),
19
+ l: /*#__PURE__*/(0, _styledComponents.css)(["", ":0.125rem;", ":17.5rem;", ":0.875rem;", ":1.0625rem;", ":1rem;", ":1.0625rem;", ":1rem;", ":0.75rem;", ":0.8125rem;", ":0.8125rem;", ":var(--plasma-typo-body-l-font-family);", ":var(--plasma-typo-body-l-font-size);", ":var(--plasma-typo-body-l-font-style);", ":var(--plasma-typo-body-l-font-weight);", ":var(--plasma-typo-body-l-letter-spacing);", ":var(--plasma-typo-body-l-line-height);"], _Dropdown.dropdownTokens.padding, _Dropdown.dropdownTokens.width, _Dropdown.dropdownTokens.borderRadius, _Dropdown.dropdownTokens.itemPaddingTop, _Dropdown.dropdownTokens.itemPaddingRight, _Dropdown.dropdownTokens.itemPaddingBottom, _Dropdown.dropdownTokens.itemPaddingLeft, _Dropdown.dropdownTokens.itemBorderRadius, _Dropdown.dropdownTokens.itemPaddingTopTight, _Dropdown.dropdownTokens.itemPaddingBottomTight, _Dropdown.dropdownTokens.itemFontFamily, _Dropdown.dropdownTokens.itemFontSize, _Dropdown.dropdownTokens.itemFontStyle, _Dropdown.dropdownTokens.itemFontWeightBold, _Dropdown.dropdownTokens.itemFontLetterSpacing, _Dropdown.dropdownTokens.itemFontLineHeight)
20
+ },
21
+ view: {
22
+ "default": /*#__PURE__*/(0, _styledComponents.css)(["", ":0.4;", ":var(--surface-accent);", ":var(--surface-solid-card);", ":var(--shadow-down-soft-s);", ":var(--text-secondary);", ":var(--plasma-colors-transparent);", ":var(--surface-transparent-secondary);", ":var(--text-primary);"], _Dropdown.dropdownTokens.disabledOpacity, _Dropdown.dropdownTokens.focusColor, _Dropdown.dropdownTokens.background, _Dropdown.dropdownTokens.boxShadow, _Dropdown.dropdownTokens.disclosureIconColor, _Dropdown.dropdownTokens.itemBackground, _Dropdown.dropdownTokens.itemBackgroundHover, _Dropdown.dropdownTokens.itemColor)
23
+ }
24
+ }
25
+ };
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.Dropdown = void 0;
7
+ var _Dropdown = /*#__PURE__*/require("../../../../components/Dropdown");
8
+ var _engines = /*#__PURE__*/require("../../../../engines");
9
+ var _Dropdown2 = /*#__PURE__*/require("./Dropdown.config");
10
+ var mergedConfig = /*#__PURE__*/(0, _engines.mergeConfig)(_Dropdown.dropdownConfig, _Dropdown2.config);
11
+ var Dropdown = exports.Dropdown = /*#__PURE__*/(0, _engines.component)(mergedConfig);
@@ -0,0 +1,292 @@
1
+ import React from 'react';
2
+ import type { ComponentProps } from 'react';
3
+ import type { Meta, StoryObj } from '@storybook/react';
4
+ import { action } from '@storybook/addon-actions';
5
+
6
+ import { WithTheme } from '../../../_helpers';
7
+ import { Button } from '../Button/Button';
8
+ import type { DropdownPlacement, DropdownTrigger } from '../../../../components/Dropdown/Dropdown.types';
9
+
10
+ import { Dropdown } from './Dropdown';
11
+
12
+ type StoryDropdownProps = ComponentProps<typeof Dropdown>;
13
+
14
+ const placements: Array<DropdownPlacement> = ['top', 'bottom', 'right', 'left', 'auto'];
15
+ const triggers: Array<DropdownTrigger> = ['click', 'hover'];
16
+ const size = ['xs', 's', 'm', 'l'];
17
+ const variant = ['normal', 'tight'];
18
+
19
+ const meta: Meta<StoryDropdownProps> = {
20
+ title: 'plasma_web/Dropdown',
21
+ decorators: [WithTheme],
22
+ component: Dropdown,
23
+ argTypes: {
24
+ placement: {
25
+ options: placements,
26
+ control: {
27
+ type: 'select',
28
+ },
29
+ },
30
+ trigger: {
31
+ options: triggers,
32
+ control: {
33
+ type: 'select',
34
+ },
35
+ },
36
+ size: {
37
+ options: size,
38
+ control: {
39
+ type: 'select',
40
+ },
41
+ },
42
+ variant: {
43
+ options: variant,
44
+ control: {
45
+ type: 'select',
46
+ },
47
+ },
48
+ },
49
+ args: {
50
+ trigger: 'click',
51
+ offset: [0, 0],
52
+ listWidth: 'auto',
53
+ hasArrow: true,
54
+ closeOnOverlayClick: true,
55
+ closeOnSelect: true,
56
+ size: 'm',
57
+ variant: 'normal',
58
+ },
59
+ };
60
+
61
+ export default meta;
62
+
63
+ const items = [
64
+ {
65
+ value: 'north_america',
66
+ label: 'Северная Америка',
67
+ },
68
+ {
69
+ value: 'south_america',
70
+ label: 'Южная Америка',
71
+ items: [
72
+ {
73
+ value: 'brazil',
74
+ label: 'Бразилия',
75
+ items: [
76
+ {
77
+ value: 'rio_de_janeiro',
78
+ label: 'Рио-де-Жанейро',
79
+ },
80
+ {
81
+ value: 'sao_paulo',
82
+ label: 'Сан-Паулу',
83
+ },
84
+ ],
85
+ },
86
+ {
87
+ value: 'argentina',
88
+ label: 'Аргентина',
89
+ items: [
90
+ {
91
+ value: 'buenos_aires',
92
+ label: 'Буэнос-Айрес',
93
+ },
94
+ {
95
+ value: 'cordoba',
96
+ label: 'Кордова',
97
+ },
98
+ ],
99
+ },
100
+ {
101
+ value: 'colombia',
102
+ label: 'Колумбия',
103
+ items: [
104
+ {
105
+ value: 'bogota',
106
+ label: 'Богота',
107
+ },
108
+ {
109
+ value: 'medellin',
110
+ label: 'Медельин',
111
+ },
112
+ ],
113
+ },
114
+ ],
115
+ },
116
+ {
117
+ value: 'europe',
118
+ label: 'Европа',
119
+ items: [
120
+ {
121
+ value: 'france',
122
+ label: 'Франция',
123
+ items: [
124
+ {
125
+ value: 'paris',
126
+ label: 'Париж',
127
+ },
128
+ {
129
+ value: 'lyon',
130
+ label: 'Лион',
131
+ },
132
+ ],
133
+ },
134
+ {
135
+ value: 'germany',
136
+ label: 'Германия',
137
+ items: [
138
+ {
139
+ value: 'berlin',
140
+ label: 'Берлин',
141
+ },
142
+ {
143
+ value: 'munich',
144
+ label: 'Мюнхен',
145
+ },
146
+ ],
147
+ },
148
+ {
149
+ value: 'italy',
150
+ label: 'Италия',
151
+ items: [
152
+ {
153
+ value: 'rome',
154
+ label: 'Рим',
155
+ },
156
+ {
157
+ value: 'milan',
158
+ label: 'Милан',
159
+ },
160
+ ],
161
+ },
162
+ {
163
+ value: 'spain',
164
+ label: 'Испания',
165
+ items: [
166
+ {
167
+ value: 'madrid',
168
+ label: 'Мадрид',
169
+ },
170
+ {
171
+ value: 'barcelona',
172
+ label: 'Барселона',
173
+ },
174
+ ],
175
+ },
176
+ {
177
+ value: 'united_kingdom',
178
+ label: 'Великобритания',
179
+ items: [
180
+ {
181
+ value: 'london',
182
+ label: 'Лондон',
183
+ },
184
+ {
185
+ value: 'manchester',
186
+ label: 'Манчестер',
187
+ },
188
+ ],
189
+ },
190
+ ],
191
+ },
192
+ {
193
+ value: 'asia',
194
+ label: 'Азия',
195
+ items: [
196
+ {
197
+ value: 'china',
198
+ label: 'Китай',
199
+ items: [
200
+ {
201
+ value: 'beijing',
202
+ label: 'Пекин',
203
+ },
204
+ {
205
+ value: 'shanghai',
206
+ label: 'Шанхай',
207
+ },
208
+ ],
209
+ },
210
+ {
211
+ value: 'japan',
212
+ label: 'Япония',
213
+ items: [
214
+ {
215
+ value: 'tokyo',
216
+ label: 'Токио',
217
+ },
218
+ {
219
+ value: 'osaka',
220
+ label: 'Осака',
221
+ },
222
+ ],
223
+ },
224
+ {
225
+ value: 'india',
226
+ label: 'Индия',
227
+ items: [
228
+ {
229
+ value: 'delhi',
230
+ label: 'Дели',
231
+ },
232
+ {
233
+ value: 'mumbai',
234
+ label: 'Мумбаи',
235
+ },
236
+ ],
237
+ },
238
+ {
239
+ value: 'south_korea',
240
+ label: 'Южная Корея',
241
+ items: [
242
+ {
243
+ value: 'seoul',
244
+ label: 'Сеул',
245
+ },
246
+ {
247
+ value: 'busan',
248
+ label: 'Пусан',
249
+ },
250
+ ],
251
+ },
252
+ {
253
+ value: 'thailand',
254
+ label: 'Таиланд',
255
+ items: [
256
+ {
257
+ value: 'bangkok',
258
+ label: 'Бангкок',
259
+ },
260
+ {
261
+ value: 'phuket',
262
+ label: 'Пхукет',
263
+ },
264
+ ],
265
+ },
266
+ ],
267
+ },
268
+ {
269
+ value: 'africa',
270
+ label: 'Африка',
271
+ disabled: true,
272
+ },
273
+ ];
274
+
275
+ const StoryNormal = (args: StoryDropdownProps) => {
276
+ return (
277
+ <Dropdown
278
+ {...args}
279
+ items={items}
280
+ onToggle={action('onToggle')}
281
+ onHover={action('onHover')}
282
+ onItemSelect={action('onItemSelect')}
283
+ onItemClick={action('onItemClick')}
284
+ >
285
+ <Button text="Список стран" />
286
+ </Dropdown>
287
+ );
288
+ };
289
+
290
+ export const Default: StoryObj<StoryDropdownProps> = {
291
+ render: (args) => <StoryNormal {...args} />,
292
+ };
@@ -122,7 +122,7 @@ export var dropdownRoot = function dropdownRoot(Root) {
122
122
  isFocusTrapped: false,
123
123
  target: childrenWithProps(children, {
124
124
  role: 'combobox',
125
- 'aria-controls': 'listbox1',
125
+ 'aria-controls': 'tree_level_1',
126
126
  'aria-expanded': isCurrentListOpen,
127
127
  'aria-activedescendant': getActiveDescendant(),
128
128
  onKeyDown: onKeyDown
@@ -132,7 +132,7 @@ export var dropdownRoot = function dropdownRoot(Root) {
132
132
  listHeight: listHeight,
133
133
  listOverflow: listOverflow,
134
134
  role: "tree",
135
- id: "listbox1",
135
+ id: "tree_level_1",
136
136
  listWidth: listWidth
137
137
  }, items.map(function (item, index) {
138
138
  return /*#__PURE__*/React.createElement(DropdownInner, {
@@ -1,6 +1,6 @@
1
1
  import { useMemo } from 'react';
2
- // Данный хук рекурсивно проходится по дереву items и создаем 2 мапы: мапу путей и мапу фокусов.
3
- // Нужно для получения информации всей об item, зная только путь до нее.
2
+ // Данный хук рекурсивно проходится по дереву items и создает 2 мапы: мапу путей и мапу фокусов.
3
+ // Нужно для получения всей информации об item, зная только путь до него.
4
4
 
5
5
  export var useHashMaps = function useHashMaps(items) {
6
6
  return useMemo(function () {