@pingux/astro 1.10.1-alpha.0 → 1.10.1-alpha.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.
@@ -30,6 +30,8 @@ exports["default"] = void 0;
30
30
 
31
31
  var _values = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/values"));
32
32
 
33
+ var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
34
+
33
35
  var _concat = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/concat"));
34
36
 
35
37
  var _filter = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/filter"));
@@ -46,8 +48,12 @@ var _react = _interopRequireWildcard(require("react"));
46
48
 
47
49
  var _propTypes = _interopRequireDefault(require("prop-types"));
48
50
 
51
+ var _utils = require("@react-aria/utils");
52
+
49
53
  var _uuid = require("uuid");
50
54
 
55
+ var _label = require("@react-aria/label");
56
+
51
57
  var _Box = _interopRequireDefault(require("../Box"));
52
58
 
53
59
  var _Button = _interopRequireDefault(require("../Button"));
@@ -56,13 +62,15 @@ var _FieldHelperText = _interopRequireDefault(require("../FieldHelperText"));
56
62
 
57
63
  var _Text = _interopRequireDefault(require("../Text"));
58
64
 
65
+ var _Label = _interopRequireDefault(require("../Label"));
66
+
59
67
  var _statuses = _interopRequireDefault(require("../../utils/devUtils/constants/statuses"));
60
68
 
61
69
  var _isValidPositiveInt = _interopRequireDefault(require("../../utils/devUtils/props/isValidPositiveInt"));
62
70
 
63
71
  var _react2 = require("@emotion/react");
64
72
 
65
- var _excluded = ["addButtonLabel", "defaultValue", "value", "label", "helperText", "status", "onAdd", "onChange", "onDelete", "renderField", "maxSize", "maxSizeText"],
73
+ var _excluded = ["addButtonLabel", "defaultValue", "value", "label", "helperText", "status", "onAdd", "onChange", "onDelete", "renderField", "labelProps", "maxSize", "maxSizeText"],
66
74
  _excluded2 = ["id", "onComponentRender", "fieldValue"];
67
75
 
68
76
  function _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== "function") return null; var cacheBabelInterop = new _WeakMap(); var cacheNodeInterop = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
