@pingux/astro 1.2.0-alpha.9 → 1.3.1

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 (167) hide show
  1. package/CHANGELOG.md +81 -0
  2. package/lib/cjs/components/AccordionGridGroup/AccordionGridGroup.js +35 -22
  3. package/lib/cjs/components/AccordionGridGroup/AccordionGridGroup.stories.js +148 -169
  4. package/lib/cjs/components/AccordionGridGroup/AccordionGridGroup.test.js +25 -30
  5. package/lib/cjs/components/AccordionGridItem/AccordionGridItem.js +29 -14
  6. package/lib/cjs/components/AccordionGridItem/AccordionGridItemBody.js +8 -5
  7. package/lib/cjs/components/AccordionGridItem/AccordionGridItemHeader.js +20 -17
  8. package/lib/cjs/components/AccordionGroup/AccordionGroup.js +2 -1
  9. package/lib/cjs/components/AccordionGroup/AccordionGroup.test.js +20 -1
  10. package/lib/cjs/components/ArrayField/ArrayField.js +213 -0
  11. package/lib/cjs/components/ArrayField/ArrayField.stories.js +223 -0
  12. package/lib/cjs/components/ArrayField/ArrayField.test.js +208 -0
  13. package/lib/cjs/components/ArrayField/ArrayFieldDeleteButton.js +61 -0
  14. package/lib/cjs/components/ArrayField/index.js +27 -0
  15. package/lib/cjs/components/Breadcrumbs/Breadcrumbs.stories.js +3 -3
  16. package/lib/cjs/components/Button/Button.js +14 -2
  17. package/lib/cjs/components/Button/Button.stories.js +33 -33
  18. package/lib/cjs/components/CheckboxField/CheckboxField.js +4 -1
  19. package/lib/cjs/components/CodeView/CodeView.js +3 -3
  20. package/lib/cjs/components/EnvironmentBreadcrumb/EnvironmentBreadcrumb.js +5 -3
  21. package/lib/cjs/components/Input/Input.js +3 -11
  22. package/lib/cjs/components/Input/Input.test.js +14 -2
  23. package/lib/cjs/components/Link/Link.js +2 -1
  24. package/lib/cjs/components/ListView/ListView.js +9 -13
  25. package/lib/cjs/components/ListView/ListView.stories.js +3 -0
  26. package/lib/cjs/components/ListViewItem/ListViewItem.js +15 -3
  27. package/lib/cjs/components/Loader/Loader.stories.js +3 -3
  28. package/lib/cjs/components/Modal/Modal.js +3 -0
  29. package/lib/cjs/components/Modal/Modal.stories.js +12 -67
  30. package/lib/cjs/components/MultivaluesField/MultivaluesField.js +10 -2
  31. package/lib/cjs/components/NavBar/NavBar.js +30 -4
  32. package/lib/cjs/components/NavBar/NavBar.stories.js +70 -463
  33. package/lib/cjs/components/NavBar/NavBar.test.js +51 -1
  34. package/lib/cjs/components/NavBarSection/NavBarItem.js +137 -0
  35. package/lib/cjs/components/NavBarSection/NavBarItemButton.js +96 -0
  36. package/lib/cjs/components/NavBarSection/NavBarItemHeader.js +1 -1
  37. package/lib/cjs/components/NavBarSection/NavBarItemLink.js +98 -0
  38. package/lib/cjs/components/NavBarSection/NavBarSection.js +10 -8
  39. package/lib/cjs/components/NavBarSection/index.js +28 -1
  40. package/lib/cjs/components/NumberField/NumberField.js +30 -10
  41. package/lib/cjs/components/NumberField/NumberField.test.js +7 -0
  42. package/lib/cjs/components/PageHeader/PageHeader.js +3 -0
  43. package/lib/cjs/components/PageHeader/PageHeader.stories.js +6 -1
  44. package/lib/cjs/components/RadioGroupField/RadioGroupField.js +9 -5
  45. package/lib/cjs/components/RockerButton/RockerButton.js +14 -22
  46. package/lib/cjs/components/RockerButtonGroup/RockerButtonGroup.js +5 -9
  47. package/lib/cjs/components/RockerButtonGroup/RockerButtonGroup.stories.js +4 -22
  48. package/lib/cjs/components/RockerButtonGroup/RockerButtonGroup.test.js +5 -14
  49. package/lib/cjs/components/SearchField/SearchField.stories.js +1 -15
  50. package/lib/cjs/components/SelectField/SelectField.stories.js +3 -55
  51. package/lib/cjs/components/SelectFieldBase/SelectFieldBase.js +8 -1
  52. package/lib/cjs/components/Tabs/Tabs.stories.js +1 -15
  53. package/lib/cjs/components/TextAreaField/TextAreaField.js +54 -9
  54. package/lib/cjs/components/TextAreaField/TextAreaField.stories.js +31 -52
  55. package/lib/cjs/components/TextAreaField/TextAreaField.test.js +12 -0
  56. package/lib/cjs/context/AccordionGridContext/index.js +20 -0
  57. package/lib/cjs/context/NavBarContext/index.js +20 -0
  58. package/lib/cjs/hooks/index.js +9 -0
  59. package/lib/cjs/hooks/useAriaLabelWarning/useAriaLabelWarning.js +2 -1
  60. package/lib/cjs/hooks/useField/useField.js +7 -2
  61. package/lib/cjs/{components/AccordionGridGroup/AccordionGridContext.js → hooks/useNavBarPress/index.js} +7 -6
  62. package/lib/cjs/hooks/useNavBarPress/useNavBarPress.js +38 -0
  63. package/lib/cjs/hooks/useNavBarPress/useNavBarPress.test.js +42 -0
  64. package/lib/cjs/hooks/useRockerButton/useRockerButton.js +4 -6
  65. package/lib/cjs/index.js +80 -58
  66. package/lib/cjs/recipes/ConditionalFilter.stories.js +7 -3
  67. package/lib/cjs/recipes/RadioButtonsWithLinks.stories.js +1 -1
  68. package/lib/cjs/styles/forms/checkbox.js +0 -1
  69. package/lib/cjs/styles/forms/input.js +1 -1
  70. package/lib/cjs/styles/forms/label.js +3 -0
  71. package/lib/cjs/styles/forms/radio.js +1 -1
  72. package/lib/cjs/styles/forms/switch.js +3 -1
  73. package/lib/cjs/styles/variants/accordion.js +39 -7
  74. package/lib/cjs/styles/variants/boxes.js +14 -25
  75. package/lib/cjs/styles/variants/buttons.js +27 -1
  76. package/lib/cjs/styles/variants/codeView.js +91 -0
  77. package/lib/cjs/styles/variants/navBar.js +68 -0
  78. package/lib/cjs/styles/variants/separator.js +2 -1
  79. package/lib/cjs/styles/variants/text.js +3 -1
  80. package/lib/cjs/styles/variants/variants.js +3 -0
  81. package/lib/components/AccordionGridGroup/AccordionGridGroup.js +35 -22
  82. package/lib/components/AccordionGridGroup/AccordionGridGroup.stories.js +143 -166
  83. package/lib/components/AccordionGridGroup/AccordionGridGroup.test.js +24 -25
  84. package/lib/components/AccordionGridItem/AccordionGridItem.js +29 -15
  85. package/lib/components/AccordionGridItem/AccordionGridItemBody.js +8 -6
  86. package/lib/components/AccordionGridItem/AccordionGridItemHeader.js +22 -18
  87. package/lib/components/AccordionGroup/AccordionGroup.js +2 -1
  88. package/lib/components/AccordionGroup/AccordionGroup.test.js +16 -2
  89. package/lib/components/ArrayField/ArrayField.js +179 -0
  90. package/lib/components/ArrayField/ArrayField.stories.js +196 -0
  91. package/lib/components/ArrayField/ArrayField.test.js +185 -0
  92. package/lib/components/ArrayField/ArrayFieldDeleteButton.js +43 -0
  93. package/lib/components/ArrayField/index.js +2 -0
  94. package/lib/components/Breadcrumbs/Breadcrumbs.stories.js +3 -3
  95. package/lib/components/Button/Button.js +15 -3
  96. package/lib/components/Button/Button.stories.js +17 -15
  97. package/lib/components/CheckboxField/CheckboxField.js +4 -1
  98. package/lib/components/CodeView/CodeView.js +2 -2
  99. package/lib/components/EnvironmentBreadcrumb/EnvironmentBreadcrumb.js +5 -3
  100. package/lib/components/Input/Input.js +2 -10
  101. package/lib/components/Input/Input.test.js +11 -2
  102. package/lib/components/Link/Link.js +2 -1
  103. package/lib/components/ListView/ListView.js +9 -12
  104. package/lib/components/ListView/ListView.stories.js +3 -0
  105. package/lib/components/ListViewItem/ListViewItem.js +14 -3
  106. package/lib/components/Loader/Loader.stories.js +1 -1
  107. package/lib/components/Modal/Modal.js +4 -1
  108. package/lib/components/Modal/Modal.stories.js +11 -60
  109. package/lib/components/MultivaluesField/MultivaluesField.js +9 -2
  110. package/lib/components/NavBar/NavBar.js +25 -4
  111. package/lib/components/NavBar/NavBar.stories.js +71 -462
  112. package/lib/components/NavBar/NavBar.test.js +39 -2
  113. package/lib/components/NavBarSection/NavBarItem.js +111 -0
  114. package/lib/components/NavBarSection/NavBarItemButton.js +69 -0
  115. package/lib/components/NavBarSection/NavBarItemHeader.js +1 -1
  116. package/lib/components/NavBarSection/NavBarItemLink.js +71 -0
  117. package/lib/components/NavBarSection/NavBarSection.js +9 -8
  118. package/lib/components/NavBarSection/index.js +4 -1
  119. package/lib/components/NumberField/NumberField.js +32 -12
  120. package/lib/components/NumberField/NumberField.test.js +5 -0
  121. package/lib/components/PageHeader/PageHeader.js +2 -0
  122. package/lib/components/PageHeader/PageHeader.stories.js +5 -1
  123. package/lib/components/RadioGroupField/RadioGroupField.js +9 -5
  124. package/lib/components/RockerButton/RockerButton.js +14 -21
  125. package/lib/components/RockerButtonGroup/RockerButtonGroup.js +5 -9
  126. package/lib/components/RockerButtonGroup/RockerButtonGroup.stories.js +2 -17
  127. package/lib/components/RockerButtonGroup/RockerButtonGroup.test.js +5 -11
  128. package/lib/components/SearchField/SearchField.stories.js +0 -11
  129. package/lib/components/SelectField/SelectField.stories.js +2 -50
  130. package/lib/components/SelectFieldBase/SelectFieldBase.js +8 -1
  131. package/lib/components/Tabs/Tabs.stories.js +0 -11
  132. package/lib/components/TextAreaField/TextAreaField.js +54 -10
  133. package/lib/components/TextAreaField/TextAreaField.stories.js +26 -42
  134. package/lib/components/TextAreaField/TextAreaField.test.js +13 -0
  135. package/lib/context/AccordionGridContext/index.js +5 -0
  136. package/lib/context/NavBarContext/index.js +5 -0
  137. package/lib/hooks/index.js +1 -0
  138. package/lib/hooks/useAriaLabelWarning/useAriaLabelWarning.js +2 -1
  139. package/lib/hooks/useField/useField.js +7 -2
  140. package/lib/hooks/useNavBarPress/index.js +1 -0
  141. package/lib/hooks/useNavBarPress/useNavBarPress.js +27 -0
  142. package/lib/hooks/useNavBarPress/useNavBarPress.test.js +36 -0
  143. package/lib/hooks/useRockerButton/useRockerButton.js +4 -6
  144. package/lib/index.js +2 -0
  145. package/lib/recipes/ConditionalFilter.stories.js +7 -3
  146. package/lib/recipes/RadioButtonsWithLinks.stories.js +1 -1
  147. package/lib/styles/forms/checkbox.js +0 -1
  148. package/lib/styles/forms/input.js +1 -1
  149. package/lib/styles/forms/label.js +3 -0
  150. package/lib/styles/forms/radio.js +1 -1
  151. package/lib/styles/forms/switch.js +3 -1
  152. package/lib/styles/variants/accordion.js +26 -5
  153. package/lib/styles/variants/boxes.js +14 -25
  154. package/lib/styles/variants/buttons.js +27 -1
  155. package/lib/styles/variants/codeView.js +91 -0
  156. package/lib/styles/variants/navBar.js +46 -0
  157. package/lib/styles/variants/separator.js +2 -1
  158. package/lib/styles/variants/text.js +3 -1
  159. package/lib/styles/variants/variants.js +2 -0
  160. package/package.json +4 -2
  161. package/lib/cjs/layouts/ListLayout.stories.js +0 -895
  162. package/lib/cjs/layouts/SchemaFormLayout.stories.js +0 -139
  163. package/lib/cjs/recipes/ArrayField.stories.js +0 -169
  164. package/lib/components/AccordionGridGroup/AccordionGridContext.js +0 -2
  165. package/lib/layouts/ListLayout.stories.js +0 -866
  166. package/lib/layouts/SchemaFormLayout.stories.js +0 -107
  167. package/lib/recipes/ArrayField.stories.js +0 -134
