@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.
@@ -4,48 +4,45 @@ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutPr
4
4
  import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
5
5
  import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
6
6
  import _createClass from "@babel/runtime/helpers/esm/createClass";
7
- import _assertThisInitialized from "@babel/runtime/helpers/esm/assertThisInitialized";
8
- import _get from "@babel/runtime/helpers/esm/get";
9
- import _getPrototypeOf from "@babel/runtime/helpers/esm/getPrototypeOf";
7
+ import _callSuper from "@babel/runtime/helpers/esm/callSuper";
8
+ import _superPropGet from "@babel/runtime/helpers/esm/superPropGet";
10
9
  import _inherits from "@babel/runtime/helpers/esm/inherits";
11
- import _createSuper from "@babel/runtime/helpers/esm/createSuper";
12
10
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
13
- import { sstyled } from "@semcore/utils/lib/core/index";
14
- import createComponent, { assignProps, sstyled as sstyled$1 } from "@semcore/core";
15
- import React from "react";
16
- import cn from "classnames";
17
- import DropdownMenu from "@semcore/dropdown-menu";
18
- import Dropdown, { enhance, selectedIndexContext, AbstractDropdown } from "@semcore/dropdown";
11
+ import { sstyled, lastInteraction, assignProps, createComponent } from "@semcore/core";
12
+ import { hideScrollBarsFromScreenReadersContext, isInputTriggerTag, useBox } from "@semcore/base-components";
19
13
  import { ButtonTrigger } from "@semcore/base-trigger";
14
+ import addonTextChildren from "@semcore/core/lib/utils/addonTextChildren";
15
+ import { callAllEventHandlers } from "@semcore/core/lib/utils/assignProps";
16
+ import resolveColorEnhance from "@semcore/core/lib/utils/enhances/resolveColorEnhance";
17
+ import findComponent, { isAdvanceMode } from "@semcore/core/lib/utils/findComponent";
18
+ import logger from "@semcore/core/lib/utils/logger";
20
19
  import Divider from "@semcore/divider";
21
- import findComponent, { isAdvanceMode } from "@semcore/utils/lib/findComponent";
22
- import logger from "@semcore/utils/lib/logger";
23
- import resolveColorEnhance from "@semcore/utils/lib/enhances/resolveColorEnhance";
24
- import addonTextChildren from "@semcore/utils/lib/addonTextChildren";
25
- import InputSearch from "./InputSearch.mjs";
26
- import { useBox } from "@semcore/flex-box";
20
+ import Dropdown, { AbstractDropdown, enhance, selectedIndexContext } from "@semcore/dropdown";
21
+ import DropdownMenu from "@semcore/dropdown-menu";
22
+ import { Text } from "@semcore/typography";
23
+ import cn from "classnames";
24
+ import React from "react";
27
25
  import { selectContext } from "./context.mjs";
26
+ import InputSearch from "./InputSearch.mjs";
28
27
  import { localizedMessages } from "./translations/__intergalactic-dynamic-locales.mjs";
29
- import { isInputTriggerTag } from "@semcore/popper";
30
- import { callAllEventHandlers } from "@semcore/utils/lib/assignProps";
31
28
  var _excluded = ["Children", "options", "multiselect", "value", "uid", "forcedAdvancedMode"];
32
29
  /*!__reshadow-styles__:"./style/select.shadow.css"*/
33
30
  var style = (
34
31
  /*__reshadow_css_start__*/
35
32
  (sstyled.insert(
36
33
  /*__inner_css_start__*/
37
- '.___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}',
34
+ '.___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}',
38
35
  /*__inner_css_end__*/
39
- "17zdz_gg_"
36
+ "19tod_gg_"
40
37
  ), /*__reshadow_css_end__*/
41
38
  {
42
- "__SOptionCheckbox": "___SOptionCheckbox_17zdz_gg_",
43
- "_selected": "__selected_17zdz_gg_",
44
- "_size_l": "_size_l_17zdz_gg_",
45
- "_indeterminate": "__indeterminate_17zdz_gg_",
46
- "_theme": "__theme_17zdz_gg_",
47
- "--theme": "--theme_17zdz",
48
- "_size_m": "_size_m_17zdz_gg_"
39
+ "__SOptionCheckbox": "___SOptionCheckbox_19tod_gg_",
40
+ "_selected": "__selected_19tod_gg_",
41
+ "_size_l": "_size_l_19tod_gg_",
42
+ "_indeterminate": "__indeterminate_19tod_gg_",
43
+ "_theme": "__theme_19tod_gg_",
44
+ "--theme": "--theme_19tod",
45
+ "_size_m": "_size_m_19tod_gg_"
49
46
  })
50
47
  );
