@papillonbits/components 1.13.1 → 1.14.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.
Files changed (80) hide show
  1. package/build/index.js +1 -12
  2. package/build/primer/Alert/Alert.js +82 -94
  3. package/build/primer/Alert/Alert.prop.js +19 -25
  4. package/build/primer/Alert/index.js +2 -19
  5. package/build/primer/Blankslate/Blankslate.js +22 -26
  6. package/build/primer/Blankslate/Blankslate.prop.js +11 -17
  7. package/build/primer/Blankslate/index.js +2 -19
  8. package/build/primer/Breadcrumb/Breadcrumb.js +59 -61
  9. package/build/primer/Breadcrumb/Breadcrumb.prop.js +14 -20
  10. package/build/primer/Breadcrumb/index.js +2 -19
  11. package/build/primer/Button/Button.js +63 -72
  12. package/build/primer/Button/Button.prop.js +27 -33
  13. package/build/primer/Button/index.js +2 -49
  14. package/build/primer/Dropdown/Dropdown.js +79 -85
  15. package/build/primer/Dropdown/Dropdown.prop.js +15 -21
  16. package/build/primer/Dropdown/index.js +2 -19
  17. package/build/primer/ErrorBoundary/ErrorBoundary.js +35 -55
  18. package/build/primer/ErrorBoundary/ErrorBoundary.prop.js +4 -10
  19. package/build/primer/ErrorBoundary/index.js +1 -12
  20. package/build/primer/Form/Checkbox/Checkbox.js +29 -39
  21. package/build/primer/Form/Checkbox/Checkbox.prop.js +15 -21
  22. package/build/primer/Form/Checkbox/index.js +2 -19
  23. package/build/primer/Form/Input/Input.js +29 -43
  24. package/build/primer/Form/Input/Input.prop.js +19 -25
  25. package/build/primer/Form/Input/index.js +2 -25
  26. package/build/primer/Form/Radio/Radio.js +26 -38
  27. package/build/primer/Form/Radio/Radio.prop.js +14 -20
  28. package/build/primer/Form/Radio/index.js +2 -19
  29. package/build/primer/Form/index.js +11 -17
  30. package/build/primer/Grid/DisplayTable/DisplayTable.js +44 -54
  31. package/build/primer/Grid/DisplayTable/DisplayTable.prop.js +7 -13
  32. package/build/primer/Grid/DisplayTable/index.js +1 -12
  33. package/build/primer/Grid/FlexGrid/FlexGrid.js +186 -207
  34. package/build/primer/Grid/FlexGrid/FlexGrid.prop.js +24 -30
  35. package/build/primer/Grid/FlexGrid/index.js +2 -25
  36. package/build/primer/Grid/index.js +7 -13
  37. package/build/primer/Icon/Icon.js +35 -52
  38. package/build/primer/Icon/Icon.part.js +1287 -1294
  39. package/build/primer/Icon/Icon.prop.js +20 -26
  40. package/build/primer/Icon/index.js +2 -25
  41. package/build/primer/Label/Label.js +22 -28
  42. package/build/primer/Label/Label.prop.js +11 -17
  43. package/build/primer/Label/index.js +1 -12
  44. package/build/primer/Loader/Loader.js +38 -45
  45. package/build/primer/Loader/Loader.prop.js +7 -13
  46. package/build/primer/Loader/index.js +2 -19
  47. package/build/primer/Navigation/Menu/Menu.js +52 -59
  48. package/build/primer/Navigation/Menu/Menu.prop.js +16 -22
  49. package/build/primer/Navigation/Menu/index.js +1 -12
  50. package/build/primer/Navigation/TabNav/TabNav.js +89 -94
  51. package/build/primer/Navigation/TabNav/TabNav.prop.js +19 -25
  52. package/build/primer/Navigation/TabNav/index.js +2 -19
  53. package/build/primer/Navigation/UnderlineNav/UnderlineNav.js +82 -86
  54. package/build/primer/Navigation/UnderlineNav/UnderlineNav.prop.js +21 -27
  55. package/build/primer/Navigation/UnderlineNav/index.js +2 -25
  56. package/build/primer/Navigation/index.js +10 -16
  57. package/build/primer/Pagination/PreviousNext/PreviousNext.js +53 -54
  58. package/build/primer/Pagination/PreviousNext/PreviousNext.prop.js +22 -28
  59. package/build/primer/Pagination/PreviousNext/index.js +2 -19
  60. package/build/primer/Pagination/index.js +4 -10
  61. package/build/primer/Popover/Popover.js +59 -50
  62. package/build/primer/Popover/Popover.prop.js +16 -22
  63. package/build/primer/Popover/index.js +2 -25
  64. package/build/primer/Progress/Progress.js +20 -26
  65. package/build/primer/Progress/Progress.prop.js +7 -13
  66. package/build/primer/Progress/index.js +2 -19
  67. package/build/primer/Select/Select.js +43 -51
  68. package/build/primer/Select/Select.prop.js +12 -18
  69. package/build/primer/Select/index.js +2 -19
  70. package/build/primer/SelectMenu/SelectMenu.js +65 -74
  71. package/build/primer/SelectMenu/SelectMenu.prop.js +14 -20
  72. package/build/primer/SelectMenu/index.js +1 -12
  73. package/build/primer/Subhead/Subhead.js +16 -23
  74. package/build/primer/Subhead/Subhead.prop.js +6 -12
  75. package/build/primer/Subhead/index.js +1 -12
  76. package/build/primer/Toast/Toast.js +39 -46
  77. package/build/primer/Toast/Toast.prop.js +10 -16
  78. package/build/primer/Toast/index.js +2 -19
  79. package/build/primer/index.js +58 -64
  80. package/package.json +4 -4
