@decisiv/ui-components 2.0.1-alpha.181 → 2.0.1-alpha.183
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/{Category.d.ts → Category/index.d.ts} +2 -2
- package/lib/atoms/OptionsList/Category/index.d.ts.map +1 -0
- package/lib/atoms/OptionsList/{Category.js → Category/index.js} +11 -21
- package/lib/atoms/OptionsList/Category/styles.d.ts +6 -0
- package/lib/atoms/OptionsList/Category/styles.d.ts.map +1 -0
- package/lib/atoms/OptionsList/Category/styles.js +36 -0
- package/lib/atoms/OptionsList/{Option.d.ts → Option/index.d.ts} +2 -2
- package/lib/atoms/OptionsList/Option/index.d.ts.map +1 -0
- package/lib/atoms/OptionsList/{Option.js → Option/index.js} +25 -64
- package/lib/atoms/OptionsList/Option/styles.d.ts +17 -0
- package/lib/atoms/OptionsList/Option/styles.d.ts.map +1 -0
- package/lib/atoms/OptionsList/Option/styles.js +83 -0
- package/lib/atoms/OptionsList/index.d.ts.map +1 -1
- package/lib/atoms/OptionsList/index.js +11 -6
- package/lib/atoms/OptionsList/index.test.js +218 -202
- package/lib/atoms/OptionsList/schema.d.ts.map +1 -1
- package/lib/atoms/OptionsList/schema.js +2 -1
- package/lib/atoms/OptionsList/types.d.ts +18 -0
- package/lib/atoms/OptionsList/types.d.ts.map +1 -1
- package/lib/components/Avatar/AvatarContainer.d.ts +1 -13
- package/lib/components/Avatar/AvatarContainer.d.ts.map +1 -1
- package/lib/components/Avatar/AvatarContainer.js +12 -13
- package/lib/components/Avatar/AvatarContent.d.ts +2 -2
- package/lib/components/Avatar/AvatarContent.d.ts.map +1 -1
- package/lib/components/Avatar/AvatarContent.js +24 -20
- package/lib/components/Avatar/index.d.ts.map +1 -1
- package/lib/components/Avatar/index.js +39 -5
- package/lib/components/Avatar/index.test.js +4 -0
- package/lib/components/Avatar/schema.d.ts.map +1 -1
- package/lib/components/Avatar/schema.js +3 -1
- package/lib/components/Avatar/types.d.ts +15 -2
- package/lib/components/Avatar/types.d.ts.map +1 -1
- package/lib/components/CheckboxGroup/index.d.ts +1 -1
- package/lib/components/Link/DisabledLink.d.ts +1 -1
- package/lib/components/Link/styles.d.ts +5 -5
- package/lib/components/Link/styles.d.ts.map +1 -1
- package/lib/components/Tag/styles.d.ts.map +1 -1
- package/lib/components/Tag/styles.js +9 -43
- package/lib/modifiers/palette.d.ts +36 -0
- package/lib/modifiers/palette.d.ts.map +1 -0
- package/lib/modifiers/palette.js +88 -0
- package/package.json +2 -2
- package/lib/atoms/OptionsList/Category.d.ts.map +0 -1
- package/lib/atoms/OptionsList/Option.d.ts.map +0 -1
|
@@ -101,132 +101,100 @@ var defaultProps = {
|
|
|
101
101
|
onChange: jest.fn()
|
|
102
102
|
};
|
|
103
103
|
describe('OptionsList', function () {
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
var label = _ref3.label;
|
|
123
|
-
return _react.default.createElement("span", null, "".concat(label, " foo"));
|
|
124
|
-
};
|
|
125
|
-
|
|
126
|
-
var _render2 = render(_react.default.createElement(_.default, _extends({}, defaultProps, {
|
|
127
|
-
renderOptionLabel: renderOptionLabel
|
|
128
|
-
}))),
|
|
129
|
-
queryByText = _render2.queryByText;
|
|
130
|
-
|
|
131
|
-
items.forEach(function (item) {
|
|
132
|
-
var label = item.label;
|
|
133
|
-
|
|
134
|
-
if ((0, _utils.isCategory)(item)) {
|
|
135
|
-
item.items.forEach(function (_ref4) {
|
|
136
|
-
var subItemLabel = _ref4.label;
|
|
137
|
-
expect(queryByText("".concat(subItemLabel, " foo"))).toBeInTheDocument();
|
|
138
|
-
});
|
|
139
|
-
} else {
|
|
140
|
-
expect(queryByText("".concat(label, " foo"))).toBeInTheDocument();
|
|
141
|
-
}
|
|
104
|
+
['small', 'medium'].forEach(function (size) {
|
|
105
|
+
it('renders items and categories sub items', function () {
|
|
106
|
+
var _render = render(_react.default.createElement(_.default, _extends({}, defaultProps, {
|
|
107
|
+
size: size
|
|
108
|
+
}))),
|
|
109
|
+
queryByText = _render.queryByText;
|
|
110
|
+
|
|
111
|
+
items.forEach(function (item) {
|
|
112
|
+
var label = item.label;
|
|
113
|
+
expect(queryByText(label)).toBeInTheDocument();
|
|
114
|
+
|
|
115
|
+
if ((0, _utils.isCategory)(item)) {
|
|
116
|
+
item.items.forEach(function (_ref2) {
|
|
117
|
+
var subItemLabel = _ref2.label;
|
|
118
|
+
expect(queryByText(subItemLabel)).toBeInTheDocument();
|
|
119
|
+
});
|
|
120
|
+
}
|
|
121
|
+
});
|
|
142
122
|
});
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
123
|
+
it('renders custom option label', function () {
|
|
124
|
+
var renderOptionLabel = function renderOptionLabel(_ref3) {
|
|
125
|
+
var label = _ref3.label;
|
|
126
|
+
return _react.default.createElement("span", null, "".concat(label, " foo"));
|
|
127
|
+
};
|
|
128
|
+
|
|
129
|
+
var _render2 = render(_react.default.createElement(_.default, _extends({}, defaultProps, {
|
|
130
|
+
renderOptionLabel: renderOptionLabel,
|
|
131
|
+
size: size
|
|
132
|
+
}))),
|
|
133
|
+
queryByText = _render2.queryByText;
|
|
134
|
+
|
|
135
|
+
items.forEach(function (item) {
|
|
136
|
+
var label = item.label;
|
|
137
|
+
|
|
138
|
+
if ((0, _utils.isCategory)(item)) {
|
|
139
|
+
item.items.forEach(function (_ref4) {
|
|
140
|
+
var subItemLabel = _ref4.label;
|
|
141
|
+
expect(queryByText("".concat(subItemLabel, " foo"))).toBeInTheDocument();
|
|
142
|
+
});
|
|
143
|
+
} else {
|
|
144
|
+
expect(queryByText("".concat(label, " foo"))).toBeInTheDocument();
|
|
145
|
+
}
|
|
146
|
+
});
|
|
159
147
|
});
|
|
148
|
+
it('checks that labelDetails when provided ', function () {
|
|
149
|
+
var _render3 = render(_react.default.createElement(_.default, _extends({}, defaultProps, {
|
|
150
|
+
size: size
|
|
151
|
+
}))),
|
|
152
|
+
getByText = _render3.getByText;
|
|
160
153
|
|
|
161
|
-
|
|
162
|
-
// check the active item with border style
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
expect(getByText(defaultProps.items[0].label).closest('.label')).toHaveStyle("\n border-color: ".concat((0, _toColorString.default)(_designTokens.color.interaction.pacificOcean), ";\n "));
|
|
166
|
-
|
|
167
|
-
_react2.fireEvent.keyDown(optionsList, {
|
|
168
|
-
key: 'ArrowDown'
|
|
154
|
+
expect(getByText('test detail label')).toBeInTheDocument();
|
|
169
155
|
});
|
|
156
|
+
it('navigates through the options with arrow keys', function () {
|
|
157
|
+
var _render4 = render(_react.default.createElement(_.default, _extends({}, defaultProps, {
|
|
158
|
+
size: size
|
|
159
|
+
}))),
|
|
160
|
+
getByText = _render4.getByText,
|
|
161
|
+
container = _render4.container;
|
|
170
162
|
|
|
171
|
-
|
|
163
|
+
var optionsList = container.querySelector('ul'); // simulate it is focused while tabbing
|
|
172
164
|
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
165
|
+
_react2.fireEvent.keyDown(container, {
|
|
166
|
+
key: 'Tab'
|
|
167
|
+
});
|
|
176
168
|
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
it('selects an item with Enter or Space key', function () {
|
|
180
|
-
var onChange = jest.fn();
|
|
169
|
+
_react2.fireEvent.focus(optionsList); // default first element active
|
|
170
|
+
// check the active item with border style
|
|
181
171
|
|
|
182
|
-
var _render5 = render(_react.default.createElement(_.default, _extends({}, defaultProps, {
|
|
183
|
-
onChange: onChange
|
|
184
|
-
}))),
|
|
185
|
-
getByLabelText = _render5.getByLabelText,
|
|
186
|
-
container = _render5.container;
|
|
187
172
|
|
|
188
|
-
|
|
189
|
-
var optionsList = container.querySelector('ul'); // simulate it is focused while tabbing
|
|
173
|
+
expect(getByText(defaultProps.items[0].label).closest('.label')).toHaveStyle("\n border-color: ".concat((0, _toColorString.default)(_designTokens.color.interaction.pacificOcean), ";\n "));
|
|
190
174
|
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
175
|
+
_react2.fireEvent.keyDown(optionsList, {
|
|
176
|
+
key: 'ArrowDown'
|
|
177
|
+
});
|
|
194
178
|
|
|
195
|
-
|
|
179
|
+
expect(getByText(defaultProps.items[1].label).closest('.label')).toHaveStyle("\n border-color: ".concat((0, _toColorString.default)(_designTokens.color.interaction.pacificOcean), ";\n "));
|
|
196
180
|
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
181
|
+
_react2.fireEvent.keyDown(optionsList, {
|
|
182
|
+
key: 'ArrowUp'
|
|
183
|
+
});
|
|
200
184
|
|
|
201
|
-
|
|
202
|
-
key: 'Enter'
|
|
185
|
+
expect(getByText(defaultProps.items[0].label).closest('.label')).toHaveStyle("\n border-color: ".concat((0, _toColorString.default)(_designTokens.color.interaction.pacificOcean), ";\n "));
|
|
203
186
|
});
|
|
204
|
-
|
|
205
|
-
expect(onChange).toHaveBeenCalledWith(selectedItem.id);
|
|
206
|
-
expect(getByLabelText(selectedItem.label)).toBeChecked();
|
|
207
|
-
});
|
|
208
|
-
describe('selecting disabled element with keyboard', function () {
|
|
209
187
|
it('selects an item with Enter or Space key', function () {
|
|
210
188
|
var onChange = jest.fn();
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
disabled: true
|
|
216
|
-
}, {
|
|
217
|
-
id: disabledItemId,
|
|
218
|
-
label: disabledItemLabel,
|
|
219
|
-
value: '4',
|
|
220
|
-
disabled: true
|
|
221
|
-
}];
|
|
222
|
-
|
|
223
|
-
var _render6 = render(_react.default.createElement(_.default, _extends({}, defaultProps, {
|
|
224
|
-
items: onlyDisabledItems,
|
|
225
|
-
onChange: onChange
|
|
189
|
+
|
|
190
|
+
var _render5 = render(_react.default.createElement(_.default, _extends({}, defaultProps, {
|
|
191
|
+
onChange: onChange,
|
|
192
|
+
size: size
|
|
226
193
|
}))),
|
|
227
|
-
getByLabelText =
|
|
228
|
-
container =
|
|
194
|
+
getByLabelText = _render5.getByLabelText,
|
|
195
|
+
container = _render5.container;
|
|
229
196
|
|
|
197
|
+
var selectedItem = defaultProps.items[1];
|
|
230
198
|
var optionsList = container.querySelector('ul'); // simulate it is focused while tabbing
|
|
231
199
|
|
|
232
200
|
_react2.fireEvent.keyDown(container, {
|
|
@@ -243,131 +211,179 @@ describe('OptionsList', function () {
|
|
|
243
211
|
key: 'Enter'
|
|
244
212
|
});
|
|
245
213
|
|
|
246
|
-
expect(onChange).
|
|
247
|
-
expect(
|
|
248
|
-
expect(getByLabelText(disabledItemLabel)).not.toBeChecked();
|
|
214
|
+
expect(onChange).toHaveBeenCalledWith(selectedItem.id);
|
|
215
|
+
expect(getByLabelText(selectedItem.label)).toBeChecked();
|
|
249
216
|
});
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
217
|
+
describe('selecting disabled element with keyboard', function () {
|
|
218
|
+
it('selects an item with Enter or Space key', function () {
|
|
219
|
+
var onChange = jest.fn();
|
|
220
|
+
var onlyDisabledItems = [{
|
|
221
|
+
id: '2',
|
|
222
|
+
label: 'Option 2',
|
|
223
|
+
value: '2',
|
|
224
|
+
disabled: true
|
|
225
|
+
}, {
|
|
226
|
+
id: disabledItemId,
|
|
227
|
+
label: disabledItemLabel,
|
|
228
|
+
value: '4',
|
|
229
|
+
disabled: true
|
|
230
|
+
}];
|
|
231
|
+
|
|
232
|
+
var _render6 = render(_react.default.createElement(_.default, _extends({}, defaultProps, {
|
|
233
|
+
items: onlyDisabledItems,
|
|
234
|
+
onChange: onChange,
|
|
235
|
+
size: size
|
|
236
|
+
}))),
|
|
237
|
+
getByLabelText = _render6.getByLabelText,
|
|
238
|
+
container = _render6.container;
|
|
260
239
|
|
|
261
|
-
|
|
240
|
+
var optionsList = container.querySelector('ul'); // simulate it is focused while tabbing
|
|
262
241
|
|
|
263
|
-
|
|
242
|
+
_react2.fireEvent.keyDown(container, {
|
|
243
|
+
key: 'Tab'
|
|
244
|
+
});
|
|
264
245
|
|
|
265
|
-
|
|
266
|
-
var subItem = items[2].items[0];
|
|
246
|
+
_react2.fireEvent.focus(optionsList);
|
|
267
247
|
|
|
268
|
-
|
|
248
|
+
_react2.fireEvent.keyDown(optionsList, {
|
|
249
|
+
key: 'ArrowDown'
|
|
250
|
+
});
|
|
269
251
|
|
|
270
|
-
|
|
252
|
+
_react2.fireEvent.keyDown(optionsList, {
|
|
253
|
+
key: 'Enter'
|
|
254
|
+
});
|
|
271
255
|
|
|
272
|
-
|
|
256
|
+
expect(onChange).not.toHaveBeenCalledWith(disabledItemId);
|
|
257
|
+
expect(onChange).not.toHaveBeenCalled();
|
|
258
|
+
expect(getByLabelText(disabledItemLabel)).not.toBeChecked();
|
|
259
|
+
});
|
|
273
260
|
});
|
|
274
|
-
describe('
|
|
275
|
-
it('
|
|
261
|
+
describe('single selection', function () {
|
|
262
|
+
it('calls onChange with id when item is clicked', function () {
|
|
276
263
|
var onChange = jest.fn();
|
|
277
264
|
|
|
278
|
-
var
|
|
279
|
-
onChange: onChange
|
|
265
|
+
var _render7 = render(_react.default.createElement(_.default, _extends({}, defaultProps, {
|
|
266
|
+
onChange: onChange,
|
|
267
|
+
size: size
|
|
280
268
|
}))),
|
|
281
|
-
getByText =
|
|
282
|
-
getByLabelText =
|
|
269
|
+
getByText = _render7.getByText,
|
|
270
|
+
getByLabelText = _render7.getByLabelText;
|
|
283
271
|
|
|
284
|
-
|
|
272
|
+
var item = items[0];
|
|
285
273
|
|
|
286
|
-
|
|
287
|
-
expect(onChange).not.toHaveBeenCalled(); // the item shouldn't be marked as selected
|
|
274
|
+
_react2.fireEvent.click(getByText(item.label));
|
|
288
275
|
|
|
289
|
-
expect(
|
|
276
|
+
expect(onChange).toHaveBeenLastCalledWith(item.id);
|
|
277
|
+
var subItem = items[2].items[0];
|
|
278
|
+
|
|
279
|
+
_react2.fireEvent.click(getByText(subItem.label));
|
|
280
|
+
|
|
281
|
+
expect(onChange).toHaveBeenLastCalledWith(subItem.id); // there should be an item marked as selected
|
|
282
|
+
|
|
283
|
+
expect(getByLabelText(subItem.label)).toBeChecked();
|
|
290
284
|
});
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
var selected = items[1];
|
|
285
|
+
describe('disabled element', function () {
|
|
286
|
+
it('does not calls onChange when item is clicked', function () {
|
|
287
|
+
var onChange = jest.fn();
|
|
295
288
|
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
289
|
+
var _render8 = render(_react.default.createElement(_.default, _extends({}, defaultProps, {
|
|
290
|
+
onChange: onChange,
|
|
291
|
+
size: size
|
|
292
|
+
}))),
|
|
293
|
+
getByText = _render8.getByText,
|
|
294
|
+
getByLabelText = _render8.getByLabelText;
|
|
301
295
|
|
|
302
|
-
|
|
296
|
+
_react2.fireEvent.click(getByText(disabledItemLabel));
|
|
303
297
|
|
|
304
|
-
|
|
298
|
+
expect(onChange).not.toHaveBeenLastCalledWith(disabledItemId);
|
|
299
|
+
expect(onChange).not.toHaveBeenCalled(); // the item shouldn't be marked as selected
|
|
300
|
+
|
|
301
|
+
expect(getByLabelText(disabledItemLabel)).not.toBeChecked();
|
|
302
|
+
});
|
|
303
|
+
});
|
|
304
|
+
describe('controlled', function () {
|
|
305
|
+
it('prefers value over internal', function () {
|
|
306
|
+
var selected = items[1];
|
|
307
|
+
|
|
308
|
+
var _render9 = render(_react.default.createElement(_.default, _extends({}, defaultProps, {
|
|
309
|
+
selected: selected.id,
|
|
310
|
+
size: size
|
|
311
|
+
}))),
|
|
312
|
+
getByText = _render9.getByText,
|
|
313
|
+
getByLabelText = _render9.getByLabelText;
|
|
314
|
+
|
|
315
|
+
var item = items[0];
|
|
305
316
|
|
|
306
|
-
|
|
307
|
-
|
|
317
|
+
_react2.fireEvent.click(getByText(item.label));
|
|
318
|
+
|
|
319
|
+
expect(getByLabelText(item.label)).not.toBeChecked();
|
|
320
|
+
expect(getByLabelText(selected.label)).toBeChecked();
|
|
321
|
+
});
|
|
308
322
|
});
|
|
309
323
|
});
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
var onChange = jest.fn();
|
|
324
|
+
describe('multi selection', function () {
|
|
325
|
+
it('calls onChange with array of selected ids when item is clicked', function () {
|
|
326
|
+
var onChange = jest.fn();
|
|
314
327
|
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
328
|
+
var _render10 = render(_react.default.createElement(_.default, _extends({}, defaultProps, {
|
|
329
|
+
onChange: onChange,
|
|
330
|
+
multiple: true,
|
|
331
|
+
size: size
|
|
332
|
+
}))),
|
|
333
|
+
getByText = _render10.getByText,
|
|
334
|
+
getByLabelText = _render10.getByLabelText;
|
|
321
335
|
|
|
322
|
-
|
|
336
|
+
var item = items[0];
|
|
323
337
|
|
|
324
|
-
|
|
338
|
+
_react2.fireEvent.click(getByText(item.label));
|
|
325
339
|
|
|
326
|
-
|
|
327
|
-
|
|
340
|
+
expect(onChange).toHaveBeenLastCalledWith([item.id]);
|
|
341
|
+
var subItem = items[2].items[0];
|
|
328
342
|
|
|
329
|
-
|
|
343
|
+
_react2.fireEvent.click(getByText(subItem.label));
|
|
330
344
|
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
345
|
+
expect(onChange).toHaveBeenLastCalledWith([item.id, subItem.id]);
|
|
346
|
+
expect(getByLabelText(subItem.label)).toBeChecked();
|
|
347
|
+
expect(getByLabelText(item.label)).toBeChecked(); // second click unselects
|
|
334
348
|
|
|
335
|
-
|
|
349
|
+
_react2.fireEvent.click(getByText(item.label));
|
|
336
350
|
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
351
|
+
expect(onChange).toHaveBeenLastCalledWith([subItem.id]);
|
|
352
|
+
});
|
|
353
|
+
it('adds a footer with buttons when actions are provided', function () {
|
|
354
|
+
var onClick = jest.fn();
|
|
355
|
+
var actions = [{
|
|
356
|
+
id: '1',
|
|
357
|
+
text: 'apply',
|
|
358
|
+
onClick: onClick
|
|
359
|
+
}, {
|
|
360
|
+
id: '2',
|
|
361
|
+
text: 'cancel',
|
|
362
|
+
kind: 'secondary',
|
|
363
|
+
onClick: onClick
|
|
364
|
+
}, {
|
|
365
|
+
id: '3',
|
|
366
|
+
text: 'clear',
|
|
367
|
+
kind: 'secondary',
|
|
368
|
+
variant: 'ghost',
|
|
369
|
+
paddingLeft: 4,
|
|
370
|
+
onClick: onClick
|
|
371
|
+
}];
|
|
372
|
+
|
|
373
|
+
var _render11 = render(_react.default.createElement(_.default, _extends({}, defaultProps, {
|
|
374
|
+
actions: actions,
|
|
375
|
+
multiple: true,
|
|
376
|
+
size: size
|
|
377
|
+
}))),
|
|
378
|
+
baseElement = _render11.baseElement,
|
|
379
|
+
getByText = _render11.getByText;
|
|
365
380
|
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
381
|
+
actions.forEach(function (_ref5) {
|
|
382
|
+
var label = _ref5.text;
|
|
383
|
+
return expect(getByText(label)).toBeTruthy();
|
|
384
|
+
});
|
|
385
|
+
expect(baseElement).toMatchSnapshot();
|
|
369
386
|
});
|
|
370
|
-
expect(baseElement).toMatchSnapshot();
|
|
371
387
|
});
|
|
372
388
|
});
|
|
373
389
|
});
|
|
@@ -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;AA0ExD,eAAe,MAAM,CAAC"}
|
|
@@ -39,7 +39,8 @@ schema.makePropTypes = function () {
|
|
|
39
39
|
renderOptionLabel: _reactDesc.PropTypes.func.description('Function to customize render of option labels, called with the item value.'),
|
|
40
40
|
selectable: _reactDesc.PropTypes.bool.description('Enables selection in the options list.').defaultValue(true),
|
|
41
41
|
role: _reactDesc.PropTypes.string.description('The role assigned to the list.').defaultValue('listbox'),
|
|
42
|
-
itemRole: _reactDesc.PropTypes.string.description('The role assigned to each item in the list.').defaultValue('option')
|
|
42
|
+
itemRole: _reactDesc.PropTypes.string.description('The role assigned to each item in the list.').defaultValue('option'),
|
|
43
|
+
size: _reactDesc.PropTypes.oneOf(['small', 'medium']).description('Defines the size of the OptionList').defaultValue('small')
|
|
43
44
|
};
|
|
44
45
|
};
|
|
45
46
|
|
|
@@ -5,9 +5,11 @@ import { AvatarProps } from '../../components/Avatar';
|
|
|
5
5
|
import { BadgeProps } from '../../components/Badge';
|
|
6
6
|
import { DimensionsProps } from '../../modifiers/dimensions';
|
|
7
7
|
import { ButtonProps } from '../../components/Button';
|
|
8
|
+
import { LinkProps } from '../../components/Link';
|
|
8
9
|
export declare type OptionAvatarProps = Omit<AvatarProps, 'ref' | 'size'>;
|
|
9
10
|
export declare type OptionBadgeProps = Omit<BadgeProps, 'size' | 'variant'>;
|
|
10
11
|
export declare type InputMethod = 'mouse' | 'keyboard' | undefined;
|
|
12
|
+
export declare type Size = 'small' | 'medium' | undefined;
|
|
11
13
|
export declare type Selection = string | string[];
|
|
12
14
|
export declare type OptionsListDimensions = Pick<DimensionsProps, 'minWidth' | 'maxHeight' | 'maxWidth'>;
|
|
13
15
|
interface AvatarDecoration extends OptionAvatarProps {
|
|
@@ -38,6 +40,7 @@ export interface Category {
|
|
|
38
40
|
items: Option[];
|
|
39
41
|
label: string;
|
|
40
42
|
showCheckbox?: boolean;
|
|
43
|
+
size?: Size;
|
|
41
44
|
}
|
|
42
45
|
export declare type CategoryProps = Category;
|
|
43
46
|
export declare type IconComponent = (props: IconProps) => JSX.Element;
|
|
@@ -50,6 +53,7 @@ interface BaseOption {
|
|
|
50
53
|
labelDetails?: string;
|
|
51
54
|
showCheckbox?: boolean;
|
|
52
55
|
meta?: object;
|
|
56
|
+
size?: Size;
|
|
53
57
|
}
|
|
54
58
|
export interface ItemOption extends BaseOption {
|
|
55
59
|
value?: string;
|
|
@@ -76,10 +80,24 @@ export interface OptionsListProps extends OptionsListDimensions {
|
|
|
76
80
|
showCheckbox?: boolean;
|
|
77
81
|
tabIndex?: number;
|
|
78
82
|
selectable?: boolean;
|
|
83
|
+
size?: Size;
|
|
79
84
|
defaultSelected?: Selection;
|
|
80
85
|
role?: string;
|
|
81
86
|
itemRole?: string;
|
|
82
87
|
}
|
|
83
88
|
export declare type OptionsListContainerRef = HTMLUListElement;
|
|
89
|
+
export interface StyledCategoryProps extends React.LiHTMLAttributes<HTMLLIElement> {
|
|
90
|
+
size: Size;
|
|
91
|
+
}
|
|
92
|
+
export interface ContainerProps {
|
|
93
|
+
borderRadius?: BorderRadiusProperty<string>;
|
|
94
|
+
isActive: boolean;
|
|
95
|
+
multiple: boolean;
|
|
96
|
+
inputMethod: InputMethod;
|
|
97
|
+
size: Size;
|
|
98
|
+
}
|
|
99
|
+
export interface StyledLinkProps extends LinkProps {
|
|
100
|
+
disabled: boolean;
|
|
101
|
+
}
|
|
84
102
|
export {};
|
|
85
103
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/atoms/OptionsList/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/atoms/OptionsList/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
declare const kindModifiers: {
|
|
3
|
-
readonly primary: () => CSS;
|
|
4
|
-
readonly secondary: () => CSS;
|
|
5
|
-
};
|
|
6
|
-
declare const sizeModifiers: {
|
|
7
|
-
readonly medium: () => CSS;
|
|
8
|
-
readonly large: () => CSS;
|
|
9
|
-
};
|
|
10
|
-
interface AvatarContainerProps {
|
|
11
|
-
kind?: keyof typeof kindModifiers;
|
|
12
|
-
size?: keyof typeof sizeModifiers;
|
|
13
|
-
}
|
|
1
|
+
import { AvatarContainerProps } from './types';
|
|
14
2
|
declare const AvatarContainer: import("styled-components").StyledComponent<"div", any, AvatarContainerProps, never>;
|
|
15
3
|
export default AvatarContainer;
|
|
16
4
|
//# sourceMappingURL=AvatarContainer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AvatarContainer.d.ts","sourceRoot":"","sources":["../../../src/components/Avatar/AvatarContainer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AvatarContainer.d.ts","sourceRoot":"","sources":["../../../src/components/Avatar/AvatarContainer.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAoC/C,QAAA,MAAM,eAAe,sFAkBpB,CAAC;AAEF,eAAe,eAAe,CAAC"}
|
|
@@ -17,25 +17,18 @@ var _color = _interopRequireDefault(require("@decisiv/design-tokens/lib/color"))
|
|
|
17
17
|
|
|
18
18
|
var _typography = _interopRequireDefault(require("@decisiv/design-tokens/lib/typography"));
|
|
19
19
|
|
|
20
|
+
var _palette = require("../../modifiers/palette");
|
|
21
|
+
|
|
20
22
|
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }
|
|
21
23
|
|
|
22
24
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
23
25
|
|
|
24
|
-
var status = _color.default.status
|
|
25
|
-
visualInterest = _color.default.visualInterest;
|
|
26
|
-
var kindModifiers = {
|
|
27
|
-
primary: function primary() {
|
|
28
|
-
return (0, _styledComponents.css)(["background-color:", ";"], (0, _toColorString.default)(status.information.medium));
|
|
29
|
-
},
|
|
30
|
-
secondary: function secondary() {
|
|
31
|
-
return (0, _styledComponents.css)(["background-color:", ";"], (0, _toColorString.default)(visualInterest.licoriceMousse.medium));
|
|
32
|
-
}
|
|
33
|
-
};
|
|
26
|
+
var status = _color.default.status;
|
|
34
27
|
|
|
35
28
|
var makeSizeModifiers = function makeSizeModifiers(_ref) {
|
|
36
29
|
var size = _ref.size,
|
|
37
30
|
typeScale = _ref.typeScale;
|
|
38
|
-
return (0, _styledComponents.css)(["font-size:", ";height:", ";min-height:", ";width:", ";min-width:", ";"], (0, _rem.default)(_typography.default.size.scale[typeScale]), (0, _rem.default)(size), (0, _rem.default)(size), (0, _rem.default)(size), (0, _rem.default)(size));
|
|
31
|
+
return (0, _styledComponents.css)(["font-weight:", ";font-size:", ";height:", ";min-height:", ";width:", ";min-width:", ";"], _typography.default.weight.alias.regular, (0, _rem.default)(_typography.default.size.scale[typeScale]), (0, _rem.default)(size), (0, _rem.default)(size), (0, _rem.default)(size), (0, _rem.default)(size));
|
|
39
32
|
};
|
|
40
33
|
|
|
41
34
|
var sizeModifiers = {
|
|
@@ -48,15 +41,21 @@ var sizeModifiers = {
|
|
|
48
41
|
large: function large() {
|
|
49
42
|
return makeSizeModifiers({
|
|
50
43
|
size: 60,
|
|
51
|
-
typeScale:
|
|
44
|
+
typeScale: 3
|
|
52
45
|
});
|
|
53
46
|
}
|
|
54
47
|
};
|
|
55
48
|
|
|
49
|
+
var withGravatarModifiers = function withGravatarModifiers(props) {
|
|
50
|
+
var shouldUseGravatar = props.shouldUseGravatar;
|
|
51
|
+
if (!shouldUseGravatar) return null;
|
|
52
|
+
return (0, _styledComponents.css)(["color:transparent;background-color:transparent;border:none;"]);
|
|
53
|
+
};
|
|
54
|
+
|
|
56
55
|
var AvatarContainer = _styledComponents.default.div.withConfig({
|
|
57
56
|
displayName: "AvatarContainer",
|
|
58
57
|
componentId: "sc-16avffw-0"
|
|
59
|
-
})(["position:relative;align-items:center;background-color:", ";border-radius:50%;display:inline-flex;height:", ";justify-content:center;width:", ";> span[role='img']{line-height:0;}", ";", ";"], (0, _toColorString.default)(status.information.medium), (0, _rem.default)(36), (0, _rem.default)(36), (0, _styledComponentsModifiers.applyStyleModifiers)(
|
|
58
|
+
})(["position:relative;align-items:center;background-color:", ";border-radius:50%;display:inline-flex;height:", ";justify-content:center;width:", ";> span[role='img']{line-height:0;}", ";", ";", ""], (0, _toColorString.default)(status.information.medium), (0, _rem.default)(36), (0, _rem.default)(36), (0, _styledComponentsModifiers.applyStyleModifiers)(sizeModifiers, 'size'), _palette.withBorderedPalette, withGravatarModifiers);
|
|
60
59
|
|
|
61
60
|
var _default = AvatarContainer;
|
|
62
61
|
exports.default = _default;
|