51
48
  function isSelectedOption(value, valueOption) {
@@ -57,18 +54,22 @@ function isEmptyValue(value) {
57
54
  function getEmptyValue(multiselect) {
58
55
  return multiselect ? [] : null;
59
56
  }
60
- var RootSelect = /* @__PURE__ */ function(_AbstractDropdown) {
61
- _inherits(RootSelect2, _AbstractDropdown);
62
- var _super = _createSuper(RootSelect2);
57
+ var ListBoxContextProvider = function ListBoxContextProvider2(_ref0) {
58
+ var children = _ref0.children;
59
+ return /* @__PURE__ */ React.createElement(hideScrollBarsFromScreenReadersContext.Provider, {
60
+ value: true
61
+ }, children);
62
+ };
63
+ var RootSelect = /* @__PURE__ */ (function(_AbstractDropdown) {
63
64
  function RootSelect2() {
64
65
  var _this;
65
66
  _classCallCheck(this, RootSelect2);
66
67
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
67
68
  args[_key] = arguments[_key];
68
69
  }
69
- _this = _super.call.apply(_super, [this].concat(args));
70
- _defineProperty(_assertThisInitialized(_this), "role", "listbox");
71
- _defineProperty(_assertThisInitialized(_this), "bindHandlerOptionClick", function(optionValue, index) {
70
+ _this = _callSuper(this, RootSelect2, [].concat(args));
71
+ _defineProperty(_this, "role", "listbox");
72
+ _defineProperty(_this, "bindHandlerOptionClick", function(optionValue, index) {
72
73
  return function(e) {
73
74
  var newValue = optionValue;
74
75
  var _this$asProps = _this.asProps, value = _this$asProps.value, multiselect = _this$asProps.multiselect;
@@ -81,6 +82,7 @@ var RootSelect = /* @__PURE__ */ function(_AbstractDropdown) {
81
82
  newValue = value.concat(optionValue);
82
83
  }
83
84
  }
85
+ _this.handlers.highlightedIndex(index);
84
86
  _this.handlers.value(newValue, e);
85
87
  if (!multiselect) {
86
88
  _this.handlers.visible(false);
@@ -88,7 +90,7 @@ var RootSelect = /* @__PURE__ */ function(_AbstractDropdown) {
88
90
  }
89
91
  };
90
92
  });
91
- _defineProperty(_assertThisInitialized(_this), "handlerClear", function(e) {
93
+ _defineProperty(_this, "handlerClear", function(e) {
92
94
  var value = _this.asProps.value;
93
95
  var emptyValue = getEmptyValue(Array.isArray(value));
94
96
  _this.handlers.value(emptyValue, e);
@@ -96,10 +98,11 @@ var RootSelect = /* @__PURE__ */ function(_AbstractDropdown) {
96
98
  });
97
99
  return _this;
98
100
  }
99
- _createClass(RootSelect2, [{
101
+ _inherits(RootSelect2, _AbstractDropdown);
102
+ return _createClass(RootSelect2, [{
100
103
  key: "itemRef",
101
104
  value: function itemRef(props, index, node) {
102
- _get(_getPrototypeOf(RootSelect2.prototype), "itemRef", this).call(this, props, index, node);
105
+ _superPropGet(RootSelect2, "itemRef", this, 3)([props, index, node]);
103
106
  var highlightedIndex = this.asProps.highlightedIndex;
104
107
  var isHighlighted = index === highlightedIndex;
105
108
  if (isHighlighted) {
@@ -110,11 +113,11 @@ var RootSelect = /* @__PURE__ */ function(_AbstractDropdown) {
110
113
  key: "uncontrolledProps",
111
114
  value: function uncontrolledProps() {
112
115
  var _this2 = this;
113
- return _objectSpread(_objectSpread({}, _get(_getPrototypeOf(RootSelect2.prototype), "uncontrolledProps", this).call(this)), {}, {
116
+ return _objectSpread(_objectSpread({}, _superPropGet(RootSelect2, "uncontrolledProps", this, 3)([])), {}, {
114
117
  visible: [null, function(visible) {
115
118
  if (visible === true) {
116
- var hasInputSearch = isAdvanceMode(_this2.asProps.Children, [Select.InputSearch.displayName], true);
117
- var defaultIndex = hasInputSearch ? null : _this2.props.defaultHighlightedIndex;
119
+ var hasInputSearch = isAdvanceMode(_this2.asProps.Children, [Select.InputSearch.displayName, InputSearch.displayName], true);
120
+ var defaultIndex = hasInputSearch || lastInteraction.isMouse() ? null : _this2.props.defaultHighlightedIndex;
118
121
  _this2.handlers.highlightedIndex(defaultIndex);
119
122
  setTimeout(function() {
120
123
  var _this2$menuRef$curren, _this2$menuRef$curren2;
@@ -142,31 +145,31 @@ var RootSelect = /* @__PURE__ */ function(_AbstractDropdown) {
142
145
  var _this$asProps2 = this.asProps, disabled = _this$asProps2.disabled, visible = _this$asProps2.visible, state = _this$asProps2.state, placeholder = _this$asProps2.placeholder, value = _this$asProps2.value, options = _this$asProps2.options, forwardRef = _this$asProps2.forwardRef, name = _this$asProps2.name, multiselect = _this$asProps2.multiselect, getI18nText = _this$asProps2.getI18nText, highlightedIndex = _this$asProps2.highlightedIndex, uid = _this$asProps2.uid, Children = _this$asProps2.Children, hasChildren = _this$asProps2.children;
143
146
  var isMenu = isAdvanceMode(Children, [Select.Menu.displayName], true) || !hasChildren;
144
147
  var ariaControls = isMenu ? "igc-".concat(uid, "-list") : "igc-".concat(uid, "-popper");
145
- return _objectSpread(_objectSpread({}, _get(_getPrototypeOf(RootSelect2.prototype), "getTriggerProps", this).call(this)), {}, {
146
- onKeyDown: callAllEventHandlers(this.handlePreventCommonKeyDown.bind(this), this.handleOpenKeyDown.bind(this), this.handleArrowKeyDown.bind(this)),
148
+ return _objectSpread(_objectSpread({}, _superPropGet(RootSelect2, "getTriggerProps", this, 3)([])), {}, {
149
+ "onKeyDown": callAllEventHandlers(this.handlePreventCommonKeyDown.bind(this), this.handleOpenKeyDown.bind(this), this.handleArrowKeyDown.bind(this)),
147
150
  "aria-controls": visible ? ariaControls : void 0,
148
151
  "aria-haspopup": isMenu ? "listbox" : "dialog",
149
152
  "aria-disabled": disabled ? "true" : "false",
150
153
  "aria-activedescendant": visible && highlightedIndex !== null && this.itemRefs[highlightedIndex] ? "igc-".concat(uid, "-option-").concat(highlightedIndex) : void 0,
151
- empty: isEmptyValue(value),
154
+ "empty": isEmptyValue(value),
152
155
  value,
153
156
  name,
154
- $hiddenRef: forwardRef,
157
+ "$hiddenRef": forwardRef,
155
158
  multiselect,
156
159
  state,
157
160
  placeholder,
158
161
  disabled,
159
- active: visible,
160
- onClear: this.handlerClear,
161
- children: this.renderChildrenTrigger(value, options),
162
+ "active": visible,
163
+ "onClear": this.handlerClear,
164
+ "children": this.renderChildrenTrigger(value, options),
162
165
  getI18nText,
163
- onBlur: function onBlur() {
166
+ "onBlur": function onBlur() {
164
167
  if (_this3.asProps.visible) {
165
168
  _this3.prevHighlightedIndex = _this3.asProps.highlightedIndex;
166
169
  _this3.handlers.highlightedIndex(null);
167
170
  }
168
171
  },
169
- onFocus: function onFocus() {
172
+ "onFocus": function onFocus() {
170
173
  if (_this3.asProps.visible) {
171
174
  var index = _this3.prevHighlightedIndex;
172
175
  _this3.handlers.highlightedIndex(index);
@@ -178,14 +181,14 @@ var RootSelect = /* @__PURE__ */ function(_AbstractDropdown) {
178
181
  key: "getListProps",
179
182
  value: function getListProps() {
180
183
  var multiselect = this.asProps.multiselect;
181
- return _objectSpread(_objectSpread({}, _get(_getPrototypeOf(RootSelect2.prototype), "getListProps", this).call(this)), {}, {
184
+ return _objectSpread(_objectSpread({}, _superPropGet(RootSelect2, "getListProps", this, 3)([])), {}, {
182
185
  "aria-multiselectable": multiselect ? "true" : void 0
183
186
  });
184
187
  }
185
188
  }, {
186
189
  key: "getPopperProps",
187
190
  value: function getPopperProps() {
188
- return _objectSpread(_objectSpread({}, _get(_getPrototypeOf(RootSelect2.prototype), "getPopperProps", this).call(this)), {}, {
191
+ return _objectSpread(_objectSpread({}, _superPropGet(RootSelect2, "getPopperProps", this, 3)([])), {}, {
189
192
  onKeyDown: callAllEventHandlers(this.handlePreventCommonKeyDown.bind(this), this.handlePreventPopperKeyDown.bind(this), this.handleArrowKeyDown.bind(this))
190
193
  });
191
194
  }
@@ -193,17 +196,17 @@ var RootSelect = /* @__PURE__ */ function(_AbstractDropdown) {
193
196
  key: "getOptionProps",
194
197
  value: function getOptionProps(props, index) {
195
198
  var _props$selected, _this4 = this;
196
- var _this$asProps3 = this.asProps, value = _this$asProps3.value, highlightedIndex = _this$asProps3.highlightedIndex, focusSourceRef = _this$asProps3.focusSourceRef, _this$asProps3$size = _this$asProps3.size, size = _this$asProps3$size === void 0 ? "m" : _this$asProps3$size;
197
- var highlighted = index === highlightedIndex && focusSourceRef.current === "keyboard" && !props.disabled;
199
+ var _this$asProps3 = this.asProps, value = _this$asProps3.value, highlightedIndex = _this$asProps3.highlightedIndex, _this$asProps3$size = _this$asProps3.size, size = _this$asProps3$size === void 0 ? "m" : _this$asProps3$size;
200
+ var highlighted = index === highlightedIndex && lastInteraction.isKeyboard() && !props.disabled;
198
201
  var selected = (_props$selected = props.selected) !== null && _props$selected !== void 0 ? _props$selected : isSelectedOption(value, props.value);
199
- return _objectSpread(_objectSpread({}, _get(_getPrototypeOf(RootSelect2.prototype), "getItemProps", this).call(this, props, index)), {}, {
202
+ return _objectSpread(_objectSpread({}, _superPropGet(RootSelect2, "getItemProps", this, 3)([props, index])), {}, {
200
203
  highlighted,
201
204
  selected,
202
205
  "aria-selected": selected ? "true" : "false",
203
206
  "aria-disabled": props.disabled ? "true" : "false",
204
- role: "option",
205
- onClick: this.bindHandlerOptionClick(props.value, index),
206
- ref: function ref(node) {
207
+ "role": "option",
208
+ "onClick": this.bindHandlerOptionClick(props.value, index),
209
+ "ref": function ref(node) {
207
210
  return _this4.itemRef(props, index, node);
208
211
  },
209
212
  size
@@ -222,7 +225,7 @@ var RootSelect = /* @__PURE__ */ function(_AbstractDropdown) {
222
225
  key: "getDividerProps",
223
226
  value: function getDividerProps() {
224
227
  return {
225
- my: 1,
228
+ "my": 1,
226
229
  "aria-disabled": "true"
227
230
  };
228
231
  }
@@ -250,9 +253,7 @@ var RootSelect = /* @__PURE__ */ function(_AbstractDropdown) {
250
253
  key: "render",
251
254
  value: function render() {
252
255
  var _ref2 = this.asProps;
253
- var _this$asProps5 = this.asProps, Children = _this$asProps5.Children, options = _this$asProps5.options, multiselect = _this$asProps5.multiselect;
254
- _this$asProps5.value;
255
- var uid = _this$asProps5.uid, forcedAdvancedMode = _this$asProps5.forcedAdvancedMode, other = _objectWithoutProperties(_this$asProps5, _excluded);
256
+ var _this$asProps5 = this.asProps, Children = _this$asProps5.Children, options = _this$asProps5.options, multiselect = _this$asProps5.multiselect, _value = _this$asProps5.value, uid = _this$asProps5.uid, forcedAdvancedMode = _this$asProps5.forcedAdvancedMode, other = _objectWithoutProperties(_this$asProps5, _excluded);
256
257
  var advancedMode = forcedAdvancedMode || findComponent(Children, [Select.Trigger.displayName, Select.Popper.displayName]);
257
258
  logger.warn(options && advancedMode, "Don't use at the same time 'options' property and '<Select.Trigger/>/<Select.Popper/>'", other["data-ui-name"] || Select.displayName);
258
259
  this.itemProps = [];
@@ -268,18 +269,16 @@ var RootSelect = /* @__PURE__ */ function(_AbstractDropdown) {
268
269
  return /* @__PURE__ */ React.createElement(DropdownMenu, assignProps({}, _ref2), /* @__PURE__ */ React.createElement(Children, null));
269
270
  }
270
271
  }]);
271
- return RootSelect2;
272
- }(AbstractDropdown);
272
+ })(AbstractDropdown);
273
273
  _defineProperty(RootSelect, "displayName", "Select");
274
274
  _defineProperty(RootSelect, "style", style);
275
275
  _defineProperty(RootSelect, "enhance", Object.values(enhance).concat([resolveColorEnhance()]));
276
276
  _defineProperty(RootSelect, "defaultProps", function(props) {
277
277
  var _props$highlightedInd, _props$selectedIndex, _props$interaction, _props$timeout;
278
- var hasInputSearch = props.children && isAdvanceMode(props.children, [Select.InputSearch.displayName], true);
278
+ var hasInputSearch = props.children && isAdvanceMode(props.children, [Select.InputSearch.displayName, InputSearch.displayName], true);
279
279
  var defaultIndex = hasInputSearch ? null : 0;
280
280
  return {
281
281
  placeholder: props.multiselect ? "Select options" : "Select option",
282
- size: "m",
283
282
  defaultValue: getEmptyValue(props.multiselect),
284
283
  defaultVisible: false,
285
284
  defaultHighlightedIndex: (_props$highlightedInd = props.highlightedIndex) !== null && _props$highlightedInd !== void 0 ? _props$highlightedInd : defaultIndex,
@@ -292,33 +291,56 @@ _defineProperty(RootSelect, "defaultProps", function(props) {
292
291
  timeout: (_props$timeout = props.timeout) !== null && _props$timeout !== void 0 ? _props$timeout : 0
293
292
  };
294
293
  });
295
- function Trigger(_ref8) {
296
- var _ref3 = arguments[0], _ref6;
297
- var Children = _ref8.Children, name = _ref8.name, value = _ref8.value, styles = _ref8.styles, $hiddenRef = _ref8.$hiddenRef, _ref8$tag = _ref8.tag, Tag = _ref8$tag === void 0 ? ButtonTrigger : _ref8$tag, getI18nText = _ref8.getI18nText;
294
+ function Trigger(_ref1) {
295
+ var _ref3 = arguments[0], _ref7;
296
+ var Children = _ref1.Children, name = _ref1.name, value = _ref1.value, styles = _ref1.styles, $hiddenRef = _ref1.$hiddenRef, _ref1$tag = _ref1.tag, Tag = _ref1$tag === void 0 ? ButtonTrigger : _ref1$tag, getI18nText = _ref1.getI18nText;
298
297
  var hasInputTrigger = isInputTriggerTag(Tag);
299
298
  var SSelectTrigger = Dropdown.Trigger;
300
- return _ref6 = sstyled$1(styles), /* @__PURE__ */ React.createElement(SSelectTrigger, _ref6.cn("SSelectTrigger", _objectSpread({}, assignProps({
299
+ return _ref7 = sstyled(styles), /* @__PURE__ */ React.createElement(SSelectTrigger, _ref7.cn("SSelectTrigger", _objectSpread({}, assignProps({
301
300
  "tag": Tag,
302
301
  "placeholder": getI18nText("selectPlaceholder"),
303
302
  "role": "combobox",
304
303
  "aria-autocomplete": hasInputTrigger && "list" || void 0
305
- }, _ref3))), addonTextChildren(Children, Tag.Text || ButtonTrigger.Text, Tag.Value || ButtonTrigger.Text, Tag.Addon || ButtonTrigger.Addon, true), name && /* @__PURE__ */ React.createElement("input", _ref6.cn("input", {
304
+ }, _ref3))), addonTextChildren(Children, Tag.Text || Tag.Value || ButtonTrigger.Text, Tag.Addon || ButtonTrigger.Addon, true), name && /* @__PURE__ */ React.createElement("input", _ref7.cn("input", {
306
305
  "type": "hidden",
307
306
  "defaultValue": value,
308
307
  "name": name,
309
308
  "ref": $hiddenRef
310
309
  })));
311
310
  }
311
+ function Menu(props) {
312
+ var _ref4 = arguments[0];
313
+ var visible = props.visible, disablePortal = props.disablePortal, ignorePortalsStacking = props.ignorePortalsStacking, disableEnforceFocus = props.disableEnforceFocus, interaction = props.interaction, autoFocus = props.autoFocus, animationsDisabled = props.animationsDisabled;
314
+ var popperProps = {
315
+ visible,
316
+ disablePortal,
317
+ ignorePortalsStacking,
318
+ disableEnforceFocus,
319
+ interaction,
320
+ autoFocus,
321
+ animationsDisabled
322
+ };
323
+ return /* @__PURE__ */ React.createElement(ListBoxContextProvider, null, /* @__PURE__ */ React.createElement(Select.Popper, _extends({}, popperProps, {
324
+ role: null
325
+ }), /* @__PURE__ */ React.createElement(Select.List, assignProps({}, _ref4))));
326
+ }
312
327
  var optionPropsContext = /* @__PURE__ */ React.createContext({});
313
328
  function Option(props) {
314
- var _ref4 = arguments[0], _ref7;
329
+ var _ref5 = arguments[0], _ref8;
315
330
  var SSelectOption = Dropdown.Item;
316
- var styles = props.styles, Children = props.Children;
331
+ var styles = props.styles, Children = props.Children, highlighted = props.highlighted;
332
+ var itemRef = React.useRef(null);
317
333
  var hasCheckbox = isAdvanceMode(Children, [Select.Option.Checkbox.displayName]);
318
334
  var hasContent = isAdvanceMode(Children, [Select.Option.Content.displayName]);
319
- return _ref7 = sstyled$1(styles), /* @__PURE__ */ React.createElement(SSelectOption, _ref7.cn("SSelectOption", _objectSpread({}, assignProps({}, _ref4))), /* @__PURE__ */ React.createElement(optionPropsContext.Provider, {
320
- value: props
321
- }, hasCheckbox && !hasContent ? /* @__PURE__ */ React.createElement(Select.Option.Content, null, /* @__PURE__ */ React.createElement(Children, _ref7.cn("Children", {}))) : /* @__PURE__ */ React.createElement(Children, _ref7.cn("Children", {}))));
335
+ var optionPropsContextValue = _objectSpread(_objectSpread({}, props), {}, {
336
+ itemRef,
337
+ highlighted
338
+ });
339
+ return _ref8 = sstyled(styles), /* @__PURE__ */ React.createElement(SSelectOption, _ref8.cn("SSelectOption", _objectSpread({}, assignProps({
340
+ "ref": itemRef
341
+ }, _ref5))), /* @__PURE__ */ React.createElement(optionPropsContext.Provider, {
342
+ value: optionPropsContextValue
343
+ }, hasCheckbox && !hasContent ? /* @__PURE__ */ React.createElement(Select.Option.Content, null, /* @__PURE__ */ React.createElement(Children, _ref8.cn("Children", {}))) : /* @__PURE__ */ React.createElement(Children, _ref8.cn("Children", {}))));
322
344
  }
323
345
  function Checkbox(providedProps) {
324
346
  var optionProps = React.useContext(optionPropsContext);
@@ -331,7 +353,7 @@ function Checkbox(providedProps) {
331
353
  }, [providedProps, optionProps]);
332
354
  var _useBox = useBox(props, props.forwardRef), _useBox2 = _slicedToArray(_useBox, 2), SOptionCheckbox = _useBox2[0], componentProps = _useBox2[1];
333
355
  var size = props.size, theme = props.theme, selected = props.selected, resolveColor = props.resolveColor, indeterminate = props.indeterminate;
334
- var styles = sstyled$1(props.styles);
356
+ var styles = sstyled(props.styles);
335
357
  var _styles$cn = styles.cn("SOptionCheckbox", {
336
358
  size,
337
359
  "use:theme": resolveColor(theme),
@@ -344,9 +366,27 @@ function Checkbox(providedProps) {
344
366
  tabIndex: -1
345
367
  }));
346
368
  }
369
+ function OptionText(providedProps) {
370
+ var _ref9;
371
+ var optionProps = React.useContext(optionPropsContext);
372
+ var selectedIndex = React.useContext(selectedIndexContext);
373
+ var props = React.useMemo(function() {
374
+ return _objectSpread({
375
+ key: optionProps === null || optionProps === void 0 ? void 0 : optionProps.id,
376
+ selected: optionProps === null || optionProps === void 0 ? void 0 : optionProps.selected,
377
+ disabled: optionProps === null || optionProps === void 0 ? void 0 : optionProps.disabled,
378
+ size: optionProps === null || optionProps === void 0 ? void 0 : optionProps.size
379
+ }, providedProps || {});
380
+ }, [providedProps, optionProps]);
381
+ return _ref9 = sstyled(props.styles), /* @__PURE__ */ React.createElement(Text, _ref9.cn("Text", _objectSpread(_objectSpread({}, props), {}, {
382
+ "hint:triggerRef": optionProps.itemRef,
383
+ "hint:visible": selectedIndex === optionProps.index,
384
+ "hint:placement": "right"
385
+ })));
386
+ }
347
387
  var InputSearchWrapper = function InputSearchWrapper2() {
348
- var _ref5 = arguments[0];
349
- return /* @__PURE__ */ React.createElement(InputSearch, assignProps({}, _ref5));
388
+ var _ref6 = arguments[0];
389
+ return /* @__PURE__ */ React.createElement(InputSearch, assignProps({}, _ref6));
350
390
  };
351
391
  var Select = createComponent(RootSelect, {
352
392
  Trigger: [Trigger, {
@@ -355,16 +395,15 @@ var Select = createComponent(RootSelect, {
355
395
  }],
356
396
  Popper: Dropdown.Popper,
357
397
  List: DropdownMenu.List,
358
- Menu: DropdownMenu.Menu,
398
+ Menu,
359
399
  Option: [Option, {
360
400
  Addon: DropdownMenu.Item.Addon,
361
401
  Content: DropdownMenu.Item.Content,
402
+ Text: OptionText,
362
403
  Hint: DropdownMenu.Item.Hint,
363
404
  Checkbox
364
405
  }],
365
406
  Group: Dropdown.Group,
366
- OptionTitle: DropdownMenu.ItemTitle,
367
- OptionHint: DropdownMenu.ItemHint,
368
407
  Divider,
369
408
  InputSearch: [InputSearchWrapper, InputSearch._______childrenComponents],
370
409
  Input: [InputSearchWrapper, InputSearch._______childrenComponents]
@@ -12,10 +12,10 @@ SOptionCheckbox {
12
12
  left: 0;
13
13
  right: 0;
14
14
  bottom: 0;
15
- background: var(--intergalactic-bg-primary-neutral, #ffffff);
15
+ background: var(--intergalactic-bg-primary-neutral, oklch(1 0 0));
16
16
  border: 1px solid;
17
17
  border-radius: var(--intergalactic-addon-rounded, 4px);
18
- border-color: var(--intergalactic-border-primary, #c4c7cf);
18
+ border-color: var(--intergalactic-border-primary, oklch(0.137 0.026 175.7 / 0.161));
19
19
  }
20
20
 
21
21
  width: 16px;
@@ -48,13 +48,13 @@ SOptionCheckbox[size='l'][selected]::after {
48
48
  }
49
49
 
50
50
  SOptionCheckbox[selected]:before {
51
- background-color: var(--intergalactic-control-primary-info, #008ff8);
52
- border-color: var(--intergalactic-control-primary-info, #008ff8);
51
+ background-color: var(--intergalactic-control-primary-info, oklch(0.23 0.01 140));
52
+ border-color: var(--intergalactic-control-primary-info, oklch(0.23 0.01 140));
53
53
  }
54
54
 
55
55
  SOptionCheckbox[indeterminate]:before {
56
- background-color: var(--intergalactic-control-primary-info, #008ff8);
57
- border-color: var(--intergalactic-control-primary-info, #008ff8);
56
+ background-color: var(--intergalactic-control-primary-info, oklch(0.23 0.01 140));
57
+ border-color: var(--intergalactic-control-primary-info, oklch(0.23 0.01 140));
58
58
  }
59
59
 
60
60
  SOptionCheckbox[theme]:before {
@@ -68,10 +68,10 @@ SOptionCheckbox[theme][indeterminate]:before {
68
68
  }
69
69
 
70
70
  SOptionCheckbox[selected] {
71
- background-color: var(--intergalactic-dropdown-menu-item-selected, rgba(196, 229, 254, 0.7));
71
+ background-color: var(--intergalactic-dropdown-menu-item-selected, oklch(0.407 0.258 264.2 / 0.062));
72
72
 
73
73
  &:hover {
74
- background-color: var(--intergalactic-dropdown-menu-item-selected-hover, #c4e5fe);
74
+ background-color: var(--intergalactic-dropdown-menu-item-selected-hover, oklch(0.401 0.255 264.2 / 0.154));
75
75
  }
76
76
  }
77
77
 
@@ -6,12 +6,12 @@ import it from "./it.json.mjs";
6
6
  import ja from "./ja.json.mjs";
7
7
  import ko from "./ko.json.mjs";
8
8
  import nl from "./nl.json.mjs";
9
+ import pl from "./pl.json.mjs";
9
10
  import pt from "./pt.json.mjs";
11
+ import sv from "./sv.json.mjs";
10
12
  import tr from "./tr.json.mjs";
11
13
  import vi from "./vi.json.mjs";
12
14
  import zh from "./zh.json.mjs";
13
- import pl from "./pl.json.mjs";
14
- import sv from "./sv.json.mjs";
15
15
  var localizedMessages = {
16
16
  de,
17
17
  en,
@@ -1,20 +1,21 @@
1
- import React from 'react';
2
- import { PropGetterFn, UnknownProperties, Intergalactic } from '@semcore/core';
3
- import DropdownMenu, {
1
+ import type { BoxProps, Flex } from '@semcore/base-components';
2
+ import type { ButtonTrigger, BaseTriggerProps, ButtonTriggerProps, LinkTriggerProps } from '@semcore/base-trigger';
3
+ import type { PropGetterFn, Intergalactic } from '@semcore/core';
4
+ import type Divider from '@semcore/divider';
5
+ import type Dropdown from '@semcore/dropdown';
6
+ import type {
4
7
  DropdownMenuContext,
5
8
  DropdownMenuItemProps,
6
9
  DropdownMenuProps,
7
10
  DropdownMenuHandlers,
8
11
  DropdownMenuTriggerProps,
9
12
  } from '@semcore/dropdown-menu';
10
- import Dropdown from '@semcore/dropdown';
11
- import { ButtonTrigger, BaseTriggerProps, ButtonTriggerProps } from '@semcore/base-trigger';
12
- import Divider from '@semcore/divider';
13
- import Input, { InputValueProps } from '@semcore/input';
14
- import { BoxProps, Flex } from '@semcore/flex-box';
13
+ import type DropdownMenu from '@semcore/dropdown-menu';
14
+ import type { InputValueProps } from '@semcore/input';
15
+ import type Input from '@semcore/input';
16
+ import type { Text } from '@semcore/typography';
17
+ import type React from 'react';
15
18
 
16
- /** @deprecated */
17
- export interface ISelectInputSearch extends SelectInputSearch, UnknownProperties {}
18
19
  export type SelectInputSearch = InputValueProps & {};
19
20
 
20
21
  export type OptionValue = string | number;
@@ -26,10 +27,8 @@ export type SelectOption = {
26
27
  label?: React.ReactNode;
27
28
  };
28
29
 
29
- /** @deprecated */
30
- export interface ISelectProps<T extends SelectValue = SelectValue> extends SelectProps<T> {}
31
- export type SelectProps<T extends SelectValue = SelectValue> = DropdownMenuProps &
32
- BaseTriggerProps & {
30
+ export type SelectProps<T extends SelectValue = SelectValue> = Intergalactic.InternalTypings.EfficientOmit<DropdownMenuProps, 'size'> &
31
+ Intergalactic.InternalTypings.EfficientOmit<BaseTriggerProps, 'size'> & {
33
32
  /**
34
33
  * Options array
35
34
  */
@@ -67,19 +66,21 @@ export type SelectProps<T extends SelectValue = SelectValue> = DropdownMenuProps
67
66
  * If provided, adds a hidden <input /> tag with the given name for enhancing accessibility.
68
67
  */
69
68
  name?: string;
69
+ /** Specifies the locale for i18n support */
70
70
  locale?: string;
71
71
  /**
72
72
  * If enabled, after opening select popper view will be scrolled to selected option or, if there are multiple selected options, to the first selected option.
73
73
  * @default true
74
74
  */
75
75
  scrollToSelected?: boolean;
76
- };
77
-
78
- /** @deprecated */
79
- export interface ISelectOption extends SelectOption, UnknownProperties {}
76
+ } & ({
77
+ tag?: never;
78
+ /**
79
+ * Default type for size from BaseTriggerProps if there is no customization via `tag`.
80
+ */
81
+ size?: BaseTriggerProps['size'];
82
+ } | {});
80
83
 
81
- /** @deprecated */
82
- export interface ISelectOptionProps extends SelectOptionProps, UnknownProperties {}
83
84
  export type SelectOptionProps = DropdownMenuItemProps & {
84
85
  /**
85
86
  * Enables selected state
@@ -89,14 +90,12 @@ export type SelectOptionProps = DropdownMenuItemProps & {
89
90
  value: string | number;
90
91
  };
91
92
 
92
- /** @deprecated */
93
- export interface ISelectOptionCheckboxProps extends SelectOptionCheckboxProps, UnknownProperties {}
94
93
  export type SelectOptionCheckboxProps = BoxProps & {
95
94
  /** Checkbox theme */
96
95
  theme?: string;
97
96
  /** Visual indeterminate state */
98
97
  indeterminate?: boolean;
99
-
98
+ /** Controls the selected state */
100
99
  selected?: boolean;
101
100
  };
102
101
 
@@ -106,16 +105,12 @@ declare const InputSearch: Intergalactic.Component<'div', SelectInputSearch> & {
106
105
  Clear: typeof Input.Addon;
107
106
  };
108
107
 
109
- /** @deprecated */
110
- export interface ISelectContext extends SelectContext, UnknownProperties {}
111
108
  export type SelectContext = DropdownMenuContext & {
112
109
  getOptionProps: PropGetterFn;
113
110
  getOptionCheckboxProps: PropGetterFn;
114
111
  getDividerProps: PropGetterFn;
115
112
  };
116
113
 
117
- /** @deprecated */
118
- export interface ISelectHandlers extends SelectHandlers, UnknownProperties {}
119
114
  export type SelectHandlers = DropdownMenuHandlers & {
120
115
  value: (index: SelectValue) => void;
121
116
  };
@@ -131,14 +126,14 @@ type IntergalacticSelectComponent<PropsExtending = {}> = (<
131
126
  SelectContext,
132
127
  [handlers: SelectHandlers]
133
128
  > &
134
- PropsExtending,
129
+ PropsExtending,
135
130
  ) => Intergalactic.InternalTypings.ComponentRenderingResults) &
136
- Intergalactic.InternalTypings.ComponentAdditive<'div', 'div', SelectProps>;
131
+ Intergalactic.InternalTypings.ComponentAdditive<'div', 'div', SelectProps>;
137
132
 
138
133
  declare const Select: IntergalacticSelectComponent & {
139
134
  Trigger: Intergalactic.Component<
140
135
  typeof Dropdown.Trigger,
141
- DropdownMenuTriggerProps & ButtonTriggerProps,
136
+ DropdownMenuTriggerProps & (ButtonTriggerProps | LinkTriggerProps),
142
137
  {},
143
138
  [handlers: SelectHandlers]
144
139
  > & {
@@ -158,16 +153,9 @@ declare const Select: IntergalacticSelectComponent & {
158
153
  Addon: typeof DropdownMenu.Item.Addon;
159
154
  Checkbox: Intergalactic.Component<'div', SelectOptionCheckboxProps>;
160
155
  Content: typeof Flex;
156
+ Text: typeof Text;
161
157
  Hint: typeof Flex;
162
158
  };
163
- /**
164
- * @deprecated Use Select.Group
165
- */
166
- OptionTitle: typeof DropdownMenu.ItemTitle;
167
- /**
168
- * @deprecated Use Select.Option.Hint or Select.Group with subTitle property
169
- */
170
- OptionHint: typeof DropdownMenu.ItemHint;
171
159
  Divider: typeof Divider;
172
160
  InputSearch: typeof InputSearch;
173
161
  Input: typeof InputSearch;
@@ -178,7 +166,7 @@ declare const wrapSelect: <PropsExtending extends {}>(
178
166
  props: Intergalactic.InternalTypings.UntypeRefAndTag<
179
167
  Intergalactic.InternalTypings.ComponentPropsNesting<IntergalacticSelectComponent>
180
168
  > &
181
- PropsExtending,
169
+ PropsExtending,
182
170
  ) => React.ReactNode,
183
171
  ) => IntergalacticSelectComponent<PropsExtending>;
184
172