@instructure/ui-select 10.13.0 → 10.13.1-pr-snapshot-1741357986437
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/CHANGELOG.md +8 -0
- package/lib/Select/Group/props.js +2 -2
- package/lib/Select/__new-tests__/Select.test.js +19 -22
- package/lib/Select/index.js +33 -38
- package/lib/Select/props.js +8 -8
- package/package.json +23 -23
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,14 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [10.13.1-pr-snapshot-1741357986437](https://github.com/instructure/instructure-ui/compare/v10.13.0...v10.13.1-pr-snapshot-1741357986437) (2025-03-07)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @instructure/ui-select
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
6
14
|
# [10.13.0](https://github.com/instructure/instructure-ui/compare/v10.12.0...v10.13.0) (2025-03-06)
|
|
7
15
|
|
|
8
16
|
|
|
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
});
|
|
7
7
|
exports.propTypes = exports.allowedProps = void 0;
|
|
8
8
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
9
|
-
var
|
|
9
|
+
var _uiPropTypes = require("@instructure/ui-prop-types");
|
|
10
10
|
var _Option = require("../Option");
|
|
11
11
|
/*
|
|
12
12
|
* The MIT License (MIT)
|
|
@@ -34,6 +34,6 @@ var _Option = require("../Option");
|
|
|
34
34
|
|
|
35
35
|
const propTypes = exports.propTypes = {
|
|
36
36
|
renderLabel: _propTypes.default.oneOfType([_propTypes.default.node, _propTypes.default.func]).isRequired,
|
|
37
|
-
children:
|
|
37
|
+
children: _uiPropTypes.Children.oneOf([_Option.Option])
|
|
38
38
|
};
|
|
39
39
|
const allowedProps = exports.allowedProps = ['renderLabel', 'children'];
|
|
@@ -8,14 +8,11 @@ var _vitest = require("vitest");
|
|
|
8
8
|
var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
|
|
9
9
|
require("@testing-library/jest-dom");
|
|
10
10
|
var _generateA11yTests = require("@instructure/ui-scripts/lib/test/generateA11yTests");
|
|
11
|
-
var
|
|
11
|
+
var _uiAxeCheck = require("@instructure/ui-axe-check");
|
|
12
12
|
var _index = _interopRequireDefault(require("../index"));
|
|
13
13
|
var _Select8 = _interopRequireDefault(require("../__examples__/Select.examples"));
|
|
14
14
|
var utils = _interopRequireWildcard(require("@instructure/ui-utils"));
|
|
15
|
-
var
|
|
16
|
-
var _IconCheckSolid = require("@instructure/ui-icons/lib/IconCheckSolid.js");
|
|
17
|
-
var _IconDownloadSolid = require("@instructure/ui-icons/lib/IconDownloadSolid.js");
|
|
18
|
-
var _IconEyeSolid = require("@instructure/ui-icons/lib/IconEyeSolid.js");
|
|
15
|
+
var _uiIcons = require("@instructure/ui-icons");
|
|
19
16
|
var _Select, _Select2, _Select3, _Select4, _Select5, _Select6, _Select7;
|
|
20
17
|
/*
|
|
21
18
|
* The MIT License (MIT)
|
|
@@ -57,11 +54,11 @@ const optionsWithBeforeContent = [{
|
|
|
57
54
|
}, {
|
|
58
55
|
id: 'opt2',
|
|
59
56
|
label: 'Icon',
|
|
60
|
-
renderBeforeLabel: /*#__PURE__*/_react.default.createElement(
|
|
57
|
+
renderBeforeLabel: /*#__PURE__*/_react.default.createElement(_uiIcons.IconCheckSolid, null)
|
|
61
58
|
}, {
|
|
62
59
|
id: 'opt3',
|
|
63
60
|
label: 'Colored Icon',
|
|
64
|
-
renderBeforeLabel: /*#__PURE__*/_react.default.createElement(
|
|
61
|
+
renderBeforeLabel: /*#__PURE__*/_react.default.createElement(_uiIcons.IconEyeSolid, null)
|
|
65
62
|
}];
|
|
66
63
|
const groupOptionsWithBeforeContent = {
|
|
67
64
|
Options1: [{
|
|
@@ -71,11 +68,11 @@ const groupOptionsWithBeforeContent = {
|
|
|
71
68
|
}, {
|
|
72
69
|
id: 'opt2',
|
|
73
70
|
label: 'Icon1',
|
|
74
|
-
renderBeforeLabel: /*#__PURE__*/_react.default.createElement(
|
|
71
|
+
renderBeforeLabel: /*#__PURE__*/_react.default.createElement(_uiIcons.IconCheckSolid, null)
|
|
75
72
|
}, {
|
|
76
73
|
id: 'opt3',
|
|
77
74
|
label: 'Colored Icon1',
|
|
78
|
-
renderBeforeLabel: /*#__PURE__*/_react.default.createElement(
|
|
75
|
+
renderBeforeLabel: /*#__PURE__*/_react.default.createElement(_uiIcons.IconEyeSolid, null)
|
|
79
76
|
}],
|
|
80
77
|
Options2: [{
|
|
81
78
|
id: 'opt4',
|
|
@@ -84,11 +81,11 @@ const groupOptionsWithBeforeContent = {
|
|
|
84
81
|
}, {
|
|
85
82
|
id: 'opt5',
|
|
86
83
|
label: 'Icon2',
|
|
87
|
-
renderBeforeLabel: /*#__PURE__*/_react.default.createElement(
|
|
84
|
+
renderBeforeLabel: /*#__PURE__*/_react.default.createElement(_uiIcons.IconAddLine, null)
|
|
88
85
|
}, {
|
|
89
86
|
id: 'opt6',
|
|
90
87
|
label: 'Colored Icon2',
|
|
91
|
-
renderBeforeLabel: /*#__PURE__*/_react.default.createElement(
|
|
88
|
+
renderBeforeLabel: /*#__PURE__*/_react.default.createElement(_uiIcons.IconDownloadSolid, null)
|
|
92
89
|
}]
|
|
93
90
|
};
|
|
94
91
|
const optionsWithAfterContent = [{
|
|
@@ -98,11 +95,11 @@ const optionsWithAfterContent = [{
|
|
|
98
95
|
}, {
|
|
99
96
|
id: 'opt2',
|
|
100
97
|
label: 'Icon',
|
|
101
|
-
renderAfterLabel: /*#__PURE__*/_react.default.createElement(
|
|
98
|
+
renderAfterLabel: /*#__PURE__*/_react.default.createElement(_uiIcons.IconCheckSolid, null)
|
|
102
99
|
}, {
|
|
103
100
|
id: 'opt3',
|
|
104
101
|
label: 'Colored Icon',
|
|
105
|
-
renderAfterLabel: /*#__PURE__*/_react.default.createElement(
|
|
102
|
+
renderAfterLabel: /*#__PURE__*/_react.default.createElement(_uiIcons.IconEyeSolid, null)
|
|
106
103
|
}];
|
|
107
104
|
const groupOptionsWithAfterContent = {
|
|
108
105
|
Options1: [{
|
|
@@ -112,11 +109,11 @@ const groupOptionsWithAfterContent = {
|
|
|
112
109
|
}, {
|
|
113
110
|
id: 'opt2',
|
|
114
111
|
label: 'Icon1',
|
|
115
|
-
renderAfterLabel: /*#__PURE__*/_react.default.createElement(
|
|
112
|
+
renderAfterLabel: /*#__PURE__*/_react.default.createElement(_uiIcons.IconCheckSolid, null)
|
|
116
113
|
}, {
|
|
117
114
|
id: 'opt3',
|
|
118
115
|
label: 'Colored Icon1',
|
|
119
|
-
renderAfterLabel: /*#__PURE__*/_react.default.createElement(
|
|
116
|
+
renderAfterLabel: /*#__PURE__*/_react.default.createElement(_uiIcons.IconEyeSolid, null)
|
|
120
117
|
}],
|
|
121
118
|
Options2: [{
|
|
122
119
|
id: 'opt4',
|
|
@@ -125,11 +122,11 @@ const groupOptionsWithAfterContent = {
|
|
|
125
122
|
}, {
|
|
126
123
|
id: 'opt5',
|
|
127
124
|
label: 'Icon2',
|
|
128
|
-
renderAfterLabel: /*#__PURE__*/_react.default.createElement(
|
|
125
|
+
renderAfterLabel: /*#__PURE__*/_react.default.createElement(_uiIcons.IconAddLine, null)
|
|
129
126
|
}, {
|
|
130
127
|
id: 'opt6',
|
|
131
128
|
label: 'Colored Icon2',
|
|
132
|
-
renderAfterLabel: /*#__PURE__*/_react.default.createElement(
|
|
129
|
+
renderAfterLabel: /*#__PURE__*/_react.default.createElement(_uiIcons.IconDownloadSolid, null)
|
|
133
130
|
}]
|
|
134
131
|
};
|
|
135
132
|
const optionsWithBeforeAndAfterContent = [{
|
|
@@ -140,13 +137,13 @@ const optionsWithBeforeAndAfterContent = [{
|
|
|
140
137
|
}, {
|
|
141
138
|
id: 'opt2',
|
|
142
139
|
label: 'Icon',
|
|
143
|
-
renderAfterLabel: /*#__PURE__*/_react.default.createElement(
|
|
144
|
-
renderBeforeLabel: /*#__PURE__*/_react.default.createElement(
|
|
140
|
+
renderAfterLabel: /*#__PURE__*/_react.default.createElement(_uiIcons.IconCheckSolid, null),
|
|
141
|
+
renderBeforeLabel: /*#__PURE__*/_react.default.createElement(_uiIcons.IconEyeSolid, null)
|
|
145
142
|
}, {
|
|
146
143
|
id: 'opt3',
|
|
147
144
|
label: 'Colored Icon',
|
|
148
|
-
renderBeforeLabel: /*#__PURE__*/_react.default.createElement(
|
|
149
|
-
renderAfterLabel: /*#__PURE__*/_react.default.createElement(
|
|
145
|
+
renderBeforeLabel: /*#__PURE__*/_react.default.createElement(_uiIcons.IconEyeSolid, null),
|
|
146
|
+
renderAfterLabel: /*#__PURE__*/_react.default.createElement(_uiIcons.IconCheckSolid, null)
|
|
150
147
|
}];
|
|
151
148
|
const getOptionsWithBeforeContent = selected => optionsWithBeforeContent.map(opt => /*#__PURE__*/_react.default.createElement(_index.default.Option, Object.assign({}, opt, {
|
|
152
149
|
key: opt.id,
|
|
@@ -880,7 +877,7 @@ describe('<Select />', () => {
|
|
|
880
877
|
}) => {
|
|
881
878
|
const _render28 = (0, _react2.render)(content),
|
|
882
879
|
container = _render28.container;
|
|
883
|
-
const axeCheck = await (0,
|
|
880
|
+
const axeCheck = await (0, _uiAxeCheck.runAxeCheck)(container);
|
|
884
881
|
expect(axeCheck).toBe(true);
|
|
885
882
|
});
|
|
886
883
|
});
|
package/lib/Select/index.js
CHANGED
|
@@ -9,20 +9,15 @@ exports.default = exports.Select = void 0;
|
|
|
9
9
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
10
10
|
var _react = _interopRequireWildcard(require("react"));
|
|
11
11
|
var utils = _interopRequireWildcard(require("@instructure/ui-utils"));
|
|
12
|
-
var
|
|
13
|
-
var
|
|
14
|
-
var
|
|
15
|
-
var
|
|
16
|
-
var
|
|
17
|
-
var
|
|
18
|
-
var
|
|
19
|
-
var
|
|
20
|
-
var
|
|
21
|
-
var _Popover = require("@instructure/ui-popover/lib/Popover");
|
|
22
|
-
var _TextInput = require("@instructure/ui-text-input/lib/TextInput");
|
|
23
|
-
var _Options = require("@instructure/ui-options/lib/Options");
|
|
24
|
-
var _IconArrowOpenDownLine = require("@instructure/ui-icons/lib/IconArrowOpenDownLine.js");
|
|
25
|
-
var _IconArrowOpenUpLine2 = require("@instructure/ui-icons/lib/IconArrowOpenUpLine.js");
|
|
12
|
+
var _uiTestable = require("@instructure/ui-testable");
|
|
13
|
+
var _uiReactUtils = require("@instructure/ui-react-utils");
|
|
14
|
+
var _uiDomUtils = require("@instructure/ui-dom-utils");
|
|
15
|
+
var _uiView = require("@instructure/ui-view");
|
|
16
|
+
var _uiSelectable = require("@instructure/ui-selectable");
|
|
17
|
+
var _uiPopover = require("@instructure/ui-popover");
|
|
18
|
+
var _uiTextInput = require("@instructure/ui-text-input");
|
|
19
|
+
var _uiOptions = require("@instructure/ui-options");
|
|
20
|
+
var _uiIcons = require("@instructure/ui-icons");
|
|
26
21
|
var _emotion = require("@instructure/emotion");
|
|
27
22
|
var _styles = _interopRequireDefault(require("./styles"));
|
|
28
23
|
var _theme = _interopRequireDefault(require("./theme"));
|
|
@@ -66,7 +61,7 @@ const MemoedOption = /*#__PURE__*/(0, _react.memo)(function Opt(props) {
|
|
|
66
61
|
children = props.children;
|
|
67
62
|
return (
|
|
68
63
|
// The main <Options> that renders this is always an "ul"
|
|
69
|
-
(0, _emotion.jsx)(
|
|
64
|
+
(0, _emotion.jsx)(_uiOptions.Options.Item, Object.assign({
|
|
70
65
|
as: "li"
|
|
71
66
|
}, optionsItemProps), children)
|
|
72
67
|
);
|
|
@@ -86,7 +81,7 @@ category: components
|
|
|
86
81
|
tags: autocomplete, typeahead, combobox, dropdown, search, form
|
|
87
82
|
---
|
|
88
83
|
**/
|
|
89
|
-
let Select = exports.Select = (_dec = (0,
|
|
84
|
+
let Select = exports.Select = (_dec = (0, _uiReactUtils.withDeterministicId)(), _dec2 = (0, _emotion.withStyle)(_styles.default, _theme.default), _dec3 = (0, _uiTestable.testable)(), _dec(_class = _dec2(_class = _dec3(_class = (_Select = class Select extends _react.Component {
|
|
90
85
|
constructor(...args) {
|
|
91
86
|
super(...args);
|
|
92
87
|
this.state = {
|
|
@@ -147,7 +142,7 @@ let Select = exports.Select = (_dec = (0, _withDeterministicId.withDeterministic
|
|
|
147
142
|
return _react.Children.toArray(group.props.children);
|
|
148
143
|
}
|
|
149
144
|
get focused() {
|
|
150
|
-
return this._input ? (0,
|
|
145
|
+
return this._input ? (0, _uiDomUtils.isActiveElement)(this._input) : false;
|
|
151
146
|
}
|
|
152
147
|
get id() {
|
|
153
148
|
return this.props.id || this._defaultId;
|
|
@@ -156,14 +151,14 @@ let Select = exports.Select = (_dec = (0, _withDeterministicId.withDeterministic
|
|
|
156
151
|
return this._inputContainer ? this._inputContainer.offsetWidth : void 0;
|
|
157
152
|
}
|
|
158
153
|
get interaction() {
|
|
159
|
-
return (0,
|
|
154
|
+
return (0, _uiReactUtils.getInteraction)({
|
|
160
155
|
props: this.props
|
|
161
156
|
});
|
|
162
157
|
}
|
|
163
158
|
get highlightedOptionId() {
|
|
164
159
|
let highlightedOptionId;
|
|
165
160
|
this.childrenArray.forEach(child => {
|
|
166
|
-
if ((0,
|
|
161
|
+
if ((0, _uiReactUtils.matchComponentTypes)(child, [_Group.Group])) {
|
|
167
162
|
// group found
|
|
168
163
|
this.getGroupChildrenArray(child).forEach(option => {
|
|
169
164
|
// check options in group
|
|
@@ -183,7 +178,7 @@ let Select = exports.Select = (_dec = (0, _withDeterministicId.withDeterministic
|
|
|
183
178
|
get selectedOptionId() {
|
|
184
179
|
const selectedOptionId = [];
|
|
185
180
|
this.childrenArray.forEach(child => {
|
|
186
|
-
if ((0,
|
|
181
|
+
if ((0, _uiReactUtils.matchComponentTypes)(child, [_Group.Group])) {
|
|
187
182
|
// group found
|
|
188
183
|
this.getGroupChildrenArray(child).forEach(option => {
|
|
189
184
|
// check options in group
|
|
@@ -211,8 +206,8 @@ let Select = exports.Select = (_dec = (0, _withDeterministicId.withDeterministic
|
|
|
211
206
|
const option = this._listView.querySelector(`[id="${id}"]`);
|
|
212
207
|
if (!option) return;
|
|
213
208
|
const listItem = option.parentNode;
|
|
214
|
-
const parentTop = (0,
|
|
215
|
-
const elemTop = (0,
|
|
209
|
+
const parentTop = (0, _uiDomUtils.getBoundingClientRect)(this._listView).top;
|
|
210
|
+
const elemTop = (0, _uiDomUtils.getBoundingClientRect)(listItem).top;
|
|
216
211
|
const parentBottom = parentTop + this._listView.clientHeight;
|
|
217
212
|
const elemBottom = elemTop + (listItem ? listItem.clientHeight : 0);
|
|
218
213
|
if (elemBottom > parentBottom) {
|
|
@@ -312,7 +307,7 @@ let Select = exports.Select = (_dec = (0, _withDeterministicId.withDeterministic
|
|
|
312
307
|
};
|
|
313
308
|
let optionProps = {
|
|
314
309
|
// passthrough props
|
|
315
|
-
...(0,
|
|
310
|
+
...(0, _uiReactUtils.omitProps)(option.props, [..._Option.Option.allowedProps, ..._uiOptions.Options.Item.allowedProps]),
|
|
316
311
|
// props from selectable
|
|
317
312
|
...getOptionProps({
|
|
318
313
|
id
|
|
@@ -358,16 +353,16 @@ let Select = exports.Select = (_dec = (0, _withDeterministicId.withDeterministic
|
|
|
358
353
|
const groupChildren = [];
|
|
359
354
|
// add a separator above
|
|
360
355
|
if (!isFirstChild && !afterGroup) {
|
|
361
|
-
groupChildren.push(_Options$Separator || (_Options$Separator = (0, _emotion.jsx)(
|
|
356
|
+
groupChildren.push(_Options$Separator || (_Options$Separator = (0, _emotion.jsx)(_uiOptions.Options.Separator, null)));
|
|
362
357
|
}
|
|
363
358
|
// create a sublist as a group
|
|
364
359
|
// a wrapping listitem will be created by Options
|
|
365
|
-
groupChildren.push((0, _emotion.jsx)(
|
|
360
|
+
groupChildren.push((0, _emotion.jsx)(_uiOptions.Options, Object.assign({
|
|
366
361
|
id: id,
|
|
367
362
|
as: "ul",
|
|
368
363
|
role: "group",
|
|
369
364
|
renderLabel: renderLabel
|
|
370
|
-
}, (0,
|
|
365
|
+
}, (0, _uiReactUtils.omitProps)(rest, [..._uiOptions.Options.allowedProps, ..._Group.Group.allowedProps])), _react.Children.map(children, child => {
|
|
371
366
|
return this.renderOption(child, {
|
|
372
367
|
getOptionProps,
|
|
373
368
|
getDisabledOptionProps
|
|
@@ -375,7 +370,7 @@ let Select = exports.Select = (_dec = (0, _withDeterministicId.withDeterministic
|
|
|
375
370
|
})));
|
|
376
371
|
// add a separator below
|
|
377
372
|
if (!isLastChild) {
|
|
378
|
-
groupChildren.push(_Options$Separator2 || (_Options$Separator2 = (0, _emotion.jsx)(
|
|
373
|
+
groupChildren.push(_Options$Separator2 || (_Options$Separator2 = (0, _emotion.jsx)(_uiOptions.Options.Separator, null)));
|
|
379
374
|
}
|
|
380
375
|
return groupChildren;
|
|
381
376
|
}
|
|
@@ -401,21 +396,21 @@ let Select = exports.Select = (_dec = (0, _withDeterministicId.withDeterministic
|
|
|
401
396
|
} : {
|
|
402
397
|
maxHeight: 0
|
|
403
398
|
};
|
|
404
|
-
return (0, _emotion.jsx)(
|
|
399
|
+
return (0, _emotion.jsx)(_uiView.View, viewProps, (0, _emotion.jsx)(_uiOptions.Options, getListProps({
|
|
405
400
|
as: 'ul',
|
|
406
401
|
elementRef: this.handleListRef
|
|
407
402
|
}), isShowingOptions ? _react.Children.map(children, (child, index) => {
|
|
408
|
-
if (!child || !(0,
|
|
403
|
+
if (!child || !(0, _uiReactUtils.matchComponentTypes)(child, [_Group.Group, _Option.Option])) {
|
|
409
404
|
return; // ignore invalid children
|
|
410
405
|
}
|
|
411
|
-
if ((0,
|
|
406
|
+
if ((0, _uiReactUtils.matchComponentTypes)(child, [_Option.Option])) {
|
|
412
407
|
lastWasGroup = false;
|
|
413
408
|
return this.renderOption(child, {
|
|
414
409
|
getOptionProps,
|
|
415
410
|
getDisabledOptionProps
|
|
416
411
|
});
|
|
417
412
|
}
|
|
418
|
-
if ((0,
|
|
413
|
+
if ((0, _uiReactUtils.matchComponentTypes)(child, [_Group.Group])) {
|
|
419
414
|
const afterGroup = lastWasGroup;
|
|
420
415
|
lastWasGroup = true;
|
|
421
416
|
return this.renderGroup(child, {
|
|
@@ -436,15 +431,15 @@ let Select = exports.Select = (_dec = (0, _withDeterministicId.withDeterministic
|
|
|
436
431
|
isShowingOptions = _this$props7.isShowingOptions;
|
|
437
432
|
return (0, _emotion.jsx)("span", {
|
|
438
433
|
css: styles === null || styles === void 0 ? void 0 : styles.icon
|
|
439
|
-
}, isShowingOptions ? _IconArrowOpenUpLine || (_IconArrowOpenUpLine = (0, _emotion.jsx)(
|
|
434
|
+
}, isShowingOptions ? _IconArrowOpenUpLine || (_IconArrowOpenUpLine = (0, _emotion.jsx)(_uiIcons.IconArrowOpenUpLine, {
|
|
440
435
|
inline: false
|
|
441
|
-
})) : _IconArrowOpenDownLin || (_IconArrowOpenDownLin = (0, _emotion.jsx)(
|
|
436
|
+
})) : _IconArrowOpenDownLin || (_IconArrowOpenDownLin = (0, _emotion.jsx)(_uiIcons.IconArrowOpenDownLine, {
|
|
442
437
|
inline: false
|
|
443
438
|
})));
|
|
444
439
|
}
|
|
445
440
|
renderContentBeforeOrAfterInput(position) {
|
|
446
441
|
for (const child of this.childrenArray) {
|
|
447
|
-
if ((0,
|
|
442
|
+
if ((0, _uiReactUtils.matchComponentTypes)(child, [_Group.Group])) {
|
|
448
443
|
// Group found
|
|
449
444
|
const options = this.getGroupChildrenArray(child);
|
|
450
445
|
for (const option of options) {
|
|
@@ -522,7 +517,7 @@ let Select = exports.Select = (_dec = (0, _withDeterministicId.withDeterministic
|
|
|
522
517
|
onRequestHideOptions = _this$props10.onRequestHideOptions,
|
|
523
518
|
rest = (0, _objectWithoutProperties2.default)(_this$props10, _excluded2);
|
|
524
519
|
const interaction = this.interaction;
|
|
525
|
-
const passthroughProps = (0,
|
|
520
|
+
const passthroughProps = (0, _uiReactUtils.omitProps)(rest, Select.allowedProps);
|
|
526
521
|
const _getTriggerProps = getTriggerProps({
|
|
527
522
|
...passthroughProps
|
|
528
523
|
}),
|
|
@@ -573,7 +568,7 @@ let Select = exports.Select = (_dec = (0, _withDeterministicId.withDeterministic
|
|
|
573
568
|
onBlur: utils.createChainedFunction(onBlur, onRequestHideOptions),
|
|
574
569
|
...overrideProps
|
|
575
570
|
};
|
|
576
|
-
return (0, _emotion.jsx)(
|
|
571
|
+
return (0, _emotion.jsx)(_uiTextInput.TextInput, Object.assign({}, triggerProps, getInputProps(inputProps)));
|
|
577
572
|
}
|
|
578
573
|
render() {
|
|
579
574
|
const _this$props11 = this.props,
|
|
@@ -587,7 +582,7 @@ let Select = exports.Select = (_dec = (0, _withDeterministicId.withDeterministic
|
|
|
587
582
|
this._optionIds = [];
|
|
588
583
|
const highlightedOptionId = this.highlightedOptionId;
|
|
589
584
|
const selectedOptionId = this.selectedOptionId;
|
|
590
|
-
return (0, _emotion.jsx)(
|
|
585
|
+
return (0, _emotion.jsx)(_uiSelectable.Selectable, Object.assign({
|
|
591
586
|
highlightedOptionId: highlightedOptionId,
|
|
592
587
|
isShowingOptions: isShowingOptions,
|
|
593
588
|
selectedOptionId: selectedOptionId
|
|
@@ -608,7 +603,7 @@ let Select = exports.Select = (_dec = (0, _withDeterministicId.withDeterministic
|
|
|
608
603
|
getTriggerProps
|
|
609
604
|
}), (0, _emotion.jsx)("span", Object.assign({}, getDescriptionProps(), {
|
|
610
605
|
css: styles === null || styles === void 0 ? void 0 : styles.assistiveText
|
|
611
|
-
}), assistiveText), (0, _emotion.jsx)(
|
|
606
|
+
}), assistiveText), (0, _emotion.jsx)(_uiPopover.Popover, {
|
|
612
607
|
constrain: constrain,
|
|
613
608
|
placement: placement,
|
|
614
609
|
mountNode: mountNode,
|
package/lib/Select/props.js
CHANGED
|
@@ -6,9 +6,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
});
|
|
7
7
|
exports.propTypes = exports.allowedProps = void 0;
|
|
8
8
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
9
|
-
var
|
|
10
|
-
var
|
|
11
|
-
var
|
|
9
|
+
var _uiPropTypes = require("@instructure/ui-prop-types");
|
|
10
|
+
var _uiFormField = require("@instructure/ui-form-field");
|
|
11
|
+
var _uiPosition = require("@instructure/ui-position");
|
|
12
12
|
var _Group = require("./Group");
|
|
13
13
|
var _Option = require("./Option");
|
|
14
14
|
/*
|
|
@@ -60,10 +60,10 @@ const propTypes = exports.propTypes = {
|
|
|
60
60
|
isOptionContentAppliedToInput: _propTypes.default.bool,
|
|
61
61
|
optionsMaxHeight: _propTypes.default.string,
|
|
62
62
|
optionsMaxWidth: _propTypes.default.string,
|
|
63
|
-
messages: _propTypes.default.arrayOf(
|
|
64
|
-
placement:
|
|
65
|
-
constrain:
|
|
66
|
-
mountNode:
|
|
63
|
+
messages: _propTypes.default.arrayOf(_uiFormField.FormPropTypes.message),
|
|
64
|
+
placement: _uiPosition.PositionPropTypes.placement,
|
|
65
|
+
constrain: _uiPosition.PositionPropTypes.constrain,
|
|
66
|
+
mountNode: _uiPosition.PositionPropTypes.mountNode,
|
|
67
67
|
onFocus: _propTypes.default.func,
|
|
68
68
|
onBlur: _propTypes.default.func,
|
|
69
69
|
onInputChange: _propTypes.default.func,
|
|
@@ -76,7 +76,7 @@ const propTypes = exports.propTypes = {
|
|
|
76
76
|
listRef: _propTypes.default.func,
|
|
77
77
|
renderBeforeInput: _propTypes.default.oneOfType([_propTypes.default.node, _propTypes.default.func]),
|
|
78
78
|
renderAfterInput: _propTypes.default.oneOfType([_propTypes.default.node, _propTypes.default.func]),
|
|
79
|
-
children:
|
|
79
|
+
children: _uiPropTypes.Children.oneOf([_Group.Group, _Option.Option]),
|
|
80
80
|
shouldNotWrap: _propTypes.default.bool,
|
|
81
81
|
scrollToHighlightedOption: _propTypes.default.bool
|
|
82
82
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@instructure/ui-select",
|
|
3
|
-
"version": "10.13.
|
|
3
|
+
"version": "10.13.1-pr-snapshot-1741357986437",
|
|
4
4
|
"description": "A component for select and autocomplete behavior.",
|
|
5
5
|
"author": "Instructure, Inc. Engineering and Product Design",
|
|
6
6
|
"module": "./es/index.js",
|
|
@@ -23,12 +23,12 @@
|
|
|
23
23
|
},
|
|
24
24
|
"license": "MIT",
|
|
25
25
|
"devDependencies": {
|
|
26
|
-
"@instructure/ui-axe-check": "10.13.
|
|
27
|
-
"@instructure/ui-babel-preset": "10.13.
|
|
28
|
-
"@instructure/ui-color-utils": "10.13.
|
|
29
|
-
"@instructure/ui-scripts": "10.13.
|
|
30
|
-
"@instructure/ui-test-utils": "10.13.
|
|
31
|
-
"@instructure/ui-themes": "10.13.
|
|
26
|
+
"@instructure/ui-axe-check": "10.13.1-pr-snapshot-1741357986437",
|
|
27
|
+
"@instructure/ui-babel-preset": "10.13.1-pr-snapshot-1741357986437",
|
|
28
|
+
"@instructure/ui-color-utils": "10.13.1-pr-snapshot-1741357986437",
|
|
29
|
+
"@instructure/ui-scripts": "10.13.1-pr-snapshot-1741357986437",
|
|
30
|
+
"@instructure/ui-test-utils": "10.13.1-pr-snapshot-1741357986437",
|
|
31
|
+
"@instructure/ui-themes": "10.13.1-pr-snapshot-1741357986437",
|
|
32
32
|
"@testing-library/jest-dom": "^6.6.3",
|
|
33
33
|
"@testing-library/react": "^16.0.1",
|
|
34
34
|
"@testing-library/user-event": "^14.5.2",
|
|
@@ -36,22 +36,22 @@
|
|
|
36
36
|
},
|
|
37
37
|
"dependencies": {
|
|
38
38
|
"@babel/runtime": "^7.26.0",
|
|
39
|
-
"@instructure/emotion": "10.13.
|
|
40
|
-
"@instructure/shared-types": "10.13.
|
|
41
|
-
"@instructure/ui-dom-utils": "10.13.
|
|
42
|
-
"@instructure/ui-form-field": "10.13.
|
|
43
|
-
"@instructure/ui-icons": "10.13.
|
|
44
|
-
"@instructure/ui-options": "10.13.
|
|
45
|
-
"@instructure/ui-popover": "10.13.
|
|
46
|
-
"@instructure/ui-position": "10.13.
|
|
47
|
-
"@instructure/ui-prop-types": "10.13.
|
|
48
|
-
"@instructure/ui-react-utils": "10.13.
|
|
49
|
-
"@instructure/ui-selectable": "10.13.
|
|
50
|
-
"@instructure/ui-testable": "10.13.
|
|
51
|
-
"@instructure/ui-text-input": "10.13.
|
|
52
|
-
"@instructure/ui-utils": "10.13.
|
|
53
|
-
"@instructure/ui-view": "10.13.
|
|
54
|
-
"@instructure/uid": "10.13.
|
|
39
|
+
"@instructure/emotion": "10.13.1-pr-snapshot-1741357986437",
|
|
40
|
+
"@instructure/shared-types": "10.13.1-pr-snapshot-1741357986437",
|
|
41
|
+
"@instructure/ui-dom-utils": "10.13.1-pr-snapshot-1741357986437",
|
|
42
|
+
"@instructure/ui-form-field": "10.13.1-pr-snapshot-1741357986437",
|
|
43
|
+
"@instructure/ui-icons": "10.13.1-pr-snapshot-1741357986437",
|
|
44
|
+
"@instructure/ui-options": "10.13.1-pr-snapshot-1741357986437",
|
|
45
|
+
"@instructure/ui-popover": "10.13.1-pr-snapshot-1741357986437",
|
|
46
|
+
"@instructure/ui-position": "10.13.1-pr-snapshot-1741357986437",
|
|
47
|
+
"@instructure/ui-prop-types": "10.13.1-pr-snapshot-1741357986437",
|
|
48
|
+
"@instructure/ui-react-utils": "10.13.1-pr-snapshot-1741357986437",
|
|
49
|
+
"@instructure/ui-selectable": "10.13.1-pr-snapshot-1741357986437",
|
|
50
|
+
"@instructure/ui-testable": "10.13.1-pr-snapshot-1741357986437",
|
|
51
|
+
"@instructure/ui-text-input": "10.13.1-pr-snapshot-1741357986437",
|
|
52
|
+
"@instructure/ui-utils": "10.13.1-pr-snapshot-1741357986437",
|
|
53
|
+
"@instructure/ui-view": "10.13.1-pr-snapshot-1741357986437",
|
|
54
|
+
"@instructure/uid": "10.13.1-pr-snapshot-1741357986437",
|
|
55
55
|
"prop-types": "^15.8.1"
|
|
56
56
|
},
|
|
57
57
|
"peerDependencies": {
|