@pingux/astro 1.2.1 → 1.3.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 (78) hide show
  1. package/CHANGELOG.md +21 -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/CodeView/CodeView.js +3 -3
  11. package/lib/cjs/components/ListView/ListView.stories.js +3 -0
  12. package/lib/cjs/components/Loader/Loader.stories.js +3 -3
  13. package/lib/cjs/components/Modal/Modal.js +3 -0
  14. package/lib/cjs/components/Modal/Modal.stories.js +11 -66
  15. package/lib/cjs/components/NavBar/NavBar.js +30 -4
  16. package/lib/cjs/components/NavBar/NavBar.stories.js +70 -463
  17. package/lib/cjs/components/NavBar/NavBar.test.js +51 -1
  18. package/lib/cjs/components/NavBarSection/NavBarItem.js +137 -0
  19. package/lib/cjs/components/NavBarSection/NavBarItemButton.js +96 -0
  20. package/lib/cjs/components/NavBarSection/NavBarItemHeader.js +1 -1
  21. package/lib/cjs/components/NavBarSection/NavBarItemLink.js +98 -0
  22. package/lib/cjs/components/NavBarSection/NavBarSection.js +10 -8
  23. package/lib/cjs/components/NavBarSection/index.js +28 -1
  24. package/lib/cjs/components/SelectFieldBase/SelectFieldBase.js +8 -1
  25. package/lib/cjs/context/NavBarContext/index.js +20 -0
  26. package/lib/cjs/hooks/index.js +9 -0
  27. package/lib/cjs/hooks/useNavBarPress/index.js +18 -0
  28. package/lib/cjs/hooks/useNavBarPress/useNavBarPress.js +38 -0
  29. package/lib/cjs/hooks/useNavBarPress/useNavBarPress.test.js +42 -0
  30. package/lib/cjs/index.js +80 -58
  31. package/lib/cjs/styles/variants/accordion.js +39 -7
  32. package/lib/cjs/styles/variants/boxes.js +1 -24
  33. package/lib/cjs/styles/variants/buttons.js +7 -1
  34. package/lib/cjs/styles/variants/codeView.js +91 -0
  35. package/lib/cjs/styles/variants/navBar.js +68 -0
  36. package/lib/cjs/styles/variants/separator.js +2 -1
  37. package/lib/cjs/styles/variants/text.js +3 -1
  38. package/lib/cjs/styles/variants/variants.js +3 -0
  39. package/lib/components/AccordionGridGroup/AccordionGridGroup.js +7 -2
  40. package/lib/components/AccordionGridItem/AccordionGridItemBody.js +4 -2
  41. package/lib/components/AccordionGridItem/AccordionGridItemHeader.js +9 -4
  42. package/lib/components/ArrayField/ArrayField.js +179 -0
  43. package/lib/components/ArrayField/ArrayField.stories.js +196 -0
  44. package/lib/components/ArrayField/ArrayField.test.js +185 -0
  45. package/lib/components/ArrayField/ArrayFieldDeleteButton.js +43 -0
  46. package/lib/components/ArrayField/index.js +2 -0
  47. package/lib/components/CodeView/CodeView.js +2 -2
  48. package/lib/components/ListView/ListView.stories.js +3 -0
  49. package/lib/components/Loader/Loader.stories.js +1 -1
  50. package/lib/components/Modal/Modal.js +4 -1
  51. package/lib/components/Modal/Modal.stories.js +10 -59
  52. package/lib/components/NavBar/NavBar.js +25 -4
  53. package/lib/components/NavBar/NavBar.stories.js +71 -462
  54. package/lib/components/NavBar/NavBar.test.js +39 -2
  55. package/lib/components/NavBarSection/NavBarItem.js +111 -0
  56. package/lib/components/NavBarSection/NavBarItemButton.js +69 -0
  57. package/lib/components/NavBarSection/NavBarItemHeader.js +1 -1
  58. package/lib/components/NavBarSection/NavBarItemLink.js +71 -0
  59. package/lib/components/NavBarSection/NavBarSection.js +9 -8
  60. package/lib/components/NavBarSection/index.js +4 -1
  61. package/lib/components/SelectFieldBase/SelectFieldBase.js +8 -1
  62. package/lib/context/NavBarContext/index.js +5 -0
  63. package/lib/hooks/index.js +1 -0
  64. package/lib/hooks/useNavBarPress/index.js +1 -0
  65. package/lib/hooks/useNavBarPress/useNavBarPress.js +27 -0
  66. package/lib/hooks/useNavBarPress/useNavBarPress.test.js +36 -0
  67. package/lib/index.js +2 -0
  68. package/lib/styles/variants/accordion.js +26 -5
  69. package/lib/styles/variants/boxes.js +1 -24
  70. package/lib/styles/variants/buttons.js +7 -1
  71. package/lib/styles/variants/codeView.js +91 -0
  72. package/lib/styles/variants/navBar.js +46 -0
  73. package/lib/styles/variants/separator.js +2 -1
  74. package/lib/styles/variants/text.js +3 -1
  75. package/lib/styles/variants/variants.js +2 -0
  76. package/package.json +3 -1
  77. package/lib/cjs/recipes/ArrayField.stories.js +0 -169
  78. package/lib/recipes/ArrayField.stories.js +0 -134
