@semcore/select 4.52.2 → 4.53.0-prerelease.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/cjs/Select.js CHANGED
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
4
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard")["default"];
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
@@ -12,42 +12,39 @@ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/h
12
12
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
13
13
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
14
14
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
15
- var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
16
- var _get2 = _interopRequireDefault(require("@babel/runtime/helpers/get"));
17
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
15
+ var _callSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/callSuper"));
16
+ var _superPropGet2 = _interopRequireDefault(require("@babel/runtime/helpers/superPropGet"));
18
17
  var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
19
- var _createSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/createSuper"));
20
18
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
21
- var _index = require("@semcore/utils/lib/core/index");
22
- var _core = _interopRequireWildcard(require("@semcore/core"));
23
- var _react = _interopRequireDefault(require("react"));
24
- var _classnames = _interopRequireDefault(require("classnames"));
25
- var _dropdownMenu = _interopRequireDefault(require("@semcore/dropdown-menu"));
26
- var _dropdown = _interopRequireWildcard(require("@semcore/dropdown"));
19
+ var _core = require("@semcore/core");
20
+ var _baseComponents = require("@semcore/base-components");
27
21
  var _baseTrigger = require("@semcore/base-trigger");
22
+ var _addonTextChildren = _interopRequireDefault(require("@semcore/core/lib/utils/addonTextChildren"));
23
+ var _assignProps7 = require("@semcore/core/lib/utils/assignProps");
24
+ var _resolveColorEnhance = _interopRequireDefault(require("@semcore/core/lib/utils/enhances/resolveColorEnhance"));
25
+ var _findComponent = _interopRequireWildcard(require("@semcore/core/lib/utils/findComponent"));
26
+ var _logger = _interopRequireDefault(require("@semcore/core/lib/utils/logger"));
28
27
  var _divider = _interopRequireDefault(require("@semcore/divider"));
29
- var _findComponent = _interopRequireWildcard(require("@semcore/utils/lib/findComponent"));
30
- var _logger = _interopRequireDefault(require("@semcore/utils/lib/logger"));
31
- var _resolveColorEnhance = _interopRequireDefault(require("@semcore/utils/lib/enhances/resolveColorEnhance"));
32
- var _addonTextChildren = _interopRequireDefault(require("@semcore/utils/lib/addonTextChildren"));
33
- var _InputSearch = _interopRequireDefault(require("./InputSearch"));
34
- var _flexBox = require("@semcore/flex-box");
28
+ var _dropdown = _interopRequireWildcard(require("@semcore/dropdown"));
29
+ var _dropdownMenu = _interopRequireDefault(require("@semcore/dropdown-menu"));
30
+ var _typography = require("@semcore/typography");
31
+ var _classnames = _interopRequireDefault(require("classnames"));
32
+ var _react = _interopRequireDefault(require("react"));
35
33
  var _context = require("./context");
34
+ var _InputSearch = _interopRequireDefault(require("./InputSearch"));
36
35
  var _intergalacticDynamicLocales = require("./translations/__intergalactic-dynamic-locales");
37
- var _popper = require("@semcore/popper");
38
- var _assignProps6 = require("@semcore/utils/lib/assignProps");
39
36
  var _excluded = ["Children", "options", "multiselect", "value", "uid", "forcedAdvancedMode"];
40
37
  /*!__reshadow-styles__:"./style/select.shadow.css"*/
