@pingux/astro 2.124.0 → 2.125.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -30,7 +30,7 @@ var _pendoID = require("../../utils/devUtils/constants/pendoID");
30
30
  var _statuses = _interopRequireDefault(require("../../utils/devUtils/constants/statuses"));
31
31
  var _ariaAttributes = require("../../utils/docUtils/ariaAttributes");
32
32
  var _react2 = require("@emotion/react");
33
- var _excluded = ["addButtonLabel", "defaultValue", "fieldControlWrapperProps", "value", "label", "helperText", "status", "onAdd", "onChange", "onDelete", "renderField", "labelProps", "maxSize", "maxSizeText", "slots"],
33
+ var _excluded = ["addButtonLabel", "addButtonProps", "defaultValue", "fieldControlWrapperProps", "value", "label", "helperText", "status", "onAdd", "onChange", "onDelete", "renderField", "labelProps", "maxSize", "maxSizeText", "slots"],
34
34
  _excluded2 = ["id", "onComponentRender", "fieldValue"];
35
35
  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); }
36
36
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = _Object$defineProperty && _Object$getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? _Object$getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { _Object$defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
@@ -39,6 +39,7 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
39
39
  var ArrayField = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
40
40
  var _context2;
41
41
  var addButtonLabel = props.addButtonLabel,
42
+ addButtonProps = props.addButtonProps,
42
43
  defaultValue = props.defaultValue,
43
44
  fieldControlWrapperProps = props.fieldControlWrapperProps,
44
45
  value = props.value,
@@ -161,7 +162,7 @@ var ArrayField = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
161
162
  }, maxSizeText || "Maximum ".concat(maxSize, " items.")), shouldShowBottomBar && (0, _react2.jsx)(_.Box, {
162
163
  isRow: true,
163
164
  gap: "md"
164
- }, (slots === null || slots === void 0 ? void 0 : slots.left) && (slots === null || slots === void 0 ? void 0 : slots.left), !isLimitReached && (0, _react2.jsx)(_.Button, {
165
+ }, (slots === null || slots === void 0 ? void 0 : slots.left) && (slots === null || slots === void 0 ? void 0 : slots.left), !isLimitReached && (0, _react2.jsx)(_.Button, (0, _extends2["default"])({
165
166
  "aria-label": "Add field",
166
167
  variant: "link",
167
168
  onPress: onFieldAdd,
@@ -169,7 +170,7 @@ var ArrayField = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
169
170
  width: 'fit-content',
170
171
  mt: 'xs'
171
172
  }
172
- }, (0, _react2.jsx)(_.Text, {
173
+ }, addButtonProps), (0, _react2.jsx)(_.Text, {
173
174
  variant: "label",
174
175
  color: "active"
175
176
  }, addButtonLabel)), (slots === null || slots === void 0 ? void 0 : slots.right) && (slots === null || slots === void 0 ? void 0 : slots.right)));
@@ -253,4 +253,12 @@ test('renders right slot content', function () {
253
253
  var rightSlot = _testWrapper.screen.getByTestId('right-slot');
254
254
  expect(rightSlot).toBeInTheDocument();
255
255
  expect(rightSlot).toHaveTextContent('Right Slot Content');
256
+ });
257
+ test('tooltipTrigger applies nested props correctly', function () {
258
+ getComponent({
259
+ addButtonProps: {
260
+ 'aria-label': 'add a new field'
261
+ }
262
+ });
263
+ expect(_testWrapper.screen.queryByRole('button')).toHaveAttribute('aria-label', 'add a new field');
256
264
  });