@@ -0,0 +1,208 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
4
+
5
+ var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
6
+
7
+ var _react = _interopRequireDefault(require("react"));
8
+
9
+ var _ArrayField = _interopRequireDefault(require("./ArrayField"));
10
+
11
+ var _ArrayFieldDeleteButton = _interopRequireDefault(require("./ArrayFieldDeleteButton"));
12
+
13
+ var _TextField = _interopRequireDefault(require("../TextField"));
14
+
15
+ var _testWrapper = require("../../utils/testUtils/testWrapper");
16
+
17
+ var _react2 = require("@emotion/react");
18
+
19
+ jest.mock('uuid', function () {
20
+ return {
21
+ v4: function v4() {
22
+ return 'testid';
23
+ }
24
+ };
25
+ });
26
+ var defaultData = [{
27
+ id: '1',
28
+ value: 'Hello'
29
+ }, {
30
+ id: '2',
31
+ value: 'World'
32
+ }];
33
+ var defaultProps = {
34
+ defaultValue: defaultData
35
+ };
36
+
37
+ var getComponent = function getComponent() {
38
+ var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
39
+ return (0, _testWrapper.render)((0, _react2.jsx)(_ArrayField["default"], (0, _extends2["default"])({}, defaultProps, props)));
40
+ };
41
+
42
+ var renderField = function renderField(id, value, onFieldValueChange, onFieldDelete, otherFieldProps) {
43
+ return (0, _react2.jsx)(_TextField["default"], (0, _extends2["default"])({
44
+ label: "Text field",
45
+ value: value,
46
+ onChange: function onChange(e) {
47
+ return onFieldValueChange(e, id);
48
+ },
49
+ mr: "xs",
50
+ slots: {
51
+ inContainer: (0, _react2.jsx)(_ArrayFieldDeleteButton["default"], {
52
+ isDisabled: false,
53
+ onDelete: function onDelete() {
54
+ return onFieldDelete(id);
55
+ }
56
+ })
57
+ }
58
+ }, otherFieldProps));
59
+ };
60
+
61
+ test('displays multiple text fields', function () {
62
+ var onChange = jest.fn();
63
+ getComponent({
64
+ onChange: onChange,
65
+ renderField: renderField
66
+ });
67
+ expect(_testWrapper.screen.getAllByLabelText('Text field')).toHaveLength(2);
68
+ });
69
+ test('adds one text field and new empty field is added', function () {
70
+ getComponent({
71
+ renderField: renderField
72
+ });
73
+
74
+ _testWrapper.fireEvent.click(_testWrapper.screen.getByText('+ Add'));
75
+
76
+ expect(_testWrapper.screen.getAllByLabelText('Text field')).toHaveLength(3);
77
+ });
78
+ test('onAdd callback is fired when adding field', function () {
79
+ var onAdd = jest.fn();
80
+ getComponent({
81
+ onAdd: onAdd,
82
+ renderField: renderField
83
+ });
84
+
85
+ _testWrapper.fireEvent.click(_testWrapper.screen.getByText('+ Add'));
86
+
87
+ expect(onAdd).toHaveBeenCalled();
88
+ });
89
+ test('deletes one text field and only one field is left', function () {
90
+ getComponent({
91
+ renderField: renderField
92
+ });
93
+
94
+ _testWrapper.fireEvent.click(_testWrapper.screen.getAllByRole('button')[0]);
95
+
96
+ expect(_testWrapper.screen.getByLabelText('Text field')).toBeInTheDocument();
97
+ });
98
+ test('onDelete callback is fired when deleting field', function () {
99
+ var onDelete = jest.fn();
100
+ var value = defaultData;
101
+ var defaultValue = null;
102
+ getComponent({
103
+ value: value,
104
+ defaultValue: defaultValue,
105
+ onDelete: onDelete,
106
+ renderField: renderField
107
+ });
108
+
109
+ _testWrapper.fireEvent.click(_testWrapper.screen.getAllByRole('button')[0]);
110
+
111
+ expect(onDelete).toHaveBeenCalled();
112
+ });
113
+ test('Values are changed in text field', function () {
114
+ getComponent({
115
+ renderField: renderField
116
+ });
117
+
118
+ _testWrapper.fireEvent.change(_testWrapper.screen.getAllByLabelText('Text field')[0], {
119
+ target: {
120
+ value: '123'
121
+ }
122
+ });
123
+
124
+ expect(_testWrapper.screen.getByDisplayValue('123')).toBeInTheDocument();
125
+ });
126
+ test('onChange gets called when field values are changed', function () {
127
+ var onChange = jest.fn();
128
+ var value = defaultData;
129
+ var defaultValue = null;
130
+ getComponent({
131
+ value: value,
132
+ onChange: onChange,
133
+ renderField: renderField,
134
+ defaultValue: defaultValue
135
+ });
136
+
137
+ _testWrapper.fireEvent.change(_testWrapper.screen.getAllByLabelText('Text field')[0], {
138
+ target: {
139
+ value: '123'
140
+ }
141
+ });
142
+
143
+ expect(onChange).toHaveBeenNthCalledWith(1, [{
144
+ id: '1',
145
+ value: '123'
146
+ }, {
147
+ id: '2',
148
+ value: 'World'
149
+ }]);
150
+ });
151
+ test('onComponentRender displays fields correctly', function () {
152
+ var onChange = jest.fn();
153
+ var componentRenderData = [{
154
+ id: '1',
155
+ value: 'Hello',
156
+ onComponentRender: function onComponentRender(id, value, onFieldValueChange, onFieldDelete, otherFieldProps) {
157
+ return (0, _react2.jsx)(_TextField["default"], (0, _extends2["default"])({
158
+ label: "Text field",
159
+ value: value,
160
+ onChange: function onChange(e) {
161
+ return onFieldValueChange(e, id);
162
+ },
163
+ mr: "xs",
164
+ slots: {
165
+ inContainer: (0, _react2.jsx)(_ArrayFieldDeleteButton["default"], {
166
+ isDisabled: false,
167
+ onDelete: function onDelete() {
168
+ return onFieldDelete(id);
169
+ }
170
+ })
171
+ }
172
+ }, otherFieldProps));
173
+ }
174
+ }, {
175
+ id: '2',
176
+ value: 'World',
177
+ onComponentRender: function onComponentRender(id, value, onFieldValueChange, onFieldDelete, otherFieldProps) {
178
+ return (0, _react2.jsx)(_TextField["default"], (0, _extends2["default"])({
179
+ label: "Text field 2",
180
+ value: value,
181
+ onChange: function onChange(e) {
182
+ return onFieldValueChange(e, id);
183
+ },
184
+ mr: "xs",
185
+ slots: {
186
+ inContainer: (0, _react2.jsx)(_ArrayFieldDeleteButton["default"], {
187
+ isDisabled: false,
188
+ onDelete: function onDelete() {
189
+ return onFieldDelete(id);
190
+ }
191
+ })
192
+ }
193
+ }, otherFieldProps));
194
+ }
195
+ }];
196
+ (0, _testWrapper.render)((0, _react2.jsx)(_ArrayField["default"], {
197
+ defaultValue: componentRenderData,
198
+ onChange: onChange
199
+ }));
200
+ expect(_testWrapper.screen.getByLabelText('Text field')).toBeInTheDocument();
201
+ expect(_testWrapper.screen.getByLabelText('Text field 2')).toBeInTheDocument();
202
+ });
203
+ test('creates empty field when no data passed', function () {
204
+ (0, _testWrapper.render)((0, _react2.jsx)(_ArrayField["default"], {
205
+ renderField: renderField
206
+ }));
207
+ expect(_testWrapper.screen.getByLabelText('Text field')).toBeInTheDocument();
208
+ });
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
4
+
5
+ var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
6
+
7
+ _Object$defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+
11
+ exports["default"] = void 0;
12
+
13
+ var _react = _interopRequireDefault(require("react"));
14
+
15
+ var _propTypes = _interopRequireDefault(require("prop-types"));
16
+
17
+ var _TrashIcon = _interopRequireDefault(require("mdi-react/TrashIcon"));
18
+
19
+ var _Icon = _interopRequireDefault(require("../Icon"));
20
+
21
+ var _IconButton = _interopRequireDefault(require("../IconButton"));
22
+
23
+ var _react2 = require("@emotion/react");
24
+
25
+ var ArrayFieldDeleteButton = function ArrayFieldDeleteButton(_ref) {
26
+ var label = _ref.label,
27
+ isDisabled = _ref.isDisabled,
28
+ id = _ref.id,
29
+ onDelete = _ref.onDelete;
30
+ return (0, _react2.jsx)(_IconButton["default"], {
31
+ onPress: function onPress() {
32
+ return onDelete(id);
33
+ },
34
+ isDisabled: isDisabled,
35
+ sx: {
36
+ position: 'absolute',
37
+ right: -35,
38
+ width: 32,
39
+ height: 32,
40
+ top: 5,
41
+ cursor: 'pointer'
42
+ },
43
+ title: label
44
+ }, (0, _react2.jsx)(_Icon["default"], {
45
+ icon: _TrashIcon["default"],
46
+ size: 20,
47
+ color: "neutral.40"
48
+ }));
49
+ };
50
+
51
+ ArrayFieldDeleteButton.propTypes = {
52
+ label: _propTypes["default"].string,
53
+ id: _propTypes["default"].number,
54
+ isDisabled: _propTypes["default"].bool,
55
+ onDelete: _propTypes["default"].func
56
+ };
57
+ ArrayFieldDeleteButton.defaultProps = {
58
+ label: 'Delete field'
59
+ };
60
+ var _default = ArrayFieldDeleteButton;
61
+ exports["default"] = _default;
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
4
+
5
+ var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
6
+
7
+ _Object$defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+
11
+ _Object$defineProperty(exports, "default", {
12
+ enumerable: true,
13
+ get: function get() {
14
+ return _ArrayField["default"];
15
+ }
16
+ });
17
+
18
+ _Object$defineProperty(exports, "ArrayFieldDeleteButton", {
19
+ enumerable: true,
20
+ get: function get() {
21
+ return _ArrayFieldDeleteButton["default"];
22
+ }
23
+ });
24
+
25
+ var _ArrayField = _interopRequireDefault(require("./ArrayField"));
26
+
27
+ var _ArrayFieldDeleteButton = _interopRequireDefault(require("./ArrayFieldDeleteButton"));
@@ -50,12 +50,12 @@ var _utils = require("@react-aria/utils");
50
50
 
