@pingux/astro 2.124.0 → 2.125.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.
- package/lib/cjs/components/ArrayField/ArrayField.js +4 -3
- package/lib/cjs/components/ArrayField/ArrayField.test.js +8 -0
- package/lib/cjs/hooks/usePagination/usePagination.d.ts +18 -18
- package/lib/cjs/types/arrayField.d.ts +3 -0
- package/lib/components/ArrayField/ArrayField.js +4 -3
- package/lib/components/ArrayField/ArrayField.test.js +8 -0
- package/package.json +1 -1
@@ -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
|
});
|