@@ -94,6 +94,15 @@ declare const usePagination: (props: PaginationProps) => {
94
94
  id?: string | undefined;
95
95
  hidden?: boolean | undefined;
96
96
  key?: import("react").Key | null | undefined;
97
+ disabled?: boolean | undefined;
98
+ formAction?: string | undefined;
99
+ formEncType?: string | undefined;
100
+ formMethod?: string | undefined;
101
+ formNoValidate?: boolean | undefined;
102
+ formTarget?: string | undefined;
103
+ name?: string | undefined;
104
+ type?: "button" | "reset" | "submit" | undefined;
105
+ value?: string | number | readonly string[] | undefined;
97
106
  defaultChecked?: boolean | undefined;
98
107
  defaultValue?: string | number | readonly string[] | undefined;
99
108
  suppressContentEditableWarning?: boolean | undefined;
@@ -298,15 +307,6 @@ declare const usePagination: (props: PaginationProps) => {
298
307
  onAnimationIterationCapture?: import("react").AnimationEventHandler<HTMLButtonElement> | undefined;
299
308
  onTransitionEnd?: import("react").TransitionEventHandler<HTMLButtonElement> | undefined;
300
309
  onTransitionEndCapture?: import("react").TransitionEventHandler<HTMLButtonElement> | undefined;
301
- disabled?: boolean | undefined;
302
- formAction?: string | undefined;
303
- formEncType?: string | undefined;
304
- formMethod?: string | undefined;
305
- formNoValidate?: boolean | undefined;
306
- formTarget?: string | undefined;
307
- name?: string | undefined;
308
- type?: "button" | "reset" | "submit" | undefined;
309
- value?: string | number | readonly string[] | undefined;
310
310
  ref?: ((instance: HTMLButtonElement | null) => void) | import("react").RefObject<HTMLButtonElement> | null | undefined;
311
311
  as?: import("react").ElementType<any> | undefined;
312
312
  variant?: string | undefined;
@@ -423,6 +423,15 @@ declare const usePagination: (props: PaginationProps) => {
423
423
  id?: string | undefined;
424
424
  hidden?: boolean | undefined;
425
425
  key?: import("react").Key | null | undefined;
426
+ disabled?: boolean | undefined;
427
+ formAction?: string | undefined;
428
+ formEncType?: string | undefined;
429
+ formMethod?: string | undefined;
430
+ formNoValidate?: boolean | undefined;
431
+ formTarget?: string | undefined;
432
+ name?: string | undefined;
433
+ type?: "button" | "reset" | "submit" | undefined;
434
+ value?: string | number | readonly string[] | undefined;
426
435
  defaultChecked?: boolean | undefined;
427
436
  defaultValue?: string | number | readonly string[] | undefined;
428
437
  suppressContentEditableWarning?: boolean | undefined;
@@ -627,15 +636,6 @@ declare const usePagination: (props: PaginationProps) => {
627
636
  onAnimationIterationCapture?: import("react").AnimationEventHandler<HTMLButtonElement> | undefined;
628
637
  onTransitionEnd?: import("react").TransitionEventHandler<HTMLButtonElement> | undefined;
629
638
  onTransitionEndCapture?: import("react").TransitionEventHandler<HTMLButtonElement> | undefined;
630
- disabled?: boolean | undefined;
631
- formAction?: string | undefined;
632
- formEncType?: string | undefined;
633
- formMethod?: string | undefined;
634
- formNoValidate?: boolean | undefined;
635
- formTarget?: string | undefined;
636
- name?: string | undefined;
637
- type?: "button" | "reset" | "submit" | undefined;
638
- value?: string | number | readonly string[] | undefined;
639
639
  ref?: ((instance: HTMLButtonElement | null) => void) | import("react").RefObject<HTMLButtonElement> | null | undefined;
640
640
  as?: import("react").ElementType<any> | undefined;
641
641
  variant?: string | undefined;
@@ -1,5 +1,6 @@
1
1
  import React from 'react';
2
2
  import { ThemeUICSSObject } from 'theme-ui';
3
+ import { ButtonProps } from './button';
3
4
  import { LabelProps, Status, ValidPositiveInteger } from '.';
4
5
  export type RenderFieldFunction = (id: string, fieldValue: string, onFieldValueChange: (e: React.ChangeEvent, fieldId: string) => void, onFieldDelete: (fieldId: string) => void, isDisabled: boolean, otherFieldProps?: Record<string, string>) => React.ReactNode;
5
6
  export interface FieldValue {
@@ -42,6 +43,8 @@ export interface ArrayFieldProps {
42
43
  right?: React.ReactNode;
43
44
  left?: React.ReactNode;
44
45
  };
46
+ /** Props for the Add button */
47
+ addButtonProps?: ButtonProps;
45
48
  }
46
49
  export interface ArrayFieldDeleteButtonProps {
47
50
  id?: number;
@@ -9,7 +9,7 @@ import _extends from "@babel/runtime-corejs3/helpers/esm/extends";
9
9
  import _defineProperty from "@babel/runtime-corejs3/helpers/esm/defineProperty";
10
10
  import _slicedToArray from "@babel/runtime-corejs3/helpers/esm/slicedToArray";
11
11
  import _objectWithoutProperties from "@babel/runtime-corejs3/helpers/esm/objectWithoutProperties";
12
- var _excluded = ["addButtonLabel", "defaultValue", "fieldControlWrapperProps", "value", "label", "helperText", "status", "onAdd", "onChange", "onDelete", "renderField", "labelProps", "maxSize", "maxSizeText", "slots"],
12
+ var _excluded = ["addButtonLabel", "addButtonProps", "defaultValue", "fieldControlWrapperProps", "value", "label", "helperText", "status", "onAdd", "onChange", "onDelete", "renderField", "labelProps", "maxSize", "maxSizeText", "slots"],
13
13
  _excluded2 = ["id", "onComponentRender", "fieldValue"];
14
14
  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; }
15
15
  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; }
@@ -27,6 +27,7 @@ import { jsx as ___EmotionJSX } from "@emotion/react";
27
27
  var ArrayField = /*#__PURE__*/forwardRef(function (props, ref) {
28
28
  var _context2;
29
29
  var addButtonLabel = props.addButtonLabel,
30
+ addButtonProps = props.addButtonProps,
30
31
  defaultValue = props.defaultValue,
31
32
  fieldControlWrapperProps = props.fieldControlWrapperProps,
32
33
  value = props.value,
@@ -149,7 +150,7 @@ var ArrayField = /*#__PURE__*/forwardRef(function (props, ref) {
149
150
  }, maxSizeText || "Maximum ".concat(maxSize, " items.")), shouldShowBottomBar && ___EmotionJSX(Box, {
150
151
  isRow: true,
151
152
  gap: "md"
152
- }, (slots === null || slots === void 0 ? void 0 : slots.left) && (slots === null || slots === void 0 ? void 0 : slots.left), !isLimitReached && ___EmotionJSX(Button, {
153
+ }, (slots === null || slots === void 0 ? void 0 : slots.left) && (slots === null || slots === void 0 ? void 0 : slots.left), !isLimitReached && ___EmotionJSX(Button, _extends({
153
154
  "aria-label": "Add field",
154
155
  variant: "link",
155
156
  onPress: onFieldAdd,
@@ -157,7 +158,7 @@ var ArrayField = /*#__PURE__*/forwardRef(function (props, ref) {
157
158
  width: 'fit-content',
158
159
  mt: 'xs'
159
160
  }
160
- }, ___EmotionJSX(Text, {
161
+ }, addButtonProps), ___EmotionJSX(Text, {
161
162
  variant: "label",
162
163
  color: "active"
163
164
  }, addButtonLabel)), (slots === null || slots === void 0 ? void 0 : slots.right) && (slots === null || slots === void 0 ? void 0 : slots.right)));
@@ -250,4 +250,12 @@ test('renders right slot content', function () {
250
250
  var rightSlot = screen.getByTestId('right-slot');
251
251
  expect(rightSlot).toBeInTheDocument();
252
252
  expect(rightSlot).toHaveTextContent('Right Slot Content');
253
+ });
254
+ test('tooltipTrigger applies nested props correctly', function () {
255
+ getComponent({
256
+ addButtonProps: {
257
+ 'aria-label': 'add a new field'
258
+ }
259
+ });
260
+ expect(screen.queryByRole('button')).toHaveAttribute('aria-label', 'add a new field');
253
261
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pingux/astro",
3
- "version": "2.124.0",
3
+ "version": "2.125.0-alpha.0",
4
4
  "description": "React component library for Ping Identity's design system",
5
5
  "repository": {
6
6
  "type": "git",