@pingux/astro 2.122.1-alpha.1 → 2.123.0-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.
Files changed (56) hide show
  1. package/lib/cjs/components/DatePicker/DateField.js +2 -0
  2. package/lib/cjs/components/DatePicker/DatePicker.js +5 -1
  3. package/lib/cjs/components/FileInputField/FileInputField.js +3 -1
  4. package/lib/cjs/components/LinkSelectField/LinkSelectField.js +2 -0
  5. package/lib/cjs/components/MultivaluesField/MultivaluesField.test.js +0 -17
  6. package/lib/cjs/components/NavBar/NavBar.stories.js +235 -178
  7. package/lib/cjs/components/NavBar/NavBar.styles.js +5 -4
  8. package/lib/cjs/components/NavBarSection/NavBarItem.js +4 -3
  9. package/lib/cjs/components/NavBarSection/NavBarItemButton.js +1 -2
  10. package/lib/cjs/components/NavBarSection/NavBarItemHeader.js +3 -3
  11. package/lib/cjs/components/NavBarSection/NavBarItemHeader.test.js +1 -1
  12. package/lib/cjs/components/NavBarSection/NavBarItemLink.js +4 -1
  13. package/lib/cjs/components/NumberField/NumberField.js +2 -0
  14. package/lib/cjs/components/RadioGroupField/RadioGroupField.js +4 -1
  15. package/lib/cjs/components/SliderField/SliderLabelContainer.js +4 -2
  16. package/lib/cjs/components/TextField/TextField.js +1 -3
  17. package/lib/cjs/hooks/useField/useField.d.ts +5 -3
  18. package/lib/cjs/hooks/useField/useField.js +3 -1
  19. package/lib/cjs/hooks/useSliderField/useSliderField.d.ts +4 -1
  20. package/lib/cjs/hooks/useSliderField/useSliderField.js +7 -2
  21. package/lib/cjs/styles/themes/astro/customProperties/styles.js +1 -1
  22. package/lib/cjs/types/TextAreaField.d.ts +3 -0
  23. package/lib/cjs/types/checkboxField.d.ts +3 -0
  24. package/lib/cjs/types/colorField.d.ts +5 -1
  25. package/lib/cjs/types/navBar.d.ts +2 -1
  26. package/lib/cjs/types/passwordField.d.ts +3 -1
  27. package/lib/cjs/types/radioField.d.ts +3 -0
  28. package/lib/cjs/types/radioGroupField.d.ts +2 -0
  29. package/lib/cjs/types/searchField.d.ts +5 -1
  30. package/lib/cjs/types/selectField.d.ts +2 -0
  31. package/lib/cjs/types/sliderField.d.ts +4 -0
  32. package/lib/cjs/types/switchField.d.ts +2 -0
  33. package/lib/cjs/utils/devUtils/constants/logos.js +2 -2
  34. package/lib/cjs/utils/testUtils/universalFormSubmitTest.js +148 -93
  35. package/lib/components/DatePicker/DateField.js +2 -0
  36. package/lib/components/DatePicker/DatePicker.js +5 -1
  37. package/lib/components/FileInputField/FileInputField.js +3 -1
  38. package/lib/components/LinkSelectField/LinkSelectField.js +2 -0
  39. package/lib/components/MultivaluesField/MultivaluesField.test.js +0 -17
  40. package/lib/components/NavBar/NavBar.stories.js +235 -178
  41. package/lib/components/NavBar/NavBar.styles.js +5 -4
  42. package/lib/components/NavBarSection/NavBarItem.js +4 -3
  43. package/lib/components/NavBarSection/NavBarItemButton.js +1 -2
  44. package/lib/components/NavBarSection/NavBarItemHeader.js +3 -3
  45. package/lib/components/NavBarSection/NavBarItemHeader.test.js +1 -1
  46. package/lib/components/NavBarSection/NavBarItemLink.js +4 -1
  47. package/lib/components/NumberField/NumberField.js +2 -0
  48. package/lib/components/RadioGroupField/RadioGroupField.js +4 -1
  49. package/lib/components/SliderField/SliderLabelContainer.js +4 -2
  50. package/lib/components/TextField/TextField.js +1 -3
  51. package/lib/hooks/useField/useField.js +3 -1
  52. package/lib/hooks/useSliderField/useSliderField.js +7 -2
  53. package/lib/styles/themes/astro/customProperties/styles.js +1 -1
  54. package/lib/utils/devUtils/constants/logos.js +2 -2
  55. package/lib/utils/testUtils/universalFormSubmitTest.js +150 -95
  56. package/package.json +1 -1