@@ -1,11 +1,5 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.propTypes = exports.iconSizeKeysDefault = exports.iconSizeKeys = exports.iconSize = exports.iconNameKeysDefault = exports.iconNameKeys = exports.iconName = exports.iconAlignKeysDefault = exports.iconAlignKeys = exports.iconAlign = exports.defaultProps = void 0;
7
- var _propTypes = require("prop-types");
8
- var iconName = exports.iconName = {
1
+ import { string, number, oneOfType, oneOf } from 'prop-types';
2
+ export const iconName = {
9
3
  Accessibility16: 'Accessibility16',
10
4
  Accessibility24: 'Accessibility24',
11
5
  AccessibilityInset16: 'AccessibilityInset16',
@@ -650,35 +644,35 @@ var iconName = exports.iconName = {
650
644
  ZoomOut16: 'ZoomOut16',
651
645
  ZoomOut24: 'ZoomOut24'
652
646
  };
653
- var iconSize = exports.iconSize = {
647
+ export const iconSize = {
654
648
  small: 16,
655
649
  medium: 32,
656
650
  large: 64
657
651
  };
658
- var iconAlign = exports.iconAlign = {
652
+ export const iconAlign = {
659
653
  middle: 'middle',
660
654
  'text-bottom': 'text-bottom',
661
655
  'text-top': 'text-top',
662
656
  top: 'top',
663
657
  unset: 'unset'
664
658
  };
665
- var iconNameKeys = exports.iconNameKeys = Object.keys(iconName);
666
- var iconNameKeysDefault = exports.iconNameKeysDefault = iconNameKeys[0];
667
- var iconSizeKeys = exports.iconSizeKeys = Object.keys(iconSize);
668
- var iconSizeKeysDefault = exports.iconSizeKeysDefault = iconSizeKeys[0];
669
- var iconAlignKeys = exports.iconAlignKeys = Object.keys(iconAlign);
670
- var iconAlignKeysDefault = exports.iconAlignKeysDefault = iconAlignKeys[0];
671
- var propTypes = exports.propTypes = {
672
- className: _propTypes.string,
673
- ariaLabel: _propTypes.string,
674
- icon: (0, _propTypes.oneOf)(iconNameKeys).isRequired,
675
- height: _propTypes.number,
676
- width: _propTypes.number,
677
- size: (0, _propTypes.oneOfType)([_propTypes.number, (0, _propTypes.oneOf)(iconSizeKeys)]),
678
- fill: _propTypes.string,
679
- verticalAlign: (0, _propTypes.oneOf)(iconAlignKeys)
659
+ export const iconNameKeys = Object.keys(iconName);
660
+ export const iconNameKeysDefault = iconNameKeys[0];
661
+ export const iconSizeKeys = Object.keys(iconSize);
662
+ export const iconSizeKeysDefault = iconSizeKeys[0];
663
+ export const iconAlignKeys = Object.keys(iconAlign);
664
+ export const iconAlignKeysDefault = iconAlignKeys[0];
665
+ export const propTypes = {
666
+ className: string,
667
+ ariaLabel: string,
668
+ icon: oneOf(iconNameKeys).isRequired,
669
+ height: number,
670
+ width: number,
671
+ size: oneOfType([number, oneOf(iconSizeKeys)]),
672
+ fill: string,
673
+ verticalAlign: oneOf(iconAlignKeys)
680
674
  };
681
- var defaultProps = exports.defaultProps = {
675
+ export const defaultProps = {
682
676
  className: 'octicon',
683
677
  ariaLabel: null,
684
678
  height: null,
@@ -1,25 +1,2 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- Object.defineProperty(exports, "Icon", {
7
- enumerable: true,
8
- get: function get() {
9
- return _Icon.Icon;
10
- }
11
- });
12
- Object.defineProperty(exports, "iconName", {
13
- enumerable: true,
14
- get: function get() {
15
- return _Icon2.iconName;
16
- }
17
- });
18
- Object.defineProperty(exports, "iconSize", {
19
- enumerable: true,
20
- get: function get() {
21
- return _Icon2.iconSize;
22
- }
23
- });
24
- var _Icon = require("./Icon");
25
- var _Icon2 = require("./Icon.prop");
1
+ export { Icon } from './Icon';
2
+ export { iconName, iconSize } from './Icon.prop';
@@ -1,31 +1,25 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.Label = Label;
8
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
- var _classnames = _interopRequireDefault(require("classnames"));
10
- var _colors = _interopRequireDefault(require("@papillonbits/css/build/primer/utilities/colors.scss"));
11
- var _Label = require("./Label.prop");
12
- var _labels = _interopRequireDefault(require("./labels.scss"));
13
- var _issueLabels = _interopRequireDefault(require("./issue-labels.scss"));
14
- var _jsxRuntime = require("react/jsx-runtime");
15
- function Label(_ref) {
16
- var _ref$className = _ref.className,
17
- className = _ref$className === void 0 ? _Label.defaultProps.className : _ref$className,
18
- text = _ref.text,
19
- _ref$variant = _ref.variant,
20
- variant = _ref$variant === void 0 ? _Label.defaultProps.variant : _ref$variant,
21
- _ref$backgroundColor = _ref.backgroundColor,
22
- backgroundColor = _ref$backgroundColor === void 0 ? _Label.defaultProps.backgroundColor : _ref$backgroundColor,
23
- _ref$textColor = _ref.textColor,
24
- textColor = _ref$textColor === void 0 ? _Label.defaultProps.textColor : _ref$textColor;
25
- return /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
26
- title: "Label: ".concat(text),
27
- className: (0, _classnames["default"])(className, (0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])({}, _labels["default"].Label, variant === _Label.labelVariant.regular), _issueLabels["default"].IssueLabel, variant === _Label.labelVariant.issue), _colors["default"]['bg-blue'], backgroundColor === _Label.labelBackgroundColor.blue), _colors["default"]['text-white'], textColor === _Label.labelTextColor.white)),
1
+ import cx from 'classnames';
2
+ import colorStyles from '@papillonbits/css/build/primer/utilities/colors.scss';
3
+ import { propTypes, defaultProps, labelVariant, labelBackgroundColor, labelTextColor } from './Label.prop';
4
+ import labelsStyles from './labels.scss';
5
+ import issueLabelsStyles from './issue-labels.scss';
6
+ import { jsx as _jsx } from "react/jsx-runtime";
7
+ export function Label({
8
+ className = defaultProps.className,
9
+ text,
10
+ variant = defaultProps.variant,
11
+ backgroundColor = defaultProps.backgroundColor,
12
+ textColor = defaultProps.textColor
13
+ }) {
14
+ return /*#__PURE__*/_jsx("span", {
15
+ title: `Label: ${text}`,
16
+ className: cx(className, {
17
+ [labelsStyles.Label]: variant === labelVariant.regular,
18
+ [issueLabelsStyles.IssueLabel]: variant === labelVariant.issue,
19
+ [colorStyles['bg-blue']]: backgroundColor === labelBackgroundColor.blue,
20
+ [colorStyles['text-white']]: textColor === labelTextColor.white
21
+ }),
28
22
  children: text
29
23
  });
30
24
  }
31
- Label.propTypes = _Label.propTypes;
25
+ Label.propTypes = propTypes;
@@ -1,32 +1,26 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.propTypes = exports.labelVariant = exports.labelTextColor = exports.labelBackgroundColor = exports.defaultProps = void 0;
7
- var _propTypes = require("prop-types");
8
- var labelVariant = exports.labelVariant = {
1
+ import { string, oneOf } from 'prop-types';
2
+ export const labelVariant = {
9
3
  regular: 'regular',
10
4
  state: 'state',
11
5
  counter: 'counter',
12
6
  issue: 'issue'
13
7
  };
14
- var labelBackgroundColor = exports.labelBackgroundColor = {
8
+ export const labelBackgroundColor = {
15
9
  blue: 'blue',
16
10
  red: 'red',
17
11
  green: 'green'
18
12
  };
19
- var labelTextColor = exports.labelTextColor = {
13
+ export const labelTextColor = {
20
14
  white: 'white'
21
15
  };
22
- var propTypes = exports.propTypes = {
23
- className: _propTypes.string,
24
- text: _propTypes.string.isRequired,
25
- variant: (0, _propTypes.oneOf)(Object.keys(labelVariant)),
26
- backgroundColor: (0, _propTypes.oneOf)(Object.keys(labelBackgroundColor)),
27
- textColor: (0, _propTypes.oneOf)(Object.keys(labelTextColor))
16
+ export const propTypes = {
17
+ className: string,
18
+ text: string.isRequired,
19
+ variant: oneOf(Object.keys(labelVariant)),
20
+ backgroundColor: oneOf(Object.keys(labelBackgroundColor)),
21
+ textColor: oneOf(Object.keys(labelTextColor))
28
22
  };
29
- var defaultProps = exports.defaultProps = {
23
+ export const defaultProps = {
30
24
  className: null,
31
25
  variant: labelVariant.issue,
32
26
  backgroundColor: labelBackgroundColor.blue,
@@ -1,12 +1 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- Object.defineProperty(exports, "Label", {
7
- enumerable: true,
8
- get: function get() {
9
- return _Label.Label;
10
- }
11
- });
12
- var _Label = require("./Label");
1
+ export { Label } from './Label';
@@ -1,65 +1,58 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.Loader = Loader;
8
- var _classnames = _interopRequireDefault(require("classnames"));
9
- var _colors = _interopRequireDefault(require("@papillonbits/css/build/primer/utilities/colors.scss"));
10
- var _margin = _interopRequireDefault(require("@papillonbits/css/build/primer/utilities/margin.scss"));
11
- var _Loader = require("./Loader.prop");
12
- var _Loader2 = _interopRequireDefault(require("./Loader.scss"));
13
- var _branchName = _interopRequireDefault(require("../BranchName/branch-name.scss"));
14
- var _Button = _interopRequireDefault(require("../Button/Button.scss"));
15
- var _labels = _interopRequireDefault(require("../Label/labels.scss"));
16
- var _jsxRuntime = require("react/jsx-runtime");
17
- function Loader(_ref) {
18
- var _ref$className = _ref.className,
19
- className = _ref$className === void 0 ? _Loader.defaultProps.className : _ref$className,
20
- variant = _ref.variant,
21
- text = _ref.text;
1
+ import cx from 'classnames';
2
+ import colorStyles from '@papillonbits/css/build/primer/utilities/colors.scss';
3
+ import marginStyles from '@papillonbits/css/build/primer/utilities/margin.scss';
4
+ import { propTypes, defaultProps, loaderVariant } from './Loader.prop';
5
+ import styles from './Loader.scss';
6
+ import branchNameStyles from '../BranchName/branch-name.scss';
7
+ import buttonStyles from '../Button/Button.scss';
8
+ import labelStyles from '../Label/labels.scss';
9
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
10
+ export function Loader({
11
+ className = defaultProps.className,
12
+ variant,
13
+ text
14
+ }) {
22
15
  switch (variant) {
23
- case _Loader.loaderVariant.heading:
24
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)("h2", {
16
+ case loaderVariant.heading:
17
+ return /*#__PURE__*/_jsxs("h2", {
25
18
  className: className,
26
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
19
+ children: [/*#__PURE__*/_jsx("span", {
27
20
  children: text
28
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
29
- className: _Loader2["default"].AnimatedEllipsis
21
+ }), /*#__PURE__*/_jsx("span", {
22
+ className: styles.AnimatedEllipsis
30
23
  })]
31
24
  });
32
- case _Loader.loaderVariant.text:
33
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)("span", {
34
- className: (0, _classnames["default"])(_branchName["default"]['branch-name'], _margin["default"]['mt-2']),
35
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
25
+ case loaderVariant.text:
26
+ return /*#__PURE__*/_jsxs("span", {
27
+ className: cx(branchNameStyles['branch-name'], marginStyles['mt-2']),
28
+ children: [/*#__PURE__*/_jsx("span", {
36
29
  children: text
37
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
38
- className: _Loader2["default"].AnimatedEllipsis
30
+ }), /*#__PURE__*/_jsx("span", {
31
+ className: styles.AnimatedEllipsis
39
32
  })]
40
33
  });
41
- case _Loader.loaderVariant.label:
42
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)("span", {
43
- className: (0, _classnames["default"])(_labels["default"].Label, _colors["default"]['bg-blue'], _margin["default"]['mt-3']),
44
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
34
+ case loaderVariant.label:
35
+ return /*#__PURE__*/_jsxs("span", {
36
+ className: cx(labelStyles.Label, colorStyles['bg-blue'], marginStyles['mt-3']),
37
+ children: [/*#__PURE__*/_jsx("span", {
45
38
  children: text
46
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
47
- className: _Loader2["default"].AnimatedEllipsis
39
+ }), /*#__PURE__*/_jsx("span", {
40
+ className: styles.AnimatedEllipsis
48
41
  })]
49
42
  });
50
- case _Loader.loaderVariant.button:
51
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)("button", {
43
+ case loaderVariant.button:
44
+ return /*#__PURE__*/_jsxs("button", {
52
45
  type: "button",
53
- className: (0, _classnames["default"])(_Button["default"].btn, _margin["default"]['mt-3']),
46
+ className: cx(buttonStyles.btn, marginStyles['mt-3']),
54
47
  "aria-disabled": "true",
55
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
48
+ children: [/*#__PURE__*/_jsx("span", {
56
49
  children: text
57
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
58
- className: _Loader2["default"].AnimatedEllipsis
50
+ }), /*#__PURE__*/_jsx("span", {
51
+ className: styles.AnimatedEllipsis
59
52
  })]
60
53
  });
61
54
  default:
62
55
  return null;
63
56
  }
64
57
  }
65
- Loader.propTypes = _Loader.propTypes;
58
+ Loader.propTypes = propTypes;
@@ -1,21 +1,15 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.propTypes = exports.loaderVariant = exports.defaultProps = void 0;
7
- var _propTypes = require("prop-types");
8
- var loaderVariant = exports.loaderVariant = {
1
+ import { string, oneOf } from 'prop-types';
2
+ export const loaderVariant = {
9
3
  heading: 'heading',
10
4
  text: 'text',
11
5
  label: 'label',
12
6
  button: 'button'
13
7
  };
14
- var propTypes = exports.propTypes = {
15
- className: _propTypes.string,
16
- variant: (0, _propTypes.oneOf)(Object.keys(loaderVariant)).isRequired,
17
- text: _propTypes.string.isRequired
8
+ export const propTypes = {
9
+ className: string,
10
+ variant: oneOf(Object.keys(loaderVariant)).isRequired,
11
+ text: string.isRequired
18
12
  };
19
- var defaultProps = exports.defaultProps = {
13
+ export const defaultProps = {
20
14
  className: null
21
15
  };
@@ -1,19 +1,2 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- Object.defineProperty(exports, "Loader", {
7
- enumerable: true,
8
- get: function get() {
9
- return _Loader.Loader;
10
- }
11
- });
12
- Object.defineProperty(exports, "loaderVariant", {
13
- enumerable: true,
14
- get: function get() {
15
- return _Loader2.loaderVariant;
16
- }
17
- });
18
- var _Loader = require("./Loader");
19
- var _Loader2 = require("./Loader.prop");
1
+ export { Loader } from './Loader';
2
+ export { loaderVariant } from './Loader.prop';
@@ -1,70 +1,63 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.Menu = Menu;
8
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
10
- var _classnames = _interopRequireDefault(require("classnames"));
11
- var _uuid = require("uuid");
12
- var _array = require("@papillonbits/library/array");
13
- var _hooks = require("@papillonbits/library/hooks");
14
- var _Menu = require("./Menu.prop");
15
- var _Menu2 = _interopRequireDefault(require("./Menu.scss"));
16
- var _Icon = require("../../Icon");
17
- var _jsxRuntime = require("react/jsx-runtime");
18
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
19
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
20
- function Menu(_ref) {
21
- var _ref$className = _ref.className,
22
- className = _ref$className === void 0 ? _Menu.defaultProps.className : _ref$className,
23
- _ref$heading = _ref.heading,
24
- heading = _ref$heading === void 0 ? _Menu.defaultProps.heading : _ref$heading,
25
- ariaAttr = _ref.ariaAttr,
26
- items = _ref.items,
27
- _onClick = _ref.onClick;
28
- var _useState = (0, _hooks.useState)((0, _array.getIndexItems)(items)),
29
- _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
30
- indexItems = _useState2[0],
31
- setIndexItems = _useState2[1];
32
- var label = ariaAttr.label,
33
- labelledBy = ariaAttr.labelledBy,
34
- current = ariaAttr.current;
35
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)("nav", {
36
- className: (0, _classnames["default"])(className, _Menu2["default"].menu),
1
+ import "core-js/modules/es.iterator.constructor.js";
2
+ import "core-js/modules/es.iterator.map.js";
3
+ import cx from 'classnames';
4
+ import { v1 as uuidv1 } from 'uuid';
5
+ import { getIndexItems, getIndexItemsWithSelected } from '@papillonbits/library/array';
6
+ import { useState } from '@papillonbits/library/hooks';
7
+ import { propTypes, defaultProps } from './Menu.prop';
8
+ import styles from './Menu.scss';
9
+ import { Icon, iconSize } from '../../Icon';
10
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
11
+ export function Menu({
12
+ className = defaultProps.className,
13
+ heading = defaultProps.heading,
14
+ ariaAttr,
15
+ items,
16
+ onClick
17
+ }) {
18
+ const [indexItems, setIndexItems] = useState(getIndexItems(items));
19
+ const {
20
+ label,
21
+ labelledBy,
22
+ current
23
+ } = ariaAttr;
24
+ return /*#__PURE__*/_jsxs("nav", {
25
+ className: cx(className, styles.menu),
37
26
  "aria-label": label,
38
27
  "aria-labelledby": labelledBy,
39
- children: [heading && /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
40
- className: _Menu2["default"]['menu-heading'],
28
+ children: [heading && /*#__PURE__*/_jsx("span", {
29
+ className: styles['menu-heading'],
41
30
  children: heading
42
- }), indexItems.map(function (indexItem) {
43
- var href = indexItem.href,
44
- icon = indexItem.icon,
45
- text = indexItem.text,
46
- html = indexItem.html,
47
- isSelected = indexItem.isSelected;
48
- var itemOtherProps = isSelected ? _objectSpread({}, {
49
- 'aria-current': current
50
- }) : null;
51
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)("a", _objectSpread(_objectSpread({
52
- onClick: function onClick(e) {
31
+ }), indexItems.map(indexItem => {
32
+ const {
33
+ href,
34
+ icon,
35
+ text,
36
+ html,
37
+ isSelected
38
+ } = indexItem;
39
+ const itemOtherProps = isSelected ? {
40
+ ...{
41
+ 'aria-current': current
42
+ }
43
+ } : null;
44
+ return /*#__PURE__*/_jsxs("a", {
45
+ onClick: e => {
53
46
  e.preventDefault();
54
- var newIndexItems = (0, _array.getIndexItemsWithSelected)(indexItems, indexItem);
47
+ const newIndexItems = getIndexItemsWithSelected(indexItems, indexItem);
55
48
  setIndexItems(newIndexItems);
56
- _onClick(newIndexItems);
49
+ onClick(newIndexItems);
57
50
  },
58
- className: _Menu2["default"]['menu-item'],
59
- href: href
60
- }, itemOtherProps), {}, {
61
- children: [icon && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Icon.Icon, {
62
- className: _Menu2["default"].octicon,
51
+ className: styles['menu-item'],
52
+ href: href,
53
+ ...itemOtherProps,
54
+ children: [icon && /*#__PURE__*/_jsx(Icon, {
55
+ className: styles.octicon,
63
56
  icon: icon,
64
- size: _Icon.iconSize.small
57
+ size: iconSize.small
65
58
  }), html || null, text]
66
- }), (0, _uuid.v1)());
59
+ }, uuidv1());
67
60
  })]
68
61
  });
69
62
  }
70
- Menu.propTypes = _Menu.propTypes;
63
+ Menu.propTypes = propTypes;
@@ -1,28 +1,22 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.propTypes = exports.defaultProps = void 0;
7
- var _propTypes = require("prop-types");
8
- var propTypes = exports.propTypes = {
9
- className: _propTypes.string,
10
- heading: _propTypes.string,
11
- ariaAttr: (0, _propTypes.shape)({
12
- label: _propTypes.string,
13
- labelledBy: _propTypes.string,
14
- current: _propTypes.string
1
+ import { string, arrayOf, shape, node, bool, func } from 'prop-types';
2
+ export const propTypes = {
3
+ className: string,
4
+ heading: string,
5
+ ariaAttr: shape({
6
+ label: string,
7
+ labelledBy: string,
8
+ current: string
15
9
  }).isRequired,
16
- items: (0, _propTypes.arrayOf)((0, _propTypes.shape)({
17
- href: _propTypes.string,
18
- icon: _propTypes.string,
19
- text: _propTypes.string,
20
- html: _propTypes.node,
21
- isSelected: _propTypes.bool
10
+ items: arrayOf(shape({
11
+ href: string,
12
+ icon: string,
13
+ text: string,
14
+ html: node,
15
+ isSelected: bool
22
16
  })).isRequired,
23
- onClick: _propTypes.func.isRequired
17
+ onClick: func.isRequired
24
18
  };
25
- var defaultProps = exports.defaultProps = {
19
+ export const defaultProps = {
26
20
  className: null,
27
21
  heading: null
28
22
  };
@@ -1,12 +1 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- Object.defineProperty(exports, "Menu", {
7
- enumerable: true,
8
- get: function get() {
9
- return _Menu.Menu;
10
- }
11
- });
12
- var _Menu = require("./Menu");
1
+ export { Menu } from './Menu';