@@ -73,22 +81,23 @@ function ownKeys(object, enumerableOnly) { var keys = _Object$keys(object); if (
73
81
 
74
82
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var _context3, _context4; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty(_context3 = ownKeys(Object(source), !0)).call(_context3, function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : _forEachInstanceProperty(_context4 = ownKeys(Object(source))).call(_context4, function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
75
83
 
76
- var ArrayField = function ArrayField(_ref) {
84
+ var ArrayField = function ArrayField(props) {
77
85
  var _context2;
78
86
 
79
- var addButtonLabel = _ref.addButtonLabel,
80
- defaultValue = _ref.defaultValue,
81
- value = _ref.value,
82
- label = _ref.label,
83
- helperText = _ref.helperText,
84
- status = _ref.status,
85
- onAdd = _ref.onAdd,
86
- onChange = _ref.onChange,
87
- onDelete = _ref.onDelete,
88
- renderField = _ref.renderField,
89
- maxSize = _ref.maxSize,
90
- maxSizeText = _ref.maxSizeText,
91
- others = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
87
+ var addButtonLabel = props.addButtonLabel,
88
+ defaultValue = props.defaultValue,
89
+ value = props.value,
90
+ label = props.label,
91
+ helperText = props.helperText,
92
+ status = props.status,
93
+ onAdd = props.onAdd,
94
+ onChange = props.onChange,
95
+ onDelete = props.onDelete,
96
+ renderField = props.renderField,
97
+ labelProps = props.labelProps,
98
+ maxSize = props.maxSize,
99
+ maxSizeText = props.maxSizeText,
100
+ others = (0, _objectWithoutProperties2["default"])(props, _excluded);
92
101
  var isControlled = value !== undefined;
93
102
  var createEmptyField = (0, _react.useCallback)(function () {
94
103
  return {
@@ -133,8 +142,8 @@ var ArrayField = function ArrayField(_ref) {
133
142
  onDelete(fieldId);
134
143
  } else {
135
144
  setFieldValues(function (oldValues) {
136
- return (0, _filter["default"])(oldValues).call(oldValues, function (_ref2) {
137
- var id = _ref2.id;
145
+ return (0, _filter["default"])(oldValues).call(oldValues, function (_ref) {
146
+ var id = _ref.id;
138
147
  return id !== fieldId;
139
148
  });
140
149
  });
@@ -151,17 +160,21 @@ var ArrayField = function ArrayField(_ref) {
151
160
  return (0, _concat["default"])(_context = []).call(_context, oldValues, [createEmptyField()]);
152
161
  });
153
162
  }, [createEmptyField, onAdd]);
163
+
164
+ var _useLabel = (0, _label.useLabel)(_objectSpread({}, props)),
165
+ raLabelProps = _useLabel.labelProps;
166
+
154
167
  var isLimitReached = !!maxSize && (value || fieldValues).length >= maxSize;
155
- return (0, _react2.jsx)(_Box["default"], others, (0, _react2.jsx)(_Text["default"], {
156
- variant: "label"
157
- }, label), (0, _react2.jsx)(_Box["default"], {
168
+ return (0, _react2.jsx)(_Box["default"], others, (0, _react2.jsx)(_Label["default"], (0, _extends2["default"])({}, raLabelProps, (0, _utils.mergeProps)(labelProps, raLabelProps, {
169
+ children: label
170
+ }))), (0, _react2.jsx)(_Box["default"], {
158
171
  as: "ul",
159
172
  pl: "0"
160
- }, (0, _map["default"])(_context2 = value || fieldValues).call(_context2, function (_ref3) {
161
- var id = _ref3.id,
162
- onComponentRender = _ref3.onComponentRender,
163
- fieldValue = _ref3.fieldValue,
164
- otherFieldProps = (0, _objectWithoutProperties2["default"])(_ref3, _excluded2);
173
+ }, (0, _map["default"])(_context2 = value || fieldValues).call(_context2, function (_ref2) {
174
+ var id = _ref2.id,
175
+ onComponentRender = _ref2.onComponentRender,
176
+ fieldValue = _ref2.fieldValue,
177
+ otherFieldProps = (0, _objectWithoutProperties2["default"])(_ref2, _excluded2);
165
178
  var isDisabled = (value || fieldValues).length === 1;
166
179
  return (0, _react2.jsx)(_Box["default"], {
167
180
  as: "li",
@@ -204,6 +217,9 @@ ArrayField.propTypes = {
204
217
  /** The rendered label for the field. */
205
218
  label: _propTypes["default"].node,
206
219
 
220
+ /** Props object that is spread directly into the label element. */
221
+ labelProps: _propTypes["default"].shape({}),
222
+
207
223
  /** Text to display before add button. Useful for errors or other info. */
208
224
  helperText: _propTypes["default"].node,
209
225
 
@@ -84,6 +84,15 @@ var Uncontrolled = function Uncontrolled(_ref) {
84
84
  var args = (0, _extends2["default"])({}, _ref);
85
85
  return (0, _react2.jsx)(_index.ArrayField, (0, _extends2["default"])({
86
86
  defaultValue: defaultData,
87
+ labelProps: {
88
+ hintText: 'Example Hint',
89
+ isRequired: true,
90
+ helpHintProps: {
91
+ tooltipProps: {
92
+ direction: 'top'
93
+ }
94
+ }
95
+ },
87
96
  renderField: function renderField(id, fieldValue, onFieldValueChange, onFieldDelete, isDisabled, otherFieldProps) {
88
97
  return (0, _react2.jsx)(_index.TextField, (0, _extends2["default"])({
89
98
  "aria-label": "Text field",
@@ -36,7 +36,9 @@ var defaultProps = {
36
36
 
37
37
  var getComponent = function getComponent() {
38
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)));
39
+ return (0, _testWrapper.render)((0, _react2.jsx)(_ArrayField["default"], (0, _extends2["default"])({
40
+ label: "test-label"
41
+ }, defaultProps, props)));
40
42
  };
41
43
 
42
44
  var renderField = function renderField(id, value, onFieldValueChange, onFieldDelete, otherFieldProps) {
@@ -194,6 +196,7 @@ test('onComponentRender displays fields correctly', function () {
194
196
  }
195
197
  }];
196
198
  (0, _testWrapper.render)((0, _react2.jsx)(_ArrayField["default"], {
199
+ label: "test-label",
197
200
  defaultValue: componentRenderData,
198
201
  onChange: onChange
199
202
  }));
@@ -202,6 +205,7 @@ test('onComponentRender displays fields correctly', function () {
202
205
  });
203
206
  test('creates empty field when no data passed', function () {
204
207
  (0, _testWrapper.render)((0, _react2.jsx)(_ArrayField["default"], {
208
+ label: "test-label",
205
209
  renderField: renderField
206
210
  }));
207
211
  expect(_testWrapper.screen.getByLabelText('Text field')).toBeInTheDocument();
@@ -6,13 +6,14 @@ import _Object$getOwnPropertyDescriptor from "@babel/runtime-corejs3/core-js-sta
6
6
  import _Object$getOwnPropertySymbols from "@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols";
7
7
  import _Object$keys from "@babel/runtime-corejs3/core-js-stable/object/keys";
8
8
  import _Object$values from "@babel/runtime-corejs3/core-js-stable/object/values";
9
+ import _extends from "@babel/runtime-corejs3/helpers/esm/extends";
9
10
  import _concatInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/concat";
10
11
  import _filterInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/filter";
11
12
  import _defineProperty from "@babel/runtime-corejs3/helpers/esm/defineProperty";
12
13
  import _mapInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/map";
13
14
  import _slicedToArray from "@babel/runtime-corejs3/helpers/esm/slicedToArray";
14
15
  import _objectWithoutProperties from "@babel/runtime-corejs3/helpers/esm/objectWithoutProperties";
15
- var _excluded = ["addButtonLabel", "defaultValue", "value", "label", "helperText", "status", "onAdd", "onChange", "onDelete", "renderField", "maxSize", "maxSizeText"],
16
+ var _excluded = ["addButtonLabel", "defaultValue", "value", "label", "helperText", "status", "onAdd", "onChange", "onDelete", "renderField", "labelProps", "maxSize", "maxSizeText"],
16
17
  _excluded2 = ["id", "onComponentRender", "fieldValue"];
17
18
 
18
19
  function ownKeys(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); enumerableOnly && (symbols = _filterInstanceProperty(symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
@@ -21,31 +22,35 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
21
22
 
22
23
  import React, { useCallback, useState } from 'react';
23
24
  import PropTypes from 'prop-types';
25
+ import { mergeProps } from '@react-aria/utils';
24
26
  import { v4 as uuid } from 'uuid';
27
+ import { useLabel } from '@react-aria/label';
25
28
  import Box from '../Box';
26
29
  import Button from '../Button';
27
30
  import FieldHelperText from '../FieldHelperText';
28
31
  import Text from '../Text';
32
+ import Label from '../Label';
29
33
  import statuses from '../../utils/devUtils/constants/statuses';
30
34
  import isValidPositiveInt from '../../utils/devUtils/props/isValidPositiveInt';
31
35
  import { jsx as ___EmotionJSX } from "@emotion/react";
32
36
 
33
- var ArrayField = function ArrayField(_ref) {
37
+ var ArrayField = function ArrayField(props) {
34
38
  var _context2;
35
39
 
36
- var addButtonLabel = _ref.addButtonLabel,
37
- defaultValue = _ref.defaultValue,
38
- value = _ref.value,
39
- label = _ref.label,
40
- helperText = _ref.helperText,
41
- status = _ref.status,
42
- onAdd = _ref.onAdd,
43
- onChange = _ref.onChange,
44
- onDelete = _ref.onDelete,
45
- renderField = _ref.renderField,
46
- maxSize = _ref.maxSize,
47
- maxSizeText = _ref.maxSizeText,
48
- others = _objectWithoutProperties(_ref, _excluded);
40
+ var addButtonLabel = props.addButtonLabel,
41
+ defaultValue = props.defaultValue,
42
+ value = props.value,
43
+ label = props.label,
44
+ helperText = props.helperText,
45
+ status = props.status,
46
+ onAdd = props.onAdd,
47
+ onChange = props.onChange,
48
+ onDelete = props.onDelete,
49
+ renderField = props.renderField,
50
+ labelProps = props.labelProps,
51
+ maxSize = props.maxSize,
52
+ maxSizeText = props.maxSizeText,
53
+ others = _objectWithoutProperties(props, _excluded);
49
54
 
50
55
  var isControlled = value !== undefined;
51
56
  var createEmptyField = useCallback(function () {
@@ -91,8 +96,8 @@ var ArrayField = function ArrayField(_ref) {
91
96
  onDelete(fieldId);
92
97
  } else {
93
98
  setFieldValues(function (oldValues) {
94
- return _filterInstanceProperty(oldValues).call(oldValues, function (_ref2) {
95
- var id = _ref2.id;
99
+ return _filterInstanceProperty(oldValues).call(oldValues, function (_ref) {
100
+ var id = _ref.id;
96
101
  return id !== fieldId;
97
102
  });
98
103
  });
@@ -109,17 +114,21 @@ var ArrayField = function ArrayField(_ref) {
109
114
  return _concatInstanceProperty(_context = []).call(_context, oldValues, [createEmptyField()]);
110
115
  });
111
116
  }, [createEmptyField, onAdd]);
117
+
118
+ var _useLabel = useLabel(_objectSpread({}, props)),
119
+ raLabelProps = _useLabel.labelProps;
120
+
112
121
  var isLimitReached = !!maxSize && (value || fieldValues).length >= maxSize;
113
- return ___EmotionJSX(Box, others, ___EmotionJSX(Text, {
114
- variant: "label"
115
- }, label), ___EmotionJSX(Box, {
122
+ return ___EmotionJSX(Box, others, ___EmotionJSX(Label, _extends({}, raLabelProps, mergeProps(labelProps, raLabelProps, {
123
+ children: label
124
+ }))), ___EmotionJSX(Box, {
116
125
  as: "ul",
117
126
  pl: "0"
118
- }, _mapInstanceProperty(_context2 = value || fieldValues).call(_context2, function (_ref3) {
119
- var id = _ref3.id,
120
- onComponentRender = _ref3.onComponentRender,
121
- fieldValue = _ref3.fieldValue,
122
- otherFieldProps = _objectWithoutProperties(_ref3, _excluded2);
127
+ }, _mapInstanceProperty(_context2 = value || fieldValues).call(_context2, function (_ref2) {
128
+ var id = _ref2.id,
129
+ onComponentRender = _ref2.onComponentRender,
130
+ fieldValue = _ref2.fieldValue,
131
+ otherFieldProps = _objectWithoutProperties(_ref2, _excluded2);
123
132
 
124
133
  var isDisabled = (value || fieldValues).length === 1;
125
134
  return ___EmotionJSX(Box, {
@@ -163,6 +172,9 @@ ArrayField.propTypes = {
163
172
  /** The rendered label for the field. */
164
173
  label: PropTypes.node,
165
174
 
175
+ /** Props object that is spread directly into the label element. */
176
+ labelProps: PropTypes.shape({}),
177
+
166
178
  /** Text to display before add button. Useful for errors or other info. */
167
179
  helperText: PropTypes.node,
168
180
 
@@ -62,6 +62,15 @@ export var Uncontrolled = function Uncontrolled(_ref) {
62
62
 
63
63
  return ___EmotionJSX(ArrayField, _extends({
64
64
  defaultValue: defaultData,
65
+ labelProps: {
66
+ hintText: 'Example Hint',
67
+ isRequired: true,
68
+ helpHintProps: {
69
+ tooltipProps: {
70
+ direction: 'top'
71
+ }
72
+ }
73
+ },
65
74
  renderField: function renderField(id, fieldValue, onFieldValueChange, onFieldDelete, isDisabled, otherFieldProps) {
66
75
  return ___EmotionJSX(TextField, _extends({
67
76
  "aria-label": "Text field",
@@ -25,7 +25,9 @@ var defaultProps = {
25
25
 
26
26
  var getComponent = function getComponent() {
27
27
  var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
28
- return render(___EmotionJSX(ArrayField, _extends({}, defaultProps, props)));
28
+ return render(___EmotionJSX(ArrayField, _extends({
29
+ label: "test-label"
30
+ }, defaultProps, props)));
29
31
  };
30
32
 
31
33
  var renderField = function renderField(id, value, onFieldValueChange, onFieldDelete, otherFieldProps) {
@@ -171,6 +173,7 @@ test('onComponentRender displays fields correctly', function () {
171
173
  }
172
174
  }];
173
175
  render(___EmotionJSX(ArrayField, {
176
+ label: "test-label",
174
177
  defaultValue: componentRenderData,
175
178
  onChange: onChange
176
179
  }));
@@ -179,6 +182,7 @@ test('onComponentRender displays fields correctly', function () {
179
182
  });
180
183
  test('creates empty field when no data passed', function () {
181
184
  render(___EmotionJSX(ArrayField, {
185
+ label: "test-label",
182
186
  renderField: renderField
183
187
  }));
184
188
  expect(screen.getByLabelText('Text field')).toBeInTheDocument();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pingux/astro",
3
- "version": "1.10.1-alpha.0",
3
+ "version": "1.10.1-alpha.1",
4
4
  "description": "PingUX themeable React component library",
5
5
  "author": "ux-development@pingidentity.com",
6
6
  "license": "Apache-2.0",