@@ -62,7 +62,7 @@ var NavBarSectionItemHeader = function NavBarSectionItemHeader(_ref2) {
62
62
  "data-testid": heading
63
63
  }, icon && ___EmotionJSX(Icon, {
64
64
  icon: icon,
65
- size: isOnyx ? 'icon-200' : 'sm',
65
+ size: isOnyx ? 'icon-200' : 18,
66
66
  sx: {
67
67
  mr: 'sm',
68
68
  color: getIconColor(),
@@ -106,7 +106,7 @@ var NavBarPrimaryItemHeader = function NavBarPrimaryItemHeader(_ref3) {
106
106
  "data-testid": heading
107
107
  }, icon && ___EmotionJSX(Icon, {
108
108
  icon: icon,
109
- size: isOnyx ? 'icon-200' : 'sm',
109
+ size: isOnyx ? 'icon-200' : 18,
110
110
  sx: {
111
111
  mr: 'sm',
112
112
  color: 'neutral.95',
@@ -126,7 +126,7 @@ var NavBarPrimaryItemHeader = function NavBarPrimaryItemHeader(_ref3) {
126
126
  }
127
127
  }, customIcon && ___EmotionJSX(Icon, {
128
128
  icon: customIcon,
129
- size: isOnyx ? 'icon-200' : 'sm',
129
+ size: isOnyx ? 'icon-200' : 'xs',
130
130
  sx: {
131
131
  color: 'neutral.95',
132
132
  fill: 'neutral.95'
@@ -62,7 +62,7 @@ describe('NavItemHeader', function () {
62
62
  getComponent();
63
63
  var icon = screen.getByTestId('Dashboard').querySelector('svg');
64
64
  expect(icon).toBeInTheDocument();
65
- expect(icon).toHaveAttribute('width', '20px');
65
+ expect(icon).toHaveAttribute('width', '18');
66
66
  });
67
67
  });
68
68
  describe('NavItemHeader', function () {
@@ -40,7 +40,10 @@ var NavBarItemLink = function NavBarItemLink(props) {
40
40
  onPress: onNavPress,
41
41
  color: isSelected ? 'white' : undefined
42
42
  }, others, {
43
- sx: _objectSpread({}, props.sx)
43
+ sx: _objectSpread(_objectSpread({}, props.sx), {}, {
44
+ // eslint-disable-line react/prop-types
45
+ fontWeight: 1
46
+ })
44
47
  }));
45
48
  };
46
49
  export default NavBarItemLink;
@@ -172,6 +172,8 @@ NumberField.propTypes = _objectSpread(_objectSpread(_objectSpread({
172
172
  label: PropTypes.node,
173
173
  /** Text rendered below the input. */
174
174
  helperText: PropTypes.node,
175
+ /** Props object that is spread directly into the helphint element. */
176
+ helpHintProps: PropTypes.shape({}),
175
177
  /** If present this prop will cause a help hint to render in the label of the field. */
176
178
  hintText: PropTypes.string,
177
179
  /**
@@ -17,6 +17,7 @@ var RadioGroupField = /*#__PURE__*/forwardRef(function (props, ref) {
17
17
  isDisabled = props.isDisabled,
18
18
  isRequired = props.isRequired,
19
19
  hintText = props.hintText,
20
+ helpHintProps = props.helpHintProps,
20
21
  label = props.label,
21
22
  orientation = props.orientation,
22
23
  status = props.status;
@@ -43,7 +44,9 @@ var RadioGroupField = /*#__PURE__*/forwardRef(function (props, ref) {
43
44
  hintText: hintText,
44
45
  isRequired: isRequired,
45
46
  variant: "forms.label.radioGroup"
46
- }, labelProps), label), ___EmotionJSX(Box, {
47
+ }, labelProps, {
48
+ helpHintProps: helpHintProps
49
+ }), label), ___EmotionJSX(Box, {
47
50
  variant: "forms.radioGroupWrapper",
48
51
  isRow: orientation === ORIENTATION.HORIZONTAL,
49
52
  "aria-labelledby": helperText && helperTextId,
@@ -8,7 +8,8 @@ var SliderLabelContainer = /*#__PURE__*/forwardRef(function (props, ref) {
8
8
  labelProps = props.labelProps,
9
9
  isDisplayValueHidden = props.isDisplayValueHidden,
10
10
  outputProps = props.outputProps,
11
- className = props.className;
11
+ className = props.className,
12
+ helpHintProps = props.helpHintProps;
12
13
  return ___EmotionJSX(Box, {
13
14
  ref: ref,
14
15
  className: className,
@@ -20,7 +21,8 @@ var SliderLabelContainer = /*#__PURE__*/forwardRef(function (props, ref) {
20
21
  }, ___EmotionJSX(Label, _extends({}, labelProps, {
21
22
  sx: {
22
23
  mb: '0px'
23
- }
24
+ },
25
+ helpHintProps: helpHintProps
24
26
  }), label)), !isDisplayValueHidden && ___EmotionJSX(Box, {
25
27
  className: className,
26
28
  variant: "slider.outputContainer"
@@ -20,7 +20,6 @@ import { jsx as ___EmotionJSX } from "@emotion/react";
20
20
  var displayName = 'TextField';
21
21
  var TextField = /*#__PURE__*/forwardRef(function (props, ref) {
22
22
  var helperText = props.helperText,
23
- helpHintProps = props.helpHintProps,
24
23
  slots = props.slots,
25
24
  status = props.status;
26
25
  var _useField = useField(props),
@@ -48,8 +47,7 @@ var TextField = /*#__PURE__*/forwardRef(function (props, ref) {
48
47
  ref: labelRef,
49
48
  sx: isLabelHigher ? {
50
49
  gridRow: '1/5'
51
- } : {},
52
- helpHintProps: helpHintProps
50
+ } : {}
53
51
  })), ___EmotionJSX(Box, _extends({
54
52
  variant: "forms.input.fieldControlWrapper"
55
53
  }, fieldControlWrapperProps), slots === null || slots === void 0 ? void 0 : slots.beforeInput, ___EmotionJSX(Input, _extends({
@@ -1,7 +1,7 @@
1
1
  import _defineProperty from "@babel/runtime-corejs3/helpers/esm/defineProperty";
2
2
  import _slicedToArray from "@babel/runtime-corejs3/helpers/esm/slicedToArray";
3
3
  import _objectWithoutProperties from "@babel/runtime-corejs3/helpers/esm/objectWithoutProperties";
4
- var _excluded = ["autocomplete", "autoComplete", "autoCorrect", "className", "containerProps", "controlProps", "defaultValue", "hasAutoFocus", "hasNoStatusIndicator", "hintText", "id", "isDefaultSelected", "isDisabled", "isIndeterminate", "isReadOnly", "isRequired", "isRestrictiveMultivalues", "label", "labelMode", "labelProps", "maxLength", "name", "onBlur", "onChange", "onFocus", "placeholder", "role", "spellCheck", "status", "statusClasses", "type", "value", "wrapperProps"];
4
+ var _excluded = ["autocomplete", "autoComplete", "autoCorrect", "className", "containerProps", "controlProps", "defaultValue", "hasAutoFocus", "hasNoStatusIndicator", "helpHintProps", "hintText", "id", "isDefaultSelected", "isDisabled", "isIndeterminate", "isReadOnly", "isRequired", "isRestrictiveMultivalues", "label", "labelMode", "labelProps", "maxLength", "name", "onBlur", "onChange", "onFocus", "placeholder", "role", "spellCheck", "status", "statusClasses", "type", "value", "wrapperProps"];
5
5
  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; }
6
6
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var _context, _context2; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty(_context = ownKeys(Object(source), !0)).call(_context, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : _forEachInstanceProperty(_context2 = ownKeys(Object(source))).call(_context2, function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
7
7
  import _Number$isNaN from "@babel/runtime-corejs3/core-js-stable/number/is-nan";
@@ -41,6 +41,7 @@ var useField = function useField(props) {
41
41
  defaultValue = props.defaultValue,
42
42
  hasAutoFocus = props.hasAutoFocus,
43
43
  hasNoStatusIndicator = props.hasNoStatusIndicator,
44
+ helpHintProps = props.helpHintProps,
44
45
  hintText = props.hintText,
45
46
  id = props.id,
46
47
  isDefaultSelected = props.isDefaultSelected,
@@ -194,6 +195,7 @@ var useField = function useField(props) {
194
195
  className: labelClasses,
195
196
  hintText: hintText,
196
197
  isRequired: isRequired,
198
+ helpHintProps: helpHintProps,
197
199
  mode: labelMode
198
200
  }, raLabelProps), labelProps);
199
201
  var fieldControlWrapperProps = _objectSpread({
@@ -1,6 +1,6 @@
1
1
  import _defineProperty from "@babel/runtime-corejs3/helpers/esm/defineProperty";
2
2
  import _objectWithoutProperties from "@babel/runtime-corejs3/helpers/esm/objectWithoutProperties";
3
- var _excluded = ["activeTrackProps", "autoFocus", "className", "defaultValue", "displayValue", "formatOptions", "helperTextProps", "isDisabled", "isDisplayValueHidden", "isMultiThumb", "label", "labelProps", "maxValue", "minValue", "name", "onBlur", "onChange", "onChangeEnd", "onFocus", "onFocusChange", "onKeyDown", "onKeyUp", "orientation", "outputProps", "size", "status", "step", "sx", "thumbProps", "trackProps", "trackRef", "value", "wrapperProps"];
3
+ var _excluded = ["activeTrackProps", "autoFocus", "className", "defaultValue", "displayValue", "formatOptions", "helperTextProps", "helpHintProps", "hintText", "isDisabled", "isDisplayValueHidden", "isMultiThumb", "label", "labelProps", "maxValue", "minValue", "name", "onBlur", "onChange", "onChangeEnd", "onFocus", "onFocusChange", "onKeyDown", "onKeyUp", "orientation", "outputProps", "size", "status", "step", "sx", "thumbProps", "trackProps", "trackRef", "value", "wrapperProps"];
4
4
  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; }
5
5
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var _context2, _context3; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty(_context2 = ownKeys(Object(source), !0)).call(_context2, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : _forEachInstanceProperty(_context3 = ownKeys(Object(source))).call(_context3, function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
6
6
  import _concatInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/concat";
@@ -46,6 +46,8 @@ var useSliderField = function useSliderField(props) {
46
46
  displayValueProp = props.displayValue,
47
47
  formatOptions = props.formatOptions,
48
48
  helperTextProps = props.helperTextProps,
49
+ helpHintProps = props.helpHintProps,
50
+ hintText = props.hintText,
49
51
  isDisabled = props.isDisabled,
50
52
  _props$isDisplayValue = props.isDisplayValueHidden,
51
53
  isDisplayValueHidden = _props$isDisplayValue === void 0 ? false : _props$isDisplayValue,
@@ -165,7 +167,9 @@ var useSliderField = function useSliderField(props) {
165
167
  as: 'output',
166
168
  variant: 'label'
167
169
  });
168
- var mergedLabelProps = mergeProps(labelProps, raLabelProps);
170
+ var mergedLabelProps = mergeProps(labelProps, raLabelProps, {
171
+ hintText: hintText
172
+ });
169
173
  var labelContainerProps = {
170
174
  label: label,
171
175
  labelProps: mergedLabelProps,
@@ -174,6 +178,7 @@ var useSliderField = function useSliderField(props) {
174
178
  isHorizontal: isHorizontal,
175
179
  displayValue: displayValue,
176
180
  isVertical: isVertical,
181
+ helpHintProps: helpHintProps,
177
182
  className: labelContainerClassNames
178
183
  };
179
184
  var sliderActiveTrackProps = _objectSpread(_objectSpread({}, activeTrackProps), {}, {
@@ -1,3 +1,3 @@
1
1
  export default {
2
- navButtonEstHeight: 40
2
+ navButtonEstHeight: 41
3
3
  };
@@ -37,8 +37,8 @@ export var pingLogoHorizontalSmall = ___EmotionJSX("svg", {
37
37
  fill: "white"
38
38
  }))));
39
39
  export var pingLogoHorizontalSmallWhite = ___EmotionJSX("svg", {
40
- width: "161",
41
- height: "28",
40
+ width: "129",
41
+ height: "23",
42
42
  viewBox: "0 0 2385 415",
43
43
  fill: "none",
44
44
  xmlns: "http://www.w3.org/2000/svg"
@@ -16,16 +16,16 @@ import _typeof from "@babel/runtime-corejs3/helpers/esm/typeof";
16
16
  import _asyncToGenerator from "@babel/runtime-corejs3/helpers/esm/asyncToGenerator";
17
17
  import _defineProperty from "@babel/runtime-corejs3/helpers/esm/defineProperty";
18
18
  import _slicedToArray from "@babel/runtime-corejs3/helpers/esm/slicedToArray";
19
- function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return exports; }; var exports = {}, Op = Object.prototype, hasOwn = Op.hasOwnProperty, defineProperty = _Object$defineProperty || function (obj, key, desc) { obj[key] = desc.value; }, $Symbol = "function" == typeof _Symbol ? _Symbol : {}, iteratorSymbol = $Symbol.iterator || "@@iterator", asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator", toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag"; function define(obj, key, value) { return _Object$defineProperty(obj, key, { value: value, enumerable: !0, configurable: !0, writable: !0 }), obj[key]; } try { define({}, ""); } catch (err) { define = function define(obj, key, value) { return obj[key] = value; }; } function wrap(innerFn, outerFn, self, tryLocsList) { var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator, generator = _Object$create(protoGenerator.prototype), context = new Context(tryLocsList || []); return defineProperty(generator, "_invoke", { value: makeInvokeMethod(innerFn, self, context) }), generator; } function tryCatch(fn, obj, arg) { try { return { type: "normal", arg: fn.call(obj, arg) }; } catch (err) { return { type: "throw", arg: err }; } } exports.wrap = wrap; var ContinueSentinel = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var IteratorPrototype = {}; define(IteratorPrototype, iteratorSymbol, function () { return this; }); var getProto = _Object$getPrototypeOf, NativeIteratorPrototype = getProto && getProto(getProto(values([]))); NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype); var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = _Object$create(IteratorPrototype); function defineIteratorMethods(prototype) { var _context4; _forEachInstanceProperty(_context4 = ["next", "throw", "return"]).call(_context4, function (method) { define(prototype, method, function (arg) { return this._invoke(method, arg); }); }); } function AsyncIterator(generator, PromiseImpl) { function invoke(method, arg, resolve, reject) { var record = tryCatch(generator[method], generator, arg); if ("throw" !== record.type) { var result = record.arg, value = result.value; return value && "object" == _typeof(value) && hasOwn.call(value, "__await") ? PromiseImpl.resolve(value.__await).then(function (value) { invoke("next", value, resolve, reject); }, function (err) { invoke("throw", err, resolve, reject); }) : PromiseImpl.resolve(value).then(function (unwrapped) { result.value = unwrapped, resolve(result); }, function (error) { return invoke("throw", error, resolve, reject); }); } reject(record.arg); } var previousPromise; defineProperty(this, "_invoke", { value: function value(method, arg) { function callInvokeWithMethodAndArg() { return new PromiseImpl(function (resolve, reject) { invoke(method, arg, resolve, reject); }); } return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(innerFn, self, context) { var state = "suspendedStart"; return function (method, arg) { if ("executing" === state) throw new Error("Generator is already running"); if ("completed" === state) { if ("throw" === method) throw arg; return doneResult(); } for (context.method = method, context.arg = arg;;) { var delegate = context.delegate; if (delegate) { var delegateResult = maybeInvokeDelegate(delegate, context); if (delegateResult) { if (delegateResult === ContinueSentinel) continue; return delegateResult; } } if ("next" === context.method) context.sent = context._sent = context.arg;else if ("throw" === context.method) { if ("suspendedStart" === state) throw state = "completed", context.arg; context.dispatchException(context.arg); } else "return" === context.method && context.abrupt("return", context.arg); state = "executing"; var record = tryCatch(innerFn, self, context); if ("normal" === record.type) { if (state = context.done ? "completed" : "suspendedYield", record.arg === ContinueSentinel) continue; return { value: record.arg, done: context.done }; } "throw" === record.type && (state = "completed", context.method = "throw", context.arg = record.arg); } }; } function maybeInvokeDelegate(delegate, context) { var methodName = context.method, method = delegate.iterator[methodName]; if (undefined === method) return context.delegate = null, "throw" === methodName && delegate.iterator["return"] && (context.method = "return", context.arg = undefined, maybeInvokeDelegate(delegate, context), "throw" === context.method) || "return" !== methodName && (context.method = "throw", context.arg = new TypeError("The iterator does not provide a '" + methodName + "' method")), ContinueSentinel; var record = tryCatch(method, delegate.iterator, context.arg); if ("throw" === record.type) return context.method = "throw", context.arg = record.arg, context.delegate = null, ContinueSentinel; var info = record.arg; return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, "return" !== context.method && (context.method = "next", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = "throw", context.arg = new TypeError("iterator result is not an object"), context.delegate = null, ContinueSentinel); } function pushTryEntry(locs) { var entry = { tryLoc: locs[0] }; 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry); } function resetTryEntry(entry) { var record = entry.completion || {}; record.type = "normal", delete record.arg, entry.completion = record; } function Context(tryLocsList) { this.tryEntries = [{ tryLoc: "root" }], _forEachInstanceProperty(tryLocsList).call(tryLocsList, pushTryEntry, this), this.reset(!0); } function values(iterable) { if (iterable) { var iteratorMethod = iterable[iteratorSymbol]; if (iteratorMethod) return iteratorMethod.call(iterable); if ("function" == typeof iterable.next) return iterable; if (!isNaN(iterable.length)) { var i = -1, next = function next() { for (; ++i < iterable.length;) if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next; return next.value = undefined, next.done = !0, next; }; return next.next = next; } } return { next: doneResult }; } function doneResult() { return { value: undefined, done: !0 }; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, defineProperty(Gp, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), defineProperty(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, "GeneratorFunction"), exports.isGeneratorFunction = function (genFun) { var ctor = "function" == typeof genFun && genFun.constructor; return !!ctor && (ctor === GeneratorFunction || "GeneratorFunction" === (ctor.displayName || ctor.name)); }, exports.mark = function (genFun) { return _Object$setPrototypeOf ? _Object$setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, "GeneratorFunction")), genFun.prototype = _Object$create(Gp), genFun; }, exports.awrap = function (arg) { return { __await: arg }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () { return this; }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) { void 0 === PromiseImpl && (PromiseImpl = _Promise); var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl); return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) { return result.done ? result.value : iter.next(); }); }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, "Generator"), define(Gp, iteratorSymbol, function () { return this; }), define(Gp, "toString", function () { return "[object Generator]"; }), exports.keys = function (val) { var object = Object(val), keys = []; for (var key in object) keys.push(key); return _reverseInstanceProperty(keys).call(keys), function next() { for (; keys.length;) { var key = keys.pop(); if (key in object) return next.value = key, next.done = !1, next; } return next.done = !0, next; }; }, exports.values = values, Context.prototype = { constructor: Context, reset: function reset(skipTempReset) { var _context5; if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = "next", this.arg = undefined, _forEachInstanceProperty(_context5 = this.tryEntries).call(_context5, resetTryEntry), !skipTempReset) for (var name in this) "t" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+_sliceInstanceProperty(name).call(name, 1)) && (this[name] = undefined); }, stop: function stop() { this.done = !0; var rootRecord = this.tryEntries[0].completion; if ("throw" === rootRecord.type) throw rootRecord.arg; return this.rval; }, dispatchException: function dispatchException(exception) { if (this.done) throw exception; var context = this; function handle(loc, caught) { return record.type = "throw", record.arg = exception, context.next = loc, caught && (context.method = "next", context.arg = undefined), !!caught; } for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i], record = entry.completion; if ("root" === entry.tryLoc) return handle("end"); if (entry.tryLoc <= this.prev) { var hasCatch = hasOwn.call(entry, "catchLoc"), hasFinally = hasOwn.call(entry, "finallyLoc"); if (hasCatch && hasFinally) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } else if (hasCatch) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); } else { if (!hasFinally) throw new Error("try statement without catch or finally"); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } } } }, abrupt: function abrupt(type, arg) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc <= this.prev && hasOwn.call(entry, "finallyLoc") && this.prev < entry.finallyLoc) { var finallyEntry = entry; break; } } finallyEntry && ("break" === type || "continue" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null); var record = finallyEntry ? finallyEntry.completion : {}; return record.type = type, record.arg = arg, finallyEntry ? (this.method = "next", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record); }, complete: function complete(record, afterLoc) { if ("throw" === record.type) throw record.arg; return "break" === record.type || "continue" === record.type ? this.next = record.arg : "return" === record.type ? (this.rval = this.arg = record.arg, this.method = "return", this.next = "end") : "normal" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel; }, finish: function finish(finallyLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel; } }, "catch": function _catch(tryLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc === tryLoc) { var record = entry.completion; if ("throw" === record.type) { var thrown = record.arg; resetTryEntry(entry); } return thrown; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(iterable, resultName, nextLoc) { return this.delegate = { iterator: values(iterable), resultName: resultName, nextLoc: nextLoc }, "next" === this.method && (this.arg = undefined), ContinueSentinel; } }, exports; }
19
+ function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return exports; }; var exports = {}, Op = Object.prototype, hasOwn = Op.hasOwnProperty, defineProperty = _Object$defineProperty || function (obj, key, desc) { obj[key] = desc.value; }, $Symbol = "function" == typeof _Symbol ? _Symbol : {}, iteratorSymbol = $Symbol.iterator || "@@iterator", asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator", toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag"; function define(obj, key, value) { return _Object$defineProperty(obj, key, { value: value, enumerable: !0, configurable: !0, writable: !0 }), obj[key]; } try { define({}, ""); } catch (err) { define = function define(obj, key, value) { return obj[key] = value; }; } function wrap(innerFn, outerFn, self, tryLocsList) { var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator, generator = _Object$create(protoGenerator.prototype), context = new Context(tryLocsList || []); return defineProperty(generator, "_invoke", { value: makeInvokeMethod(innerFn, self, context) }), generator; } function tryCatch(fn, obj, arg) { try { return { type: "normal", arg: fn.call(obj, arg) }; } catch (err) { return { type: "throw", arg: err }; } } exports.wrap = wrap; var ContinueSentinel = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var IteratorPrototype = {}; define(IteratorPrototype, iteratorSymbol, function () { return this; }); var getProto = _Object$getPrototypeOf, NativeIteratorPrototype = getProto && getProto(getProto(values([]))); NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype); var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = _Object$create(IteratorPrototype); function defineIteratorMethods(prototype) { var _context5; _forEachInstanceProperty(_context5 = ["next", "throw", "return"]).call(_context5, function (method) { define(prototype, method, function (arg) { return this._invoke(method, arg); }); }); } function AsyncIterator(generator, PromiseImpl) { function invoke(method, arg, resolve, reject) { var record = tryCatch(generator[method], generator, arg); if ("throw" !== record.type) { var result = record.arg, value = result.value; return value && "object" == _typeof(value) && hasOwn.call(value, "__await") ? PromiseImpl.resolve(value.__await).then(function (value) { invoke("next", value, resolve, reject); }, function (err) { invoke("throw", err, resolve, reject); }) : PromiseImpl.resolve(value).then(function (unwrapped) { result.value = unwrapped, resolve(result); }, function (error) { return invoke("throw", error, resolve, reject); }); } reject(record.arg); } var previousPromise; defineProperty(this, "_invoke", { value: function value(method, arg) { function callInvokeWithMethodAndArg() { return new PromiseImpl(function (resolve, reject) { invoke(method, arg, resolve, reject); }); } return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(innerFn, self, context) { var state = "suspendedStart"; return function (method, arg) { if ("executing" === state) throw new Error("Generator is already running"); if ("completed" === state) { if ("throw" === method) throw arg; return doneResult(); } for (context.method = method, context.arg = arg;;) { var delegate = context.delegate; if (delegate) { var delegateResult = maybeInvokeDelegate(delegate, context); if (delegateResult) { if (delegateResult === ContinueSentinel) continue; return delegateResult; } } if ("next" === context.method) context.sent = context._sent = context.arg;else if ("throw" === context.method) { if ("suspendedStart" === state) throw state = "completed", context.arg; context.dispatchException(context.arg); } else "return" === context.method && context.abrupt("return", context.arg); state = "executing"; var record = tryCatch(innerFn, self, context); if ("normal" === record.type) { if (state = context.done ? "completed" : "suspendedYield", record.arg === ContinueSentinel) continue; return { value: record.arg, done: context.done }; } "throw" === record.type && (state = "completed", context.method = "throw", context.arg = record.arg); } }; } function maybeInvokeDelegate(delegate, context) { var methodName = context.method, method = delegate.iterator[methodName]; if (undefined === method) return context.delegate = null, "throw" === methodName && delegate.iterator["return"] && (context.method = "return", context.arg = undefined, maybeInvokeDelegate(delegate, context), "throw" === context.method) || "return" !== methodName && (context.method = "throw", context.arg = new TypeError("The iterator does not provide a '" + methodName + "' method")), ContinueSentinel; var record = tryCatch(method, delegate.iterator, context.arg); if ("throw" === record.type) return context.method = "throw", context.arg = record.arg, context.delegate = null, ContinueSentinel; var info = record.arg; return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, "return" !== context.method && (context.method = "next", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = "throw", context.arg = new TypeError("iterator result is not an object"), context.delegate = null, ContinueSentinel); } function pushTryEntry(locs) { var entry = { tryLoc: locs[0] }; 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry); } function resetTryEntry(entry) { var record = entry.completion || {}; record.type = "normal", delete record.arg, entry.completion = record; } function Context(tryLocsList) { this.tryEntries = [{ tryLoc: "root" }], _forEachInstanceProperty(tryLocsList).call(tryLocsList, pushTryEntry, this), this.reset(!0); } function values(iterable) { if (iterable) { var iteratorMethod = iterable[iteratorSymbol]; if (iteratorMethod) return iteratorMethod.call(iterable); if ("function" == typeof iterable.next) return iterable; if (!isNaN(iterable.length)) { var i = -1, next = function next() { for (; ++i < iterable.length;) if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next; return next.value = undefined, next.done = !0, next; }; return next.next = next; } } return { next: doneResult }; } function doneResult() { return { value: undefined, done: !0 }; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, defineProperty(Gp, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), defineProperty(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, "GeneratorFunction"), exports.isGeneratorFunction = function (genFun) { var ctor = "function" == typeof genFun && genFun.constructor; return !!ctor && (ctor === GeneratorFunction || "GeneratorFunction" === (ctor.displayName || ctor.name)); }, exports.mark = function (genFun) { return _Object$setPrototypeOf ? _Object$setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, "GeneratorFunction")), genFun.prototype = _Object$create(Gp), genFun; }, exports.awrap = function (arg) { return { __await: arg }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () { return this; }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) { void 0 === PromiseImpl && (PromiseImpl = _Promise); var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl); return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) { return result.done ? result.value : iter.next(); }); }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, "Generator"), define(Gp, iteratorSymbol, function () { return this; }), define(Gp, "toString", function () { return "[object Generator]"; }), exports.keys = function (val) { var object = Object(val), keys = []; for (var key in object) keys.push(key); return _reverseInstanceProperty(keys).call(keys), function next() { for (; keys.length;) { var key = keys.pop(); if (key in object) return next.value = key, next.done = !1, next; } return next.done = !0, next; }; }, exports.values = values, Context.prototype = { constructor: Context, reset: function reset(skipTempReset) { var _context6; if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = "next", this.arg = undefined, _forEachInstanceProperty(_context6 = this.tryEntries).call(_context6, resetTryEntry), !skipTempReset) for (var name in this) "t" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+_sliceInstanceProperty(name).call(name, 1)) && (this[name] = undefined); }, stop: function stop() { this.done = !0; var rootRecord = this.tryEntries[0].completion; if ("throw" === rootRecord.type) throw rootRecord.arg; return this.rval; }, dispatchException: function dispatchException(exception) { if (this.done) throw exception; var context = this; function handle(loc, caught) { return record.type = "throw", record.arg = exception, context.next = loc, caught && (context.method = "next", context.arg = undefined), !!caught; } for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i], record = entry.completion; if ("root" === entry.tryLoc) return handle("end"); if (entry.tryLoc <= this.prev) { var hasCatch = hasOwn.call(entry, "catchLoc"), hasFinally = hasOwn.call(entry, "finallyLoc"); if (hasCatch && hasFinally) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } else if (hasCatch) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); } else { if (!hasFinally) throw new Error("try statement without catch or finally"); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } } } }, abrupt: function abrupt(type, arg) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc <= this.prev && hasOwn.call(entry, "finallyLoc") && this.prev < entry.finallyLoc) { var finallyEntry = entry; break; } } finallyEntry && ("break" === type || "continue" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null); var record = finallyEntry ? finallyEntry.completion : {}; return record.type = type, record.arg = arg, finallyEntry ? (this.method = "next", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record); }, complete: function complete(record, afterLoc) { if ("throw" === record.type) throw record.arg; return "break" === record.type || "continue" === record.type ? this.next = record.arg : "return" === record.type ? (this.rval = this.arg = record.arg, this.method = "return", this.next = "end") : "normal" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel; }, finish: function finish(finallyLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel; } }, "catch": function _catch(tryLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc === tryLoc) { var record = entry.completion; if ("throw" === record.type) { var thrown = record.arg; resetTryEntry(entry); } return thrown; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(iterable, resultName, nextLoc) { return this.delegate = { iterator: values(iterable), resultName: resultName, nextLoc: nextLoc }, "next" === this.method && (this.arg = undefined), ContinueSentinel; } }, exports; }
20
20
  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
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var _context2, _context3; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty(_context2 = ownKeys(Object(source), !0)).call(_context2, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : _forEachInstanceProperty(_context3 = ownKeys(Object(source))).call(_context3, function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
21
+ 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) { _defineProperty(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; }
22
22
  import _forEachInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/for-each";
23
23
  import _findInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/find";
24
24
  import React, { useState } from 'react';
25
25
  import { CalendarDate } from '@internationalized/date';
26
- import { fireEvent, render, screen } from '@testing-library/react';
26
+ import { fireEvent, render, screen, waitFor } from '@testing-library/react';
27
27
  import userEvent from '@testing-library/user-event';
28
- import { Button } from '../../index';
28
+ import { Button, OverlayProvider } from '../../index';
29
29
  import { jsx as ___EmotionJSX } from "@emotion/react";
30
30
  var handleFormSubmit = jest.fn();
31
31
  var mockOnSubmit = jest.fn(function (e) {
@@ -38,6 +38,13 @@ var mockOnSubmit = jest.fn(function (e) {
38
38
  handleFormSubmit(entries);
39
39
  });
40
40
  var name = 'testName';
41
+ var helpHintTestId = 'help-hint__button';
42
+ var universalProps = {
43
+ helpHintProps: {
44
+ direction: 'left'
45
+ },
46
+ hintText: 'hint text'
47
+ };
41
48
  var useDefaultProps = function useDefaultProps(componentType) {
42
49
  var _useState = useState(''),
43
50
  _useState2 = _slicedToArray(_useState, 2),
@@ -55,87 +62,91 @@ var useDefaultProps = function useDefaultProps(componentType) {
55
62
  }]);
56
63
  };
57
64
  var handleChange = jest.fn();
58
- switch (componentType) {
59
- case 'SliderField':
60
- return {
61
- value: value,
62
- onChange: setValue,
63
- name: name
64
- };
65
- case 'CheckboxField':
66
- case 'SwitchField':
67
- return {
68
- value: value,
69
- onChange: setValue,
70
- name: name,
71
- isSelected: true
72
- };
73
- case 'ComboBoxField':
74
- case 'LinkSelectField':
75
- case 'SelectField':
76
- case 'MultivaluesField':
77
- return {
78
- selectedKey: value,
79
- onSelectionChange: setValue,
80
- name: name
81
- };
82
- case 'ColorField':
83
- return {
84
- value: value,
85
- onChange: handleChange,
86
- name: name
87
- };
88
- case 'DatePicker':
89
- return {
90
- value: new CalendarDate(2022, 8, 10),
91
- onChange: setValue,
92
- name: name
93
- };
94
- case 'FileInputField':
95
- return {
96
- fileList: userFiles,
97
- onFileSelect: handleFileSelect,
98
- name: name
99
- };
100
- case 'ImageUploadField':
101
- return {
102
- previewImage: 'https://picsum.photos/id/1025/200/300',
103
- onChange: handleChange,
104
- name: name
105
- };
106
- case 'NumberField':
107
- return {
108
- value: 12,
109
- onChange: setValue,
110
- name: name
111
- };
112
- case 'PasswordField':
113
- return {
114
- value: value,
115
- onChange: function onChange(e) {
116
- return setValue(e.target.value);
117
- },
118
- name: name
119
- };
120
- case 'RadioGroupField':
121
- case 'SearchField':
122
- return {
123
- value: value,
124
- onChange: setValue,
125
- name: name
126
- };
127
- case 'TextAreaField':
128
- case 'TextField':
129
- return {
130
- value: value,
131
- onChange: function onChange(e) {
132
- return setValue(e.target.value);
133
- },
134
- name: name
135
- };
136
- default:
137
- return {};
138
- }
65
+ var getSpecificProps = function getSpecificProps(componentName) {
66
+ switch (componentName) {
67
+ case 'SliderField':
68
+ return {
69
+ value: value,
70
+ onChange: setValue,
71
+ name: name
72
+ };
73
+ case 'CheckboxField':
74
+ case 'SwitchField':
75
+ return {
76
+ value: value,
77
+ onChange: setValue,
78
+ name: name,
79
+ isSelected: true
80
+ };
81
+ case 'ComboBoxField':
82
+ case 'LinkSelectField':
83
+ case 'SelectField':
84
+ case 'MultivaluesField':
85
+ return {
86
+ selectedKey: value,
87
+ onSelectionChange: setValue,
88
+ name: name
89
+ };
90
+ case 'ColorField':
91
+ return {
92
+ value: value,
93
+ onChange: handleChange,
94
+ name: name
95
+ };
96
+ case 'DatePicker':
97
+ return {
98
+ value: new CalendarDate(2022, 8, 10),
99
+ onChange: setValue,
100
+ name: name
101
+ };
102
+ case 'FileInputField':
103
+ return {
104
+ fileList: userFiles,
105
+ onFileSelect: handleFileSelect,
106
+ name: name
107
+ };
108
+ case 'ImageUploadField':
109
+ return {
110
+ previewImage: 'https://picsum.photos/id/1025/200/300',
111
+ onChange: handleChange,
112
+ name: name
113
+ };
114
+ case 'NumberField':
115
+ return {
116
+ value: 12,
117
+ onChange: setValue,
118
+ name: name
119
+ };
120
+ case 'PasswordField':
121
+ return {
122
+ value: value,
123
+ onChange: function onChange(e) {
124
+ return setValue(e.target.value);
125
+ },
126
+ name: name
127
+ };
128
+ case 'RadioGroupField':
129
+ case 'SearchField':
130
+ return {
131
+ value: value,
132
+ onChange: setValue,
133
+ name: name
134
+ };
135
+ case 'TextAreaField':
136
+ case 'TextField':
137
+ return {
138
+ value: value,
139
+ onChange: function onChange(e) {
140
+ return setValue(e.target.value);
141
+ },
142
+ name: name
143
+ };
144
+ default:
145
+ return {};
146
+ }
147
+ };
148
+ var specificProps = getSpecificProps(componentType);
149
+ return _objectSpread({}, specificProps);
139
150
  };
140
151
  var getDefaultProps = function getDefaultProps(componentType, testValue) {
141
152
  switch (componentType) {
@@ -208,9 +219,9 @@ var ComponentWithFormUncontrolled = function ComponentWithFormUncontrolled(_ref)
208
219
  return ___EmotionJSX("form", {
209
220
  onSubmit: mockOnSubmit,
210
221
  "aria-label": "Test Form 1"
211
- }, renderComponent(_objectSpread(_objectSpread({}, defaultProps), {}, {
222
+ }, ___EmotionJSX(OverlayProvider, null, renderComponent(_objectSpread(_objectSpread(_objectSpread({}, defaultProps), universalProps), {}, {
212
223
  isDisabled: isDisabled
213
- })), ___EmotionJSX(Button, {
224
+ }))), ___EmotionJSX(Button, {
214
225
  type: "submit"
215
226
  }, "Submit"));
216
227
  };
@@ -270,17 +281,61 @@ export var universalFieldComponentTests = function universalFieldComponentTests(
270
281
  testName: String(testValue)
271
282
  });
272
283
  });
