@canonical/react-components 0.31.0 → 0.34.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.
- package/dist/__mocks__/nanoid.d.ts +1 -0
- package/dist/__mocks__/nanoid.js +17 -0
- package/dist/components/AccordionSection/AccordionSection.js +8 -12
- package/dist/components/CheckableInput/CheckableInput.d.ts +9 -1
- package/dist/components/CheckableInput/CheckableInput.js +8 -7
- package/dist/components/Chip/Chip.d.ts +5 -5
- package/dist/components/Chip/Chip.js +21 -13
- package/dist/components/CodeSnippet/CodeSnippet.d.ts +5 -4
- package/dist/components/CodeSnippet/CodeSnippet.js +13 -11
- package/dist/components/ContextualMenu/ContextualMenu.js +5 -5
- package/dist/components/Field/Field.d.ts +9 -1
- package/dist/components/Field/Field.js +12 -8
- package/dist/components/Input/Input.js +33 -13
- package/dist/components/MainTable/MainTable.d.ts +4 -0
- package/dist/components/MainTable/MainTable.js +9 -2
- package/dist/components/Modal/Modal.js +8 -8
- package/dist/components/ModularTable/ModularTable.d.ts +20 -5
- package/dist/components/ModularTable/ModularTable.js +30 -16
- package/dist/components/PaginationItem/PaginationItem.js +2 -1
- package/dist/components/PasswordToggle/PasswordToggle.js +14 -3
- package/dist/components/SearchBox/SearchBox.d.ts +5 -4
- package/dist/components/SearchBox/SearchBox.js +12 -14
- package/dist/components/Select/Select.js +11 -1
- package/dist/components/Slider/Slider.js +14 -1
- package/dist/components/Spinner/Spinner.d.ts +9 -1
- package/dist/components/Spinner/Spinner.js +12 -4
- package/dist/components/Switch/Switch.d.ts +14 -0
- package/dist/components/Switch/Switch.js +42 -0
- package/dist/components/Switch/index.d.ts +2 -0
- package/dist/components/Switch/index.js +15 -0
- package/dist/components/Textarea/Textarea.js +11 -1
- package/dist/hooks/index.d.ts +1 -0
- package/dist/hooks/index.js +9 -1
- package/dist/hooks/useId.d.ts +6 -0
- package/dist/hooks/useId.js +21 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +40 -0
- package/package.json +32 -29
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const nanoid: () => string;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.nanoid = void 0;
|
|
7
|
+
var id = 0;
|
|
8
|
+
beforeEach(function () {
|
|
9
|
+
id = 0;
|
|
10
|
+
});
|
|
11
|
+
|
|
12
|
+
var nanoid = function nanoid() {
|
|
13
|
+
id++;
|
|
14
|
+
return "mock-nanoid-".concat(id);
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
exports.nanoid = nanoid;
|
|
@@ -1,19 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
4
|
-
|
|
5
3
|
Object.defineProperty(exports, "__esModule", {
|
|
6
4
|
value: true
|
|
7
5
|
});
|
|
8
6
|
exports.default = void 0;
|
|
9
7
|
|
|
10
|
-
var
|
|
11
|
-
|
|
12
|
-
var _react = _interopRequireWildcard(require("react"));
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
13
9
|
|
|
14
|
-
|
|
10
|
+
var _useId = require("../../hooks/useId");
|
|
15
11
|
|
|
16
|
-
function
|
|
12
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
17
13
|
|
|
18
14
|
var AccordionSection = function AccordionSection(_ref) {
|
|
19
15
|
var content = _ref.content,
|
|
@@ -25,8 +21,8 @@ var AccordionSection = function AccordionSection(_ref) {
|
|
|
25
21
|
titleElement = _ref.titleElement,
|
|
26
22
|
_ref$headingLevel = _ref.headingLevel,
|
|
27
23
|
headingLevel = _ref$headingLevel === void 0 ? 3 : _ref$headingLevel;
|
|
28
|
-
var sectionId = (0,
|
|
29
|
-
var key = sectionKey || sectionId
|
|
24
|
+
var sectionId = (0, _useId.useId)();
|
|
25
|
+
var key = sectionKey || sectionId;
|
|
30
26
|
var isExpanded = expanded === key;
|
|
31
27
|
var Title = titleElement || "div";
|
|
32
28
|
return /*#__PURE__*/_react.default.createElement("li", {
|
|
@@ -36,7 +32,7 @@ var AccordionSection = function AccordionSection(_ref) {
|
|
|
36
32
|
"aria-level": titleElement ? null : headingLevel,
|
|
37
33
|
className: "p-accordion__heading"
|
|
38
34
|
}, /*#__PURE__*/_react.default.createElement("button", {
|
|
39
|
-
"aria-controls": "#".concat(sectionId
|
|
35
|
+
"aria-controls": "#".concat(sectionId),
|
|
40
36
|
"aria-expanded": isExpanded ? "true" : "false",
|
|
41
37
|
className: "p-accordion__tab",
|
|
42
38
|
onClick: function onClick() {
|
|
@@ -52,9 +48,9 @@ var AccordionSection = function AccordionSection(_ref) {
|
|
|
52
48
|
type: "button"
|
|
53
49
|
}, title)), /*#__PURE__*/_react.default.createElement("section", {
|
|
54
50
|
"aria-hidden": isExpanded ? "false" : "true",
|
|
55
|
-
"aria-labelledby": sectionId
|
|
51
|
+
"aria-labelledby": sectionId,
|
|
56
52
|
className: "p-accordion__panel",
|
|
57
|
-
id: sectionId
|
|
53
|
+
id: sectionId,
|
|
58
54
|
role: "tabpanel"
|
|
59
55
|
}, content));
|
|
60
56
|
};
|
|
@@ -10,10 +10,18 @@ export declare type Props = PropsWithSpread<{
|
|
|
10
10
|
* The label for the input element.
|
|
11
11
|
*/
|
|
12
12
|
label: ReactNode;
|
|
13
|
+
/**
|
|
14
|
+
* Optional class(es) to pass to the label element.
|
|
15
|
+
*/
|
|
16
|
+
labelClassName?: string;
|
|
13
17
|
/**
|
|
14
18
|
* Whether the input element should display in indeterminate state.
|
|
15
19
|
*/
|
|
16
20
|
indeterminate?: boolean;
|
|
21
|
+
/**
|
|
22
|
+
* Ensures the input and the label text are properly aligned with other inline text.
|
|
23
|
+
*/
|
|
24
|
+
inline?: boolean;
|
|
17
25
|
}, Omit<HTMLProps<HTMLInputElement>, "type">>;
|
|
18
|
-
declare const CheckableInput: ({ inputType, label, indeterminate, ...checkboxProps }: Props) => JSX.Element;
|
|
26
|
+
declare const CheckableInput: ({ inputType, label, labelClassName, indeterminate, ...checkboxProps }: Props) => JSX.Element;
|
|
19
27
|
export default CheckableInput;
|
|
@@ -9,11 +9,11 @@ exports.default = void 0;
|
|
|
9
9
|
|
|
10
10
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
11
11
|
|
|
12
|
-
var _nanoid = require("nanoid");
|
|
13
|
-
|
|
14
12
|
var _react = _interopRequireWildcard(require("react"));
|
|
15
13
|
|
|
16
|
-
var
|
|
14
|
+
var _useId = require("../../hooks/useId");
|
|
15
|
+
|
|
16
|
+
var _excluded = ["inputType", "label", "labelClassName", "indeterminate"];
|
|
17
17
|
|
|
18
18
|
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); }
|
|
19
19
|
|
|
@@ -30,27 +30,28 @@ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) r
|
|
|
30
30
|
var CheckableInput = function CheckableInput(_ref) {
|
|
31
31
|
var inputType = _ref.inputType,
|
|
32
32
|
label = _ref.label,
|
|
33
|
+
labelClassName = _ref.labelClassName,
|
|
33
34
|
_ref$indeterminate = _ref.indeterminate,
|
|
34
35
|
indeterminate = _ref$indeterminate === void 0 ? false : _ref$indeterminate,
|
|
35
36
|
checkboxProps = _objectWithoutProperties(_ref, _excluded);
|
|
36
37
|
|
|
37
|
-
var inputId = (0,
|
|
38
|
+
var inputId = (0, _useId.useId)();
|
|
38
39
|
var inputRef = (0, _react.useRef)(null);
|
|
39
40
|
(0, _react.useEffect)(function () {
|
|
40
41
|
inputRef.current.indeterminate = indeterminate;
|
|
41
42
|
}, [indeterminate]);
|
|
42
43
|
return /*#__PURE__*/_react.default.createElement("label", {
|
|
43
|
-
className: (0, _classnames.default)("p-".concat(inputType), {
|
|
44
|
+
className: (0, _classnames.default)(labelClassName, "p-".concat(inputType).concat(checkboxProps.inline ? "--inline" : ""), {
|
|
44
45
|
"is-required": checkboxProps.required
|
|
45
46
|
})
|
|
46
47
|
}, /*#__PURE__*/_react.default.createElement("input", _extends({
|
|
47
|
-
"aria-labelledby": inputId
|
|
48
|
+
"aria-labelledby": inputId,
|
|
48
49
|
className: "p-".concat(inputType, "__input"),
|
|
49
50
|
ref: inputRef,
|
|
50
51
|
type: inputType
|
|
51
52
|
}, checkboxProps)), /*#__PURE__*/_react.default.createElement("span", {
|
|
52
53
|
className: "p-".concat(inputType, "__label"),
|
|
53
|
-
id: inputId
|
|
54
|
+
id: inputId
|
|
54
55
|
}, label));
|
|
55
56
|
};
|
|
56
57
|
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import type { MouseEvent } from "react";
|
|
2
|
-
import { ValueOf } from "../../types";
|
|
1
|
+
import type { MouseEvent, HTMLProps } from "react";
|
|
2
|
+
import { ValueOf, PropsWithSpread } from "../../types";
|
|
3
3
|
export declare const ChipType: {
|
|
4
4
|
readonly CAUTION: "caution";
|
|
5
5
|
readonly INFORMATION: "information";
|
|
6
6
|
readonly NEGATIVE: "negative";
|
|
7
7
|
readonly POSITIVE: "positive";
|
|
8
8
|
};
|
|
9
|
-
export declare type Props = {
|
|
9
|
+
export declare type Props = PropsWithSpread<{
|
|
10
10
|
/**
|
|
11
11
|
* The appearance of the chip.
|
|
12
12
|
*/
|
|
@@ -43,6 +43,6 @@ export declare type Props = {
|
|
|
43
43
|
* The value of the chip.
|
|
44
44
|
*/
|
|
45
45
|
value: string;
|
|
46
|
-
}
|
|
47
|
-
declare const Chip: ({ appearance, lead, onClick, onDismiss, quoteValue, selected, subString, value, }: Props) => JSX.Element;
|
|
46
|
+
}, HTMLProps<HTMLButtonElement>>;
|
|
47
|
+
declare const Chip: ({ appearance, lead, onClick, onDismiss, quoteValue, selected, subString, value, ...props }: Props) => JSX.Element;
|
|
48
48
|
export default Chip;
|
|
@@ -11,10 +11,18 @@ var _utils = require("../../utils");
|
|
|
11
11
|
|
|
12
12
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
13
13
|
|
|
14
|
+
var _excluded = ["appearance", "lead", "onClick", "onDismiss", "quoteValue", "selected", "subString", "value"];
|
|
15
|
+
|
|
14
16
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
17
|
|
|
18
|
+
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
19
|
+
|
|
16
20
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
17
21
|
|
|
22
|
+
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
23
|
+
|
|
24
|
+
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
25
|
+
|
|
18
26
|
var ChipType = {
|
|
19
27
|
CAUTION: "caution",
|
|
20
28
|
INFORMATION: "information",
|
|
@@ -35,7 +43,8 @@ var Chip = function Chip(_ref) {
|
|
|
35
43
|
selected = _ref.selected,
|
|
36
44
|
_ref$subString = _ref.subString,
|
|
37
45
|
subString = _ref$subString === void 0 ? "" : _ref$subString,
|
|
38
|
-
value = _ref.value
|
|
46
|
+
value = _ref.value,
|
|
47
|
+
props = _objectWithoutProperties(_ref, _excluded);
|
|
39
48
|
|
|
40
49
|
// When user tabs over chip and presses Enter or Space key, chip will trigger
|
|
41
50
|
// click functionality
|
|
@@ -62,29 +71,28 @@ var Chip = function Chip(_ref) {
|
|
|
62
71
|
}
|
|
63
72
|
}));
|
|
64
73
|
|
|
65
|
-
var chipClassName = (0, _classnames.default)((_classNames = {}, _defineProperty(_classNames, "p-chip--".concat(appearance), !!appearance), _defineProperty(_classNames, "p-chip", !appearance), _classNames));
|
|
74
|
+
var chipClassName = (0, _classnames.default)((_classNames = {}, _defineProperty(_classNames, "p-chip--".concat(appearance), !!appearance), _defineProperty(_classNames, "p-chip", !appearance), _classNames), props.className);
|
|
66
75
|
|
|
67
76
|
if (onDismiss) {
|
|
68
|
-
return /*#__PURE__*/_react.default.createElement("span", {
|
|
69
|
-
className: chipClassName
|
|
70
|
-
|
|
71
|
-
}, chipContent, /*#__PURE__*/_react.default.createElement("button", {
|
|
77
|
+
return /*#__PURE__*/_react.default.createElement("span", _extends({}, props, {
|
|
78
|
+
className: chipClassName
|
|
79
|
+
}), chipContent, /*#__PURE__*/_react.default.createElement("button", {
|
|
72
80
|
className: "p-chip__dismiss",
|
|
73
|
-
onClick:
|
|
74
|
-
|
|
75
|
-
}
|
|
81
|
+
onClick: onDismiss,
|
|
82
|
+
type: "button"
|
|
76
83
|
}, /*#__PURE__*/_react.default.createElement("i", {
|
|
77
84
|
className: "p-icon--close"
|
|
78
85
|
}, "Dismiss")));
|
|
79
86
|
} else {
|
|
80
|
-
return /*#__PURE__*/_react.default.createElement("button", {
|
|
81
|
-
className: chipClassName,
|
|
87
|
+
return /*#__PURE__*/_react.default.createElement("button", _extends({}, props, {
|
|
82
88
|
"aria-pressed": selected,
|
|
89
|
+
className: chipClassName,
|
|
83
90
|
onClick: onClick,
|
|
84
91
|
onKeyDown: function onKeyDown(e) {
|
|
85
92
|
return _onKeyDown(e);
|
|
86
|
-
}
|
|
87
|
-
|
|
93
|
+
},
|
|
94
|
+
type: "button"
|
|
95
|
+
}), chipContent);
|
|
88
96
|
}
|
|
89
97
|
};
|
|
90
98
|
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
import { HTMLProps } from "react";
|
|
1
2
|
import type { Props as CodeSnippetBlockProps } from "./CodeSnippetBlock";
|
|
2
|
-
import type { ClassName } from "../../types";
|
|
3
|
-
export declare type Props = {
|
|
3
|
+
import type { ClassName, PropsWithSpread } from "../../types";
|
|
4
|
+
export declare type Props = PropsWithSpread<{
|
|
4
5
|
/**
|
|
5
6
|
* Optional class(es) to pass to the wrapping div element.
|
|
6
7
|
*/
|
|
@@ -9,5 +10,5 @@ export declare type Props = {
|
|
|
9
10
|
* A list of code blocks to display.
|
|
10
11
|
*/
|
|
11
12
|
blocks: CodeSnippetBlockProps[];
|
|
12
|
-
}
|
|
13
|
-
export default function CodeSnippet({ className, blocks }: Props): JSX.Element;
|
|
13
|
+
}, HTMLProps<HTMLDivElement>>;
|
|
14
|
+
export default function CodeSnippet({ className, blocks, ...props }: Props): JSX.Element;
|
|
@@ -5,34 +5,36 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = CodeSnippet;
|
|
7
7
|
|
|
8
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
9
|
-
|
|
10
8
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
11
9
|
|
|
12
10
|
var _react = _interopRequireDefault(require("react"));
|
|
13
11
|
|
|
14
12
|
var _CodeSnippetBlock = _interopRequireDefault(require("./CodeSnippetBlock"));
|
|
15
13
|
|
|
14
|
+
var _excluded = ["className", "blocks"];
|
|
15
|
+
|
|
16
16
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
17
17
|
|
|
18
18
|
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
19
19
|
|
|
20
|
+
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
21
|
+
|
|
22
|
+
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
23
|
+
|
|
20
24
|
function CodeSnippet(_ref) {
|
|
21
25
|
var className = _ref.className,
|
|
22
|
-
blocks = _ref.blocks
|
|
23
|
-
|
|
26
|
+
blocks = _ref.blocks,
|
|
27
|
+
props = _objectWithoutProperties(_ref, _excluded);
|
|
28
|
+
|
|
29
|
+
return /*#__PURE__*/_react.default.createElement("div", _extends({
|
|
24
30
|
className: (0, _classnames.default)("p-code-snippet", {
|
|
25
31
|
"is-bordered": blocks.some(function (block) {
|
|
26
32
|
return block.content;
|
|
27
33
|
})
|
|
28
34
|
}, className)
|
|
29
|
-
}, blocks.map(function (
|
|
35
|
+
}, props), blocks.map(function (blockProps, i) {
|
|
30
36
|
return /*#__PURE__*/_react.default.createElement(_CodeSnippetBlock.default, _extends({
|
|
31
37
|
key: "code-snippet-block-".concat(i)
|
|
32
|
-
},
|
|
38
|
+
}, blockProps));
|
|
33
39
|
}));
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
CodeSnippet.propTypes = {
|
|
37
|
-
blocks: _propTypes.default.array.isRequired
|
|
38
|
-
};
|
|
40
|
+
}
|
|
@@ -7,8 +7,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
});
|
|
8
8
|
exports.default = void 0;
|
|
9
9
|
|
|
10
|
-
var _nanoid = require("nanoid");
|
|
11
|
-
|
|
12
10
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
13
11
|
|
|
14
12
|
var _react = _interopRequireWildcard(require("react"));
|
|
@@ -21,6 +19,8 @@ var _Button = _interopRequireDefault(require("../Button"));
|
|
|
21
19
|
|
|
22
20
|
var _ContextualMenuDropdown = _interopRequireDefault(require("./ContextualMenuDropdown"));
|
|
23
21
|
|
|
22
|
+
var _useId = require("../../hooks/useId");
|
|
23
|
+
|
|
24
24
|
var _excluded = ["autoAdjust", "children", "className", "closeOnEsc", "closeOnOutsideClick", "constrainPanelWidth", "dropdownClassName", "dropdownProps", "hasToggleIcon", "links", "onToggleMenu", "position", "positionNode", "toggleAppearance", "toggleClassName", "toggleDisabled", "toggleLabel", "toggleLabelFirst", "toggleProps", "visible"];
|
|
25
25
|
|
|
26
26
|
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); }
|
|
@@ -129,7 +129,7 @@ var ContextualMenu = function ContextualMenu(_ref) {
|
|
|
129
129
|
visible = _ref$visible === void 0 ? false : _ref$visible,
|
|
130
130
|
wrapperProps = _objectWithoutProperties(_ref, _excluded);
|
|
131
131
|
|
|
132
|
-
var id = (0,
|
|
132
|
+
var id = (0, _useId.useId)();
|
|
133
133
|
var wrapper = (0, _react.useRef)();
|
|
134
134
|
|
|
135
135
|
var _useState = (0, _react.useState)(),
|
|
@@ -223,7 +223,7 @@ var ContextualMenu = function ContextualMenu(_ref) {
|
|
|
223
223
|
}
|
|
224
224
|
}, wrapperProps), hasToggle ? /*#__PURE__*/_react.default.createElement(_Button.default, _extends({
|
|
225
225
|
appearance: toggleAppearance,
|
|
226
|
-
"aria-controls": id
|
|
226
|
+
"aria-controls": id,
|
|
227
227
|
"aria-expanded": isOpen ? "true" : "false",
|
|
228
228
|
"aria-pressed": isOpen ? "true" : "false",
|
|
229
229
|
"aria-haspopup": "true",
|
|
@@ -254,7 +254,7 @@ var ContextualMenu = function ContextualMenu(_ref) {
|
|
|
254
254
|
constrainPanelWidth: constrainPanelWidth,
|
|
255
255
|
dropdownClassName: dropdownClassName,
|
|
256
256
|
dropdownContent: children,
|
|
257
|
-
id: id
|
|
257
|
+
id: id,
|
|
258
258
|
isOpen: isOpen,
|
|
259
259
|
links: links,
|
|
260
260
|
position: position,
|
|
@@ -28,6 +28,10 @@ export declare type Props = {
|
|
|
28
28
|
* Help text to show below the field.
|
|
29
29
|
*/
|
|
30
30
|
help?: ReactNode;
|
|
31
|
+
/**
|
|
32
|
+
* An id to give to the help element.
|
|
33
|
+
*/
|
|
34
|
+
helpId?: string;
|
|
31
35
|
/**
|
|
32
36
|
* Whether the component is wrapping a select element.
|
|
33
37
|
*/
|
|
@@ -56,6 +60,10 @@ export declare type Props = {
|
|
|
56
60
|
* The content for success validation.
|
|
57
61
|
*/
|
|
58
62
|
success?: ReactNode;
|
|
63
|
+
/**
|
|
64
|
+
* An id to give to the caution, error or success element.
|
|
65
|
+
*/
|
|
66
|
+
validationId?: string;
|
|
59
67
|
};
|
|
60
|
-
declare const Field: ({ caution, children, className, error, forId, help, isSelect, label, labelClassName, labelFirst, required, stacked, success, }: Props) => JSX.Element;
|
|
68
|
+
declare const Field: ({ caution, children, className, error, forId, help, helpId, isSelect, label, labelClassName, labelFirst, required, stacked, success, validationId, }: Props) => JSX.Element;
|
|
61
69
|
export default Field;
|
|
@@ -15,20 +15,22 @@ var _Col = _interopRequireDefault(require("../Col"));
|
|
|
15
15
|
|
|
16
16
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
17
17
|
|
|
18
|
-
var generateHelp = function generateHelp(help) {
|
|
18
|
+
var generateHelp = function generateHelp(help, helpId) {
|
|
19
19
|
return help && /*#__PURE__*/_react.default.createElement("p", {
|
|
20
|
-
className: "p-form-help-text"
|
|
20
|
+
className: "p-form-help-text",
|
|
21
|
+
id: helpId
|
|
21
22
|
}, help);
|
|
22
23
|
};
|
|
23
24
|
|
|
24
|
-
var generateError = function generateError(error, caution, success) {
|
|
25
|
+
var generateError = function generateError(error, caution, success, validationId) {
|
|
25
26
|
if (!error && !caution && !success) {
|
|
26
27
|
return null;
|
|
27
28
|
}
|
|
28
29
|
|
|
29
30
|
var messageType = error && "Error" || caution && "Caution" || success && "Success";
|
|
30
31
|
return /*#__PURE__*/_react.default.createElement("p", {
|
|
31
|
-
className: "p-form-validation__message"
|
|
32
|
+
className: "p-form-validation__message",
|
|
33
|
+
id: validationId
|
|
32
34
|
}, /*#__PURE__*/_react.default.createElement("strong", null, messageType, ":"), " ", error || caution || success);
|
|
33
35
|
};
|
|
34
36
|
|
|
@@ -52,12 +54,12 @@ var generateLabel = function generateLabel(forId, required, label, labelClassNam
|
|
|
52
54
|
return labelNode;
|
|
53
55
|
};
|
|
54
56
|
|
|
55
|
-
var generateContent = function generateContent(isSelect, children, labelFirst, labelNode, help, error, caution, success) {
|
|
57
|
+
var generateContent = function generateContent(isSelect, children, labelFirst, labelNode, help, error, caution, success, validationId, helpId) {
|
|
56
58
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
57
59
|
className: "p-form__control u-clearfix"
|
|
58
60
|
}, isSelect ? /*#__PURE__*/_react.default.createElement("div", {
|
|
59
61
|
className: "p-form-validation__select-wrapper"
|
|
60
|
-
}, children) : children, !labelFirst && labelNode, generateHelp(help), generateError(error, caution, success));
|
|
62
|
+
}, children) : children, !labelFirst && labelNode, generateHelp(help, helpId), generateError(error, caution, success, validationId));
|
|
61
63
|
};
|
|
62
64
|
|
|
63
65
|
var Field = function Field(_ref) {
|
|
@@ -67,6 +69,7 @@ var Field = function Field(_ref) {
|
|
|
67
69
|
error = _ref.error,
|
|
68
70
|
forId = _ref.forId,
|
|
69
71
|
help = _ref.help,
|
|
72
|
+
helpId = _ref.helpId,
|
|
70
73
|
isSelect = _ref.isSelect,
|
|
71
74
|
label = _ref.label,
|
|
72
75
|
labelClassName = _ref.labelClassName,
|
|
@@ -74,9 +77,10 @@ var Field = function Field(_ref) {
|
|
|
74
77
|
labelFirst = _ref$labelFirst === void 0 ? true : _ref$labelFirst,
|
|
75
78
|
required = _ref.required,
|
|
76
79
|
stacked = _ref.stacked,
|
|
77
|
-
success = _ref.success
|
|
80
|
+
success = _ref.success,
|
|
81
|
+
validationId = _ref.validationId;
|
|
78
82
|
var labelNode = generateLabel(forId, required, label, labelClassName, stacked);
|
|
79
|
-
var content = generateContent(isSelect, children, labelFirst, labelNode, help, error, caution, success);
|
|
83
|
+
var content = generateContent(isSelect, children, labelFirst, labelNode, help, error, caution, success, validationId, helpId);
|
|
80
84
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
81
85
|
className: (0, _classnames.default)("p-form__group", "p-form-validation", className, {
|
|
82
86
|
"is-error": error,
|
|
@@ -17,6 +17,8 @@ var _CheckboxInput = _interopRequireDefault(require("../CheckboxInput"));
|
|
|
17
17
|
|
|
18
18
|
var _RadioInput = _interopRequireDefault(require("../RadioInput"));
|
|
19
19
|
|
|
20
|
+
var _hooks = require("../../hooks");
|
|
21
|
+
|
|
20
22
|
var _excluded = ["caution", "className", "error", "help", "id", "label", "labelClassName", "required", "stacked", "success", "takeFocus", "type", "wrapperClassName"];
|
|
21
23
|
|
|
22
24
|
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); }
|
|
@@ -27,6 +29,12 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
|
27
29
|
|
|
28
30
|
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
29
31
|
|
|
32
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
33
|
+
|
|
34
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
35
|
+
|
|
36
|
+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
37
|
+
|
|
30
38
|
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
31
39
|
|
|
32
40
|
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
@@ -49,32 +57,42 @@ var Input = function Input(_ref) {
|
|
|
49
57
|
|
|
50
58
|
var inputRef = (0, _react.useRef)(null);
|
|
51
59
|
var fieldLabel = !["checkbox", "radio"].includes(type) ? label : "";
|
|
52
|
-
|
|
53
|
-
var
|
|
54
|
-
|
|
60
|
+
var validationId = (0, _hooks.useId)();
|
|
61
|
+
var helpId = (0, _hooks.useId)();
|
|
62
|
+
var hasError = !!error;
|
|
63
|
+
|
|
64
|
+
var commonProps = _objectSpread({
|
|
65
|
+
"aria-describedby": help ? helpId : null,
|
|
66
|
+
"aria-errormessage": hasError ? validationId : null,
|
|
67
|
+
"aria-invalid": hasError,
|
|
55
68
|
id: id,
|
|
56
|
-
|
|
57
|
-
required: required
|
|
58
|
-
|
|
59
|
-
"aria-invalid": !!error
|
|
60
|
-
}, inputProps));
|
|
69
|
+
label: label,
|
|
70
|
+
required: required
|
|
71
|
+
}, inputProps);
|
|
61
72
|
|
|
62
73
|
(0, _react.useEffect)(function () {
|
|
63
74
|
if (takeFocus) {
|
|
64
75
|
inputRef.current.focus();
|
|
65
76
|
}
|
|
66
77
|
}, [takeFocus]);
|
|
78
|
+
var input;
|
|
67
79
|
|
|
68
80
|
if (type === "checkbox") {
|
|
69
81
|
input = /*#__PURE__*/_react.default.createElement(_CheckboxInput.default, _extends({
|
|
70
82
|
label: label,
|
|
71
|
-
|
|
72
|
-
},
|
|
83
|
+
labelClassName: labelClassName
|
|
84
|
+
}, commonProps));
|
|
73
85
|
} else if (type === "radio") {
|
|
74
86
|
input = /*#__PURE__*/_react.default.createElement(_RadioInput.default, _extends({
|
|
75
87
|
label: label,
|
|
76
|
-
|
|
77
|
-
},
|
|
88
|
+
labelClassName: labelClassName
|
|
89
|
+
}, commonProps));
|
|
90
|
+
} else {
|
|
91
|
+
input = /*#__PURE__*/_react.default.createElement("input", _extends({
|
|
92
|
+
className: (0, _classnames.default)("p-form-validation__input", className),
|
|
93
|
+
ref: inputRef,
|
|
94
|
+
type: type
|
|
95
|
+
}, commonProps));
|
|
78
96
|
}
|
|
79
97
|
|
|
80
98
|
return /*#__PURE__*/_react.default.createElement(_Field.default, {
|
|
@@ -83,11 +101,13 @@ var Input = function Input(_ref) {
|
|
|
83
101
|
error: error,
|
|
84
102
|
forId: id,
|
|
85
103
|
help: help,
|
|
104
|
+
helpId: helpId,
|
|
86
105
|
label: fieldLabel,
|
|
87
106
|
labelClassName: labelClassName,
|
|
88
107
|
required: required,
|
|
89
108
|
stacked: stacked,
|
|
90
|
-
success: success
|
|
109
|
+
success: success,
|
|
110
|
+
validationId: validationId
|
|
91
111
|
}, input);
|
|
92
112
|
};
|
|
93
113
|
|
|
@@ -15,6 +15,10 @@ export declare type MainTableHeader = PropsWithSpread<{
|
|
|
15
15
|
* A key to sort the rows by. It should match a key given to the row `sortData`.
|
|
16
16
|
*/
|
|
17
17
|
sortKey?: string | null;
|
|
18
|
+
/**
|
|
19
|
+
* Replacement value for data-heading if content is not a string.
|
|
20
|
+
*/
|
|
21
|
+
heading?: string;
|
|
18
22
|
}, HTMLProps<HTMLTableHeaderCellElement>>;
|
|
19
23
|
export declare type MainTableCell = PropsWithSpread<{
|
|
20
24
|
/**
|
|
@@ -102,7 +102,7 @@ var generateHeaders = function generateHeaders(currentSortKey, currentSortDirect
|
|
|
102
102
|
})));
|
|
103
103
|
};
|
|
104
104
|
|
|
105
|
-
var generateRows = function generateRows(currentSortDirection, currentSortKey, emptyStateMsg, expanding, paginate, rows, currentPage, setCurrentPage, sortable, sortFunction) {
|
|
105
|
+
var generateRows = function generateRows(currentSortDirection, currentSortKey, emptyStateMsg, expanding, responsive, headers, paginate, rows, currentPage, setCurrentPage, sortable, sortFunction) {
|
|
106
106
|
// If the table has no rows, return empty state message
|
|
107
107
|
if (Object.entries(rows).length === 0 && emptyStateMsg) {
|
|
108
108
|
return /*#__PURE__*/_react.default.createElement("caption", null, emptyStateMsg);
|
|
@@ -159,6 +159,13 @@ var generateRows = function generateRows(currentSortDirection, currentSortKey, e
|
|
|
159
159
|
var content = _ref3.content,
|
|
160
160
|
cellProps = _objectWithoutProperties(_ref3, _excluded3);
|
|
161
161
|
|
|
162
|
+
var headerContent = headers && headers[index]["content"];
|
|
163
|
+
var headerReplacement = headers && headers[index]["heading"];
|
|
164
|
+
|
|
165
|
+
if (responsive) {
|
|
166
|
+
cellProps["data-heading"] = typeof headerContent === "string" ? headerContent : headerReplacement;
|
|
167
|
+
}
|
|
168
|
+
|
|
162
169
|
return /*#__PURE__*/_react.default.createElement(_TableCell.default, _extends({
|
|
163
170
|
key: index
|
|
164
171
|
}, cellProps), content);
|
|
@@ -227,7 +234,7 @@ var MainTable = function MainTable(_ref4) {
|
|
|
227
234
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_Table.default, _extends({
|
|
228
235
|
expanding: expanding,
|
|
229
236
|
responsive: responsive
|
|
230
|
-
}, props), !!headers && generateHeaders(currentSortKey, currentSortDirection, expanding, headers, sortable, updateSort, setSortDirection), !!rows && generateRows(currentSortDirection, currentSortKey, emptyStateMsg, expanding, paginate, rows, currentPage, setCurrentPage, sortable, sortFunction)), paginate && rows && rows.length > 0 && /*#__PURE__*/_react.default.createElement(_Pagination.default, {
|
|
237
|
+
}, props), !!headers && generateHeaders(currentSortKey, currentSortDirection, expanding, headers, sortable, updateSort, setSortDirection), !!rows && generateRows(currentSortDirection, currentSortKey, emptyStateMsg, expanding, responsive, headers, paginate, rows, currentPage, setCurrentPage, sortable, sortFunction)), paginate && rows && rows.length > 0 && /*#__PURE__*/_react.default.createElement(_Pagination.default, {
|
|
231
238
|
currentPage: currentPage,
|
|
232
239
|
itemsPerPage: paginate,
|
|
233
240
|
paginate: setCurrentPage,
|
|
@@ -9,10 +9,10 @@ exports.default = exports.Modal = void 0;
|
|
|
9
9
|
|
|
10
10
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
11
11
|
|
|
12
|
-
var _nanoid = require("nanoid");
|
|
13
|
-
|
|
14
12
|
var _react = _interopRequireWildcard(require("react"));
|
|
15
13
|
|
|
14
|
+
var _useId = require("../../hooks/useId");
|
|
15
|
+
|
|
16
16
|
var _excluded = ["buttonRow", "children", "className", "close", "title"];
|
|
17
17
|
|
|
18
18
|
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); }
|
|
@@ -38,8 +38,8 @@ var Modal = function Modal(_ref) {
|
|
|
38
38
|
// list of focusable selectors is based on this Stack Overflow answer:
|
|
39
39
|
// https://stackoverflow.com/a/30753870/3732840
|
|
40
40
|
var focusableElementSelectors = 'a[href]:not([tabindex="-1"]), button:not([disabled]), textarea:not([disabled]):not([tabindex="-1"]), input:not([disabled]):not([tabindex="-1"]), select:not([disabled]):not([tabindex="-1"]), area[href]:not([tabindex="-1"]), iframe:not([tabindex="-1"]), [tabindex]:not([tabindex="-1"]), [contentEditable=true]:not([tabindex="-1"])';
|
|
41
|
-
var descriptionId = (0,
|
|
42
|
-
var titleId = (0,
|
|
41
|
+
var descriptionId = (0, _useId.useId)();
|
|
42
|
+
var titleId = (0, _useId.useId)();
|
|
43
43
|
var shouldClose = (0, _react.useRef)(false);
|
|
44
44
|
var modalRef = (0, _react.useRef)(null);
|
|
45
45
|
var focusableModalElements = (0, _react.useRef)(null);
|
|
@@ -113,21 +113,21 @@ var Modal = function Modal(_ref) {
|
|
|
113
113
|
className: "p-modal__dialog",
|
|
114
114
|
role: "dialog",
|
|
115
115
|
"aria-modal": "true",
|
|
116
|
-
"aria-labelledby": titleId
|
|
117
|
-
"aria-describedby": descriptionId
|
|
116
|
+
"aria-labelledby": titleId,
|
|
117
|
+
"aria-describedby": descriptionId,
|
|
118
118
|
onMouseDown: handleContentOnMouseDown,
|
|
119
119
|
onMouseUp: handleContentOnMouseUp
|
|
120
120
|
}, !!title && /*#__PURE__*/_react.default.createElement("header", {
|
|
121
121
|
className: "p-modal__header"
|
|
122
122
|
}, /*#__PURE__*/_react.default.createElement("h2", {
|
|
123
123
|
className: "p-modal__title",
|
|
124
|
-
id: titleId
|
|
124
|
+
id: titleId
|
|
125
125
|
}, title), !!close && /*#__PURE__*/_react.default.createElement("button", {
|
|
126
126
|
className: "p-modal__close",
|
|
127
127
|
"aria-label": "Close active modal",
|
|
128
128
|
onClick: close
|
|
129
129
|
}, "Close")), /*#__PURE__*/_react.default.createElement("div", {
|
|
130
|
-
id: descriptionId
|
|
130
|
+
id: descriptionId
|
|
131
131
|
}, children), !!buttonRow && /*#__PURE__*/_react.default.createElement("footer", {
|
|
132
132
|
className: "p-modal__footer"
|
|
133
133
|
}, buttonRow)));
|