glints-aries 4.0.147 → 4.0.148
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/es/Input/DownshiftSelect/Select.d.ts +8 -0
- package/es/Input/DownshiftSelect/Select.js +42 -18
- package/es/Input/DownshiftSelect/Select.stories.d.ts +1 -0
- package/es/Input/DownshiftSelect/Select.stories.js +28 -6
- package/es/Input/DownshiftSelect/SelectStyle.d.ts +3 -0
- package/es/Input/DownshiftSelect/SelectStyle.js +13 -1
- package/es/index.d.ts +1 -1
- package/lib/Input/DownshiftSelect/Select.d.ts +8 -0
- package/lib/Input/DownshiftSelect/Select.js +41 -17
- package/lib/Input/DownshiftSelect/Select.stories.d.ts +1 -0
- package/lib/Input/DownshiftSelect/Select.stories.js +30 -7
- package/lib/Input/DownshiftSelect/SelectStyle.d.ts +3 -0
- package/lib/Input/DownshiftSelect/SelectStyle.js +23 -2
- package/lib/index.d.ts +1 -1
- package/package.json +1 -1
|
@@ -25,6 +25,9 @@ declare type MenuType = HTMLProps<HTMLUListElement>;
|
|
|
25
25
|
declare type ItemType = ItemProps & HTMLProps<HTMLLIElement>;
|
|
26
26
|
declare type EmptyListType = HTMLProps<HTMLLIElement>;
|
|
27
27
|
declare type HelperTextType = HTMLProps<HTMLSpanElement>;
|
|
28
|
+
declare type GroupContainerType = HTMLProps<HTMLLIElement>;
|
|
29
|
+
declare type GroupType = HTMLProps<HTMLUListElement>;
|
|
30
|
+
declare type GroupHeadingType = HTMLProps<HTMLLIElement>;
|
|
28
31
|
export interface Components {
|
|
29
32
|
Container: React.ComponentType<ContainerType>;
|
|
30
33
|
Label: React.ComponentType<LabelType>;
|
|
@@ -38,6 +41,9 @@ export interface Components {
|
|
|
38
41
|
Item: React.ComponentType<ItemType>;
|
|
39
42
|
EmptyList: React.ComponentType<EmptyListType>;
|
|
40
43
|
HelperText: React.ComponentType<HelperTextType>;
|
|
44
|
+
GroupContainer: React.ComponentType<GroupContainerType>;
|
|
45
|
+
Group: React.ComponentType<GroupType>;
|
|
46
|
+
GroupHeading: React.ComponentType<GroupHeadingType>;
|
|
41
47
|
}
|
|
42
48
|
export declare const SubComponents: typeof internalComponents;
|
|
43
49
|
export interface Props {
|
|
@@ -86,6 +92,8 @@ export interface Props {
|
|
|
86
92
|
onBlur?: React.FocusEventHandler<HTMLInputElement>;
|
|
87
93
|
/** Text to be displayed in EmptyList when transformFunction returns an empty list */
|
|
88
94
|
emptyListText?: string;
|
|
95
|
+
/** Key by which to group items. Also used as group */
|
|
96
|
+
groupKey?: string;
|
|
89
97
|
}
|
|
90
98
|
export declare const Select: React.FC<Props> & {
|
|
91
99
|
Components: Components;
|
|
@@ -12,7 +12,7 @@ import * as internalComponents from './SelectStyle';
|
|
|
12
12
|
import { ArrowDownIcon } from '../../General/Icon/components';
|
|
13
13
|
import { ArrowUpIcon } from '../../General/Icon/components';
|
|
14
14
|
import { CloseCircleSolidIcon } from '../../General/Icon/components';
|
|
15
|
-
import { isFunction, isUndefined, noop } from 'lodash';
|
|
15
|
+
import { groupBy, indexOf, isFunction, isUndefined, noop } from 'lodash';
|
|
16
16
|
import { useId } from 'react-id-generator';
|
|
17
17
|
export var defaultTransformFunction = function defaultTransformFunction(items, inputValue) {
|
|
18
18
|
return items.filter(function (item) {
|
|
@@ -59,7 +59,8 @@ export var Select = function Select(_ref) {
|
|
|
59
59
|
onBlurExternal = _ref.onBlur,
|
|
60
60
|
_ref$emptyListText = _ref.emptyListText,
|
|
61
61
|
emptyListText = _ref$emptyListText === void 0 ? defaultEmptyListText : _ref$emptyListText,
|
|
62
|
-
|
|
62
|
+
groupKey = _ref.groupKey,
|
|
63
|
+
props = _objectWithoutPropertiesLoose(_ref, ["items", "transformFunction", "components", "isLoading", "isOpenInitially", "helperText", "downshift", "placeholder", "label", "disabled", "disableTyping", "isOpen", "invalid", "onIsOpenChange", "selectedItem", "onSelectedItemChange", "inputValue", "onInputValueChange", "onClear", "onFocus", "onBlur", "emptyListText", "groupKey"]);
|
|
63
64
|
|
|
64
65
|
var mergedComponents = _objectSpread(_objectSpread({}, internalComponents), externalComponents);
|
|
65
66
|
|
|
@@ -74,7 +75,10 @@ export var Select = function Select(_ref) {
|
|
|
74
75
|
Menu = mergedComponents.Menu,
|
|
75
76
|
Item = mergedComponents.Item,
|
|
76
77
|
EmptyList = mergedComponents.EmptyList,
|
|
77
|
-
HelperText = mergedComponents.HelperText
|
|
78
|
+
HelperText = mergedComponents.HelperText,
|
|
79
|
+
GroupContainer = mergedComponents.GroupContainer,
|
|
80
|
+
Group = mergedComponents.Group,
|
|
81
|
+
GroupHeading = mergedComponents.GroupHeading;
|
|
78
82
|
|
|
79
83
|
var _useState = useState(''),
|
|
80
84
|
inputValueInternal = _useState[0],
|
|
@@ -164,6 +168,7 @@ export var Select = function Select(_ref) {
|
|
|
164
168
|
onBlurInternal();
|
|
165
169
|
};
|
|
166
170
|
|
|
171
|
+
var groups = groupKey && groupBy(displayItems, groupKey);
|
|
167
172
|
return /*#__PURE__*/React.createElement(Container, {
|
|
168
173
|
"data-testid": "container"
|
|
169
174
|
}, label && /*#__PURE__*/React.createElement(Label, _extends({}, getLabelProps(), {
|
|
@@ -214,21 +219,40 @@ export var Select = function Select(_ref) {
|
|
|
214
219
|
ref: undefined
|
|
215
220
|
}), isOpen ? /*#__PURE__*/React.createElement(ArrowUpIcon, null) : /*#__PURE__*/React.createElement(ArrowDownIcon, null)))), /*#__PURE__*/React.createElement(Menu, _extends({}, getMenuProps(), {
|
|
216
221
|
"data-testid": "menu"
|
|
217
|
-
}),
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
222
|
+
}), function () {
|
|
223
|
+
var renderItem = function renderItem(item) {
|
|
224
|
+
return /*#__PURE__*/React.createElement(Item, _extends({}, getItemProps({
|
|
225
|
+
item: item,
|
|
226
|
+
index: indexOf(displayItems, item),
|
|
227
|
+
disabled: disabled || item.disabled
|
|
228
|
+
}), {
|
|
229
|
+
key: item.value,
|
|
230
|
+
item: item,
|
|
231
|
+
title: item.label + indexOf(displayItems, item) // getToggleButtonProps adds a ref here, but functional components don't support them. Overriding the ref here prevents a React warning
|
|
232
|
+
,
|
|
233
|
+
ref: undefined
|
|
234
|
+
}), itemToString(item));
|
|
235
|
+
};
|
|
236
|
+
|
|
237
|
+
if (isOpen) {
|
|
238
|
+
if (groups && Object.keys(groups).length > 0) {
|
|
239
|
+
return Object.keys(groups).map(function (groupKey) {
|
|
240
|
+
return /*#__PURE__*/React.createElement(GroupContainer, {
|
|
241
|
+
key: groupKey
|
|
242
|
+
}, /*#__PURE__*/React.createElement(Group, null, /*#__PURE__*/React.createElement(GroupHeading, {
|
|
243
|
+
disabled: true,
|
|
244
|
+
"data-testid": "group-heading"
|
|
245
|
+
}, groupKey), groups[groupKey].map(renderItem)));
|
|
246
|
+
});
|
|
247
|
+
} else if (displayItems.length > 0) {
|
|
248
|
+
return displayItems.map(renderItem);
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
return /*#__PURE__*/React.createElement(EmptyList, {
|
|
253
|
+
"data-testid": "empty-list"
|
|
254
|
+
}, emptyListText);
|
|
255
|
+
}()), helperText && /*#__PURE__*/React.createElement(HelperText, {
|
|
232
256
|
id: helperId,
|
|
233
257
|
"data-invalid": invalid,
|
|
234
258
|
"data-testid": "helper-text"
|
|
@@ -4,6 +4,7 @@ declare const _default: Meta<import("@storybook/react").Args>;
|
|
|
4
4
|
export default _default;
|
|
5
5
|
export declare const Interactive: any;
|
|
6
6
|
export declare const RealisticExample: Story<Props>;
|
|
7
|
+
export declare const Groups: any;
|
|
7
8
|
export declare const TransformFunctionForCustomFilter: any;
|
|
8
9
|
export declare const TransformFunctionForNoFilter: any;
|
|
9
10
|
export declare const CustomComponents: any;
|
|
@@ -49,12 +49,23 @@ export default {
|
|
|
49
49
|
return /*#__PURE__*/React.createElement(StoryContainer, null, Story());
|
|
50
50
|
}]
|
|
51
51
|
};
|
|
52
|
-
var items = [
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
52
|
+
var items = [{
|
|
53
|
+
label: 'Software Engineer',
|
|
54
|
+
value: 'v0',
|
|
55
|
+
category: 'Software Engineering'
|
|
56
|
+
}, {
|
|
57
|
+
label: 'Software Tester',
|
|
58
|
+
value: 'v1',
|
|
59
|
+
category: 'Quality Assurance'
|
|
60
|
+
}, {
|
|
61
|
+
label: 'Back-end Engineer',
|
|
62
|
+
value: 'v2',
|
|
63
|
+
category: 'Software Engineering'
|
|
64
|
+
}, {
|
|
65
|
+
label: 'Front-end Engineer',
|
|
66
|
+
value: 'v3',
|
|
67
|
+
category: 'Software Engineering'
|
|
68
|
+
}];
|
|
58
69
|
var componentNames = Object.keys(Components).filter(function (name) {
|
|
59
70
|
return !name.startsWith('_');
|
|
60
71
|
});
|
|
@@ -116,6 +127,17 @@ RealisticExample.parameters = {
|
|
|
116
127
|
}
|
|
117
128
|
}
|
|
118
129
|
};
|
|
130
|
+
export var Groups = Template.bind({});
|
|
131
|
+
Groups.args = {
|
|
132
|
+
groupKey: 'category'
|
|
133
|
+
};
|
|
134
|
+
Groups.parameters = {
|
|
135
|
+
docs: {
|
|
136
|
+
description: {
|
|
137
|
+
story: "You can pass groupKey to group items by that key. This will also be used as the header for the group."
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
};
|
|
119
141
|
export var TransformFunctionForCustomFilter = Template.bind({});
|
|
120
142
|
TransformFunctionForCustomFilter.args = {
|
|
121
143
|
transformFunction: function transformFunction(items, inputValue) {
|
|
@@ -13,3 +13,6 @@ export declare const Menu: import("styled-components").StyledComponent<"ul", any
|
|
|
13
13
|
export declare const Item: import("styled-components").StyledComponent<"li", any, ItemProps, never>;
|
|
14
14
|
export declare const EmptyList: import("styled-components").StyledComponent<"li", any, {}, never>;
|
|
15
15
|
export declare const HelperText: import("styled-components").StyledComponent<"span", any, {}, never>;
|
|
16
|
+
export declare const GroupContainer: import("styled-components").StyledComponent<"li", any, {}, never>;
|
|
17
|
+
export declare const Group: import("styled-components").StyledComponent<"ul", any, {}, never>;
|
|
18
|
+
export declare const GroupHeading: import("styled-components").StyledComponent<"li", any, {}, never>;
|
|
@@ -53,4 +53,16 @@ export var EmptyList = styled.li.withConfig({
|
|
|
53
53
|
export var HelperText = styled.span.withConfig({
|
|
54
54
|
displayName: "SelectStyle__HelperText",
|
|
55
55
|
componentId: "qr1jv6-12"
|
|
56
|
-
})(["margin-top:4px;color:", ";font-size:0.875em;&[data-invalid='true']{color:", ";}"], Greyscale.devilsgrey, PrimaryColor.glintsred);
|
|
56
|
+
})(["margin-top:4px;color:", ";font-size:0.875em;&[data-invalid='true']{color:", ";}"], Greyscale.devilsgrey, PrimaryColor.glintsred);
|
|
57
|
+
export var GroupContainer = styled.li.withConfig({
|
|
58
|
+
displayName: "SelectStyle__GroupContainer",
|
|
59
|
+
componentId: "qr1jv6-13"
|
|
60
|
+
})(["margin-bottom:0.5em;padding:0;list-style-type:none;"]);
|
|
61
|
+
export var Group = styled.ul.withConfig({
|
|
62
|
+
displayName: "SelectStyle__Group",
|
|
63
|
+
componentId: "qr1jv6-14"
|
|
64
|
+
})(["padding:0;"]);
|
|
65
|
+
export var GroupHeading = styled.li.withConfig({
|
|
66
|
+
displayName: "SelectStyle__GroupHeading",
|
|
67
|
+
componentId: "qr1jv6-15"
|
|
68
|
+
})(["padding:0.5em 1em;list-style-type:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:", ";font-size:0.75em;text-transform:uppercase;"], Greyscale.devilsgrey);
|
package/es/index.d.ts
CHANGED
|
@@ -27,7 +27,7 @@ export { default as ProfilePicture } from './General/ProfilePicture';
|
|
|
27
27
|
export { default as RadioButton } from './Input/RadioButton';
|
|
28
28
|
export { default as Select } from './Input/Select';
|
|
29
29
|
export { Select as DownshiftSelect, SubComponents as DownshiftSelectSubComponents, defaultTransformFunction as DownshiftSelectDefaultTransformFunction, itemToString as DownshiftSelectItemToString, defaultEmptyListText } from './Input/DownshiftSelect/Select';
|
|
30
|
-
export type { Item as DownshiftSelectItem, ItemProps as DownshiftSelectItemComponentProps } from './Input/DownshiftSelect/Select';
|
|
30
|
+
export type { Item as DownshiftSelectItem, ItemProps as DownshiftSelectItemComponentProps, Props as DownshiftSelectProps } from './Input/DownshiftSelect/Select';
|
|
31
31
|
export { default as Slider } from './Display/Slider';
|
|
32
32
|
export { default as Swipeable } from './Display/Swipeable';
|
|
33
33
|
export { default as Tabs } from './Display/Tabs';
|
|
@@ -25,6 +25,9 @@ declare type MenuType = HTMLProps<HTMLUListElement>;
|
|
|
25
25
|
declare type ItemType = ItemProps & HTMLProps<HTMLLIElement>;
|
|
26
26
|
declare type EmptyListType = HTMLProps<HTMLLIElement>;
|
|
27
27
|
declare type HelperTextType = HTMLProps<HTMLSpanElement>;
|
|
28
|
+
declare type GroupContainerType = HTMLProps<HTMLLIElement>;
|
|
29
|
+
declare type GroupType = HTMLProps<HTMLUListElement>;
|
|
30
|
+
declare type GroupHeadingType = HTMLProps<HTMLLIElement>;
|
|
28
31
|
export interface Components {
|
|
29
32
|
Container: React.ComponentType<ContainerType>;
|
|
30
33
|
Label: React.ComponentType<LabelType>;
|
|
@@ -38,6 +41,9 @@ export interface Components {
|
|
|
38
41
|
Item: React.ComponentType<ItemType>;
|
|
39
42
|
EmptyList: React.ComponentType<EmptyListType>;
|
|
40
43
|
HelperText: React.ComponentType<HelperTextType>;
|
|
44
|
+
GroupContainer: React.ComponentType<GroupContainerType>;
|
|
45
|
+
Group: React.ComponentType<GroupType>;
|
|
46
|
+
GroupHeading: React.ComponentType<GroupHeadingType>;
|
|
41
47
|
}
|
|
42
48
|
export declare const SubComponents: typeof internalComponents;
|
|
43
49
|
export interface Props {
|
|
@@ -86,6 +92,8 @@ export interface Props {
|
|
|
86
92
|
onBlur?: React.FocusEventHandler<HTMLInputElement>;
|
|
87
93
|
/** Text to be displayed in EmptyList when transformFunction returns an empty list */
|
|
88
94
|
emptyListText?: string;
|
|
95
|
+
/** Key by which to group items. Also used as group */
|
|
96
|
+
groupKey?: string;
|
|
89
97
|
}
|
|
90
98
|
export declare const Select: React.FC<Props> & {
|
|
91
99
|
Components: Components;
|
|
@@ -82,7 +82,8 @@ var Select = function Select(_ref) {
|
|
|
82
82
|
onBlurExternal = _ref.onBlur,
|
|
83
83
|
_ref$emptyListText = _ref.emptyListText,
|
|
84
84
|
emptyListText = _ref$emptyListText === void 0 ? defaultEmptyListText : _ref$emptyListText,
|
|
85
|
-
|
|
85
|
+
groupKey = _ref.groupKey,
|
|
86
|
+
props = (0, _objectWithoutPropertiesLoose2["default"])(_ref, ["items", "transformFunction", "components", "isLoading", "isOpenInitially", "helperText", "downshift", "placeholder", "label", "disabled", "disableTyping", "isOpen", "invalid", "onIsOpenChange", "selectedItem", "onSelectedItemChange", "inputValue", "onInputValueChange", "onClear", "onFocus", "onBlur", "emptyListText", "groupKey"]);
|
|
86
87
|
|
|
87
88
|
var mergedComponents = _objectSpread(_objectSpread({}, internalComponents), externalComponents);
|
|
88
89
|
|
|
@@ -97,7 +98,10 @@ var Select = function Select(_ref) {
|
|
|
97
98
|
Menu = mergedComponents.Menu,
|
|
98
99
|
Item = mergedComponents.Item,
|
|
99
100
|
EmptyList = mergedComponents.EmptyList,
|
|
100
|
-
HelperText = mergedComponents.HelperText
|
|
101
|
+
HelperText = mergedComponents.HelperText,
|
|
102
|
+
GroupContainer = mergedComponents.GroupContainer,
|
|
103
|
+
Group = mergedComponents.Group,
|
|
104
|
+
GroupHeading = mergedComponents.GroupHeading;
|
|
101
105
|
|
|
102
106
|
var _useState = (0, _react.useState)(''),
|
|
103
107
|
inputValueInternal = _useState[0],
|
|
@@ -187,6 +191,7 @@ var Select = function Select(_ref) {
|
|
|
187
191
|
onBlurInternal();
|
|
188
192
|
};
|
|
189
193
|
|
|
194
|
+
var groups = groupKey && (0, _lodash.groupBy)(displayItems, groupKey);
|
|
190
195
|
return /*#__PURE__*/_react["default"].createElement(Container, {
|
|
191
196
|
"data-testid": "container"
|
|
192
197
|
}, label && /*#__PURE__*/_react["default"].createElement(Label, (0, _extends2["default"])({}, getLabelProps(), {
|
|
@@ -237,21 +242,40 @@ var Select = function Select(_ref) {
|
|
|
237
242
|
ref: undefined
|
|
238
243
|
}), isOpen ? /*#__PURE__*/_react["default"].createElement(_components.ArrowUpIcon, null) : /*#__PURE__*/_react["default"].createElement(_components.ArrowDownIcon, null)))), /*#__PURE__*/_react["default"].createElement(Menu, (0, _extends2["default"])({}, getMenuProps(), {
|
|
239
244
|
"data-testid": "menu"
|
|
240
|
-
}),
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
245
|
+
}), function () {
|
|
246
|
+
var renderItem = function renderItem(item) {
|
|
247
|
+
return /*#__PURE__*/_react["default"].createElement(Item, (0, _extends2["default"])({}, getItemProps({
|
|
248
|
+
item: item,
|
|
249
|
+
index: (0, _lodash.indexOf)(displayItems, item),
|
|
250
|
+
disabled: disabled || item.disabled
|
|
251
|
+
}), {
|
|
252
|
+
key: item.value,
|
|
253
|
+
item: item,
|
|
254
|
+
title: item.label + (0, _lodash.indexOf)(displayItems, item) // getToggleButtonProps adds a ref here, but functional components don't support them. Overriding the ref here prevents a React warning
|
|
255
|
+
,
|
|
256
|
+
ref: undefined
|
|
257
|
+
}), itemToString(item));
|
|
258
|
+
};
|
|
259
|
+
|
|
260
|
+
if (isOpen) {
|
|
261
|
+
if (groups && Object.keys(groups).length > 0) {
|
|
262
|
+
return Object.keys(groups).map(function (groupKey) {
|
|
263
|
+
return /*#__PURE__*/_react["default"].createElement(GroupContainer, {
|
|
264
|
+
key: groupKey
|
|
265
|
+
}, /*#__PURE__*/_react["default"].createElement(Group, null, /*#__PURE__*/_react["default"].createElement(GroupHeading, {
|
|
266
|
+
disabled: true,
|
|
267
|
+
"data-testid": "group-heading"
|
|
268
|
+
}, groupKey), groups[groupKey].map(renderItem)));
|
|
269
|
+
});
|
|
270
|
+
} else if (displayItems.length > 0) {
|
|
271
|
+
return displayItems.map(renderItem);
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
|
|
275
|
+
return /*#__PURE__*/_react["default"].createElement(EmptyList, {
|
|
276
|
+
"data-testid": "empty-list"
|
|
277
|
+
}, emptyListText);
|
|
278
|
+
}()), helperText && /*#__PURE__*/_react["default"].createElement(HelperText, {
|
|
255
279
|
id: helperId,
|
|
256
280
|
"data-invalid": invalid,
|
|
257
281
|
"data-testid": "helper-text"
|
|
@@ -4,6 +4,7 @@ declare const _default: Meta<import("@storybook/react").Args>;
|
|
|
4
4
|
export default _default;
|
|
5
5
|
export declare const Interactive: any;
|
|
6
6
|
export declare const RealisticExample: Story<Props>;
|
|
7
|
+
export declare const Groups: any;
|
|
7
8
|
export declare const TransformFunctionForCustomFilter: any;
|
|
8
9
|
export declare const TransformFunctionForNoFilter: any;
|
|
9
10
|
export declare const CustomComponents: any;
|
|
@@ -5,7 +5,7 @@ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWild
|
|
|
5
5
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
6
6
|
|
|
7
7
|
exports.__esModule = true;
|
|
8
|
-
exports.AsyncItems = exports.EmptyListText = exports.Small = exports.ConfigurableWidth = exports.OnClearCallback = exports.FocusCallbacks = exports.DisableAutocomplete = exports.Invalid = exports.ControlledInputValue = exports.ControlledIsOpen = exports.ControlledSelectedItem = exports.DisabledOptions = exports.DisableTyping = exports.Disabled = exports.DownshiftOptions = exports.Label = exports.Placeholder = exports.HelperText = exports.InitiallyOpen = exports.LoadingState = exports.RemoveToggleButton = exports.CustomComponents = exports.TransformFunctionForNoFilter = exports.TransformFunctionForCustomFilter = exports.RealisticExample = exports.Interactive = exports["default"] = void 0;
|
|
8
|
+
exports.AsyncItems = exports.EmptyListText = exports.Small = exports.ConfigurableWidth = exports.OnClearCallback = exports.FocusCallbacks = exports.DisableAutocomplete = exports.Invalid = exports.ControlledInputValue = exports.ControlledIsOpen = exports.ControlledSelectedItem = exports.DisabledOptions = exports.DisableTyping = exports.Disabled = exports.DownshiftOptions = exports.Label = exports.Placeholder = exports.HelperText = exports.InitiallyOpen = exports.LoadingState = exports.RemoveToggleButton = exports.CustomComponents = exports.TransformFunctionForNoFilter = exports.TransformFunctionForCustomFilter = exports.Groups = exports.RealisticExample = exports.Interactive = exports["default"] = void 0;
|
|
9
9
|
|
|
10
10
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
11
|
|
|
@@ -70,12 +70,23 @@ var _default = {
|
|
|
70
70
|
}]
|
|
71
71
|
};
|
|
72
72
|
exports["default"] = _default;
|
|
73
|
-
var items = [
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
73
|
+
var items = [{
|
|
74
|
+
label: 'Software Engineer',
|
|
75
|
+
value: 'v0',
|
|
76
|
+
category: 'Software Engineering'
|
|
77
|
+
}, {
|
|
78
|
+
label: 'Software Tester',
|
|
79
|
+
value: 'v1',
|
|
80
|
+
category: 'Quality Assurance'
|
|
81
|
+
}, {
|
|
82
|
+
label: 'Back-end Engineer',
|
|
83
|
+
value: 'v2',
|
|
84
|
+
category: 'Software Engineering'
|
|
85
|
+
}, {
|
|
86
|
+
label: 'Front-end Engineer',
|
|
87
|
+
value: 'v3',
|
|
88
|
+
category: 'Software Engineering'
|
|
89
|
+
}];
|
|
79
90
|
var componentNames = Object.keys(Components).filter(function (name) {
|
|
80
91
|
return !name.startsWith('_');
|
|
81
92
|
});
|
|
@@ -143,6 +154,18 @@ RealisticExample.parameters = {
|
|
|
143
154
|
}
|
|
144
155
|
}
|
|
145
156
|
};
|
|
157
|
+
var Groups = Template.bind({});
|
|
158
|
+
exports.Groups = Groups;
|
|
159
|
+
Groups.args = {
|
|
160
|
+
groupKey: 'category'
|
|
161
|
+
};
|
|
162
|
+
Groups.parameters = {
|
|
163
|
+
docs: {
|
|
164
|
+
description: {
|
|
165
|
+
story: "You can pass groupKey to group items by that key. This will also be used as the header for the group."
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
};
|
|
146
169
|
var TransformFunctionForCustomFilter = Template.bind({});
|
|
147
170
|
exports.TransformFunctionForCustomFilter = TransformFunctionForCustomFilter;
|
|
148
171
|
TransformFunctionForCustomFilter.args = {
|
|
@@ -13,3 +13,6 @@ export declare const Menu: import("styled-components").StyledComponent<"ul", any
|
|
|
13
13
|
export declare const Item: import("styled-components").StyledComponent<"li", any, ItemProps, never>;
|
|
14
14
|
export declare const EmptyList: import("styled-components").StyledComponent<"li", any, {}, never>;
|
|
15
15
|
export declare const HelperText: import("styled-components").StyledComponent<"span", any, {}, never>;
|
|
16
|
+
export declare const GroupContainer: import("styled-components").StyledComponent<"li", any, {}, never>;
|
|
17
|
+
export declare const Group: import("styled-components").StyledComponent<"ul", any, {}, never>;
|
|
18
|
+
export declare const GroupHeading: import("styled-components").StyledComponent<"li", any, {}, never>;
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
4
|
|
|
5
5
|
exports.__esModule = true;
|
|
6
|
-
exports.HelperText = exports.EmptyList = exports.Item = exports.Menu = exports.LoadingIndicator = exports.ToggleButton = exports.ClearButton = exports._IndicatorButton = exports.IndicatorsContainer = exports.Input = exports.Combobox = exports.Label = exports.Container = void 0;
|
|
6
|
+
exports.GroupHeading = exports.Group = exports.GroupContainer = exports.HelperText = exports.EmptyList = exports.Item = exports.Menu = exports.LoadingIndicator = exports.ToggleButton = exports.ClearButton = exports._IndicatorButton = exports.IndicatorsContainer = exports.Input = exports.Combobox = exports.Label = exports.Container = void 0;
|
|
7
7
|
|
|
8
8
|
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
9
9
|
|
|
@@ -96,4 +96,25 @@ var HelperText = _styledComponents["default"].span.withConfig({
|
|
|
96
96
|
componentId: "qr1jv6-12"
|
|
97
97
|
})(["margin-top:4px;color:", ";font-size:0.875em;&[data-invalid='true']{color:", ";}"], _Colors.Greyscale.devilsgrey, _Colors.PrimaryColor.glintsred);
|
|
98
98
|
|
|
99
|
-
exports.HelperText = HelperText;
|
|
99
|
+
exports.HelperText = HelperText;
|
|
100
|
+
|
|
101
|
+
var GroupContainer = _styledComponents["default"].li.withConfig({
|
|
102
|
+
displayName: "SelectStyle__GroupContainer",
|
|
103
|
+
componentId: "qr1jv6-13"
|
|
104
|
+
})(["margin-bottom:0.5em;padding:0;list-style-type:none;"]);
|
|
105
|
+
|
|
106
|
+
exports.GroupContainer = GroupContainer;
|
|
107
|
+
|
|
108
|
+
var Group = _styledComponents["default"].ul.withConfig({
|
|
109
|
+
displayName: "SelectStyle__Group",
|
|
110
|
+
componentId: "qr1jv6-14"
|
|
111
|
+
})(["padding:0;"]);
|
|
112
|
+
|
|
113
|
+
exports.Group = Group;
|
|
114
|
+
|
|
115
|
+
var GroupHeading = _styledComponents["default"].li.withConfig({
|
|
116
|
+
displayName: "SelectStyle__GroupHeading",
|
|
117
|
+
componentId: "qr1jv6-15"
|
|
118
|
+
})(["padding:0.5em 1em;list-style-type:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:", ";font-size:0.75em;text-transform:uppercase;"], _Colors.Greyscale.devilsgrey);
|
|
119
|
+
|
|
120
|
+
exports.GroupHeading = GroupHeading;
|
package/lib/index.d.ts
CHANGED
|
@@ -27,7 +27,7 @@ export { default as ProfilePicture } from './General/ProfilePicture';
|
|
|
27
27
|
export { default as RadioButton } from './Input/RadioButton';
|
|
28
28
|
export { default as Select } from './Input/Select';
|
|
29
29
|
export { Select as DownshiftSelect, SubComponents as DownshiftSelectSubComponents, defaultTransformFunction as DownshiftSelectDefaultTransformFunction, itemToString as DownshiftSelectItemToString, defaultEmptyListText } from './Input/DownshiftSelect/Select';
|
|
30
|
-
export type { Item as DownshiftSelectItem, ItemProps as DownshiftSelectItemComponentProps } from './Input/DownshiftSelect/Select';
|
|
30
|
+
export type { Item as DownshiftSelectItem, ItemProps as DownshiftSelectItemComponentProps, Props as DownshiftSelectProps } from './Input/DownshiftSelect/Select';
|
|
31
31
|
export { default as Slider } from './Display/Slider';
|
|
32
32
|
export { default as Swipeable } from './Display/Swipeable';
|
|
33
33
|
export { default as Tabs } from './Display/Tabs';
|