@decisiv/ui-components 2.0.1-alpha.205 → 2.0.1-alpha.207
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/atoms/OptionsList/Option/index.d.ts.map +1 -1
- package/lib/atoms/OptionsList/Option/index.js +5 -2
- package/lib/atoms/OptionsList/Option/styles.js +4 -1
- package/lib/atoms/OptionsList/context.d.ts +1 -0
- package/lib/atoms/OptionsList/context.d.ts.map +1 -1
- package/lib/atoms/OptionsList/index.d.ts.map +1 -1
- package/lib/atoms/OptionsList/index.js +4 -2
- package/lib/atoms/OptionsList/schema.d.ts.map +1 -1
- package/lib/atoms/OptionsList/schema.js +1 -0
- package/lib/atoms/OptionsList/types.d.ts +2 -0
- package/lib/atoms/OptionsList/types.d.ts.map +1 -1
- package/lib/components/Combobox/index.d.ts.map +1 -1
- package/lib/components/Combobox/index.js +14 -6
- package/lib/components/Combobox/index.test.js +55 -0
- package/lib/components/Combobox/schema.d.ts.map +1 -1
- package/lib/components/Combobox/schema.js +3 -1
- package/lib/components/Combobox/types.d.ts +2 -1
- package/lib/components/Combobox/types.d.ts.map +1 -1
- package/lib/components/DropdownList/index.test.js +47 -15
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/atoms/OptionsList/Option/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAA0C,MAAM,OAAO,CAAC;AAC/D,OAAO,EACL,WAAW,EAKZ,MAAM,UAAU,CAAC;AA4DlB,iBAAS,MAAM,CAAC,KAAK,EAAE,WAAW,GAAG,GAAG,CAAC,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/atoms/OptionsList/Option/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAA0C,MAAM,OAAO,CAAC;AAC/D,OAAO,EACL,WAAW,EAKZ,MAAM,UAAU,CAAC;AA4DlB,iBAAS,MAAM,CAAC,KAAK,EAAE,WAAW,GAAG,GAAG,CAAC,OAAO,CA0H/C;;AAED,wBAAkC"}
|
|
@@ -95,7 +95,9 @@ function Option(props) {
|
|
|
95
95
|
updateActiveId = _useOptionsList.updateActiveId,
|
|
96
96
|
inputMethod = _useOptionsList.inputMethod,
|
|
97
97
|
selectable = _useOptionsList.selectable,
|
|
98
|
-
itemRole = _useOptionsList.itemRole
|
|
98
|
+
itemRole = _useOptionsList.itemRole,
|
|
99
|
+
_useOptionsList$point = _useOptionsList.pointerEvents,
|
|
100
|
+
pointerEvents = _useOptionsList$point === void 0 ? 'none' : _useOptionsList$point;
|
|
99
101
|
|
|
100
102
|
var checked = selectedIds.includes(id);
|
|
101
103
|
var commonProps = {
|
|
@@ -134,7 +136,8 @@ function Option(props) {
|
|
|
134
136
|
onMouseEnter: handleMouseEnter,
|
|
135
137
|
inputMethod: inputMethod,
|
|
136
138
|
role: itemRole,
|
|
137
|
-
size: size
|
|
139
|
+
size: size,
|
|
140
|
+
pointerEvents: pointerEvents
|
|
138
141
|
}, (0, _utils.isLink)(props) ? _react.default.createElement(_styles.StyledLink, {
|
|
139
142
|
tabIndex: -1,
|
|
140
143
|
to: props.linkTo,
|
|
@@ -48,7 +48,10 @@ function getBorderRadius(_ref) {
|
|
|
48
48
|
var Container = _styledComponents.default.li.withConfig({
|
|
49
49
|
displayName: "styles__Container",
|
|
50
50
|
componentId: "sc-1vr9h8x-1"
|
|
51
|
-
})(["text-align:left;&:focus{outline:none;}> .label,> ", "{align-items:center;border:1px solid transparent;color:", ";display:flex;pointer-events:
|
|
51
|
+
})(["text-align:left;&:focus{outline:none;}> .label,> ", "{align-items:center;border:1px solid transparent;color:", ";display:flex;pointer-events:", ";width:100%;white-space:nowrap;", " > *{margin-right:", ";}}> ", "{pointer-events:auto;background-color:transparent;text-decoration:none;}&:first-child > .label,&:first-child > ", "{border-top-left-radius:", ";border-top-right-radius:", ";}&:last-child > .label,&:last-child > ", "{border-bottom-left-radius:", ";border-bottom-right-radius:", ";}&:hover:not([aria-disabled='true']):not([aria-selected='true']) > .label,&:hover:not([aria-disabled='true']):not([aria-selected='true']) > ", "{color:", ";text-decoration:none;.label > *{border-color:", ";}}&[aria-selected='true'] > .label{background:", ";color:", ";}&[aria-selected='true'] > .label > div > #optionLabelDetails{background:", ";color:", ";}", ";", " &[aria-disabled='true']{cursor:not-allowed;", "{pointer-events:none;}}&[aria-disabled='true'] > .label,&[aria-disabled='true'] > ", "{background:", ";color:", ";}"], StyledLink, (0, _toColorString.default)(_designTokens.color.interaction.pacificOcean), function (_ref2) {
|
|
52
|
+
var pointerEvents = _ref2.pointerEvents;
|
|
53
|
+
return pointerEvents;
|
|
54
|
+
}, withSizeModifiers, (0, _rem.default)(10), StyledLink, StyledLink, getBorderRadius, getBorderRadius, StyledLink, getBorderRadius, getBorderRadius, StyledLink, (0, _toColorString.default)(_designTokens.color.interaction.pacificOcean), (0, _toColorString.default)(_designTokens.color.interaction.indianOcean), (0, _toColorString.default)(_designTokens.color.interaction.pacificOcean), (0, _toColorString.default)(_designTokens.color.base.snowWhite), (0, _toColorString.default)(_designTokens.color.interaction.pacificOcean), (0, _toColorString.default)(_designTokens.color.base.snowWhite), (0, _styleModifiers.when)('isActive', (0, _styledComponents.css)(["color:", ";background:", ";.label > *{border-color:", ";}"], (0, _toColorString.default)(_designTokens.color.interaction.pacificOcean), (0, _toColorString.default)(_designTokens.color.interaction.pacificOcean15), (0, _toColorString.default)(_designTokens.color.interaction.indianOcean))), (0, _styleModifiers.when)([['isActive'], ['inputMethod', 'keyboard']], (0, _styledComponents.css)(["background:none;> .label,> ", "{border-color:", ";", "}&[aria-selected='true'] > .label,&[aria-selected='true'] > ", "{color:", ";", "}"], StyledLink, (0, _toColorString.default)(_designTokens.color.interaction.pacificOcean), (0, _focusRingWithColor.default)(_designTokens.color.interaction.pacificOcean40), StyledLink, (0, _toColorString.default)(_designTokens.color.base.snowWhite), (0, _focusRingWithColor.default)(_designTokens.color.opacity.fullMoon50))), StyledLink, StyledLink, (0, _toColorString.default)(_designTokens.color.base.snowWhite), (0, _toColorString.default)(_designTokens.color.opacity.charcoal40));
|
|
52
55
|
|
|
53
56
|
exports.Container = Container;
|
|
54
57
|
|
|
@@ -12,6 +12,7 @@ export interface CtxValue {
|
|
|
12
12
|
setInputMethod: (newInputMethod: InputMethod) => void;
|
|
13
13
|
selectable?: boolean;
|
|
14
14
|
itemRole?: string;
|
|
15
|
+
pointerEvents?: OptionsListProps['pointerEvents'];
|
|
15
16
|
}
|
|
16
17
|
declare const OptionsListContextProvider: import("react").ProviderExoticComponent<import("react").ProviderProps<CtxValue>>;
|
|
17
18
|
declare const useOptionsList: () => CtxValue;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/atoms/OptionsList/context.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAYxD,MAAM,WAAW,QAAQ;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,mBAAmB,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,IAAI,CAAC;IACrD,iBAAiB,CAAC,EAAE,gBAAgB,CAAC,mBAAmB,CAAC,CAAC;IAC1D,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,cAAc,EAAE,CAAC,cAAc,EAAE,WAAW,KAAK,IAAI,CAAC;IACtD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/atoms/OptionsList/context.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAYxD,MAAM,WAAW,QAAQ;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,mBAAmB,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,IAAI,CAAC;IACrD,iBAAiB,CAAC,EAAE,gBAAgB,CAAC,mBAAmB,CAAC,CAAC;IAC1D,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,cAAc,EAAE,CAAC,cAAc,EAAE,WAAW,KAAK,IAAI,CAAC;IACtD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,gBAAgB,CAAC,eAAe,CAAC,CAAC;CACnD;AAGD,QAAA,MAAM,0BAA0B,kFAA8B,CAAC;AAE/D,QAAA,MAAM,cAAc,gBACY,CAAC;AAEjC,OAAO,EAAE,cAAc,EAAE,0BAA0B,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atoms/OptionsList/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KASN,MAAM,OAAO,CAAC;AAcf,OAAO,EAGL,gBAAgB,EAIjB,MAAM,SAAS,CAAC;AAwBjB,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kDAmCrB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atoms/OptionsList/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KASN,MAAM,OAAO,CAAC;AAcf,OAAO,EAGL,gBAAgB,EAIjB,MAAM,SAAS,CAAC;AAwBjB,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kDAmCrB,CAAC;AAiTF,QAAA,MAAM,2BAA2B,2FAA0B,CAAC;AAmC5D,eAAe,2BAA2B,CAAC"}
|
|
@@ -120,7 +120,8 @@ function OptionsList(props, forwardedRef) {
|
|
|
120
120
|
role = props.role,
|
|
121
121
|
minWidth = props.minWidth,
|
|
122
122
|
maxWidth = props.maxWidth,
|
|
123
|
-
maxHeight = props.maxHeight
|
|
123
|
+
maxHeight = props.maxHeight,
|
|
124
|
+
pointerEvents = props.pointerEvents;
|
|
124
125
|
var initialIds = selectedIdsProp || defaultSelected;
|
|
125
126
|
|
|
126
127
|
var _useState = (0, _react.useState)(null),
|
|
@@ -277,7 +278,8 @@ function OptionsList(props, forwardedRef) {
|
|
|
277
278
|
setInputMethod: setInputMethod,
|
|
278
279
|
updateActiveId: updateActiveId,
|
|
279
280
|
selectable: !!selectable,
|
|
280
|
-
itemRole: itemRole
|
|
281
|
+
itemRole: itemRole,
|
|
282
|
+
pointerEvents: pointerEvents
|
|
281
283
|
}
|
|
282
284
|
}, _react.default.createElement(_Grid.default.Container, null, _react.default.createElement(Row, null, _react.default.createElement(Container, {
|
|
283
285
|
"aria-activedescendant": activeId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/atoms/OptionsList/schema.ts"],"names":[],"mappings":"AAGA,QAAA,MAAM,MAAM,KAA2C,CAAC;
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/atoms/OptionsList/schema.ts"],"names":[],"mappings":"AAGA,QAAA,MAAM,MAAM,KAA2C,CAAC;AA6ExD,eAAe,MAAM,CAAC"}
|
|
@@ -37,6 +37,7 @@ schema.makePropTypes = function () {
|
|
|
37
37
|
onChange: _reactDesc.PropTypes.func.description('Change event handler, called with the selected id or array of the selected item IDs.'),
|
|
38
38
|
selected: _reactDesc.PropTypes.oneOfType([_reactDesc.PropTypes.string, _reactDesc.PropTypes.arrayOf(_reactDesc.PropTypes.string)]).description('Used when component is controlled. Defines the item(s) selected in the options list.'),
|
|
39
39
|
renderOptionLabel: _reactDesc.PropTypes.func.description('Function to customize render of option labels, called with the item value.'),
|
|
40
|
+
pointerEvents: _reactDesc.PropTypes.string.description('Defines the value of pointer-events of the options.').defaultValue('none'),
|
|
40
41
|
selectable: _reactDesc.PropTypes.bool.description('Enables selection in the options list.').defaultValue(true),
|
|
41
42
|
role: _reactDesc.PropTypes.string.description('The role assigned to the list.').defaultValue('listbox'),
|
|
42
43
|
itemRole: _reactDesc.PropTypes.string.description('The role assigned to each item in the list.').defaultValue('option'),
|
|
@@ -84,6 +84,7 @@ export interface OptionsListProps extends OptionsListDimensions {
|
|
|
84
84
|
defaultSelected?: Selection;
|
|
85
85
|
role?: string;
|
|
86
86
|
itemRole?: string;
|
|
87
|
+
pointerEvents?: string;
|
|
87
88
|
}
|
|
88
89
|
export declare type OptionsListContainerRef = HTMLUListElement;
|
|
89
90
|
export interface StyledCategoryProps extends React.LiHTMLAttributes<HTMLLIElement> {
|
|
@@ -95,6 +96,7 @@ export interface ContainerProps {
|
|
|
95
96
|
multiple: boolean;
|
|
96
97
|
inputMethod: InputMethod;
|
|
97
98
|
size: Size;
|
|
99
|
+
pointerEvents?: string;
|
|
98
100
|
}
|
|
99
101
|
export interface StyledLinkProps extends LinkProps {
|
|
100
102
|
disabled: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/atoms/OptionsList/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/atoms/OptionsList/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Combobox/index.tsx"],"names":[],"mappings":"AASA,OAAc,EAGZ,sBAAsB,EAQvB,MAAM,OAAO,CAAC;AA2Bf,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAQ,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Combobox/index.tsx"],"names":[],"mappings":"AASA,OAAc,EAGZ,sBAAsB,EAQvB,MAAM,OAAO,CAAC;AA2Bf,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAQ,MAAM,SAAS,CAAC;AAskBhE,QAAA,MAAM,eAAe,EAAE,sBAAsB,CAC3C,gBAAgB,EAChB,aAAa,CACS,CAAC;AAOzB,eAAe,eAAe,CAAC"}
|
|
@@ -123,7 +123,9 @@ function Combobox(props, ref) {
|
|
|
123
123
|
_props$variant = props.variant,
|
|
124
124
|
variant = _props$variant === void 0 ? 'sync' : _props$variant,
|
|
125
125
|
zIndex = props.zIndex,
|
|
126
|
-
containerSelector = props.containerSelector
|
|
126
|
+
containerSelector = props.containerSelector,
|
|
127
|
+
pointerEvents = props.pointerEvents,
|
|
128
|
+
externalIsPopoverVisible = props.isPopoverVisible;
|
|
127
129
|
|
|
128
130
|
var _useCombobox = (0, _useCombobox2.default)(props),
|
|
129
131
|
getInputFieldProps = _useCombobox.getInputFieldProps,
|
|
@@ -160,6 +162,8 @@ function Combobox(props, ref) {
|
|
|
160
162
|
setIsPopoverVisibleState = _useState6[1];
|
|
161
163
|
|
|
162
164
|
var previousIsPopoverVisible = (0, _usePrevious.default)(isPopoverVisible);
|
|
165
|
+
var isControlled = externalIsPopoverVisible !== undefined;
|
|
166
|
+
var popoverVisibleStateToUse = isControlled ? externalIsPopoverVisible : isPopoverVisible;
|
|
163
167
|
/**
|
|
164
168
|
* Combobox controls the Popover instead of relying on the Popover's internal state.
|
|
165
169
|
* The Popover's onShow/ onHide handlers only function when the Popover is _not_
|
|
@@ -168,6 +172,8 @@ function Combobox(props, ref) {
|
|
|
168
172
|
*/
|
|
169
173
|
|
|
170
174
|
(0, _react.useEffect)(function () {
|
|
175
|
+
if (isControlled) return;
|
|
176
|
+
|
|
171
177
|
if (previousIsPopoverVisible && !isPopoverVisible && onHide) {
|
|
172
178
|
onHide();
|
|
173
179
|
}
|
|
@@ -175,17 +181,18 @@ function Combobox(props, ref) {
|
|
|
175
181
|
if (!previousIsPopoverVisible && isPopoverVisible && onShow) {
|
|
176
182
|
onShow();
|
|
177
183
|
}
|
|
178
|
-
}, [isPopoverVisible, previousIsPopoverVisible, onShow, onHide]);
|
|
184
|
+
}, [isControlled, isPopoverVisible, previousIsPopoverVisible, onShow, onHide]);
|
|
179
185
|
/**
|
|
180
186
|
* Update the dropdown list visibility.
|
|
181
187
|
*/
|
|
182
188
|
|
|
183
189
|
var updateIsPopoverVisible = (0, _react.useCallback)(function (arg) {
|
|
190
|
+
if (isControlled) return;
|
|
184
191
|
if (arg === true || arg === false) setIsPopoverVisibleState(arg);
|
|
185
192
|
if (arg === 'toggle') setIsPopoverVisibleState(function (old) {
|
|
186
193
|
return !old;
|
|
187
194
|
});
|
|
188
|
-
}, [setIsPopoverVisibleState]);
|
|
195
|
+
}, [isControlled, setIsPopoverVisibleState]);
|
|
189
196
|
/**
|
|
190
197
|
* This generates a flat list of the options (including those in categories)
|
|
191
198
|
* in the order they are presented in the dropdown list. Filtering disabled elements.
|
|
@@ -520,7 +527,7 @@ function Combobox(props, ref) {
|
|
|
520
527
|
hasClearButton: Boolean(value),
|
|
521
528
|
id: targetId,
|
|
522
529
|
inputFieldLabel: label,
|
|
523
|
-
isPopoverVisible:
|
|
530
|
+
isPopoverVisible: popoverVisibleStateToUse,
|
|
524
531
|
name: name,
|
|
525
532
|
multiple: multiple,
|
|
526
533
|
selectedValues: selectedValues,
|
|
@@ -561,9 +568,10 @@ function Combobox(props, ref) {
|
|
|
561
568
|
showArrow: false,
|
|
562
569
|
showCheckbox: !multiple,
|
|
563
570
|
target: popoverTargetRef,
|
|
564
|
-
visible: Boolean(
|
|
571
|
+
visible: Boolean(popoverVisibleStateToUse || loading),
|
|
565
572
|
renderOptionLabel: renderOptionLabel,
|
|
566
|
-
zIndex: zIndex
|
|
573
|
+
zIndex: zIndex,
|
|
574
|
+
pointerEvents: pointerEvents
|
|
567
575
|
}));
|
|
568
576
|
}));
|
|
569
577
|
}
|
|
@@ -1058,4 +1058,59 @@ describe('Combobox', function () {
|
|
|
1058
1058
|
});
|
|
1059
1059
|
});
|
|
1060
1060
|
});
|
|
1061
|
+
describe('when the isPopoverVisible is true', function () {
|
|
1062
|
+
it('opens the popover', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {
|
|
1063
|
+
var _render34, baseElement;
|
|
1064
|
+
|
|
1065
|
+
return regeneratorRuntime.wrap(function _callee2$(_context2) {
|
|
1066
|
+
while (1) {
|
|
1067
|
+
switch (_context2.prev = _context2.next) {
|
|
1068
|
+
case 0:
|
|
1069
|
+
_render34 = render(_react.default.createElement(_.default, {
|
|
1070
|
+
label: "test",
|
|
1071
|
+
options: defaultOptions,
|
|
1072
|
+
hideLabel: true,
|
|
1073
|
+
isPopoverVisible: true
|
|
1074
|
+
})), baseElement = _render34.baseElement;
|
|
1075
|
+
defaultOptions.forEach(function (_ref6) {
|
|
1076
|
+
var label = _ref6.label;
|
|
1077
|
+
expect((0, _react2.queryByText)(baseElement, label)).toBeInTheDocument();
|
|
1078
|
+
});
|
|
1079
|
+
|
|
1080
|
+
case 2:
|
|
1081
|
+
case "end":
|
|
1082
|
+
return _context2.stop();
|
|
1083
|
+
}
|
|
1084
|
+
}
|
|
1085
|
+
}, _callee2);
|
|
1086
|
+
})));
|
|
1087
|
+
it('does not automatically close the popover', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3() {
|
|
1088
|
+
var _render35, baseElement, queryByLabelText;
|
|
1089
|
+
|
|
1090
|
+
return regeneratorRuntime.wrap(function _callee3$(_context3) {
|
|
1091
|
+
while (1) {
|
|
1092
|
+
switch (_context3.prev = _context3.next) {
|
|
1093
|
+
case 0:
|
|
1094
|
+
_render35 = render(_react.default.createElement(_.default, {
|
|
1095
|
+
label: "test",
|
|
1096
|
+
options: defaultOptions,
|
|
1097
|
+
hideLabel: true,
|
|
1098
|
+
isPopoverVisible: true
|
|
1099
|
+
})), baseElement = _render35.baseElement, queryByLabelText = _render35.queryByLabelText;
|
|
1100
|
+
|
|
1101
|
+
_react2.fireEvent.click(queryByLabelText(defaultOptions[0].label));
|
|
1102
|
+
|
|
1103
|
+
defaultOptions.forEach(function (_ref8) {
|
|
1104
|
+
var label = _ref8.label;
|
|
1105
|
+
expect((0, _react2.queryByText)(baseElement, label)).toBeInTheDocument();
|
|
1106
|
+
});
|
|
1107
|
+
|
|
1108
|
+
case 3:
|
|
1109
|
+
case "end":
|
|
1110
|
+
return _context3.stop();
|
|
1111
|
+
}
|
|
1112
|
+
}
|
|
1113
|
+
}, _callee3);
|
|
1114
|
+
})));
|
|
1115
|
+
});
|
|
1061
1116
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/components/Combobox/schema.ts"],"names":[],"mappings":"AAOA,QAAA,MAAM,MAAM,KAAwC,CAAC;
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/components/Combobox/schema.ts"],"names":[],"mappings":"AAOA,QAAA,MAAM,MAAM,KAAwC,CAAC;AAkGrD,eAAe,MAAM,CAAC"}
|
|
@@ -43,6 +43,7 @@ schema.propTypes = _objectSpread({}, (0, _omit.default)(_InputField.schema.makeP
|
|
|
43
43
|
value: _reactDesc.PropTypes.string.description('The value for an option in the dropdown list.')
|
|
44
44
|
})).description('The array of data for the options that will be rendered'),
|
|
45
45
|
inputValue: _reactDesc.PropTypes.string.description('The text value for the input field. If provided, controlling the Combobox must be handled externally. Overrides `defaultInputValue`.'),
|
|
46
|
+
isPopoverVisible: _reactDesc.PropTypes.bool.description("Whether or not the Combobox's popover should be visible. Setting this prop makes the Combobox's popover a \"controlled\" component."),
|
|
46
47
|
value: _reactDesc.PropTypes.oneOfType([_reactDesc.PropTypes.string, _reactDesc.PropTypes.arrayOf(_reactDesc.PropTypes.shape({
|
|
47
48
|
id: _reactDesc.PropTypes.string,
|
|
48
49
|
label: _reactDesc.PropTypes.string,
|
|
@@ -51,7 +52,8 @@ schema.propTypes = _objectSpread({}, (0, _omit.default)(_InputField.schema.makeP
|
|
|
51
52
|
multiple: _reactDesc.PropTypes.bool.description('Used when multiple selections can be made in the Combobox').defaultValue(false),
|
|
52
53
|
variant: _reactDesc.PropTypes.oneOf(['async', 'sync']).description('Enables different logic for rendering the dropdown list.').defaultValue('sync'),
|
|
53
54
|
renderOptionLabel: _reactDesc.PropTypes.func.description('Function to customize render of option labels, called with the item value'),
|
|
54
|
-
zIndex: _reactDesc.PropTypes.number.description('Sets the z-index style property of the options list')
|
|
55
|
+
zIndex: _reactDesc.PropTypes.number.description('Sets the z-index style property of the options list'),
|
|
56
|
+
pointerEvents: _reactDesc.PropTypes.string.description('Defines the value of pointer-events of the options.').defaultValue('none')
|
|
55
57
|
});
|
|
56
58
|
var _default = schema;
|
|
57
59
|
exports.default = _default;
|
|
@@ -8,11 +8,12 @@ declare type Variant = 'async' | 'sync';
|
|
|
8
8
|
interface TOnChangeMeta {
|
|
9
9
|
removed: boolean;
|
|
10
10
|
}
|
|
11
|
-
export interface ComboboxProps extends Omit<React.InputHTMLAttributes<ComboboxInputRef>, 'onChange' | 'value'>, Omit<BaseInputFieldProps, 'children' | 'onChange' | 'value'>, Pick<DropdownListProps, 'onShow' | 'onHide' | 'renderOptionLabel' | 'containerSelector'> {
|
|
11
|
+
export interface ComboboxProps extends Omit<React.InputHTMLAttributes<ComboboxInputRef>, 'onChange' | 'value'>, Omit<BaseInputFieldProps, 'children' | 'onChange' | 'value'>, Pick<DropdownListProps, 'onShow' | 'onHide' | 'renderOptionLabel' | 'containerSelector' | 'pointerEvents'> {
|
|
12
12
|
clearButtonLabel?: string;
|
|
13
13
|
defaultInputValue?: string;
|
|
14
14
|
defaultValue?: string;
|
|
15
15
|
inputValue?: string;
|
|
16
|
+
isPopoverVisible?: boolean;
|
|
16
17
|
multiple?: boolean;
|
|
17
18
|
maxWidth?: string;
|
|
18
19
|
loading?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/Combobox/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAEjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAE3D,oBAAY,gBAAgB,GAAG,gBAAgB,CAAC;AAEhD,aAAK,OAAO,GAAG,OAAO,GAAG,MAAM,CAAC;AAEhC,UAAU,aAAa;IACrB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,aACf,SAAQ,IAAI,CACR,KAAK,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAC3C,UAAU,GAAG,OAAO,CACrB,EACD,IAAI,CAAC,mBAAmB,EAAE,UAAU,GAAG,UAAU,GAAG,OAAO,CAAC,EAC5D,IAAI,CACF,iBAAiB,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/Combobox/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -149,16 +149,48 @@ describe('DropdownList', function () {
|
|
|
149
149
|
selector: 'b'
|
|
150
150
|
})).toBeTruthy();
|
|
151
151
|
});
|
|
152
|
+
it('renders custom option with internal actions', function () {
|
|
153
|
+
var testButtonTitle = 'internalActionButton';
|
|
154
|
+
var onClickMock = jest.fn();
|
|
155
|
+
|
|
156
|
+
var customProps = _objectSpread({}, defaultProps, {
|
|
157
|
+
items: [{
|
|
158
|
+
id: '1',
|
|
159
|
+
label: 'Option 1',
|
|
160
|
+
value: '1'
|
|
161
|
+
}]
|
|
162
|
+
});
|
|
163
|
+
|
|
164
|
+
var renderOptionLabel = function renderOptionLabel(item) {
|
|
165
|
+
return _react.default.createElement(_react.default.Fragment, null, _react.default.createElement("b", null, item.label), _react.default.createElement(_Button.default, {
|
|
166
|
+
text: testButtonTitle,
|
|
167
|
+
onClick: onClickMock
|
|
168
|
+
}));
|
|
169
|
+
};
|
|
170
|
+
|
|
171
|
+
var _render5 = render(_react.default.createElement(_.default, _extends({}, customProps, {
|
|
172
|
+
renderOptionLabel: renderOptionLabel,
|
|
173
|
+
pointerEvents: "auto"
|
|
174
|
+
}))),
|
|
175
|
+
baseElement = _render5.baseElement,
|
|
176
|
+
getByText = _render5.getByText;
|
|
177
|
+
|
|
178
|
+
_react2.fireEvent.click(getByText(targetButtonText));
|
|
179
|
+
|
|
180
|
+
_react2.fireEvent.click((0, _react2.getByText)(baseElement, testButtonTitle));
|
|
181
|
+
|
|
182
|
+
expect(onClickMock).toHaveBeenCalled();
|
|
183
|
+
});
|
|
152
184
|
describe('selecting', function () {
|
|
153
185
|
describe('a single option', function () {
|
|
154
186
|
it('calls the onChange prop with the selection id', function () {
|
|
155
187
|
var onChange = jest.fn();
|
|
156
188
|
|
|
157
|
-
var
|
|
189
|
+
var _render6 = render(_react.default.createElement(_.default, _extends({}, defaultProps, {
|
|
158
190
|
onChange: onChange
|
|
159
191
|
}))),
|
|
160
|
-
baseElement =
|
|
161
|
-
getByText =
|
|
192
|
+
baseElement = _render6.baseElement,
|
|
193
|
+
getByText = _render6.getByText;
|
|
162
194
|
|
|
163
195
|
_react2.fireEvent.click(getByText(targetButtonText));
|
|
164
196
|
|
|
@@ -168,9 +200,9 @@ describe('DropdownList', function () {
|
|
|
168
200
|
expect(baseElement).toMatchSnapshot();
|
|
169
201
|
});
|
|
170
202
|
it('does not automatically hide the options', function () {
|
|
171
|
-
var
|
|
172
|
-
baseElement =
|
|
173
|
-
getByText =
|
|
203
|
+
var _render7 = render(_react.default.createElement(_.default, defaultProps)),
|
|
204
|
+
baseElement = _render7.baseElement,
|
|
205
|
+
getByText = _render7.getByText;
|
|
174
206
|
|
|
175
207
|
_react2.fireEvent.click(getByText(targetButtonText));
|
|
176
208
|
|
|
@@ -181,11 +213,11 @@ describe('DropdownList', function () {
|
|
|
181
213
|
it('does not allow multiple selections', function () {
|
|
182
214
|
var onChange = jest.fn();
|
|
183
215
|
|
|
184
|
-
var
|
|
216
|
+
var _render8 = render(_react.default.createElement(_.default, _extends({}, defaultProps, {
|
|
185
217
|
onChange: onChange
|
|
186
218
|
}))),
|
|
187
|
-
baseElement =
|
|
188
|
-
getByText =
|
|
219
|
+
baseElement = _render8.baseElement,
|
|
220
|
+
getByText = _render8.getByText;
|
|
189
221
|
|
|
190
222
|
_react2.fireEvent.click(getByText(targetButtonText));
|
|
191
223
|
|
|
@@ -202,12 +234,12 @@ describe('DropdownList', function () {
|
|
|
202
234
|
it('calls the onChange prop with the selection ids', function () {
|
|
203
235
|
var onChange = jest.fn();
|
|
204
236
|
|
|
205
|
-
var
|
|
237
|
+
var _render9 = render(_react.default.createElement(_.default, _extends({}, defaultProps, {
|
|
206
238
|
onChange: onChange,
|
|
207
239
|
multiple: true
|
|
208
240
|
}))),
|
|
209
|
-
baseElement =
|
|
210
|
-
getByText =
|
|
241
|
+
baseElement = _render9.baseElement,
|
|
242
|
+
getByText = _render9.getByText;
|
|
211
243
|
|
|
212
244
|
_react2.fireEvent.click(getByText(targetButtonText));
|
|
213
245
|
|
|
@@ -219,11 +251,11 @@ describe('DropdownList', function () {
|
|
|
219
251
|
expect(baseElement).toMatchSnapshot();
|
|
220
252
|
});
|
|
221
253
|
it('does not automatically hide the options', function () {
|
|
222
|
-
var
|
|
254
|
+
var _render10 = render(_react.default.createElement(_.default, _extends({}, defaultProps, {
|
|
223
255
|
multiple: true
|
|
224
256
|
}))),
|
|
225
|
-
baseElement =
|
|
226
|
-
getByText =
|
|
257
|
+
baseElement = _render10.baseElement,
|
|
258
|
+
getByText = _render10.getByText;
|
|
227
259
|
|
|
228
260
|
_react2.fireEvent.click(getByText(targetButtonText));
|
|
229
261
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@decisiv/ui-components",
|
|
3
|
-
"version": "2.0.1-alpha.
|
|
3
|
+
"version": "2.0.1-alpha.207+7ba6abc",
|
|
4
4
|
"description": "Decisiv's design system React components",
|
|
5
5
|
"author": "Decisiv UI Development Team",
|
|
6
6
|
"license": "MIT",
|
|
@@ -71,5 +71,5 @@
|
|
|
71
71
|
"access": "public"
|
|
72
72
|
},
|
|
73
73
|
"private": false,
|
|
74
|
-
"gitHead": "
|
|
74
|
+
"gitHead": "7ba6abc7838c58aa2cbe7a117b03d3a308528738"
|
|
75
75
|
}
|