51
51
  var _prismReactRenderer = _interopRequireWildcard(require("prism-react-renderer"));
52
52
 
53
- var _github = _interopRequireDefault(require("prism-react-renderer/themes/github"));
54
-
55
53
  var _hooks = require("../../hooks");
56
54
 
57
55
  var _ = require("../..");
58
56
 
57
+ var _codeView = _interopRequireDefault(require("../../styles/variants/codeView"));
58
+
59
59
  var _react2 = require("@emotion/react");
60
60
 
61
61
  function ownKeys(object, enumerableOnly) { var keys = (0, _keys["default"])(object); if (_getOwnPropertySymbols["default"]) { var symbols = (0, _getOwnPropertySymbols["default"])(object); if (enumerableOnly) symbols = (0, _filter["default"])(symbols).call(symbols, function (sym) { return (0, _getOwnPropertyDescriptor["default"])(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
@@ -96,7 +96,7 @@ var CodeView = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
96
96
  };
97
97
 
98
98
  var content = (0, _react2.jsx)(_prismReactRenderer["default"], (0, _extends2["default"])({}, _prismReactRenderer.defaultProps, {
99
- theme: _github["default"],
99
+ theme: _codeView["default"].theme,
100
100
  code: (children === null || children === void 0 ? void 0 : (0, _trim["default"])(children).call(children)) || '',
101
101
  language: language
102
102
  }), function (_ref) {
@@ -773,6 +773,9 @@ InfiniteLoadingList.parameters = {
773
773
  description: {
774
774
  story: 'Note: Keep in mind the maxHeight may impact when the scroll callback is triggered. If you notice it\'s being called too often, try adjusting that value or loading more objects to prevent this behavior.'
775
775
  }
776
+ },
777
+ chromatic: {
778
+ delay: 5000
776
779
  }
777
780
  };
778
781
 
@@ -8,7 +8,7 @@ _Object$defineProperty(exports, "__esModule", {
8
8
  value: true
9
9
  });
10
10
 
11
- exports.LoaderWithMostCommonColor = exports.Default = exports["default"] = void 0;
11
+ exports.CustomColor = exports.Default = exports["default"] = void 0;
12
12
 
13
13
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/slicedToArray"));
14
14
 
@@ -54,10 +54,10 @@ var Default = function Default(args) {
54
54
 
55
55
  exports.Default = Default;
56
56
 
57
- var LoaderWithMostCommonColor = function LoaderWithMostCommonColor() {
57
+ var CustomColor = function CustomColor() {
58
58
  return (0, _react2.jsx)(_["default"], {
59
59
  color: "neutral.60"
60
60
  });
61
61
  };
62
62
 
63
- exports.LoaderWithMostCommonColor = LoaderWithMostCommonColor;
63
+ exports.CustomColor = CustomColor;
@@ -121,6 +121,9 @@ var Modal = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
121
121
  }),
122
122
  classNames = _useStatusClasses.classNames;
123
123
 
124
+ (0, _hooks.useDeprecationWarning)('The "dark" variant for Modal will be deprecated in Astro-UI 2.0.0.', {
125
+ isActive: others.variant === 'modal.dark'
126
+ });
124
127
  return (0, _react2.jsx)(_overlays.OverlayContainer, null, (0, _react2.jsx)(_Box["default"], (0, _extends2["default"])({
125
128
  className: classNames,
126
129
  variant: "modal.container"
@@ -1,7 +1,5 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireWildcard = require("@babel/runtime-corejs3/helpers/interopRequireWildcard");
4
-
5
3
  var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
6
4
 
7
5
  var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
@@ -10,13 +8,11 @@ _Object$defineProperty(exports, "__esModule", {
10
8
  value: true
11
9
  });
12
10
 
13
- exports.DarkVariant = exports.Default = exports["default"] = void 0;
11
+ exports.Default = exports["default"] = void 0;
14
12
 
15
13
  var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
16
14
 
17
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/slicedToArray"));
18
-
19
- var _react = _interopRequireWildcard(require("react"));
15
+ var _react = _interopRequireDefault(require("react"));
20
16
 
21
17
  var _hooks = require("../../hooks");
22
18
 
@@ -32,7 +28,7 @@ var _default = {
32
28
  control: {
33
29
  type: 'text'
34
30
  },
35
- defaultValue: 'Delete Group'
31
+ defaultValue: 'Continue'
36
32
  },
37
33
  role: {},
38
34
  id: {
@@ -40,7 +36,9 @@ var _default = {
40
36
  type: 'text'
41
37
  }
42
38
  },
43
- hasCloseButton: {},
39
+ hasCloseButton: {
40
+ defaultValue: true
41
+ },
44
42
  isClosedOnBlur: {},
45
43
  isDismissable: {},
46
44
  isKeyboardDismissDisabled: {},
@@ -90,16 +88,6 @@ exports["default"] = _default;
90
88
 
91
89
  var Default = function Default(args) {
92
90
  var state = (0, _hooks.useModalState)();
93
-
94
- var _useState = (0, _react.useState)(''),
95
- _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
96
- inputValue = _useState2[0],
97
- setInputValue = _useState2[1];
98
-
99
- var onTextFieldChange = (0, _react.useCallback)(function (_ref) {
100
- var value = _ref.target.value;
101
- setInputValue(value.toUpperCase());
102
- }, []);
103
91
  return (// Application must be wrapped in an OverlayProvider so that it can be hidden from screen
104
92
  // readers when an overlay opens.
105
93
  (0, _react2.jsx)(_index.OverlayProvider, null, (0, _react2.jsx)(_index.Button, {
@@ -110,59 +98,16 @@ var Default = function Default(args) {
110
98
  onClose: state.close
111
99
  }), (0, _react2.jsx)(_index.Text, {
112
100
  pt: "lg"
113
- }, "Deleting a group ", (0, _react2.jsx)("strong", null, "\"Marketing\""), " cannot be undone. Users will lose access to the applications."), (0, _react2.jsx)(_index.Text, {
114
- pt: "lg"
115
- }, "Type the word DELETE to confirm deletion of this group"), (0, _react2.jsx)(_index.TextField, {
116
- value: inputValue,
117
- onChange: onTextFieldChange,
118
- "aria-label": "user input"
119
- }), (0, _react2.jsx)(_index.Box, {
120
- isRow: true,
121
- pt: "lg",
122
- mr: "auto"
123
- }, (0, _react2.jsx)(_index.Button, {
124
- variant: "critical",
125
- onPress: state.close,
126
- mr: "md",
127
- isDisabled: Boolean(inputValue !== 'DELETE'),
128
- "aria-label": "Delete"
129
- }, "Delete"), (0, _react2.jsx)(_index.Button, {
130
- onPress: state.close,
131
- "aria-label": "Cancel"
132
- }, "Cancel"))))
133
- );
134
- };
135
-
136
- exports.Default = Default;
137
-
138
- var DarkVariant = function DarkVariant() {
139
- var state = (0, _hooks.useModalState)();
140
- return (// Application must be wrapped in an OverlayProvider so that it can be hidden from screen
141
- // readers when a modal opens.
142
- (0, _react2.jsx)(_index.OverlayProvider, null, (0, _react2.jsx)(_index.Button, {
143
- onPress: state.open,
144
- "aria-label": "Open modal"
145
- }, "Open Modal"), state.isOpen && (0, _react2.jsx)(_index.Modal, {
146
- variant: "modal.dark",
147
- title: "Question",
148
- isOpen: state.isOpen,
149
- onClose: state.close,
150
- isDismissable: true,
151
- hasCloseButton: true
152
- }, (0, _react2.jsx)(_index.Text, {
153
- variant: "subtitle",
154
- color: "white",
155
- pt: "lg"
156
- }, "Would you ever really just click a button?"), (0, _react2.jsx)(_index.Box, {
101
+ }, "Do you want to continue with this action that you\u2018re performing?"), (0, _react2.jsx)(_index.Box, {
157
102
  isRow: true,
158
103
  pt: "lg",
159
104
  mr: "auto"
160
105
  }, (0, _react2.jsx)(_index.Button, {
161
106
  variant: "primary",
162
- mr: "md",
163
107
  onPress: state.close,
164
- "aria-label": "Yes"
165
- }, "Yes"), (0, _react2.jsx)(_index.Button, {
108
+ mr: "md",
109
+ "aria-label": "Continue"
110
+ }, "Continue"), (0, _react2.jsx)(_index.Button, {
166
111
  variant: "link",
167
112
  onPress: state.close,
168
113
  "aria-label": "Cancel"
@@ -170,4 +115,4 @@ var DarkVariant = function DarkVariant() {
170
115
  );
171
116
  };
172
117
 
173
- exports.DarkVariant = DarkVariant;
118
+ exports.Default = Default;
@@ -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;