@pingux/astro 1.2.1 → 1.3.2-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +38 -0
- package/lib/cjs/components/AccordionGridGroup/AccordionGridGroup.js +8 -2
- package/lib/cjs/components/AccordionGridItem/AccordionGridItemBody.js +5 -2
- package/lib/cjs/components/AccordionGridItem/AccordionGridItemHeader.js +8 -3
- package/lib/cjs/components/ArrayField/ArrayField.js +213 -0
- package/lib/cjs/components/ArrayField/ArrayField.stories.js +223 -0
- package/lib/cjs/components/ArrayField/ArrayField.test.js +208 -0
- package/lib/cjs/components/ArrayField/ArrayFieldDeleteButton.js +61 -0
- package/lib/cjs/components/ArrayField/index.js +27 -0
- package/lib/cjs/components/CheckboxField/CheckboxField.js +4 -1
- package/lib/cjs/components/CodeView/CodeView.js +3 -3
- package/lib/cjs/components/Input/Input.js +3 -11
- package/lib/cjs/components/Input/Input.test.js +14 -2
- package/lib/cjs/components/ListView/ListView.stories.js +3 -0
- package/lib/cjs/components/Loader/Loader.stories.js +3 -3
- package/lib/cjs/components/Modal/Modal.js +3 -0
- package/lib/cjs/components/Modal/Modal.stories.js +11 -66
- package/lib/cjs/components/MultivaluesField/MultivaluesField.js +20 -10
- package/lib/cjs/components/MultivaluesField/MultivaluesField.test.js +74 -0
- package/lib/cjs/components/NavBar/NavBar.js +30 -4
- package/lib/cjs/components/NavBar/NavBar.stories.js +70 -463
- package/lib/cjs/components/NavBar/NavBar.test.js +51 -1
- package/lib/cjs/components/NavBarSection/NavBarItem.js +137 -0
- package/lib/cjs/components/NavBarSection/NavBarItemButton.js +96 -0
- package/lib/cjs/components/NavBarSection/NavBarItemHeader.js +1 -1
- package/lib/cjs/components/NavBarSection/NavBarItemLink.js +98 -0
- package/lib/cjs/components/NavBarSection/NavBarSection.js +10 -8
- package/lib/cjs/components/NavBarSection/index.js +28 -1
- package/lib/cjs/components/NumberField/NumberField.js +30 -10
- package/lib/cjs/components/NumberField/NumberField.test.js +7 -0
- package/lib/cjs/components/PageHeader/PageHeader.js +3 -0
- package/lib/cjs/components/PageHeader/PageHeader.stories.js +6 -1
- package/lib/cjs/components/RadioGroupField/RadioGroupField.js +9 -5
- package/lib/cjs/components/SelectField/SelectField.stories.js +3 -55
- package/lib/cjs/components/SelectFieldBase/SelectFieldBase.js +8 -1
- package/lib/cjs/components/Tabs/Tabs.stories.js +1 -15
- package/lib/cjs/context/NavBarContext/index.js +20 -0
- package/lib/cjs/hooks/index.js +9 -0
- package/lib/cjs/hooks/useField/useField.js +2 -2
- package/lib/cjs/hooks/useNavBarPress/index.js +18 -0
- package/lib/cjs/hooks/useNavBarPress/useNavBarPress.js +38 -0
- package/lib/cjs/hooks/useNavBarPress/useNavBarPress.test.js +42 -0
- package/lib/cjs/index.js +80 -58
- package/lib/cjs/styles/forms/checkbox.js +0 -1
- package/lib/cjs/styles/forms/input.js +1 -1
- package/lib/cjs/styles/forms/label.js +3 -0
- package/lib/cjs/styles/forms/radio.js +1 -1
- package/lib/cjs/styles/forms/switch.js +3 -1
- package/lib/cjs/styles/variants/accordion.js +39 -7
- package/lib/cjs/styles/variants/boxes.js +5 -25
- package/lib/cjs/styles/variants/buttons.js +7 -1
- package/lib/cjs/styles/variants/codeView.js +91 -0
- package/lib/cjs/styles/variants/navBar.js +68 -0
- package/lib/cjs/styles/variants/separator.js +2 -1
- package/lib/cjs/styles/variants/text.js +3 -1
- package/lib/cjs/styles/variants/variants.js +3 -0
- package/lib/components/AccordionGridGroup/AccordionGridGroup.js +7 -2
- package/lib/components/AccordionGridItem/AccordionGridItemBody.js +4 -2
- package/lib/components/AccordionGridItem/AccordionGridItemHeader.js +9 -4
- package/lib/components/ArrayField/ArrayField.js +179 -0
- package/lib/components/ArrayField/ArrayField.stories.js +196 -0
- package/lib/components/ArrayField/ArrayField.test.js +185 -0
- package/lib/components/ArrayField/ArrayFieldDeleteButton.js +43 -0
- package/lib/components/ArrayField/index.js +2 -0
- package/lib/components/CheckboxField/CheckboxField.js +4 -1
- package/lib/components/CodeView/CodeView.js +2 -2
- package/lib/components/Input/Input.js +2 -10
- package/lib/components/Input/Input.test.js +11 -2
- package/lib/components/ListView/ListView.stories.js +3 -0
- package/lib/components/Loader/Loader.stories.js +1 -1
- package/lib/components/Modal/Modal.js +4 -1
- package/lib/components/Modal/Modal.stories.js +10 -59
- package/lib/components/MultivaluesField/MultivaluesField.js +19 -9
- package/lib/components/MultivaluesField/MultivaluesField.test.js +52 -0
- package/lib/components/NavBar/NavBar.js +25 -4
- package/lib/components/NavBar/NavBar.stories.js +71 -462
- package/lib/components/NavBar/NavBar.test.js +39 -2
- package/lib/components/NavBarSection/NavBarItem.js +111 -0
- package/lib/components/NavBarSection/NavBarItemButton.js +69 -0
- package/lib/components/NavBarSection/NavBarItemHeader.js +1 -1
- package/lib/components/NavBarSection/NavBarItemLink.js +71 -0
- package/lib/components/NavBarSection/NavBarSection.js +9 -8
- package/lib/components/NavBarSection/index.js +4 -1
- package/lib/components/NumberField/NumberField.js +32 -12
- package/lib/components/NumberField/NumberField.test.js +5 -0
- package/lib/components/PageHeader/PageHeader.js +2 -0
- package/lib/components/PageHeader/PageHeader.stories.js +5 -1
- package/lib/components/RadioGroupField/RadioGroupField.js +9 -5
- package/lib/components/SelectField/SelectField.stories.js +2 -50
- package/lib/components/SelectFieldBase/SelectFieldBase.js +8 -1
- package/lib/components/Tabs/Tabs.stories.js +0 -11
- package/lib/context/NavBarContext/index.js +5 -0
- package/lib/hooks/index.js +1 -0
- package/lib/hooks/useField/useField.js +2 -2
- package/lib/hooks/useNavBarPress/index.js +1 -0
- package/lib/hooks/useNavBarPress/useNavBarPress.js +27 -0
- package/lib/hooks/useNavBarPress/useNavBarPress.test.js +36 -0
- package/lib/index.js +2 -0
- package/lib/styles/forms/checkbox.js +0 -1
- package/lib/styles/forms/input.js +1 -1
- package/lib/styles/forms/label.js +3 -0
- package/lib/styles/forms/radio.js +1 -1
- package/lib/styles/forms/switch.js +3 -1
- package/lib/styles/variants/accordion.js +26 -5
- package/lib/styles/variants/boxes.js +5 -25
- package/lib/styles/variants/buttons.js +7 -1
- package/lib/styles/variants/codeView.js +91 -0
- package/lib/styles/variants/navBar.js +46 -0
- package/lib/styles/variants/separator.js +2 -1
- package/lib/styles/variants/text.js +3 -1
- package/lib/styles/variants/variants.js +2 -0
- package/package.json +3 -1
- package/lib/cjs/layouts/ListLayout.stories.js +0 -895
- package/lib/cjs/layouts/SchemaFormLayout.stories.js +0 -139
- package/lib/cjs/recipes/ArrayField.stories.js +0 -169
- package/lib/layouts/ListLayout.stories.js +0 -866
- package/lib/layouts/SchemaFormLayout.stories.js +0 -107
- package/lib/recipes/ArrayField.stories.js +0 -134
@@ -276,6 +276,80 @@ test('changing the input value and hitting enter creates new value in non-restri
|
|
276
276
|
var chipContainer = chip.parentElement;
|
277
277
|
expect(chipContainer).toHaveAttribute('role', 'presentation');
|
278
278
|
});
|
279
|
+
test('in non-restrictive mode "onSelectionChange" returns entered keys', function () {
|
280
|
+
var onSelectionChange = jest.fn();
|
281
|
+
getComponent({
|
282
|
+
mode: 'non-restrictive',
|
283
|
+
onSelectionChange: onSelectionChange
|
284
|
+
});
|
285
|
+
|
286
|
+
var input = _testWrapper.screen.getByRole('combobox');
|
287
|
+
|
288
|
+
var value = 'custom';
|
289
|
+
|
290
|
+
_userEvent["default"].type(input, value);
|
291
|
+
|
292
|
+
_userEvent["default"].type(input, '{enter}');
|
293
|
+
|
294
|
+
var chip = _testWrapper.screen.queryByText(value);
|
295
|
+
|
296
|
+
expect(chip).toBeInTheDocument();
|
297
|
+
expect(onSelectionChange).toBeCalledTimes(1);
|
298
|
+
expect(onSelectionChange.mock.calls[0][0].has(value)).toBeTruthy();
|
299
|
+
});
|
300
|
+
test('in non-restrictive mode the same value cannot be applied twice', function () {
|
301
|
+
var onSelectionChange = jest.fn();
|
302
|
+
getComponent({
|
303
|
+
mode: 'non-restrictive',
|
304
|
+
onSelectionChange: onSelectionChange
|
305
|
+
});
|
306
|
+
|
307
|
+
var input = _testWrapper.screen.getByRole('combobox');
|
308
|
+
|
309
|
+
var value = 'custom';
|
310
|
+
|
311
|
+
_userEvent["default"].type(input, value);
|
312
|
+
|
313
|
+
_userEvent["default"].type(input, '{enter}');
|
314
|
+
|
315
|
+
var chip = _testWrapper.screen.queryByText(value);
|
316
|
+
|
317
|
+
expect(chip).toBeInTheDocument();
|
318
|
+
expect(input).toHaveValue('');
|
319
|
+
|
320
|
+
_userEvent["default"].type(input, value);
|
321
|
+
|
322
|
+
_userEvent["default"].type(input, '{enter}');
|
323
|
+
|
324
|
+
expect(input).toHaveValue(value);
|
325
|
+
expect(onSelectionChange).toBeCalledTimes(1);
|
326
|
+
});
|
327
|
+
test('in non-restrictive mode the value that was already selected using the list cannot be applied', function () {
|
328
|
+
var onSelectionChange = jest.fn();
|
329
|
+
getComponent({
|
330
|
+
mode: 'non-restrictive',
|
331
|
+
onSelectionChange: onSelectionChange
|
332
|
+
});
|
333
|
+
|
334
|
+
var input = _testWrapper.screen.getByRole('combobox');
|
335
|
+
|
336
|
+
input.focus();
|
337
|
+
|
338
|
+
var listbox = _testWrapper.screen.getByRole('listbox');
|
339
|
+
|
340
|
+
var options = (0, _testWrapper.within)(listbox).getAllByRole('option');
|
341
|
+
var firstOption = options[0];
|
342
|
+
firstOption.click();
|
343
|
+
expect(onSelectionChange.mock.calls[0][0].has(items[0].name)).toBeTruthy();
|
344
|
+
onSelectionChange.mockClear();
|
345
|
+
|
346
|
+
_userEvent["default"].type(input, items[0].name);
|
347
|
+
|
348
|
+
_userEvent["default"].type(input, '{enter}');
|
349
|
+
|
350
|
+
expect(input).toHaveValue(items[0].name);
|
351
|
+
expect(onSelectionChange).not.toBeCalled();
|
352
|
+
});
|
279
353
|
test('options can be focused via keyboard', function () {
|
280
354
|
getComponent();
|
281
355
|
|
@@ -1,5 +1,7 @@
|
|
1
1
|
"use strict";
|
2
2
|
|
3
|
+
var _interopRequireWildcard = require("@babel/runtime-corejs3/helpers/interopRequireWildcard");
|
4
|
+
|
3
5
|
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
4
6
|
|
5
7
|
var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
|
@@ -10,7 +12,13 @@ _Object$defineProperty(exports, "__esModule", {
|
|
10
12
|
|
11
13
|
exports["default"] = void 0;
|
12
14
|
|
13
|
-
var
|
15
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/slicedToArray"));
|
16
|
+
|
17
|
+
var _react = _interopRequireWildcard(require("react"));
|
18
|
+
|
19
|
+
var _NavBarContext = require("../../context/NavBarContext");
|
20
|
+
|
21
|
+
var _isIterable = require("../../utils/devUtils/props/isIterable");
|
14
22
|
|
15
23
|
var _Box = _interopRequireDefault(require("../Box/Box"));
|
16
24
|
|
@@ -27,12 +35,30 @@ var _react2 = require("@emotion/react");
|
|
27
35
|
*
|
28
36
|
*/
|
29
37
|
var NavBar = function NavBar(props) {
|
30
|
-
|
31
|
-
|
38
|
+
var defaultSelectedKeys = props.defaultSelectedKeys;
|
39
|
+
|
40
|
+
var _useState = (0, _react.useState)(defaultSelectedKeys),
|
41
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
42
|
+
selectedKeys = _useState2[0],
|
43
|
+
setSelectedKeys = _useState2[1];
|
44
|
+
|
45
|
+
return (0, _react2.jsx)(_NavBarContext.NavBarContext.Provider, {
|
46
|
+
value: {
|
47
|
+
selectedKeys: selectedKeys,
|
48
|
+
setSelectedKeys: setSelectedKeys
|
49
|
+
}
|
50
|
+
}, (0, _react2.jsx)(_Box["default"], {
|
51
|
+
variant: "navBar.container",
|
32
52
|
role: "navigation",
|
33
53
|
as: "nav"
|
34
|
-
}, props.children);
|
54
|
+
}, props.children));
|
35
55
|
};
|
36
56
|
|
57
|
+
NavBar.propTypes = {
|
58
|
+
defaultSelectedKeys: _isIterable.isIterableProp
|
59
|
+
};
|
60
|
+
NavBar.defaultProps = {
|
61
|
+
defaultSelectedKeys: []
|
62
|
+
};
|
37
63
|
var _default = NavBar;
|
38
64
|
exports["default"] = _default;
|