273
- test('controlled component should have render correct value on submission', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
274
- var iconButton, cells, selected;
284
+ test('helpHintProps are spread through to the label component', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
285
+ var helpHintButton;
275
286
  return _regeneratorRuntime().wrap(function _callee$(_context) {
276
287
  while (1) switch (_context.prev = _context.next) {
288
+ case 0:
289
+ render(___EmotionJSX(ComponentWithFormUncontrolled, {
290
+ renderComponent: renderComponent,
291
+ testValue: testValue,
292
+ componentType: componentType
293
+ }));
294
+ helpHintButton = screen.getByTestId(helpHintTestId);
295
+ if (componentType === 'CheckboxField' || componentType === 'SwitchField') {
296
+ userEvent.tab();
297
+ userEvent.tab();
298
+ userEvent.type(helpHintButton, '{space}');
299
+ } else {
300
+ userEvent.hover(helpHintButton);
301
+ }
302
+ if (!(componentType === 'DatePicker')) {
303
+ _context.next = 8;
304
+ break;
305
+ }
306
+ _context.next = 6;
307
+ return waitFor(function () {
308
+ expect(screen.queryAllByRole('presentation')[1]).toHaveAttribute('data-popover-placement', 'left');
309
+ }, {
310
+ timeout: 100
311
+ });
312
+ case 6:
313
+ _context.next = 10;
314
+ break;
315
+ case 8:
316
+ _context.next = 10;
317
+ return waitFor(function () {
318
+ expect(screen.queryByRole('presentation')).toHaveAttribute('data-popover-placement', 'left');
319
+ }, {
320
+ timeout: 100
321
+ });
322
+ case 10:
323
+ case "end":
324
+ return _context.stop();
325
+ }
326
+ }, _callee);
327
+ })));
328
+ test('controlled component should have render correct value on submission', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
329
+ var iconButton, cells, selected;
330
+ return _regeneratorRuntime().wrap(function _callee2$(_context2) {
331
+ while (1) switch (_context2.prev = _context2.next) {
277
332
  case 0:
278
333
  render(___EmotionJSX(ComponentWithFormControlled, {
279
334
  renderComponent: renderComponent,
280
335
  componentType: componentType
281
336
  }));
282
337
  if (!(componentType === 'FileInputField')) {
283
- _context.next = 7;
338
+ _context2.next = 7;
284
339
  break;
285
340
  }
286
341
  userEvent.click(screen.getByTestId('file-input-field__file-select'));
@@ -295,10 +350,10 @@ export var universalFieldComponentTests = function universalFieldComponentTests(
295
350
  expect(handleFormSubmit).toHaveBeenCalledWith({
296
351
  testName: expect.any(File)
297
352
  });
298
- return _context.abrupt("return");
353
+ return _context2.abrupt("return");
299
354
  case 7:
300
355
  if (!(componentType === 'ImageUploadField')) {
301
- _context.next = 13;
356
+ _context2.next = 13;
302
357
  break;
303
358
  }
304
359
  fireEvent.click(screen.getByRole('button', {
@@ -315,7 +370,7 @@ export var universalFieldComponentTests = function universalFieldComponentTests(
315
370
  expect(handleFormSubmit).toHaveBeenCalledWith({
316
371
  testName: expect.any(File)
317
372
  });
318
- return _context.abrupt("return");
373
+ return _context2.abrupt("return");
319
374
  case 13:
320
375
  if (componentType === 'LinkSelectField') {
321
376
  fireEvent.click(screen.getByRole('button', {
@@ -367,9 +422,9 @@ export var universalFieldComponentTests = function universalFieldComponentTests(
367
422
  });
368
423
  case 16:
369
424
  case "end":
370
- return _context.stop();
425
+ return _context2.stop();
371
426
  }
372
- }, _callee);
427
+ }, _callee2);
373
428
  })));
374
429
  });
375
430
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pingux/astro",
3
- "version": "2.122.1-alpha.1",
3
+ "version": "2.123.0-alpha.1",
4
4
  "description": "React component library for Ping Identity's design system",
5
5
  "repository": {
6
6
  "type": "git",