@kaizen/components 0.0.0-canary-v2-20250901045936 → 0.0.0-canary-alpha-release-20250918043833
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/alpha/README.md +28 -0
- package/alpha/package.json +5 -0
- package/dist/cjs/alpha.cjs +1 -0
- package/dist/cjs/src/Modal/GenericModal/GenericModal.cjs +33 -65
- package/dist/cjs/src/Modal/GenericModal/GenericModal.module.scss.cjs +1 -3
- package/dist/cjs/src/Notification/InlineNotification/InlineNotification.cjs +1 -1
- package/dist/cjs/src/__alpha__/SingleSelect/SingleSelect.cjs +35 -74
- package/dist/cjs/src/__alpha__/SingleSelect/subcomponents/ComboBox/ComboBox.cjs +105 -0
- package/dist/cjs/src/__alpha__/SingleSelect/subcomponents/ComboBox/ComboBox.module.css.cjs +11 -0
- package/dist/cjs/src/__alpha__/SingleSelect/subcomponents/ComboBoxTrigger/ComboBoxTrigger.cjs +112 -0
- package/dist/cjs/src/__alpha__/SingleSelect/subcomponents/ComboBoxTrigger/ComboBoxTrigger.module.css.cjs +16 -0
- package/dist/cjs/src/__alpha__/SingleSelect/subcomponents/List/List.cjs +35 -10
- package/dist/cjs/src/__alpha__/SingleSelect/subcomponents/ListItem/ListItem.cjs +61 -8
- package/dist/cjs/src/__alpha__/SingleSelect/subcomponents/ListItem/ListItem.module.css.cjs +10 -1
- package/dist/cjs/src/__alpha__/SingleSelect/subcomponents/ListSection/ListSection.cjs +38 -9
- package/dist/cjs/src/__alpha__/SingleSelect/subcomponents/ListSection/ListSection.module.css.cjs +4 -1
- package/dist/cjs/src/__alpha__/SingleSelect/subcomponents/Popover/Popover.cjs +60 -30
- package/dist/cjs/src/__alpha__/SingleSelect/subcomponents/Popover/Popover.module.css.cjs +2 -1
- package/dist/cjs/src/__alpha__/SingleSelect/subcomponents/Popover/utils/usePopoverPositioning.cjs +2 -1
- package/dist/cjs/src/__alpha__/SingleSelect/subcomponents/Popover/utils/usePositioningStyles.cjs +4 -2
- package/dist/cjs/src/__alpha__/SingleSelect/subcomponents/Select/Select.cjs +87 -0
- package/dist/cjs/src/__alpha__/SingleSelect/subcomponents/Select/Select.module.css.cjs +11 -0
- package/dist/cjs/src/__alpha__/SingleSelect/subcomponents/SelectTrigger/SelectTrigger.cjs +52 -0
- package/dist/cjs/src/__alpha__/SingleSelect/subcomponents/SelectTrigger/SelectTrigger.module.css.cjs +13 -0
- package/dist/esm/alpha.mjs +1 -1
- package/dist/esm/src/Modal/GenericModal/GenericModal.mjs +34 -65
- package/dist/esm/src/Modal/GenericModal/GenericModal.module.scss.mjs +1 -3
- package/dist/esm/src/Notification/InlineNotification/InlineNotification.mjs +1 -1
- package/dist/esm/src/__alpha__/SingleSelect/SingleSelect.mjs +39 -73
- package/dist/esm/src/__alpha__/SingleSelect/subcomponents/ComboBox/ComboBox.mjs +96 -0
- package/dist/esm/src/__alpha__/SingleSelect/subcomponents/ComboBox/ComboBox.module.css.mjs +9 -0
- package/dist/esm/src/__alpha__/SingleSelect/subcomponents/ComboBoxTrigger/ComboBoxTrigger.mjs +103 -0
- package/dist/esm/src/__alpha__/SingleSelect/subcomponents/ComboBoxTrigger/ComboBoxTrigger.module.css.mjs +14 -0
- package/dist/esm/src/__alpha__/SingleSelect/subcomponents/List/List.mjs +37 -14
- package/dist/esm/src/__alpha__/SingleSelect/subcomponents/ListItem/ListItem.mjs +63 -13
- package/dist/esm/src/__alpha__/SingleSelect/subcomponents/ListItem/ListItem.module.css.mjs +10 -1
- package/dist/esm/src/__alpha__/SingleSelect/subcomponents/ListSection/ListSection.mjs +41 -15
- package/dist/esm/src/__alpha__/SingleSelect/subcomponents/ListSection/ListSection.module.css.mjs +4 -1
- package/dist/esm/src/__alpha__/SingleSelect/subcomponents/Popover/Popover.mjs +69 -43
- package/dist/esm/src/__alpha__/SingleSelect/subcomponents/Popover/Popover.module.css.mjs +2 -1
- package/dist/esm/src/__alpha__/SingleSelect/subcomponents/Popover/utils/usePopoverPositioning.mjs +2 -1
- package/dist/esm/src/__alpha__/SingleSelect/subcomponents/Popover/utils/usePositioningStyles.mjs +4 -2
- package/dist/esm/src/__alpha__/SingleSelect/subcomponents/Select/Select.mjs +78 -0
- package/dist/esm/src/__alpha__/SingleSelect/subcomponents/Select/Select.module.css.mjs +9 -0
- package/dist/esm/src/__alpha__/SingleSelect/subcomponents/SelectTrigger/SelectTrigger.mjs +43 -0
- package/dist/esm/src/__alpha__/SingleSelect/subcomponents/SelectTrigger/SelectTrigger.module.css.mjs +11 -0
- package/dist/styles.css +385 -21
- package/dist/types/__alpha__/SingleSelect/SingleSelect.d.ts +14 -19
- package/dist/types/__alpha__/SingleSelect/_docs/mockData.d.ts +3 -0
- package/dist/types/__alpha__/SingleSelect/context/SingleSelectContext.d.ts +15 -7
- package/dist/types/__alpha__/SingleSelect/subcomponents/ComboBox/ComboBox.d.ts +2 -0
- package/dist/types/__alpha__/SingleSelect/subcomponents/ComboBox/index.d.ts +1 -0
- package/dist/types/__alpha__/SingleSelect/subcomponents/ComboBoxTrigger/ComboBoxTrigger.d.ts +2 -0
- package/dist/types/__alpha__/SingleSelect/subcomponents/ComboBoxTrigger/index.d.ts +1 -0
- package/dist/types/__alpha__/SingleSelect/subcomponents/List/List.d.ts +2 -7
- package/dist/types/__alpha__/SingleSelect/subcomponents/ListItem/ListItem.d.ts +2 -7
- package/dist/types/__alpha__/SingleSelect/subcomponents/ListSection/ListSection.d.ts +2 -9
- package/dist/types/__alpha__/SingleSelect/subcomponents/Popover/Popover.d.ts +3 -6
- package/dist/types/__alpha__/SingleSelect/subcomponents/Popover/utils/index.d.ts +1 -0
- package/dist/types/__alpha__/SingleSelect/subcomponents/Popover/utils/usePopoverPositioning.d.ts +1 -0
- package/dist/types/__alpha__/SingleSelect/subcomponents/Popover/utils/usePositioningStyles.d.ts +1 -0
- package/dist/types/__alpha__/SingleSelect/subcomponents/Select/Select.d.ts +2 -0
- package/dist/types/__alpha__/SingleSelect/subcomponents/Select/index.d.ts +1 -0
- package/dist/types/__alpha__/SingleSelect/subcomponents/SelectTrigger/SelectTrigger.d.ts +2 -0
- package/dist/types/__alpha__/SingleSelect/subcomponents/SelectTrigger/index.d.ts +1 -0
- package/dist/types/__alpha__/SingleSelect/subcomponents/index.d.ts +4 -1
- package/dist/types/__alpha__/SingleSelect/types.d.ts +68 -11
- package/locales/en.json +9 -1
- package/package.json +10 -3
- package/src/Modal/GenericModal/GenericModal.spec.tsx +1 -1
- package/src/Modal/GenericModal/GenericModal.tsx +38 -70
- package/src/Notification/InlineNotification/InlineNotification.tsx +1 -1
- package/src/RichTextEditor/RichTextEditor/RichTextEditor.spec.stories.tsx +10 -3
- package/src/__alpha__/SingleSelect/SingleSelect.tsx +35 -88
- package/src/__alpha__/SingleSelect/_docs/SingleSelect.mdx +96 -6
- package/src/__alpha__/SingleSelect/_docs/SingleSelect.spec.stories.tsx +22 -24
- package/src/__alpha__/SingleSelect/_docs/SingleSelect.stickersheet.stories.tsx +389 -33
- package/src/__alpha__/SingleSelect/_docs/SingleSelect.stories.tsx +41 -22
- package/src/__alpha__/SingleSelect/_docs/mockData.ts +20 -14
- package/src/__alpha__/SingleSelect/context/SingleSelectContext.tsx +18 -7
- package/src/__alpha__/SingleSelect/subcomponents/ComboBox/ComboBox.module.css +35 -0
- package/src/__alpha__/SingleSelect/subcomponents/ComboBox/ComboBox.tsx +106 -0
- package/src/__alpha__/SingleSelect/subcomponents/ComboBox/index.ts +1 -0
- package/src/__alpha__/SingleSelect/subcomponents/ComboBoxTrigger/ComboBoxTrigger.module.css +130 -0
- package/src/__alpha__/SingleSelect/subcomponents/ComboBoxTrigger/ComboBoxTrigger.tsx +121 -0
- package/src/__alpha__/SingleSelect/subcomponents/ComboBoxTrigger/index.ts +1 -0
- package/src/__alpha__/SingleSelect/subcomponents/List/List.module.css +5 -0
- package/src/__alpha__/SingleSelect/subcomponents/List/List.tsx +36 -13
- package/src/__alpha__/SingleSelect/subcomponents/ListItem/ListItem.module.css +84 -3
- package/src/__alpha__/SingleSelect/subcomponents/ListItem/ListItem.tsx +67 -11
- package/src/__alpha__/SingleSelect/subcomponents/ListSection/ListSection.module.css +20 -5
- package/src/__alpha__/SingleSelect/subcomponents/ListSection/ListSection.tsx +46 -19
- package/src/__alpha__/SingleSelect/subcomponents/Popover/Popover.module.css +7 -5
- package/src/__alpha__/SingleSelect/subcomponents/Popover/Popover.tsx +90 -37
- package/src/__alpha__/SingleSelect/subcomponents/Popover/utils/index.ts +1 -0
- package/src/__alpha__/SingleSelect/subcomponents/Popover/utils/usePopoverPositioning.ts +2 -2
- package/src/__alpha__/SingleSelect/subcomponents/Popover/utils/usePositioningStyles.ts +9 -8
- package/src/__alpha__/SingleSelect/subcomponents/Select/Select.module.css +35 -0
- package/src/__alpha__/SingleSelect/subcomponents/Select/Select.tsx +84 -0
- package/src/__alpha__/SingleSelect/subcomponents/Select/index.ts +1 -0
- package/src/__alpha__/SingleSelect/subcomponents/SelectTrigger/SelectTrigger.module.css +77 -0
- package/src/__alpha__/SingleSelect/subcomponents/SelectTrigger/SelectTrigger.tsx +52 -0
- package/src/__alpha__/SingleSelect/subcomponents/SelectTrigger/index.ts +1 -0
- package/src/__alpha__/SingleSelect/subcomponents/index.ts +4 -1
- package/src/__alpha__/SingleSelect/types.ts +94 -14
- package/dist/cjs/src/__alpha__/SingleSelect/subcomponents/Trigger/Trigger.cjs +0 -57
- package/dist/cjs/src/__alpha__/SingleSelect/subcomponents/Trigger/Trigger.module.css.cjs +0 -6
- package/dist/esm/src/__alpha__/SingleSelect/subcomponents/Trigger/Trigger.mjs +0 -49
- package/dist/esm/src/__alpha__/SingleSelect/subcomponents/Trigger/Trigger.module.css.mjs +0 -4
- package/dist/types/__alpha__/SingleSelect/subcomponents/Trigger/Trigger.d.ts +0 -2
- package/dist/types/__alpha__/SingleSelect/subcomponents/Trigger/index.d.ts +0 -1
- package/src/__alpha__/SingleSelect/subcomponents/Trigger/Trigger.module.css +0 -19
- package/src/__alpha__/SingleSelect/subcomponents/Trigger/Trigger.tsx +0 -35
- package/src/__alpha__/SingleSelect/subcomponents/Trigger/index.ts +0 -1
|
@@ -2,8 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
var tslib = require('tslib');
|
|
4
4
|
var React = require('react');
|
|
5
|
-
var
|
|
6
|
-
var
|
|
5
|
+
var reactAria = require('react-aria');
|
|
6
|
+
var ListItem = require('../ListItem/ListItem.cjs');
|
|
7
|
+
var ListSection = require('../ListSection/ListSection.cjs');
|
|
7
8
|
var List_module = require('./List.module.css.cjs');
|
|
8
9
|
function _interopDefault(e) {
|
|
9
10
|
return e && e.__esModule ? e : {
|
|
@@ -11,14 +12,38 @@ function _interopDefault(e) {
|
|
|
11
12
|
};
|
|
12
13
|
}
|
|
13
14
|
var React__default = /*#__PURE__*/_interopDefault(React);
|
|
14
|
-
var classnames__default = /*#__PURE__*/_interopDefault(classnames);
|
|
15
15
|
var List = function (_a) {
|
|
16
|
-
var
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
},
|
|
16
|
+
var state = _a.state,
|
|
17
|
+
listBoxOptions = _a.listBoxOptions,
|
|
18
|
+
listBoxRef = _a.listBoxRef;
|
|
19
|
+
var listBoxProps = reactAria.useListBox(tslib.__assign(tslib.__assign({}, listBoxOptions), {
|
|
20
|
+
autoFocus: 'first'
|
|
21
|
+
}), state, listBoxRef).listBoxProps;
|
|
22
|
+
var renderNode = function (node) {
|
|
23
|
+
if (node.type === 'section') {
|
|
24
|
+
return node.rendered ? React__default.default.createElement(ListSection.ListSection, {
|
|
25
|
+
key: String(node.key),
|
|
26
|
+
section: node,
|
|
27
|
+
state: state
|
|
28
|
+
}) : null;
|
|
29
|
+
} else {
|
|
30
|
+
var _a = node.props,
|
|
31
|
+
selectedIcon = _a.selectedIcon,
|
|
32
|
+
selectedPosition = _a.selectedPosition,
|
|
33
|
+
className = _a.className;
|
|
34
|
+
return React__default.default.createElement(ListItem.ListItem, {
|
|
35
|
+
key: String(node.key),
|
|
36
|
+
item: node,
|
|
37
|
+
state: state,
|
|
38
|
+
selectedIcon: selectedIcon,
|
|
39
|
+
selectedPosition: selectedPosition,
|
|
40
|
+
className: className
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
return React__default.default.createElement("ul", tslib.__assign({}, listBoxProps, {
|
|
45
|
+
ref: listBoxRef,
|
|
46
|
+
className: List_module.list
|
|
47
|
+
}), Array.from(state.collection).map(renderNode));
|
|
22
48
|
};
|
|
23
|
-
List.displayName = 'SingleSelect.List';
|
|
24
49
|
exports.List = List;
|
|
@@ -3,7 +3,11 @@
|
|
|
3
3
|
var tslib = require('tslib');
|
|
4
4
|
var React = require('react');
|
|
5
5
|
var classnames = require('classnames');
|
|
6
|
-
var
|
|
6
|
+
var reactAria = require('react-aria');
|
|
7
|
+
var Icon = require('../../../../Icon/Icon.cjs');
|
|
8
|
+
var Radio = require('../../../../Radio/Radio/Radio.cjs');
|
|
9
|
+
require('../../../../Radio/RadioField/RadioField.cjs');
|
|
10
|
+
require('../../../../Radio/RadioGroup/RadioGroup.cjs');
|
|
7
11
|
var ListItem_module = require('./ListItem.module.css.cjs');
|
|
8
12
|
function _interopDefault(e) {
|
|
9
13
|
return e && e.__esModule ? e : {
|
|
@@ -13,12 +17,61 @@ function _interopDefault(e) {
|
|
|
13
17
|
var React__default = /*#__PURE__*/_interopDefault(React);
|
|
14
18
|
var classnames__default = /*#__PURE__*/_interopDefault(classnames);
|
|
15
19
|
var ListItem = function (_a) {
|
|
16
|
-
var
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
20
|
+
var _b;
|
|
21
|
+
var item = _a.item,
|
|
22
|
+
state = _a.state,
|
|
23
|
+
_c = _a.selectedIcon,
|
|
24
|
+
selectedIcon = _c === void 0 ? 'check' : _c,
|
|
25
|
+
_d = _a.selectedPosition,
|
|
26
|
+
selectedPosition = _d === void 0 ? 'end' : _d,
|
|
27
|
+
className = _a.className;
|
|
28
|
+
var ref = React__default.default.useRef(null);
|
|
29
|
+
var _e = reactAria.useOption({
|
|
30
|
+
key: item.key
|
|
31
|
+
}, state, ref),
|
|
32
|
+
optionProps = _e.optionProps,
|
|
33
|
+
isSelected = _e.isSelected,
|
|
34
|
+
isDisabled = _e.isDisabled,
|
|
35
|
+
isFocused = _e.isFocused;
|
|
36
|
+
var isStart = selectedPosition === 'start';
|
|
37
|
+
var isEnd = selectedPosition === 'end';
|
|
38
|
+
var isCheck = selectedIcon === 'check';
|
|
39
|
+
var isRadio = selectedIcon === 'radio';
|
|
40
|
+
var renderSelectionIcon = function () {
|
|
41
|
+
if (isCheck) {
|
|
42
|
+
if (isSelected) {
|
|
43
|
+
return React__default.default.createElement("div", {
|
|
44
|
+
className: ListItem_module.selectedIconWrapper
|
|
45
|
+
}, React__default.default.createElement(Icon.Icon, {
|
|
46
|
+
name: "check",
|
|
47
|
+
isPresentational: true,
|
|
48
|
+
className: ListItem_module.iconChecked
|
|
49
|
+
}));
|
|
50
|
+
}
|
|
51
|
+
return isStart ? React__default.default.createElement("div", {
|
|
52
|
+
className: ListItem_module.emptySpacer
|
|
53
|
+
}) : null;
|
|
54
|
+
}
|
|
55
|
+
if (isRadio) {
|
|
56
|
+
return React__default.default.createElement("div", {
|
|
57
|
+
className: ListItem_module.selectedIconWrapper
|
|
58
|
+
}, React__default.default.createElement(Radio.Radio, {
|
|
59
|
+
id: item.textValue,
|
|
60
|
+
name: item.textValue,
|
|
61
|
+
selectedStatus: isSelected
|
|
62
|
+
}));
|
|
63
|
+
}
|
|
64
|
+
return null;
|
|
65
|
+
};
|
|
66
|
+
return React__default.default.createElement("li", tslib.__assign({
|
|
67
|
+
key: item.key
|
|
68
|
+
}, optionProps, {
|
|
69
|
+
ref: ref,
|
|
70
|
+
className: classnames__default.default(ListItem_module.listItem, (_b = {}, _b[ListItem_module.focused] = isFocused, _b[ListItem_module.disabled] = isDisabled, _b[ListItem_module.selected] = isSelected, _b[ListItem_module.selectedStartPosition] = isStart, _b))
|
|
71
|
+
}), isStart && renderSelectionIcon(), typeof item.rendered === 'string' ? React__default.default.createElement("span", {
|
|
72
|
+
className: classnames__default.default(ListItem_module.itemText, className)
|
|
73
|
+
}, item.rendered) : React__default.default.createElement("span", {
|
|
74
|
+
className: classnames__default.default(ListItem_module.itemContent, className)
|
|
75
|
+
}, item.rendered), isEnd && renderSelectionIcon());
|
|
22
76
|
};
|
|
23
|
-
ListItem.displayName = 'SingleSelect.ListItem';
|
|
24
77
|
exports.ListItem = ListItem;
|
|
@@ -1,6 +1,15 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var styles = {
|
|
4
|
-
"listItem": "ListItem-module_listItem__xGr6A"
|
|
4
|
+
"listItem": "ListItem-module_listItem__xGr6A",
|
|
5
|
+
"focused": "ListItem-module_focused__au3J5",
|
|
6
|
+
"selected": "ListItem-module_selected__IV3-p",
|
|
7
|
+
"disabled": "ListItem-module_disabled__A2QFo",
|
|
8
|
+
"iconChecked": "ListItem-module_iconChecked__co4xD",
|
|
9
|
+
"itemContent": "ListItem-module_itemContent__x4h7q",
|
|
10
|
+
"itemText": "ListItem-module_itemText__O4Ddg",
|
|
11
|
+
"selectedStartPosition": "ListItem-module_selectedStartPosition__2N3bw",
|
|
12
|
+
"selectedIconWrapper": "ListItem-module_selectedIconWrapper__w-ECd",
|
|
13
|
+
"emptySpacer": "ListItem-module_emptySpacer__qeRpQ"
|
|
5
14
|
};
|
|
6
15
|
module.exports = styles;
|
|
@@ -3,7 +3,9 @@
|
|
|
3
3
|
var tslib = require('tslib');
|
|
4
4
|
var React = require('react');
|
|
5
5
|
var classnames = require('classnames');
|
|
6
|
-
var
|
|
6
|
+
var reactAria = require('react-aria');
|
|
7
|
+
var Divider = require('../../../../Divider/Divider.cjs');
|
|
8
|
+
var ListItem = require('../ListItem/ListItem.cjs');
|
|
7
9
|
var ListSection_module = require('./ListSection.module.css.cjs');
|
|
8
10
|
function _interopDefault(e) {
|
|
9
11
|
return e && e.__esModule ? e : {
|
|
@@ -13,13 +15,40 @@ function _interopDefault(e) {
|
|
|
13
15
|
var React__default = /*#__PURE__*/_interopDefault(React);
|
|
14
16
|
var classnames__default = /*#__PURE__*/_interopDefault(classnames);
|
|
15
17
|
var ListSection = function (_a) {
|
|
16
|
-
var
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
18
|
+
var _b;
|
|
19
|
+
var section = _a.section,
|
|
20
|
+
state = _a.state;
|
|
21
|
+
var _c = reactAria.useListBoxSection({
|
|
22
|
+
'heading': section.rendered,
|
|
23
|
+
'aria-label': section['aria-label']
|
|
24
|
+
}),
|
|
25
|
+
headingProps = _c.headingProps,
|
|
26
|
+
itemProps = _c.itemProps,
|
|
27
|
+
groupProps = _c.groupProps;
|
|
28
|
+
var firstSectionHeader = section.key === state.collection.getFirstKey();
|
|
29
|
+
return React__default.default.createElement(React__default.default.Fragment, {
|
|
30
|
+
key: section.key
|
|
31
|
+
}, !firstSectionHeader && React__default.default.createElement("li", {
|
|
32
|
+
role: "presentation",
|
|
33
|
+
"aria-hidden": true
|
|
34
|
+
}), !firstSectionHeader && React__default.default.createElement(Divider.Divider, {
|
|
35
|
+
variant: "content"
|
|
36
|
+
}), React__default.default.createElement("li", tslib.__assign({}, itemProps, {
|
|
37
|
+
className: classnames__default.default(ListSection_module.sectionWrapper, (_b = {}, _b[ListSection_module.firstSectionHeader] = firstSectionHeader, _b))
|
|
38
|
+
}), section.rendered && React__default.default.createElement("span", tslib.__assign({}, headingProps, {
|
|
39
|
+
role: "presentation",
|
|
40
|
+
"aria-hidden": true,
|
|
41
|
+
className: ListSection_module.listSectionHeader
|
|
42
|
+
}), section.rendered), React__default.default.createElement("ul", tslib.__assign({
|
|
43
|
+
key: "".concat(section.key, "-group-contents")
|
|
44
|
+
}, groupProps, {
|
|
45
|
+
className: ListSection_module.listSectionGroup
|
|
46
|
+
}), Array.from(section.childNodes).map(function (node) {
|
|
47
|
+
return React__default.default.createElement(ListItem.ListItem, {
|
|
48
|
+
key: node.key,
|
|
49
|
+
item: node,
|
|
50
|
+
state: state
|
|
51
|
+
});
|
|
52
|
+
}))));
|
|
23
53
|
};
|
|
24
|
-
ListSection.displayName = 'SingleSelect.ListSection';
|
|
25
54
|
exports.ListSection = ListSection;
|
package/dist/cjs/src/__alpha__/SingleSelect/subcomponents/ListSection/ListSection.module.css.cjs
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var styles = {
|
|
4
|
-
"
|
|
4
|
+
"sectionWrapper": "ListSection-module_sectionWrapper__gxh41",
|
|
5
|
+
"firstSectionHeader": "ListSection-module_firstSectionHeader__zPUIZ",
|
|
6
|
+
"listSectionHeader": "ListSection-module_listSectionHeader__bptHg",
|
|
7
|
+
"listSectionGroup": "ListSection-module_listSectionGroup__PoUPf"
|
|
5
8
|
};
|
|
6
9
|
module.exports = styles;
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
var tslib = require('tslib');
|
|
3
4
|
var React = require('react');
|
|
4
|
-
var
|
|
5
|
+
var classnames = require('classnames');
|
|
6
|
+
var reactAria = require('react-aria');
|
|
5
7
|
var SingleSelectContext = require('../../context/SingleSelectContext.cjs');
|
|
8
|
+
var useSupportsAnchorPositioning = require('./utils/useSupportsAnchorPositioning.cjs');
|
|
6
9
|
var usePositioningStyles = require('./utils/usePositioningStyles.cjs');
|
|
7
10
|
var Popover_module = require('./Popover.module.css.cjs');
|
|
8
11
|
function _interopDefault(e) {
|
|
@@ -11,44 +14,71 @@ function _interopDefault(e) {
|
|
|
11
14
|
};
|
|
12
15
|
}
|
|
13
16
|
var React__default = /*#__PURE__*/_interopDefault(React);
|
|
17
|
+
var classnames__default = /*#__PURE__*/_interopDefault(classnames);
|
|
14
18
|
var Popover = function (_a) {
|
|
15
|
-
var
|
|
19
|
+
var _b;
|
|
20
|
+
var _c;
|
|
21
|
+
var state = _a.state,
|
|
16
22
|
popoverRef = _a.popoverRef,
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
23
|
+
children = _a.children,
|
|
24
|
+
clearButtonRef = _a.clearButtonRef,
|
|
25
|
+
restProps = tslib.__rest(_a, ["state", "popoverRef", "children", "clearButtonRef"]);
|
|
26
|
+
var anchorName = SingleSelectContext.useSingleSelectContext().anchorName;
|
|
27
|
+
var manualPopoverRef = React__default.default.useRef(null);
|
|
28
|
+
var popoverProps = reactAria.usePopover(tslib.__assign(tslib.__assign({}, restProps), {
|
|
29
|
+
popoverRef: popoverRef,
|
|
30
|
+
shouldCloseOnInteractOutside: function (element) {
|
|
31
|
+
var _a;
|
|
32
|
+
if ((_a = clearButtonRef === null || clearButtonRef === void 0 ? void 0 : clearButtonRef.current) === null || _a === void 0 ? void 0 : _a.contains(element)) {
|
|
33
|
+
return false;
|
|
34
|
+
}
|
|
35
|
+
return true;
|
|
36
|
+
}
|
|
37
|
+
}), state).popoverProps;
|
|
38
|
+
var supportsAnchorPositioning = useSupportsAnchorPositioning.useSupportsAnchorPositioning();
|
|
39
|
+
var _d = usePositioningStyles.usePositioningStyles(restProps.triggerRef, manualPopoverRef, anchorName),
|
|
40
|
+
popoverStyle = _d.popoverStyle,
|
|
41
|
+
isPositioned = _d.isPositioned,
|
|
42
|
+
updatePosition = _d.updatePosition;
|
|
29
43
|
React.useLayoutEffect(function () {
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
44
|
+
if (!supportsAnchorPositioning || !state.isOpen) return;
|
|
45
|
+
updatePosition();
|
|
46
|
+
var popover = manualPopoverRef === null || manualPopoverRef === void 0 ? void 0 : manualPopoverRef.current;
|
|
47
|
+
if (popover === null || popover === void 0 ? void 0 : popover.showPopover) {
|
|
33
48
|
popover.showPopover();
|
|
34
|
-
}
|
|
49
|
+
}
|
|
50
|
+
return function () {
|
|
51
|
+
if (popover === null || popover === void 0 ? void 0 : popover.hidePopover) {
|
|
52
|
+
popover.hidePopover();
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
}, [state.isOpen, supportsAnchorPositioning, updatePosition, isPositioned]);
|
|
56
|
+
React.useLayoutEffect(function () {
|
|
57
|
+
if (!supportsAnchorPositioning || state.isOpen) return;
|
|
58
|
+
var popover = manualPopoverRef === null || manualPopoverRef === void 0 ? void 0 : manualPopoverRef.current;
|
|
59
|
+
if (popover === null || popover === void 0 ? void 0 : popover.hidePopover) {
|
|
35
60
|
popover.hidePopover();
|
|
36
61
|
}
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
return React__default.default.createElement(reactAriaComponents.Popover, {
|
|
40
|
-
shouldUpdatePosition: false,
|
|
41
|
-
trigger: "manual",
|
|
42
|
-
isOpen: isOpen,
|
|
43
|
-
onOpenChange: setOpen,
|
|
44
|
-
ref: racPopoverRef
|
|
45
|
-
}, React__default.default.createElement("div", {
|
|
62
|
+
}, [state.isOpen, supportsAnchorPositioning]);
|
|
63
|
+
var manualPopover = React__default.default.createElement("div", {
|
|
46
64
|
// @ts-expect-error - popover attribute is not included in current ts version, ignore type error
|
|
47
65
|
popover: "manual",
|
|
48
|
-
ref:
|
|
66
|
+
ref: manualPopoverRef,
|
|
49
67
|
className: Popover_module.popover,
|
|
50
68
|
style: popoverStyle
|
|
51
|
-
}, children)
|
|
69
|
+
}, children);
|
|
70
|
+
return React__default.default.createElement(React__default.default.Fragment, null, state.isOpen && React__default.default.createElement(reactAria.Overlay, null, React__default.default.createElement("div", tslib.__assign({
|
|
71
|
+
id: "popover-id"
|
|
72
|
+
}, popoverProps, {
|
|
73
|
+
ref: popoverRef,
|
|
74
|
+
style: tslib.__assign(tslib.__assign({}, popoverProps.style), !supportsAnchorPositioning && {
|
|
75
|
+
width: (_c = restProps.triggerRef.current) === null || _c === void 0 ? void 0 : _c.getBoundingClientRect().width
|
|
76
|
+
}),
|
|
77
|
+
className: classnames__default.default(Popover_module.popover, (_b = {}, _b[Popover_module.offsetSpacing] = !supportsAnchorPositioning, _b))
|
|
78
|
+
}), React__default.default.createElement(reactAria.DismissButton, {
|
|
79
|
+
onDismiss: state.close
|
|
80
|
+
}), supportsAnchorPositioning ? manualPopover : children, React__default.default.createElement(reactAria.DismissButton, {
|
|
81
|
+
onDismiss: state.close
|
|
82
|
+
}))));
|
|
52
83
|
};
|
|
53
|
-
Popover.displayName = 'SingleSelect.Popover';
|
|
54
84
|
exports.Popover = Popover;
|
package/dist/cjs/src/__alpha__/SingleSelect/subcomponents/Popover/utils/usePopoverPositioning.cjs
CHANGED
|
@@ -88,7 +88,8 @@ function usePopoverPositioning(_a) {
|
|
|
88
88
|
};
|
|
89
89
|
}, [updatePosition, triggerRef]);
|
|
90
90
|
return tslib.__assign(tslib.__assign({}, position), {
|
|
91
|
-
isPositioned: isPositioned
|
|
91
|
+
isPositioned: isPositioned,
|
|
92
|
+
updatePosition: updatePosition
|
|
92
93
|
});
|
|
93
94
|
}
|
|
94
95
|
exports.usePopoverPositioning = usePopoverPositioning;
|
package/dist/cjs/src/__alpha__/SingleSelect/subcomponents/Popover/utils/usePositioningStyles.cjs
CHANGED
|
@@ -46,7 +46,8 @@ var usePositioningStyles = function (buttonRef, popoverRef, anchorName) {
|
|
|
46
46
|
bottom = _a.bottom,
|
|
47
47
|
insetInlineStart = _a.insetInlineStart,
|
|
48
48
|
maxHeight = _a.maxHeight,
|
|
49
|
-
isPositioned = _a.isPositioned
|
|
49
|
+
isPositioned = _a.isPositioned,
|
|
50
|
+
updatePosition = _a.updatePosition;
|
|
50
51
|
var positionData = React.useMemo(function () {
|
|
51
52
|
return {
|
|
52
53
|
top: top,
|
|
@@ -63,7 +64,8 @@ var usePositioningStyles = function (buttonRef, popoverRef, anchorName) {
|
|
|
63
64
|
}, [hasAnchorSupport, anchorName, positionData]);
|
|
64
65
|
return {
|
|
65
66
|
popoverStyle: popoverStyle,
|
|
66
|
-
isPositioned: isPositioned
|
|
67
|
+
isPositioned: isPositioned,
|
|
68
|
+
updatePosition: updatePosition
|
|
67
69
|
};
|
|
68
70
|
};
|
|
69
71
|
exports.usePositioningStyles = usePositioningStyles;
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var tslib = require('tslib');
|
|
4
|
+
var React = require('react');
|
|
5
|
+
var select = require('@react-stately/select');
|
|
6
|
+
var classnames = require('classnames');
|
|
7
|
+
var reactAria = require('react-aria');
|
|
8
|
+
var SingleSelectContext = require('../../context/SingleSelectContext.cjs');
|
|
9
|
+
var List = require('../List/List.cjs');
|
|
10
|
+
var Popover = require('../Popover/Popover.cjs');
|
|
11
|
+
var SelectTrigger = require('../SelectTrigger/SelectTrigger.cjs');
|
|
12
|
+
var Select_module = require('./Select.module.css.cjs');
|
|
13
|
+
var Label = require('../../../../Label/Label.cjs');
|
|
14
|
+
var FieldMessage = require('../../../../FieldMessage/FieldMessage.cjs');
|
|
15
|
+
function _interopDefault(e) {
|
|
16
|
+
return e && e.__esModule ? e : {
|
|
17
|
+
default: e
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
var React__default = /*#__PURE__*/_interopDefault(React);
|
|
21
|
+
var classnames__default = /*#__PURE__*/_interopDefault(classnames);
|
|
22
|
+
var Select = function (props) {
|
|
23
|
+
var _a;
|
|
24
|
+
var label = props.label,
|
|
25
|
+
description = props.description,
|
|
26
|
+
labelHidden = props.labelHidden,
|
|
27
|
+
_b = props.labelPosition,
|
|
28
|
+
labelPosition = _b === void 0 ? 'top' : _b,
|
|
29
|
+
isDisabled = props.isDisabled,
|
|
30
|
+
isReadOnly = props.isReadOnly,
|
|
31
|
+
_c = props.size,
|
|
32
|
+
size = _c === void 0 ? 'medium' : _c,
|
|
33
|
+
_d = props.variant,
|
|
34
|
+
variant = _d === void 0 ? 'primary' : _d;
|
|
35
|
+
var state = select.useSelectState(tslib.__assign(tslib.__assign({}, props), {
|
|
36
|
+
items: props.items,
|
|
37
|
+
children: props.children
|
|
38
|
+
}));
|
|
39
|
+
var popoverRef = React.useRef(null);
|
|
40
|
+
var listBoxRef = React.useRef(null);
|
|
41
|
+
var triggerRef = React.useRef(null);
|
|
42
|
+
var _e = reactAria.useSelect(tslib.__assign(tslib.__assign({}, props), {
|
|
43
|
+
'aria-label': labelHidden ? label : undefined
|
|
44
|
+
}), state, triggerRef),
|
|
45
|
+
labelProps = _e.labelProps,
|
|
46
|
+
descriptionProps = _e.descriptionProps,
|
|
47
|
+
menuProps = _e.menuProps,
|
|
48
|
+
triggerProps = _e.triggerProps,
|
|
49
|
+
valueProps = _e.valueProps;
|
|
50
|
+
var uniqueId = React.useId();
|
|
51
|
+
var anchorName = "--trigger-".concat(uniqueId);
|
|
52
|
+
return React__default.default.createElement(SingleSelectContext.SingleSelectContext.Provider, {
|
|
53
|
+
value: {
|
|
54
|
+
anchorName: anchorName,
|
|
55
|
+
state: state,
|
|
56
|
+
isComboBox: false,
|
|
57
|
+
isDisabled: isDisabled !== null && isDisabled !== void 0 ? isDisabled : false,
|
|
58
|
+
isReadOnly: isReadOnly !== null && isReadOnly !== void 0 ? isReadOnly : false,
|
|
59
|
+
secondary: variant === 'secondary',
|
|
60
|
+
size: size,
|
|
61
|
+
fieldLabel: label
|
|
62
|
+
}
|
|
63
|
+
}, React__default.default.createElement("div", {
|
|
64
|
+
className: labelPosition === 'top' ? Select_module.topLabel : Select_module.sideLabel
|
|
65
|
+
}, !labelHidden && React__default.default.createElement("div", {
|
|
66
|
+
className: classnames__default.default(Select_module.label, (_a = {}, _a[Select_module.labelTop] = labelPosition === 'top', _a))
|
|
67
|
+
}, React__default.default.createElement(Label.Label, tslib.__assign({}, labelProps), label)), React__default.default.createElement("div", {
|
|
68
|
+
className: Select_module.selectTrigger
|
|
69
|
+
}, React__default.default.createElement(SelectTrigger.SelectTrigger, {
|
|
70
|
+
triggerProps: triggerProps,
|
|
71
|
+
valueProps: valueProps,
|
|
72
|
+
buttonRef: triggerRef
|
|
73
|
+
})), description && React__default.default.createElement("div", {
|
|
74
|
+
className: Select_module.description
|
|
75
|
+
}, React__default.default.createElement(FieldMessage.FieldMessage, tslib.__assign({
|
|
76
|
+
message: description
|
|
77
|
+
}, descriptionProps)))), React__default.default.createElement(Popover.Popover, {
|
|
78
|
+
state: state,
|
|
79
|
+
triggerRef: triggerRef,
|
|
80
|
+
popoverRef: popoverRef
|
|
81
|
+
}, React__default.default.createElement(List.List, {
|
|
82
|
+
listBoxOptions: menuProps,
|
|
83
|
+
state: state,
|
|
84
|
+
listBoxRef: listBoxRef
|
|
85
|
+
})));
|
|
86
|
+
};
|
|
87
|
+
exports.Select = Select;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var styles = {
|
|
4
|
+
"topLabel": "Select-module_topLabel__tuilO",
|
|
5
|
+
"sideLabel": "Select-module_sideLabel__om-vC",
|
|
6
|
+
"label": "Select-module_label__X4jf-",
|
|
7
|
+
"labelTop": "Select-module_labelTop__vE3N2",
|
|
8
|
+
"selectTrigger": "Select-module_selectTrigger__ibr4f",
|
|
9
|
+
"description": "Select-module_description__hOocq"
|
|
10
|
+
};
|
|
11
|
+
module.exports = styles;
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var tslib = require('tslib');
|
|
4
|
+
var React = require('react');
|
|
5
|
+
var classnames = require('classnames');
|
|
6
|
+
var reactAria = require('react-aria');
|
|
7
|
+
var Icon = require('../../../../Icon/Icon.cjs');
|
|
8
|
+
var Text = require('../../../../Text/Text.cjs');
|
|
9
|
+
var SingleSelectContext = require('../../context/SingleSelectContext.cjs');
|
|
10
|
+
var SelectTrigger_module = require('./SelectTrigger.module.css.cjs');
|
|
11
|
+
function _interopDefault(e) {
|
|
12
|
+
return e && e.__esModule ? e : {
|
|
13
|
+
default: e
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
var React__default = /*#__PURE__*/_interopDefault(React);
|
|
17
|
+
var classnames__default = /*#__PURE__*/_interopDefault(classnames);
|
|
18
|
+
var ChevronButton = function () {
|
|
19
|
+
var state = SingleSelectContext.useSingleSelectContext().state;
|
|
20
|
+
return React__default.default.createElement("div", {
|
|
21
|
+
className: SelectTrigger_module.chevronButton
|
|
22
|
+
}, React__default.default.createElement(Icon.Icon, {
|
|
23
|
+
isPresentational: true,
|
|
24
|
+
name: state.isOpen ? 'keyboard_arrow_up' : 'keyboard_arrow_down'
|
|
25
|
+
}));
|
|
26
|
+
};
|
|
27
|
+
var SelectTrigger = function (_a) {
|
|
28
|
+
var _b;
|
|
29
|
+
var triggerProps = _a.triggerProps,
|
|
30
|
+
valueProps = _a.valueProps,
|
|
31
|
+
buttonRef = _a.buttonRef;
|
|
32
|
+
var _c = SingleSelectContext.useSingleSelectContext(),
|
|
33
|
+
state = _c.state,
|
|
34
|
+
anchorName = _c.anchorName,
|
|
35
|
+
isDisabled = _c.isDisabled,
|
|
36
|
+
isReadOnly = _c.isReadOnly,
|
|
37
|
+
secondary = _c.secondary,
|
|
38
|
+
size = _c.size;
|
|
39
|
+
var buttonProps = reactAria.useButton(triggerProps, buttonRef).buttonProps;
|
|
40
|
+
return React__default.default.createElement("button", tslib.__assign({}, buttonProps, {
|
|
41
|
+
type: "button",
|
|
42
|
+
style: {
|
|
43
|
+
'--anchor-name': anchorName
|
|
44
|
+
},
|
|
45
|
+
className: classnames__default.default(SelectTrigger_module.trigger, (_b = {}, _b[SelectTrigger_module.disabled] = isDisabled, _b[SelectTrigger_module.readOnly] = isReadOnly, _b[SelectTrigger_module.secondary] = secondary, _b[SelectTrigger_module.small] = size === 'small', _b[SelectTrigger_module.large] = size === 'large', _b)),
|
|
46
|
+
ref: buttonRef
|
|
47
|
+
}), React__default.default.createElement(Text.Text, {
|
|
48
|
+
variant: size === 'small' ? 'small' : 'body',
|
|
49
|
+
classNameOverride: isDisabled ? SelectTrigger_module.disabledText : undefined
|
|
50
|
+
}, React__default.default.createElement("span", tslib.__assign({}, valueProps), state.selectedItem ? state.selectedItem.textValue : '')), !isReadOnly && React__default.default.createElement(ChevronButton, null));
|
|
51
|
+
};
|
|
52
|
+
exports.SelectTrigger = SelectTrigger;
|
package/dist/cjs/src/__alpha__/SingleSelect/subcomponents/SelectTrigger/SelectTrigger.module.css.cjs
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var styles = {
|
|
4
|
+
"trigger": "SelectTrigger-module_trigger__fIe03",
|
|
5
|
+
"disabled": "SelectTrigger-module_disabled__zfAoe",
|
|
6
|
+
"secondary": "SelectTrigger-module_secondary__eOquY",
|
|
7
|
+
"readOnly": "SelectTrigger-module_readOnly__q-Epr",
|
|
8
|
+
"disabledText": "SelectTrigger-module_disabledText__acP59",
|
|
9
|
+
"small": "SelectTrigger-module_small__jE-NG",
|
|
10
|
+
"large": "SelectTrigger-module_large__r93d8",
|
|
11
|
+
"chevronButton": "SelectTrigger-module_chevronButton__611jw"
|
|
12
|
+
};
|
|
13
|
+
module.exports = styles;
|
package/dist/esm/alpha.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export { SingleSelect } from './src/__alpha__/SingleSelect/SingleSelect.mjs';
|
|
1
|
+
export { Item, SingleSelect } from './src/__alpha__/SingleSelect/SingleSelect.mjs';
|