@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.
Files changed (118) hide show
  1. package/CHANGELOG.md +38 -0
  2. package/lib/cjs/components/AccordionGridGroup/AccordionGridGroup.js +8 -2
  3. package/lib/cjs/components/AccordionGridItem/AccordionGridItemBody.js +5 -2
  4. package/lib/cjs/components/AccordionGridItem/AccordionGridItemHeader.js +8 -3
  5. package/lib/cjs/components/ArrayField/ArrayField.js +213 -0
  6. package/lib/cjs/components/ArrayField/ArrayField.stories.js +223 -0
  7. package/lib/cjs/components/ArrayField/ArrayField.test.js +208 -0
  8. package/lib/cjs/components/ArrayField/ArrayFieldDeleteButton.js +61 -0
  9. package/lib/cjs/components/ArrayField/index.js +27 -0
  10. package/lib/cjs/components/CheckboxField/CheckboxField.js +4 -1
  11. package/lib/cjs/components/CodeView/CodeView.js +3 -3
  12. package/lib/cjs/components/Input/Input.js +3 -11
  13. package/lib/cjs/components/Input/Input.test.js +14 -2
  14. package/lib/cjs/components/ListView/ListView.stories.js +3 -0
  15. package/lib/cjs/components/Loader/Loader.stories.js +3 -3
  16. package/lib/cjs/components/Modal/Modal.js +3 -0
  17. package/lib/cjs/components/Modal/Modal.stories.js +11 -66
  18. package/lib/cjs/components/MultivaluesField/MultivaluesField.js +20 -10
  19. package/lib/cjs/components/MultivaluesField/MultivaluesField.test.js +74 -0
  20. package/lib/cjs/components/NavBar/NavBar.js +30 -4
  21. package/lib/cjs/components/NavBar/NavBar.stories.js +70 -463
  22. package/lib/cjs/components/NavBar/NavBar.test.js +51 -1
  23. package/lib/cjs/components/NavBarSection/NavBarItem.js +137 -0
  24. package/lib/cjs/components/NavBarSection/NavBarItemButton.js +96 -0
  25. package/lib/cjs/components/NavBarSection/NavBarItemHeader.js +1 -1
  26. package/lib/cjs/components/NavBarSection/NavBarItemLink.js +98 -0
  27. package/lib/cjs/components/NavBarSection/NavBarSection.js +10 -8
  28. package/lib/cjs/components/NavBarSection/index.js +28 -1
  29. package/lib/cjs/components/NumberField/NumberField.js +30 -10
  30. package/lib/cjs/components/NumberField/NumberField.test.js +7 -0
  31. package/lib/cjs/components/PageHeader/PageHeader.js +3 -0
  32. package/lib/cjs/components/PageHeader/PageHeader.stories.js +6 -1
  33. package/lib/cjs/components/RadioGroupField/RadioGroupField.js +9 -5
  34. package/lib/cjs/components/SelectField/SelectField.stories.js +3 -55
  35. package/lib/cjs/components/SelectFieldBase/SelectFieldBase.js +8 -1
  36. package/lib/cjs/components/Tabs/Tabs.stories.js +1 -15
  37. package/lib/cjs/context/NavBarContext/index.js +20 -0
  38. package/lib/cjs/hooks/index.js +9 -0
  39. package/lib/cjs/hooks/useField/useField.js +2 -2
  40. package/lib/cjs/hooks/useNavBarPress/index.js +18 -0
  41. package/lib/cjs/hooks/useNavBarPress/useNavBarPress.js +38 -0
  42. package/lib/cjs/hooks/useNavBarPress/useNavBarPress.test.js +42 -0
  43. package/lib/cjs/index.js +80 -58
  44. package/lib/cjs/styles/forms/checkbox.js +0 -1
  45. package/lib/cjs/styles/forms/input.js +1 -1
  46. package/lib/cjs/styles/forms/label.js +3 -0
  47. package/lib/cjs/styles/forms/radio.js +1 -1
  48. package/lib/cjs/styles/forms/switch.js +3 -1
  49. package/lib/cjs/styles/variants/accordion.js +39 -7
  50. package/lib/cjs/styles/variants/boxes.js +5 -25
  51. package/lib/cjs/styles/variants/buttons.js +7 -1
  52. package/lib/cjs/styles/variants/codeView.js +91 -0
  53. package/lib/cjs/styles/variants/navBar.js +68 -0
  54. package/lib/cjs/styles/variants/separator.js +2 -1
  55. package/lib/cjs/styles/variants/text.js +3 -1
  56. package/lib/cjs/styles/variants/variants.js +3 -0
  57. package/lib/components/AccordionGridGroup/AccordionGridGroup.js +7 -2
  58. package/lib/components/AccordionGridItem/AccordionGridItemBody.js +4 -2
  59. package/lib/components/AccordionGridItem/AccordionGridItemHeader.js +9 -4
  60. package/lib/components/ArrayField/ArrayField.js +179 -0
  61. package/lib/components/ArrayField/ArrayField.stories.js +196 -0
  62. package/lib/components/ArrayField/ArrayField.test.js +185 -0
  63. package/lib/components/ArrayField/ArrayFieldDeleteButton.js +43 -0
  64. package/lib/components/ArrayField/index.js +2 -0
  65. package/lib/components/CheckboxField/CheckboxField.js +4 -1
  66. package/lib/components/CodeView/CodeView.js +2 -2
  67. package/lib/components/Input/Input.js +2 -10
  68. package/lib/components/Input/Input.test.js +11 -2
  69. package/lib/components/ListView/ListView.stories.js +3 -0
  70. package/lib/components/Loader/Loader.stories.js +1 -1
  71. package/lib/components/Modal/Modal.js +4 -1
  72. package/lib/components/Modal/Modal.stories.js +10 -59
  73. package/lib/components/MultivaluesField/MultivaluesField.js +19 -9
  74. package/lib/components/MultivaluesField/MultivaluesField.test.js +52 -0
  75. package/lib/components/NavBar/NavBar.js +25 -4
  76. package/lib/components/NavBar/NavBar.stories.js +71 -462
  77. package/lib/components/NavBar/NavBar.test.js +39 -2
  78. package/lib/components/NavBarSection/NavBarItem.js +111 -0
  79. package/lib/components/NavBarSection/NavBarItemButton.js +69 -0
  80. package/lib/components/NavBarSection/NavBarItemHeader.js +1 -1
  81. package/lib/components/NavBarSection/NavBarItemLink.js +71 -0
  82. package/lib/components/NavBarSection/NavBarSection.js +9 -8
  83. package/lib/components/NavBarSection/index.js +4 -1
  84. package/lib/components/NumberField/NumberField.js +32 -12
  85. package/lib/components/NumberField/NumberField.test.js +5 -0
  86. package/lib/components/PageHeader/PageHeader.js +2 -0
  87. package/lib/components/PageHeader/PageHeader.stories.js +5 -1
  88. package/lib/components/RadioGroupField/RadioGroupField.js +9 -5
  89. package/lib/components/SelectField/SelectField.stories.js +2 -50
  90. package/lib/components/SelectFieldBase/SelectFieldBase.js +8 -1
  91. package/lib/components/Tabs/Tabs.stories.js +0 -11
  92. package/lib/context/NavBarContext/index.js +5 -0
  93. package/lib/hooks/index.js +1 -0
  94. package/lib/hooks/useField/useField.js +2 -2
  95. package/lib/hooks/useNavBarPress/index.js +1 -0
  96. package/lib/hooks/useNavBarPress/useNavBarPress.js +27 -0
  97. package/lib/hooks/useNavBarPress/useNavBarPress.test.js +36 -0
  98. package/lib/index.js +2 -0
  99. package/lib/styles/forms/checkbox.js +0 -1
  100. package/lib/styles/forms/input.js +1 -1
  101. package/lib/styles/forms/label.js +3 -0
  102. package/lib/styles/forms/radio.js +1 -1
  103. package/lib/styles/forms/switch.js +3 -1
  104. package/lib/styles/variants/accordion.js +26 -5
  105. package/lib/styles/variants/boxes.js +5 -25
  106. package/lib/styles/variants/buttons.js +7 -1
  107. package/lib/styles/variants/codeView.js +91 -0
  108. package/lib/styles/variants/navBar.js +46 -0
  109. package/lib/styles/variants/separator.js +2 -1
  110. package/lib/styles/variants/text.js +3 -1
  111. package/lib/styles/variants/variants.js +2 -0
  112. package/package.json +3 -1
  113. package/lib/cjs/layouts/ListLayout.stories.js +0 -895
  114. package/lib/cjs/layouts/SchemaFormLayout.stories.js +0 -139
  115. package/lib/cjs/recipes/ArrayField.stories.js +0 -169
  116. package/lib/layouts/ListLayout.stories.js +0 -866
  117. package/lib/layouts/SchemaFormLayout.stories.js +0 -107
  118. 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 _react = _interopRequireDefault(require("react"));
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
- return (0, _react2.jsx)(_Box["default"], {
31
- variant: "boxes.navBar",
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;