@@ -0,0 +1,223 @@
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.Controlled = exports.Uncontrolled = exports["default"] = void 0;
12
+
13
+ var _filter = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/filter"));
14
+
15
+ var _concat = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/concat"));
16
+
17
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/slicedToArray"));
18
+
19
+ var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
20
+
21
+ var _react = _interopRequireDefault(require("react"));
22
+
23
+ var _overlays = require("@react-aria/overlays");
24
+
25
+ var _uuid = require("uuid");
26
+
27
+ var _index = require("../../index");
28
+
29
+ var _react2 = require("@emotion/react");
30
+
31
+ var _default = {
32
+ title: 'Form/ArrayField',
33
+ parameters: {
34
+ actions: {
35
+ argTypesRegex: '^on.*'
36
+ },
37
+ docs: {
38
+ source: {
39
+ type: 'code'
40
+ }
41
+ }
42
+ },
43
+ argTypes: {
44
+ label: {
45
+ defaultValue: 'Array field label',
46
+ control: {
47
+ type: 'text'
48
+ }
49
+ },
50
+ helperText: {
51
+ defaultValue: 'Helper text info...',
52
+ control: {
53
+ type: 'text'
54
+ }
55
+ },
56
+ addButtonLabel: {
57
+ defaultValue: '+ Add field',
58
+ control: {
59
+ type: 'text'
60
+ }
61
+ }
62
+ }
63
+ };
64
+ exports["default"] = _default;
65
+ var defaultData = [{
66
+ id: (0, _uuid.v4)(),
67
+ value: 'Hello'
68
+ }, {
69
+ id: (0, _uuid.v4)(),
70
+ value: 'World'
71
+ }];
72
+
73
+ var Uncontrolled = function Uncontrolled(_ref) {
74
+ var args = (0, _extends2["default"])({}, _ref);
75
+ return (0, _react2.jsx)(_index.ArrayField, (0, _extends2["default"])({
76
+ defaultValue: defaultData,
77
+ renderField: function renderField(id, fieldValue, onFieldValueChange, onFieldDelete, isDisabled, otherFieldProps) {
78
+ return (0, _react2.jsx)(_index.TextField, (0, _extends2["default"])({
79
+ "aria-label": "Text field",
80
+ value: fieldValue,
81
+ onChange: function onChange(e) {
82
+ return onFieldValueChange(e, id);
83
+ },
84
+ mr: "xs",
85
+ slots: {
86
+ inContainer: (0, _react2.jsx)(_index.ArrayFieldDeleteButton, {
87
+ isDisabled: isDisabled,
88
+ onDelete: function onDelete() {
89
+ return onFieldDelete(id);
90
+ }
91
+ })
92
+ }
93
+ }, otherFieldProps));
94
+ },
95
+ sx: {
96
+ width: '400px'
97
+ }
98
+ }, args));
99
+ };
100
+
101
+ exports.Uncontrolled = Uncontrolled;
102
+
103
+ var Controlled = function Controlled() {
104
+ var defaultDataSelectField = [{
105
+ id: (0, _uuid.v4)(),
106
+ fieldValue: 'red',
107
+ onComponentRender: function onComponentRender(id, fieldValue, onFieldValueChange, onFieldDelete, isDisabled, otherFieldProps) {
108
+ return (0, _react2.jsx)(_overlays.OverlayProvider, null, (0, _react2.jsx)(_index.SelectField, (0, _extends2["default"])({
109
+ defaultSelectedKey: fieldValue,
110
+ onSelectionChange: function onSelectionChange(e) {
111
+ return onFieldValueChange(e, id);
112
+ },
113
+ width: "100%",
114
+ slots: {
115
+ inContainer: (0, _react2.jsx)(_index.ArrayFieldDeleteButton, {
116
+ isDisabled: isDisabled,
117
+ onDelete: function onDelete() {
118
+ return onFieldDelete(id);
119
+ }
120
+ })
121
+ }
122
+ }, otherFieldProps), (0, _react2.jsx)(_index.Item, {
123
+ key: "red"
124
+ }, "Red"), (0, _react2.jsx)(_index.Item, {
125
+ key: "blue"
126
+ }, "Blue"), (0, _react2.jsx)(_index.Item, {
127
+ key: "yellow"
128
+ }, "Yellow")));
129
+ }
130
+ }, {
131
+ id: (0, _uuid.v4)(),
132
+ fieldValue: 'black',
133
+ onComponentRender: function onComponentRender(id, fieldValue, onFieldValueChange, onFieldDelete, isDisabled, otherFieldProps) {
134
+ return (0, _react2.jsx)(_overlays.OverlayProvider, null, (0, _react2.jsx)(_index.SelectField, (0, _extends2["default"])({
135
+ defaultSelectedKey: fieldValue,
136
+ onSelectionChange: function onSelectionChange(key) {
137
+ return onFieldValueChange(key, id);
138
+ },
139
+ width: "100%",
140
+ slots: {
141
+ inContainer: (0, _react2.jsx)(_index.ArrayFieldDeleteButton, {
142
+ isDisabled: isDisabled,
143
+ onDelete: function onDelete() {
144
+ return onFieldDelete(id);
145
+ }
146
+ })
147
+ }
148
+ }, otherFieldProps), (0, _react2.jsx)(_index.Item, {
149
+ key: "orange"
150
+ }, "Orange"), (0, _react2.jsx)(_index.Item, {
151
+ key: "purple"
152
+ }, "Purple"), (0, _react2.jsx)(_index.Item, {
153
+ key: "black"
154
+ }, "Black")));
155
+ }
156
+ }];
157
+ var defaultEmptyField = {
158
+ id: (0, _uuid.v4)(),
159
+ fieldValue: 'blue',
160
+ onComponentRender: function onComponentRender(id, fieldValue, onFieldValueChange, onFieldDelete, isDisabled, otherFieldProps) {
161
+ return (0, _react2.jsx)(_overlays.OverlayProvider, null, (0, _react2.jsx)(_index.SelectField, (0, _extends2["default"])({
162
+ defaultSelectedKey: fieldValue,
163
+ onSelectionChange: function onSelectionChange(e) {
164
+ return onFieldValueChange(e, id);
165
+ },
166
+ width: "100%",
167
+ slots: {
168
+ inContainer: (0, _react2.jsx)(_index.ArrayFieldDeleteButton, {
169
+ isDisabled: isDisabled,
170
+ onDelete: function onDelete() {
171
+ return onFieldDelete(id);
172
+ }
173
+ })
174
+ }
175
+ }, otherFieldProps), (0, _react2.jsx)(_index.Item, {
176
+ key: "blue"
177
+ }, "Blue"), (0, _react2.jsx)(_index.Item, {
178
+ key: "teal"
179
+ }, "Teal"), (0, _react2.jsx)(_index.Item, {
180
+ key: "turquoise"
181
+ }, "Turquoise")));
182
+ }
183
+ };
184
+
185
+ var _React$useState = _react["default"].useState(defaultDataSelectField),
186
+ _React$useState2 = (0, _slicedToArray2["default"])(_React$useState, 2),
187
+ fieldValues = _React$useState2[0],
188
+ setFieldValues = _React$useState2[1];
189
+
190
+ function handleOnChange(values) {
191
+ setFieldValues(values);
192
+ }
193
+
194
+ function handleOnAdd() {
195
+ setFieldValues(function (oldValues) {
196
+ var _context;
197
+
198
+ return (0, _concat["default"])(_context = []).call(_context, oldValues, [defaultEmptyField]);
199
+ });
200
+ }
201
+
202
+ function handleOnDelete(fieldId) {
203
+ setFieldValues(function (oldValues) {
204
+ return (0, _filter["default"])(oldValues).call(oldValues, function (_ref2) {
205
+ var id = _ref2.id;
206
+ return id !== fieldId;
207
+ });
208
+ });
209
+ }
210
+
211
+ return (0, _react2.jsx)(_index.ArrayField, {
212
+ value: fieldValues,
213
+ helperText: "Here is some helpful text...",
214
+ onAdd: handleOnAdd,
215
+ onChange: handleOnChange,
216
+ onDelete: handleOnDelete,
217
+ sx: {
218
+ width: '400px'
219
+ }
220
+ });
221
+ };
222
+
223
+ exports.Controlled = Controlled;
@@ -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"));
@@ -63,15 +63,15 @@ var Default = function Default(args) {
63
63
  onAction: onAction
64
64
  }, args), (0, _react2.jsx)(_collections.Item, {
65
65
  key: "home",
66
- variant: "text",
66
+ variant: "link",
67
67
  "data-id": "home"
68
68
  }, "Home"), (0, _react2.jsx)(_collections.Item, {
69
69
  key: "trendy",
70
- variant: "text",
70
+ variant: "link",
71
71
  "data-id": "trendy"
72
72
  }, "Trendy"), (0, _react2.jsx)(_collections.Item, {
73
73
  key: "march 2020 assets",
74
- variant: "text",
74
+ variant: "link",
75
75
  "data-id": "march"
76
76
  }, "March 2020 Assets"));