41
- var style = ( /*__reshadow_css_start__*/_index.sstyled.insert( /*__inner_css_start__*/".___SOptionCheckbox_17zdz_gg_{margin-top:var(--intergalactic-spacing-05x, 2px);margin-right:var(--intergalactic-spacing-2x, 8px);margin-bottom:auto;position:relative;flex-shrink:0;width:16px;height:16px}.___SOptionCheckbox_17zdz_gg_::before{content:\"\";position:absolute;top:0;left:0;right:0;bottom:0;background:var(--intergalactic-bg-primary-neutral, #ffffff);border:1px solid;border-radius:var(--intergalactic-addon-rounded, 4px);border-color:var(--intergalactic-border-primary, #c4c7cf)}.___SOptionCheckbox_17zdz_gg_::after{content:\"\";position:absolute;top:0;left:0;right:0;bottom:0;margin:0 var(--intergalactic-spacing-05x, 2px);background-repeat:no-repeat;background-position:center center}.___SOptionCheckbox_17zdz_gg_.__selected_17zdz_gg_::after{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTAiIGhlaWdodD0iNyIgdmlld0JveD0iMCAwIDEwIDciIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGQ9Ik04LjI1IDFMNCA1LjI1TDEuNzUgMyIgc3Ryb2tlPSJ3aGl0ZSIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPC9zdmc+Cg==)}.___SOptionCheckbox_17zdz_gg_._size_l_17zdz_gg_{width:20px;height:20px}.___SOptionCheckbox_17zdz_gg_._size_l_17zdz_gg_.__selected_17zdz_gg_::after{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iOSIgdmlld0JveD0iMCAwIDEyIDkiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGQ9Ik0xMSAxLjVMNC43NSA3Ljc1TDEgNCIgc3Ryb2tlPSJ3aGl0ZSIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPC9zdmc+Cg==)}.___SOptionCheckbox_17zdz_gg_.__indeterminate_17zdz_gg_:before,.___SOptionCheckbox_17zdz_gg_.__selected_17zdz_gg_:before{background-color:var(--intergalactic-control-primary-info, #008ff8);border-color:var(--intergalactic-control-primary-info, #008ff8)}.___SOptionCheckbox_17zdz_gg_.__theme_17zdz_gg_:before{border-color:var(--theme_17zdz)}.___SOptionCheckbox_17zdz_gg_.__theme_17zdz_gg_.__indeterminate_17zdz_gg_:before,.___SOptionCheckbox_17zdz_gg_.__theme_17zdz_gg_.__selected_17zdz_gg_:before{background-color:var(--theme_17zdz);border-color:var(--theme_17zdz)}.___SOptionCheckbox_17zdz_gg_.__selected_17zdz_gg_{background-color:var(--intergalactic-dropdown-menu-item-selected, rgba(196, 229, 254, 0.7))}@media (hover:hover){.___SOptionCheckbox_17zdz_gg_.__selected_17zdz_gg_:hover{background-color:var(--intergalactic-dropdown-menu-item-selected-hover, #c4e5fe)}}.___SOptionCheckbox_17zdz_gg_.__indeterminate_17zdz_gg_:after{background-color:#fff;background-image:none;margin:auto;border-radius:1px}.___SOptionCheckbox_17zdz_gg_.__indeterminate_17zdz_gg_._size_l_17zdz_gg_:after{width:12px;height:2px}.___SOptionCheckbox_17zdz_gg_.__indeterminate_17zdz_gg_._size_m_17zdz_gg_:after{width:8px;height:2px}", /*__inner_css_end__*/"17zdz_gg_"),
38
+ var style = (/*__reshadow_css_start__*/_core.sstyled.insert(/*__inner_css_start__*/".___SOptionCheckbox_19tod_gg_{margin-top:var(--intergalactic-spacing-05x, 2px);margin-right:var(--intergalactic-spacing-2x, 8px);margin-bottom:auto;position:relative;flex-shrink:0;width:16px;height:16px}.___SOptionCheckbox_19tod_gg_::before{content:\"\";position:absolute;top:0;left:0;right:0;bottom:0;background:var(--intergalactic-bg-primary-neutral, rgb(255, 255, 255));border:1px solid;border-radius:var(--intergalactic-addon-rounded, 4px);border-color:var(--intergalactic-border-primary, rgba(0, 12, 8, 0.161))}@supports (color:color(display-p3 0 0 0%)){.___SOptionCheckbox_19tod_gg_::before{border-color:var(--intergalactic-border-primary, rgba(0, 12, 8, 0.161))}@media (color-gamut:p3){.___SOptionCheckbox_19tod_gg_::before{border-color:var(--intergalactic-border-primary, color(display-p3 0.00798 0.04498 0.03219 / 0.161))}}}.___SOptionCheckbox_19tod_gg_::after{content:\"\";position:absolute;top:0;left:0;right:0;bottom:0;margin:0 var(--intergalactic-spacing-05x, 2px);background-repeat:no-repeat;background-position:center center}.___SOptionCheckbox_19tod_gg_.__selected_19tod_gg_::after{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTAiIGhlaWdodD0iNyIgdmlld0JveD0iMCAwIDEwIDciIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGQ9Ik04LjI1IDFMNCA1LjI1TDEuNzUgMyIgc3Ryb2tlPSJ3aGl0ZSIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPC9zdmc+Cg==)}.___SOptionCheckbox_19tod_gg_._size_l_19tod_gg_{width:20px;height:20px}.___SOptionCheckbox_19tod_gg_._size_l_19tod_gg_.__selected_19tod_gg_::after{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iOSIgdmlld0JveD0iMCAwIDEyIDkiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGQ9Ik0xMSAxLjVMNC43NSA3Ljc1TDEgNCIgc3Ryb2tlPSJ3aGl0ZSIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPC9zdmc+Cg==)}.___SOptionCheckbox_19tod_gg_.__indeterminate_19tod_gg_:before,.___SOptionCheckbox_19tod_gg_.__selected_19tod_gg_:before{background-color:var(--intergalactic-control-primary-info, rgb(26, 30, 26));border-color:var(--intergalactic-control-primary-info, rgb(26, 30, 26))}.___SOptionCheckbox_19tod_gg_.__theme_19tod_gg_:before{border-color:var(--theme_19tod)}.___SOptionCheckbox_19tod_gg_.__theme_19tod_gg_.__indeterminate_19tod_gg_:before,.___SOptionCheckbox_19tod_gg_.__theme_19tod_gg_.__selected_19tod_gg_:before{background-color:var(--theme_19tod);border-color:var(--theme_19tod)}.___SOptionCheckbox_19tod_gg_.__selected_19tod_gg_{background-color:var(--intergalactic-dropdown-menu-item-selected, rgba(0, 30, 209, 0.062))}@supports (color:color(display-p3 0 0 0%)){.___SOptionCheckbox_19tod_gg_.__selected_19tod_gg_{background-color:var(--intergalactic-dropdown-menu-item-selected, rgba(0, 30, 209, 0.062))}@media (color-gamut:p3){.___SOptionCheckbox_19tod_gg_.__selected_19tod_gg_{background-color:var(--intergalactic-dropdown-menu-item-selected, color(display-p3 0.02906 0.11403 0.78782 / 0.062))}}}@media (hover:hover){.___SOptionCheckbox_19tod_gg_.__selected_19tod_gg_:hover{background-color:var(--intergalactic-dropdown-menu-item-selected-hover, rgba(0, 28, 206, 0.154))}@supports (color:color(display-p3 0 0 0%)){.___SOptionCheckbox_19tod_gg_.__selected_19tod_gg_:hover{background-color:var(--intergalactic-dropdown-menu-item-selected-hover, rgba(0, 28, 206, 0.154))}@media (color-gamut:p3){.___SOptionCheckbox_19tod_gg_.__selected_19tod_gg_:hover{background-color:var(--intergalactic-dropdown-menu-item-selected-hover, color(display-p3 0.02685 0.10865 0.77388 / 0.154))}}}}.___SOptionCheckbox_19tod_gg_.__indeterminate_19tod_gg_:after{background-color:#fff;background-image:none;margin:auto;border-radius:1px}.___SOptionCheckbox_19tod_gg_.__indeterminate_19tod_gg_._size_l_19tod_gg_:after{width:12px;height:2px}.___SOptionCheckbox_19tod_gg_.__indeterminate_19tod_gg_._size_m_19tod_gg_:after{width:8px;height:2px}", /*__inner_css_end__*/"19tod_gg_"),
42
39
  /*__reshadow_css_end__*/
43
40
  {
44
- "__SOptionCheckbox": "___SOptionCheckbox_17zdz_gg_",
45
- "_selected": "__selected_17zdz_gg_",
46
- "_size_l": "_size_l_17zdz_gg_",
47
- "_indeterminate": "__indeterminate_17zdz_gg_",
48
- "_theme": "__theme_17zdz_gg_",
49
- "--theme": "--theme_17zdz",
50
- "_size_m": "_size_m_17zdz_gg_"
41
+ "__SOptionCheckbox": "___SOptionCheckbox_19tod_gg_",
42
+ "_selected": "__selected_19tod_gg_",
43
+ "_size_l": "_size_l_19tod_gg_",
44
+ "_indeterminate": "__indeterminate_19tod_gg_",
45
+ "_theme": "__theme_19tod_gg_",
46
+ "--theme": "--theme_19tod",
47
+ "_size_m": "_size_m_19tod_gg_"
51
48
  });
52
49
  function isSelectedOption(value, valueOption) {
53
50
  return Array.isArray(value) ? value.includes(valueOption) : valueOption === value;
@@ -58,18 +55,22 @@ function isEmptyValue(value) {
58
55
  function getEmptyValue(multiselect) {
59
56
  return multiselect ? [] : null;
60
57
  }
58
+ var ListBoxContextProvider = function ListBoxContextProvider(_ref0) {
59
+ var children = _ref0.children;
60
+ return /*#__PURE__*/_react["default"].createElement(_baseComponents.hideScrollBarsFromScreenReadersContext.Provider, {
61
+ value: true
62
+ }, children);
63
+ };
61
64
  var RootSelect = /*#__PURE__*/function (_AbstractDropdown) {
62
- (0, _inherits2["default"])(RootSelect, _AbstractDropdown);
63
- var _super = (0, _createSuper2["default"])(RootSelect);
64
65
  function RootSelect() {
65
66
  var _this;
66
67
  (0, _classCallCheck2["default"])(this, RootSelect);
67
68
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
68
69
  args[_key] = arguments[_key];
69
70
  }
70
- _this = _super.call.apply(_super, [this].concat(args));
71
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "role", 'listbox');
72
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "bindHandlerOptionClick", function (optionValue, index) {
71
+ _this = (0, _callSuper2["default"])(this, RootSelect, [].concat(args));
72
+ (0, _defineProperty2["default"])(_this, "role", 'listbox');
73
+ (0, _defineProperty2["default"])(_this, "bindHandlerOptionClick", function (optionValue, index) {
73
74
  return function (e) {
74
75
  var newValue = optionValue;
75
76
  var _this$asProps = _this.asProps,
@@ -84,6 +85,7 @@ var RootSelect = /*#__PURE__*/function (_AbstractDropdown) {
84
85
  newValue = value.concat(optionValue);
85
86
  }
86
87
  }
88
+ _this.handlers.highlightedIndex(index);
87
89
  _this.handlers.value(newValue, e);
88
90
  if (!multiselect) {
89
91
  _this.handlers.visible(false);
@@ -91,7 +93,7 @@ var RootSelect = /*#__PURE__*/function (_AbstractDropdown) {
91
93
  }
92
94
  };
93
95
  });
94
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handlerClear", function (e) {
96
+ (0, _defineProperty2["default"])(_this, "handlerClear", function (e) {
95
97
  var value = _this.asProps.value;
96
98
  var emptyValue = getEmptyValue(Array.isArray(value));
97
99
  _this.handlers.value(emptyValue, e);
@@ -99,10 +101,11 @@ var RootSelect = /*#__PURE__*/function (_AbstractDropdown) {
99
101
  });
100
102
  return _this;
101
103
  }
102
- (0, _createClass2["default"])(RootSelect, [{
104
+ (0, _inherits2["default"])(RootSelect, _AbstractDropdown);
105
+ return (0, _createClass2["default"])(RootSelect, [{
103
106
  key: "itemRef",
104
107
  value: function itemRef(props, index, node) {
105
- (0, _get2["default"])((0, _getPrototypeOf2["default"])(RootSelect.prototype), "itemRef", this).call(this, props, index, node);
108
+ (0, _superPropGet2["default"])(RootSelect, "itemRef", this, 3)([props, index, node]);
106
109
  var highlightedIndex = this.asProps.highlightedIndex;
107
110
  var isHighlighted = index === highlightedIndex;
108
111
  if (isHighlighted) {
@@ -113,11 +116,11 @@ var RootSelect = /*#__PURE__*/function (_AbstractDropdown) {
113
116
  key: "uncontrolledProps",
114
117
  value: function uncontrolledProps() {
115
118
  var _this2 = this;
116
- return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, (0, _get2["default"])((0, _getPrototypeOf2["default"])(RootSelect.prototype), "uncontrolledProps", this).call(this)), {}, {
119
+ return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, (0, _superPropGet2["default"])(RootSelect, "uncontrolledProps", this, 3)([])), {}, {
117
120
  visible: [null, function (visible) {
118
121
  if (visible === true) {
119
- var hasInputSearch = (0, _findComponent.isAdvanceMode)(_this2.asProps.Children, [Select.InputSearch.displayName], true);
120
- var defaultIndex = hasInputSearch ? null : _this2.props.defaultHighlightedIndex;
122
+ var hasInputSearch = (0, _findComponent.isAdvanceMode)(_this2.asProps.Children, [Select.InputSearch.displayName, _InputSearch["default"].displayName], true);
123
+ var defaultIndex = hasInputSearch || _core.lastInteraction.isMouse() ? null : _this2.props.defaultHighlightedIndex;
121
124
  _this2.handlers.highlightedIndex(defaultIndex);
122
125
  setTimeout(function () {
123
126
  var _this2$menuRef$curren, _this2$menuRef$curren2;
@@ -161,32 +164,32 @@ var RootSelect = /*#__PURE__*/function (_AbstractDropdown) {
161
164
  hasChildren = _this$asProps2.children;
162
165
  var isMenu = (0, _findComponent.isAdvanceMode)(Children, [Select.Menu.displayName], true) || !hasChildren;
163
166
  var ariaControls = isMenu ? "igc-".concat(uid, "-list") : "igc-".concat(uid, "-popper");
164
- return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, (0, _get2["default"])((0, _getPrototypeOf2["default"])(RootSelect.prototype), "getTriggerProps", this).call(this)), {}, {
165
- onKeyDown: (0, _assignProps6.callAllEventHandlers)(this.handlePreventCommonKeyDown.bind(this), this.handleOpenKeyDown.bind(this), this.handleArrowKeyDown.bind(this)),
167
+ return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, (0, _superPropGet2["default"])(RootSelect, "getTriggerProps", this, 3)([])), {}, {
168
+ 'onKeyDown': (0, _assignProps7.callAllEventHandlers)(this.handlePreventCommonKeyDown.bind(this), this.handleOpenKeyDown.bind(this), this.handleArrowKeyDown.bind(this)),
166
169
  'aria-controls': visible ? ariaControls : undefined,
167
170
  'aria-haspopup': isMenu ? 'listbox' : 'dialog',
168
171
  'aria-disabled': disabled ? 'true' : 'false',
169
172
  'aria-activedescendant': visible && highlightedIndex !== null && this.itemRefs[highlightedIndex] ? "igc-".concat(uid, "-option-").concat(highlightedIndex) : undefined,
170
- empty: isEmptyValue(value),
173
+ 'empty': isEmptyValue(value),
171
174
  value: value,
172
175
  name: name,
173
- $hiddenRef: forwardRef,
176
+ '$hiddenRef': forwardRef,
174
177
  multiselect: multiselect,
175
178
  state: state,
176
179
  placeholder: placeholder,
177
180
  disabled: disabled,
178
- active: visible,
179
- onClear: this.handlerClear,
180
- children: this.renderChildrenTrigger(value, options),
181
+ 'active': visible,
182
+ 'onClear': this.handlerClear,
183
+ 'children': this.renderChildrenTrigger(value, options),
181
184
  getI18nText: getI18nText,
182
- onBlur: function onBlur() {
185
+ 'onBlur': function onBlur() {
183
186
  // if popper is opened and we moved from the trigger in select - it means we moved on some controls in popper and should hide highlighted for the option
184
187
  if (_this3.asProps.visible) {
185
188
  _this3.prevHighlightedIndex = _this3.asProps.highlightedIndex;
186
189
  _this3.handlers.highlightedIndex(null);
187
190
  }
188
191
  },
189
- onFocus: function onFocus() {
192
+ 'onFocus': function onFocus() {
190
193
  // if popper is opened and we moved to the trigger in select - it means we moved from some controls in popper and should highlight the last highlighted option
191
194
  if (_this3.asProps.visible) {
192
195
  var index = _this3.prevHighlightedIndex;
@@ -199,15 +202,15 @@ var RootSelect = /*#__PURE__*/function (_AbstractDropdown) {
199
202
  key: "getListProps",
200
203
  value: function getListProps() {
201
204
  var multiselect = this.asProps.multiselect;
202
- return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, (0, _get2["default"])((0, _getPrototypeOf2["default"])(RootSelect.prototype), "getListProps", this).call(this)), {}, {
205
+ return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, (0, _superPropGet2["default"])(RootSelect, "getListProps", this, 3)([])), {}, {
203
206
  'aria-multiselectable': multiselect ? 'true' : undefined
204
207
  });
205
208
  }
206
209
  }, {
207
210
  key: "getPopperProps",
208
211
  value: function getPopperProps() {
209
- return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, (0, _get2["default"])((0, _getPrototypeOf2["default"])(RootSelect.prototype), "getPopperProps", this).call(this)), {}, {
210
- onKeyDown: (0, _assignProps6.callAllEventHandlers)(this.handlePreventCommonKeyDown.bind(this), this.handlePreventPopperKeyDown.bind(this), this.handleArrowKeyDown.bind(this))
212
+ return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, (0, _superPropGet2["default"])(RootSelect, "getPopperProps", this, 3)([])), {}, {
213
+ onKeyDown: (0, _assignProps7.callAllEventHandlers)(this.handlePreventCommonKeyDown.bind(this), this.handlePreventPopperKeyDown.bind(this), this.handleArrowKeyDown.bind(this))
211
214
  });
212
215
  }
213
216
  }, {
@@ -218,19 +221,18 @@ var RootSelect = /*#__PURE__*/function (_AbstractDropdown) {
218
221
  var _this$asProps3 = this.asProps,
219
222
  value = _this$asProps3.value,
220
223
  highlightedIndex = _this$asProps3.highlightedIndex,
221
- focusSourceRef = _this$asProps3.focusSourceRef,
222
224
  _this$asProps3$size = _this$asProps3.size,
223
225
  size = _this$asProps3$size === void 0 ? 'm' : _this$asProps3$size;
224
- var highlighted = index === highlightedIndex && focusSourceRef.current === 'keyboard' && !props.disabled;
226
+ var highlighted = index === highlightedIndex && _core.lastInteraction.isKeyboard() && !props.disabled;
225
227
  var selected = (_props$selected = props.selected) !== null && _props$selected !== void 0 ? _props$selected : isSelectedOption(value, props.value);
226
- return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, (0, _get2["default"])((0, _getPrototypeOf2["default"])(RootSelect.prototype), "getItemProps", this).call(this, props, index)), {}, {
228
+ return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, (0, _superPropGet2["default"])(RootSelect, "getItemProps", this, 3)([props, index])), {}, {
227
229
  highlighted: highlighted,
228
230
  selected: selected,
229
231
  'aria-selected': selected ? 'true' : 'false',
230
232
  'aria-disabled': props.disabled ? 'true' : 'false',
231
- role: 'option',
232
- onClick: this.bindHandlerOptionClick(props.value, index),
233
- ref: function ref(node) {
233
+ 'role': 'option',
234
+ 'onClick': this.bindHandlerOptionClick(props.value, index),
235
+ 'ref': function ref(node) {
234
236
  return _this4.itemRef(props, index, node);
235
237
  },
236
238
  size: size
@@ -251,7 +253,7 @@ var RootSelect = /*#__PURE__*/function (_AbstractDropdown) {
251
253
  key: "getDividerProps",
252
254
  value: function getDividerProps() {
253
255
  return {
254
- my: 1,
256
+ 'my': 1,
255
257
  'aria-disabled': 'true'
256
258
  };
257
259
  }
@@ -283,12 +285,12 @@ var RootSelect = /*#__PURE__*/function (_AbstractDropdown) {
283
285
  Children = _this$asProps5.Children,
284
286
  options = _this$asProps5.options,
285
287
  multiselect = _this$asProps5.multiselect,
286
- value = _this$asProps5.value,
288
+ _value = _this$asProps5.value,
287
289
  uid = _this$asProps5.uid,
288
290
  forcedAdvancedMode = _this$asProps5.forcedAdvancedMode,
289
291
  other = (0, _objectWithoutProperties2["default"])(_this$asProps5, _excluded);
290
292
  var advancedMode = forcedAdvancedMode || (0, _findComponent["default"])(Children, [Select.Trigger.displayName, Select.Popper.displayName]);
291
- _logger["default"].warn(options && advancedMode, "Don't use at the same time 'options' property and '<Select.Trigger/>/<Select.Popper/>'", other['data-ui-name'] || Select.displayName);
293
+ _logger["default"].warn(options && advancedMode, 'Don\'t use at the same time \'options\' property and \'<Select.Trigger/>/<Select.Popper/>\'', other['data-ui-name'] || Select.displayName);
292
294
  this.itemProps = [];
293
295
  if (options) {
294
296
  var _ref = this.asProps;
@@ -302,18 +304,16 @@ var RootSelect = /*#__PURE__*/function (_AbstractDropdown) {
302
304
  return /*#__PURE__*/_react["default"].createElement(_dropdownMenu["default"], (0, _core.assignProps)({}, _ref2), /*#__PURE__*/_react["default"].createElement(Children, null));
303
305
  }
304
306
  }]);
305
- return RootSelect;
306
307
  }(_dropdown.AbstractDropdown);
307
308
  (0, _defineProperty2["default"])(RootSelect, "displayName", 'Select');
308
309
  (0, _defineProperty2["default"])(RootSelect, "style", style);
309
310
  (0, _defineProperty2["default"])(RootSelect, "enhance", Object.values(_dropdown.enhance).concat([(0, _resolveColorEnhance["default"])()]));
310
311
  (0, _defineProperty2["default"])(RootSelect, "defaultProps", function (props) {
311
312
  var _props$highlightedInd, _props$selectedIndex, _props$interaction, _props$timeout;
312
- var hasInputSearch = props.children && (0, _findComponent.isAdvanceMode)(props.children, [Select.InputSearch.displayName], true);
313
+ var hasInputSearch = props.children && (0, _findComponent.isAdvanceMode)(props.children, [Select.InputSearch.displayName, _InputSearch["default"].displayName], true);
313
314
  var defaultIndex = hasInputSearch ? null : 0;
314
315
  return {
315
316
  placeholder: props.multiselect ? 'Select options' : 'Select option',
316
- size: 'm',
317
317
  defaultValue: getEmptyValue(props.multiselect),
318
318
  defaultVisible: false,
319
319
  defaultHighlightedIndex: (_props$highlightedInd = props.highlightedIndex) !== null && _props$highlightedInd !== void 0 ? _props$highlightedInd : defaultIndex,
@@ -326,43 +326,73 @@ var RootSelect = /*#__PURE__*/function (_AbstractDropdown) {
326
326
  timeout: (_props$timeout = props.timeout) !== null && _props$timeout !== void 0 ? _props$timeout : 0
327
327
  };
328
328
  });
329
- function Trigger(_ref8) {
329
+ function Trigger(_ref1) {
330
330
  var _ref3 = arguments[0],
331
- _ref6;
332
- var Children = _ref8.Children,
333
- name = _ref8.name,
334
- value = _ref8.value,
335
- styles = _ref8.styles,
336
- $hiddenRef = _ref8.$hiddenRef,
337
- _ref8$tag = _ref8.tag,
338
- Tag = _ref8$tag === void 0 ? _baseTrigger.ButtonTrigger : _ref8$tag,
339
- getI18nText = _ref8.getI18nText;
340
- var hasInputTrigger = (0, _popper.isInputTriggerTag)(Tag);
331
+ _ref7;
332
+ var Children = _ref1.Children,
333
+ name = _ref1.name,
334
+ value = _ref1.value,
335
+ styles = _ref1.styles,
336
+ $hiddenRef = _ref1.$hiddenRef,
337
+ _ref1$tag = _ref1.tag,
338
+ Tag = _ref1$tag === void 0 ? _baseTrigger.ButtonTrigger : _ref1$tag,
339
+ getI18nText = _ref1.getI18nText;
340
+ var hasInputTrigger = (0, _baseComponents.isInputTriggerTag)(Tag);
341
341
  var SSelectTrigger = _dropdown["default"].Trigger;
342
- return _ref6 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SSelectTrigger, _ref6.cn("SSelectTrigger", (0, _objectSpread2["default"])({}, (0, _core.assignProps)({
342
+ return _ref7 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SSelectTrigger, _ref7.cn("SSelectTrigger", (0, _objectSpread2["default"])({}, (0, _core.assignProps)({
343
343
  "tag": Tag,
344
344
  "placeholder": getI18nText('selectPlaceholder'),
345
345
  "role": 'combobox',
346
346
  "aria-autocomplete": hasInputTrigger && 'list' || undefined
347
- }, _ref3))), (0, _addonTextChildren["default"])(Children, Tag.Text || _baseTrigger.ButtonTrigger.Text, Tag.Value || _baseTrigger.ButtonTrigger.Text, Tag.Addon || _baseTrigger.ButtonTrigger.Addon, true), name && /*#__PURE__*/_react["default"].createElement("input", _ref6.cn("input", {
347
+ }, _ref3))), (0, _addonTextChildren["default"])(Children, Tag.Text || Tag.Value || _baseTrigger.ButtonTrigger.Text, Tag.Addon || _baseTrigger.ButtonTrigger.Addon, true), name && /*#__PURE__*/_react["default"].createElement("input", _ref7.cn("input", {
348
348
  "type": 'hidden',
349
349
  "defaultValue": value,
350
350
  "name": name,
351
351
  "ref": $hiddenRef
352
352
  })));
353
353
  }
354
+ function Menu(props) {
355
+ var _ref4 = arguments[0];
356
+ var visible = props.visible,
357
+ disablePortal = props.disablePortal,
358
+ ignorePortalsStacking = props.ignorePortalsStacking,
359
+ disableEnforceFocus = props.disableEnforceFocus,
360
+ interaction = props.interaction,
361
+ autoFocus = props.autoFocus,
362
+ animationsDisabled = props.animationsDisabled;
363
+ var popperProps = {
364
+ visible: visible,
365
+ disablePortal: disablePortal,
366
+ ignorePortalsStacking: ignorePortalsStacking,
367
+ disableEnforceFocus: disableEnforceFocus,
368
+ interaction: interaction,
369
+ autoFocus: autoFocus,
370
+ animationsDisabled: animationsDisabled
371
+ };
372
+ return /*#__PURE__*/_react["default"].createElement(ListBoxContextProvider, null, /*#__PURE__*/_react["default"].createElement(Select.Popper, (0, _extends2["default"])({}, popperProps, {
373
+ role: null
374
+ }), /*#__PURE__*/_react["default"].createElement(Select.List, (0, _core.assignProps)({}, _ref4))));
375
+ }
354
376
  var optionPropsContext = /*#__PURE__*/_react["default"].createContext({});
355
377
  function Option(props) {
356
- var _ref4 = arguments[0],
357
- _ref7;
378
+ var _ref5 = arguments[0],
379
+ _ref8;
358
380
  var SSelectOption = _dropdown["default"].Item;
359
381
  var styles = props.styles,
360
- Children = props.Children;
382
+ Children = props.Children,
383
+ highlighted = props.highlighted;
384
+ var itemRef = _react["default"].useRef(null);
361
385
  var hasCheckbox = (0, _findComponent.isAdvanceMode)(Children, [Select.Option.Checkbox.displayName]);
362
386
  var hasContent = (0, _findComponent.isAdvanceMode)(Children, [Select.Option.Content.displayName]);
363
- return _ref7 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SSelectOption, _ref7.cn("SSelectOption", (0, _objectSpread2["default"])({}, (0, _core.assignProps)({}, _ref4))), /*#__PURE__*/_react["default"].createElement(optionPropsContext.Provider, {
364
- value: props
365
- }, hasCheckbox && !hasContent ? /*#__PURE__*/_react["default"].createElement(Select.Option.Content, null, /*#__PURE__*/_react["default"].createElement(Children, _ref7.cn("Children", {}))) : /*#__PURE__*/_react["default"].createElement(Children, _ref7.cn("Children", {}))));
387
+ var optionPropsContextValue = (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, props), {}, {
388
+ itemRef: itemRef,
389
+ highlighted: highlighted
390
+ });
391
+ return _ref8 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SSelectOption, _ref8.cn("SSelectOption", (0, _objectSpread2["default"])({}, (0, _core.assignProps)({
392
+ "ref": itemRef
393
+ }, _ref5))), /*#__PURE__*/_react["default"].createElement(optionPropsContext.Provider, {
394
+ value: optionPropsContextValue
395
+ }, hasCheckbox && !hasContent ? /*#__PURE__*/_react["default"].createElement(Select.Option.Content, null, /*#__PURE__*/_react["default"].createElement(Children, _ref8.cn("Children", {}))) : /*#__PURE__*/_react["default"].createElement(Children, _ref8.cn("Children", {}))));
366
396
  }
367
397
  function Checkbox(providedProps) {
368
398
  var optionProps = _react["default"].useContext(optionPropsContext);
@@ -373,7 +403,7 @@ function Checkbox(providedProps) {
373
403
  size: optionProps === null || optionProps === void 0 ? void 0 : optionProps.size
374
404
  }, providedProps || {});
375
405
  }, [providedProps, optionProps]);
376
- var _useBox = (0, _flexBox.useBox)(props, props.forwardRef),
406
+ var _useBox = (0, _baseComponents.useBox)(props, props.forwardRef),
377
407
  _useBox2 = (0, _slicedToArray2["default"])(_useBox, 2),
378
408
  SOptionCheckbox = _useBox2[0],
379
409
  componentProps = _useBox2[1];
@@ -397,27 +427,44 @@ function Checkbox(providedProps) {
397
427
  tabIndex: -1
398
428
  }));
399
429
  }
430
+ function OptionText(providedProps) {
431
+ var _ref9;
432
+ var optionProps = _react["default"].useContext(optionPropsContext);
433
+ var selectedIndex = _react["default"].useContext(_dropdown.selectedIndexContext);
434
+ var props = _react["default"].useMemo(function () {
435
+ return (0, _objectSpread2["default"])({
436
+ key: optionProps === null || optionProps === void 0 ? void 0 : optionProps.id,
437
+ selected: optionProps === null || optionProps === void 0 ? void 0 : optionProps.selected,
438
+ disabled: optionProps === null || optionProps === void 0 ? void 0 : optionProps.disabled,
439
+ size: optionProps === null || optionProps === void 0 ? void 0 : optionProps.size
440
+ }, providedProps || {});
441
+ }, [providedProps, optionProps]);
442
+ return _ref9 = (0, _core.sstyled)(props.styles), /*#__PURE__*/_react["default"].createElement(_typography.Text, _ref9.cn("Text", (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, props), {}, {
443
+ "hint:triggerRef": optionProps.itemRef,
444
+ "hint:visible": selectedIndex === optionProps.index,
445
+ "hint:placement": 'right'
446
+ })));
447
+ }
400
448
  var InputSearchWrapper = function InputSearchWrapper() {
401
- var _ref5 = arguments[0];
402
- return /*#__PURE__*/_react["default"].createElement(_InputSearch["default"], (0, _core.assignProps)({}, _ref5));
449
+ var _ref6 = arguments[0];
450
+ return /*#__PURE__*/_react["default"].createElement(_InputSearch["default"], (0, _core.assignProps)({}, _ref6));
403
451
  };
404
- var Select = (0, _core["default"])(RootSelect, {
452
+ var Select = (0, _core.createComponent)(RootSelect, {
405
453
  Trigger: [Trigger, {
406
454
  Addon: _baseTrigger.ButtonTrigger.Addon,
407
455
  Text: _baseTrigger.ButtonTrigger.Text
408
456
  }],
409
457
  Popper: _dropdown["default"].Popper,
410
458
  List: _dropdownMenu["default"].List,
411
- Menu: _dropdownMenu["default"].Menu,
459
+ Menu: Menu,
412
460
  Option: [Option, {
413
461
  Addon: _dropdownMenu["default"].Item.Addon,
414
462
  Content: _dropdownMenu["default"].Item.Content,
463
+ Text: OptionText,
415
464
  Hint: _dropdownMenu["default"].Item.Hint,
416
465
  Checkbox: Checkbox
417
466
  }],
418
467
  Group: _dropdown["default"].Group,
419
- OptionTitle: _dropdownMenu["default"].ItemTitle,
420
- OptionHint: _dropdownMenu["default"].ItemHint,
421
468
  Divider: _divider["default"],
422
469
  InputSearch: [InputSearchWrapper, _InputSearch["default"]._______childrenComponents],
423
470
  Input: [InputSearchWrapper, _InputSearch["default"]._______childrenComponents]
@@ -425,11 +472,9 @@ var Select = (0, _core["default"])(RootSelect, {
425
472
  parent: _dropdownMenu["default"],
426
473
  context: _context.selectContext
427
474
  });
428
- var wrapSelect = function wrapSelect(wrapper) {
475
+ var wrapSelect = exports.wrapSelect = function wrapSelect(wrapper) {
429
476
  return wrapper;
430
477
  };
431
- exports.wrapSelect = wrapSelect;
432
478
  Select.selectedIndexContext = _dropdown.selectedIndexContext;
433
- var _default = Select;
434
- exports["default"] = _default;
479
+ var _default = exports["default"] = Select;
435
480
  //# sourceMappingURL=Select.js.map