77
77
  };
@@ -71,7 +71,8 @@ var Button = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
71
71
  onPressChange = props.onPressChange,
72
72
  onPressUp = props.onPressUp,
73
73
  children = props.children,
74
- others = (0, _objectWithoutProperties2["default"])(props, ["className", "isDisabled", "isLoading", "onHoverStart", "onHoverChange", "onHoverEnd", "onPress", "onPressStart", "onPressEnd", "onPressChange", "onPressUp", "children"]);
74
+ variant = props.variant,
75
+ others = (0, _objectWithoutProperties2["default"])(props, ["className", "isDisabled", "isLoading", "onHoverStart", "onHoverChange", "onHoverEnd", "onPress", "onPressStart", "onPressEnd", "onPressChange", "onPressUp", "children", "variant"]);
75
76
  var buttonRef = (0, _react.useRef)();
76
77
  (0, _hooks.usePropWarning)(props, 'disabled', 'isDisabled');
77
78
  /* istanbul ignore next */
@@ -102,7 +103,17 @@ var Button = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
102
103
  }),
103
104
  classNames = _useStatusClasses.classNames;
104
105
 
106
+ (0, _hooks.useDeprecationWarning)('The "icon" variant for `Button` is deprecated in Astro-UI 1.0.0, use the `IconButton` component instead.', {
107
+ isActive: props.variant === 'icon'
108
+ });
109
+ (0, _hooks.useDeprecationWarning)('The "danger" variant for `Button` will be deprecated in Astro-UI 2.0.0, use the `critical` variant instead.', {
110
+ isActive: props.variant === 'danger'
111
+ });
112
+ (0, _hooks.useDeprecationWarning)('The "text" variant for `Button` will be deprecated in Astro-UI 2.0.0, use the `link` variant instead.', {
113
+ isActive: props.variant === 'text'
114
+ });
105
115
  var ariaLabel = props['aria-label'];
116
+ (0, _hooks.useAriaLabelWarning)('Button', ariaLabel, variant === 'filter');
106
117
  return (0, _react2.jsx)(_themeUi.Button, (0, _extends2["default"])({
107
118
  "aria-label": ariaLabel,
108
119
  ref: buttonRef,
@@ -113,7 +124,8 @@ var Button = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
113
124
  display: 'flex',
114
125
  justifyContent: 'center',
115
126
  alignItems: 'center'
116
- }
127
+ },
128
+ variant: variant
117
129
  }, others, (0, _utils.mergeProps)(hoverProps, focusProps, buttonProps)), isLoading ? (0, _react2.jsx)("span", {
118
130
  style: {
119
131
  visibility: 'hidden'